Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Wednesday, September 28, 2005

Switch?

So, the other day, I had some time to kill at the mall, and I wandered into the Apple store. Walked up to a big G5 with the killer 30" display and downloaded Eclipse 3.1 ... well, within a couple of minutes I was pulling down HiveMind code from subversion and compiling and executing the tests.

Now, on the one hand, I had severe techno-lust. All that eye candy! Vast tracts of land on that giant screen. Candy shaped buttons. Going home in a way (I used to develop on NeXTSTEP). Realistically, I don't think I can afford the 30" display, but maybe the medium sized one and I probably need a pretty maxxed out G5 for the kind of stuff I want to be doing. I mean, right now I do all my development on a Pentium 4M 2ghz with 1 gig of ram and a 40GB drive, but I'm increasingly impatiant with my development environment ... but what I want is something that really screams for all the development I do! And I do want to do some video editting as well.

So, convince me ... I can build out a monster 'doze box and buy a big LCD, or I can go the Apple route. How much is the tax on all those pretty icons? What's the tarrif on the sleek design? And what's the future with the move to Intel looming?

22 comments:

Anonymous said...

Two things.

OS X vs. Vista is not a matter of just 'aesthetical advantages' and ohh candy colored, lickable icons. OS X is just a better operating system on a number of levels, but we won't start a flame war here.

Saying that, and admitting to be a pretty *big* fan of Apple on many levels, I must say that I find that Java "stuffs" runs just a bit slower compared to others (linux & windows) .. don't know why, and don't have numerical proofs or analysis, but that's just my end user experience...

Regarding the Intel switch. It makes me balk too at buying me a new laptop, but if I were in the market for a desktop replacement, I don't think it would. The G5s are going to be around for quite the while and already kick a good amount of arse .. there's even some rumors that they will be going dual-core G5s on the usual mac rumor boards. With any cpu purchase, it never really makes sense to wait until the-next-big-thing when you need something now, because there's always going to be something new coming on the horizon ...

Anyway , I'm not saying anything new really, but
dollars to donuts, I'm willing to bet that you'll be much happier sitting at the helm of the G5 than your-next-windows-box .. and don't forget to install QuickSilver when you switch.

Let us know what you do :-)

Anonymous said...

If you really want performance, look at a multi-cored Athlon64.

The multi-core helps a lot for dev. workstations where you have a number of CPU intensive processes.

Anonymous said...

Forget about Eye Candy.
For that matter you can spend 50 bucks on ObjectDesktop from http://www.stardock.com/ and have all Eye Candy you want on windows.

What you need is SPEEEEED.
MultiCored Athlon 64 is your choice !

Anonymous said...

Nothing beats developing in proper 'nix environment. Everything setup out of the box with developer tools. Compare the mentatility of a Microsoft environment : "Leave the developing to us", wheras in a 'nix environment : "Here are the tools, the hooks, do whatever you want".

I'm using a Powerbook for my personal use since July and never been more productive.

Anonymous said...

I think one of the easist upgrades is a second monitor - if screen real-estate is what you want.

I use two monitors at work and at home - a lot easier to look across a screen rather then flicking between pages.

Anonymous said...

Regarding perf:
Amd64 Multicore + all files on an idle synchronized RamDisk in non paged Ram
Regarding EyeCandy:
I would never base my decision on that. Eventually I get bored with eye candy whenever I give it a new try after a few weeks. If you want it check Stardock.

Anonymous said...

Howard,

If you want to use Eclipse for Java development I cannot recommend a Mac. It's quite ugly and *very* slow. And also the keybindings are a mess (I suppose you could adjust those...) I think you'd have to switch to IDEA.

That being said, I love my Mac for everything else :-)

Anonymous said...

try the dell 24 inch lcd monitor - it's a much more reasonable price tag.

Anonymous said...

Why not the a little from both worlds? I use Kubuntu linux for my development workstation. I admit I'm not much for eye candy (I don't think most folks would even recognize my desktop as KDE), but I get all the efficiencies of of working in a *nix environment, plus I get all of the speed and cost savings (compared to a mac) of the the AMD 64. I also use the Dell monitor a previous commenter mentioned on my development machine and it's fantastic.

Anonymous said...

There's one problem about going multi-core with an Athlon64 or Intel chip, WINDOWS! I do all of my tapestry development with eclipse on a dual proc P4 2.8GHZ and I can tell you that windows does not properly handle the added processor. Eclipse and other applications not only will freeze up but the operating system itself is brought to a crawl. I really don't think that windows properly handles dual procs.

I also have a G4 powerbook and I love it. OSX is definitely superior. That system, from the beginning, was designed to work with multiple procs. The only downside is that Java UI is slower for some reason. It must be in the graphics code translation in the VM

Personally, I would hold off for when apple switches to Intel but that is about a year off. So if you want something now, I don’t think you can go wrong with the dual G5. That thing is still very, very powerful. Here is a good test. Go to the apple store and watch one of the HD movie trailers on the QuickTime website. I think they have a bunch in 1080p. The G5 should play it just fine. On the other hand my dual proc P4 won’t even begin to play the trailer. It stutters about 10 seconds into it and then stops. The G5 has all the power and on top of that is water cooled so it should be pretty quiet. I just can’t wait till next year when there are two dual core intel chips in that thing.

Anonymous said...

I noticed that Eclipse on Linux is *way* faster than windows. I have a linux machine + a windows machine. The windows machine proc is much faster but on linux, the same project loads way faster and Eclipse is ready in seconds as on Wondows, there is a long time at the "Java tooling".

Henri.

Anonymous said...

Howard,

Let me add my word(s) too ;)
I have switched nearly 5 years ago on mac, when they first released MacosX. I bought a powerbook Titanium G4 667 Mhz. An today i am writing this comment on the same machine, i am actually developing tapestry, hibernate and dot.NET applications on my same old powerbook and it works perfectly. Ok it is not top of the speed and its a bit old but MacOsX just rocks pretty well. Multitasking is very well handled in MacosX, and eclipse never hangs (my projects have more than thousands of files). Sometimes i have a spinning beach ball for few seconds when swapping from another application back to eclipse, but it is very tolerable, and this is because i have only 512mb of RAM.
In my opinion, i am a really happy user since i switched, it just works! As advertised. Many of my friends are still on windows and some have switched, all the ones that have switched are really happy. I mean since i have my mac i have been more productive and efficient. And i must say when i see my windows friend they always call me for a virus, a driver, a crash and many other thing that i forgot when using the mac.
Secondly the ease of use of the UI is great and the eye candy is not borring or to heavy (I have tested Vista and i think this one is bit heavy on that).
One other thing i like is that i only reboot my system not more then once a month to clear the various cache.
And the best is that you get a full unix environment without any hacks or Cygwin stuff.
I mean i could never go back to a PC for now, I am a happy user with a computer that just works.
My recommandation: try to get one for a month or so and see if you like it.

Numa

Anonymous said...

Howard,

I run Eclipse on both an old 800MHz G4 iMac and a 1.25GHz G4 15" Powerbook and have never had performance problems on either machine.

A common misconception about Macs is that they're slower than PCs. In some ways, that may be true and the move to Intel chips will eliminate that altogether. I was at WWDC (Apple's Developer Conference) this year when the Intel switch was made official and I got to see the early Intel Mac dev boxes up close. Trust me, if you think Macs are slow now, that won't be the case when these machines come out.

Anyway, a Mac doesn't have to be the fastest machine on paper at the time you buy it. It just needs to be fast enough not to tick you off. So, while a G5 is definitely faster than a G4, it might make some sense to get a cheap Mac Mini (top of the line, 1.25GHz G4, with a SuperDrive) to hold you over until the Intel boxes come out. Just make sure you get at least 512M of RAM and OS X will be more than fast enough. Also get the AppleCare protection with that, if you decide to keep the Mini for more than a year (and you will, as it can always double as a little headless server) the AppleCare gives you a 3-year extended warranty. With the Mini, you can't hook up the 30" Cinema display to it (because it requires 2 video cards to drive it), but you can hook up the 23" display to it.

Think of all the dev tools/languages/APIs you get with OS X right out of the box, no extra cost:

C, C++, Objective-C, Java, AppleScript, Perl, Python, Ruby, Tcl, WebObjects, Tomcat, JBoss, Apache

and I'm leaving tons of stuff off of this list. Check out the developer section of Apple's website.

You mentioned that you used to develop for NeXTSTEP. If you haven't seen where Cocoa (which is what the old NeXTSTEP APIs are called now) is now, you'll fall in love with that environment all over again.

Well, enough preaching for one day. Definitely go with the Mac.

- Michael

Anonymous said...

Well another thing you MAY want to consider is. That those G5's can NOT be configured to have RAID drives. (or at least not from the factory) Even dells now you can get with SATA raid settings.

Just somethign to consider

Anonymous said...

Howard,

I worked with many CPUs/architerctures/workstations including G5's and Opterons. The newer dual-core 2.5 GHz G5's are pretty fast if you want to go with Mac.

But I would also support Athlon64 guys if you want to stay with PC and just upgrade. Those things should be very fast even being downgraded Opterons.

Sergiy

Anonymous said...

Also, and perhaps most important for a java developer is sun's/apple's delayed support for java. Perhaps one of these apple folks can expand but it is my understand a new java release can not be installed on a mac until apple integrates it into a new version of their OS.

Anonymous said...

The eye-candy comments crack me up. Yes, Mac OS has a much better lookin GUI than Windoze, but more importantly, it has a much more robust, stable, BSD-based OS underneath the GUI. Java isn't as fast as on Linux and Windows, but it's fine. And on a dual G-5, it will blaze. I use a 1.25 ghz Al Powerbook every day, all day and I rarely feel hindered by the performane-- though I am eager for the faster Intel chips and a faster bus. Eclipse 3.0 ran slow on the Mac, but 3.1 rocks. Since moving solely to my Mac a few months ago, I've been much happier developing.

Anonymous said...

I could provide 2 plans:

First is AMD Dual-core 64bit(Excellent CPU) platform:

AMD dual-core 4400+ 2.2G 1Mcache 526
ASUS A8N-E Socket 939 NVIDIA nForce4 Ultra ATX AMD Motherboard - Retail 109.5
ASUS EN6600/TD/256M/Silencer Geforce 6600 256MB DDR PCI Express x16 Video Card - Retail 122
CORSAIR ValueSelect 1GB (2 x 512MB) 184-Pin DDR SDRAM Dual Channel Kit ... - Retail 89.99
Seagate Barracuda 7200.8 ST3250823AS 250GB 7200 RPM Serial ATA150 Hard Drive - OEM 111
Antec LifeStyle SONATA II Piano Black Steel ATX Mid Tower Computer Case 450Watt 109
PLEXTOR Beige IDE DVD Burner Model PX-740A/SW - Retail 78.99
Logitech Cordless Internet Pro Desktop 967461-0403 Black USB RF Wireless Slim Desktop Mouse Included - OEM 32
DELL - Dell UltraSharp 2405FPW 24-inch Wide Aspect Flat Panel LCD Monitor with Height Adjustable Stand 1199
Windows xp x64, windows xp 32 pro 146.95

----->$2524.43

All prices are from Newegg and Dell. Attention: A vivid dell 24" LCD already included. 64bit ready.

Second: Apple G5:

Dual 2.3GHz PowerPC G5
1.15GHz frontside bus per processor
512K L2 cache per processor
512MB DDR400 SDRAM
Expandable to 8GB SDRAM
250GB Serial ATA
16x SuperDrive (double-layer)
Three PCI-X Slots
ATI Radeon 9600
128MB DDR video memory

----->$2499

if your memory upgraded to 1G, the G5's price should be a bit highter than AMD's.
Attention: NO MONITOR.

It's clear who's the winner.

If you REALLY care about performance, see:
http://www.anandtech.com/mac/showdoc.aspx?i=2436

and

http://www.anandtech.com/mac/showdoc.aspx?i=2520

I have a AMD mathine 3200+ (2.2G 1 core) and a Power Mac G5 DUAL 1.8G both running Postgresql 8.0. For a same query AMD needs 200ms and G5 needs 600ms.

If you like eye-candy or like to pay more for apple's brand, go G5. Otherwise AMD is a good choice. (forget intel P4)

Anonymous said...

It's a far from clear-cut decision and there's plenty to cite on both sides of the argument. You have given a rough outline of what your machine would mainly be used for, so given that, the following would be what I think would be the most relevant issues.

(i) Java on Mac OS X. A significant difference to other platforms is that Apple have decided to a Java VM should be a standard part of the OS. Apple do the porting work on the JDK and distribute it themselves. (You don't get it from Sun.) They distribute it through their Software Update mechanism which makes available whatever new point releases they have ported (e.g. 1.4.2) and patches previously installed point releases with whatever underscore release is being made available. (By underscore release, I mean the 03 in 1.4.2_03.) From a user perspective, this is great. No downloading of installers (which scare the average user) and no setting the system path (which the average user doesn't understand). On every single Mac OS X installation, you can fire up a terminal window, type "java -version" and you are guaranteed to see version information. On the other hand, Apple taking care of all this for you will mean you won't have the flexibility of snagging a JDK from the Sun site and installing it somewhere. For one thing, Apple haven't always ported each point release. (They've done 1.2, 1.3, 1.3.1, 1.4.2 and now 1.5.) That's largely historical in the sense that they are almost certain to port any major releases from now on. What's not historical is that they don't port all the underscore releases. Consecutive releases made available through Software Update will be several underscore releases apart. They have also typically missed out on the first few underscore releases of a new point release, so that it hasn't been a great platform for early adopters. The delay in getting access to a new point release has sometimes been quite substantial. Also, if you are at a critical stage in a big project, it would probably be wise to uncheck any Java updates that are being offered, just on the outside chance that a new underscore release will cause a problem for your application. (Software Update doesn't provide a way to roll back a patch.) Lastly, Apple's port of the 1.5 JDK is only available on Tiger (10.4). I'm not sure whether the reasons for this are predominantly technical or business-related. I've no problem paying for an upgrade; my problem was that with a heavily-configured development machine, when faced with the prospect of a non-trivial OS upgrade, the reaction tends to be "not right now". Being busy at the time, I decided that I didn't have the time to risk upgrade problems so I had to postpone playing around with the 1.5 JDK. (This is on top of the fact that the Tiger OS release came a full six months after the 1.5 JDK had been available for Windows and Linux users.) In your case, if you're buying a new machine, you'll get Tiger and Java 1.5 (and 1.4.2) on there, so you're not going to face any such issues in the near term. I wouldn't hold out much hope of early access to Mustang though. And it's not impossible that Apple will tie its eventual release to an OS upgrade.

(ii) Performance. In my opinion, the difference in performance between different Java implementations (or, strictly speaking, ports) will be small in comparison to the substantial jump in performance you're going to get from upgrading your hardware. Whichever platform you go with.

(iii) Eclipse on Mac OS X. OS X has (to date) not been a priority platform for the Eclipse project. However, as someone else pointed out, the gap closed dramatically from 3.0 to 3.1 and I expect the situation the improve from here on. There are still small problems with some plug-ins. The Visual Editor doesn't work on OS X. I was playing around with WTP recently, and there was some flakiness in some of the artifact editors that isn't present on Windows.

(iv) Video editing. No-one else seems to have picked up on this one. Final Cut Pro has been an astonishing success story for Apple and has revolutionised an entire industry, replacing countless high-end editing suites. A very significant shift happened in the industry when FCP was first used to edit a major motion picture, as people hadn't realised up to that point that it scaled all the way to Hollywood. There is other video editing software but FCP is out on its own and it's Mac-only. The neat thing from the point of view of someone who is buying a new Mac is that it will very likely come bundled with at least iMovie HD, which you can think of as a heavily feature-stripped version of FCP, with some pre-packaged stuff for beginners. (Check the software bundle on the deal you are offered.) So you can start out with this and if and when you are constrained by the feature set, you can go for Final Cut Express or even FCP. Your skills and application familiarity will transfer over.

(v) The platform itself. It really is great to have BSD underneath, for automating things. If you have accumulated scripts for bits and pieces over the years, they'll probably just work. And you can do new stuff in Ruby. (Again a default install.) You can, of course, write scripts on Windows, but in my experience you're more likely to hit snags. Unix was always script-able to the core. Windows wasn't and that eventually reveals itself. I consider this aspect of things to be a part of the overall OS X user experience, more so than the "attractive" icons. (The person who implied that you could replicate even the visual aspects of the OS X user experience by installing Stardock was surely just having a laugh.) The list of stuff that's on there, ready to go, is too long to go into, so I'll mention just two. On a default OS install, you have OpenSSH configured so you can get to and from the box securely, and you can fire up X sessions to your Linux or Solaris boxes. Lastly, some of the things they used to charge for (the development tools, WebObjects developer) are free now.

Just a few pros and cons. I'll refrain from being directive.

Don Ryan.

Anonymous said...

I develop Java-based bioinformatics applications on a PowerBook G4.

I have also used WinXP, which doesn't have good parity with the *nix servers I deploy to. Cygwin mostly works, but not completely.

I have also used Linux, which doesn't have iTunes.

I now use MacOS 10.3, which doesn't have Tora (RDBMS client).

Otherwise, all three machines have been functionally equivalent.

zak.

Anonymous said...

I'm on my third Powerbook G4 (500Mhz, 1Gig, 1.65Gig) in five years. I feel they provide the best Macintosh experience. Built some very large java web apps on them including a Tapestry project. Would not mind a faster processor and better I/O, but it hasn't hindered my work. Intel should help, but PPC will be supported well into 2008/2009.

The comments from users of MacOS X seem to be very accurate so I won't go over the java version lag etc.

If you consider time as money then Macintosh delivers good value, at least it has for me. If you want to spend time (money) building and tweeking an AMD/Intel box the parts will of course be cheaper and faster. I did this myself to have a cheap database box at home with good I/O and the occational Windows app (Google Earth is about it). But I took this on more as a hobby.

An earlier blog talked about your troubles getting a Windows box up and running. Most of those issues are non-existant under MacOS X. Making a working copy of a disk is part of the OS, not a third party tool. Applications run where ever you move them.

I've converted over a dozen folks to Macs, 7 where developers 5 where java developers. Some ran into snags, but everyone of them were glad to make the transition. Mostly powerbooks btw.

I connect to Windows via RDC and rdesktop (X11 but faster). I connect to Linux/Sun boxes via ssh and X11. I mount drives and print to network printers. The Powerbook is the perfect integration machine, my front end to the computing world. Pure luxury with lit keyboard, great design and integration of hardware and software. Can even drive that 30" display (I have the 128meg graphics option). Driving Windows machines feels like I'm always fighting the OS like a bad alignment.

I am trying to move from Emacs to Eclipse at the moment so no huge comments, aside from it works. The software bundle that comes with the pro line is good, the bundle that comes with the consumer line I think is better. Except for OmniGraffle, it rocks. Making movies and DVDs etc. is great on these machines.

TOra is quite good. I have TOra running under MacOS X 10.3 and 10.4. Took a bit of work to get it compiled with native QT, but there is also a X11 version of QT. Worth the time (money) to get it working!

Anonymous said...

I'm a Mac owner and I do my tapestry and java development with eclipse on the MAC. The swt implementation of eclipse for the SUCKS. I will provably swith in the future to use the Mac for any other stuff but development. The windows system is not even COCOA based but CARBON BASED, It is quite unresponsive, everything else in the MAC is fine. Other odd things about a MAC is its unix filesystem if you chose Unix filesystem vs Mac journaled extended some applications will stop working properly (Macromedia suite, Mysing sync for Mac). Definitly a MAc is not a good choice for java development with Eclipse. Only if there was a SWT COCOA