PowerBook Performance for Java Development?
brasten wants to get to the core of this issue: "I'm in the market for a new development notebook. I would like to jump into the Apple world and pick up a PowerBook. However, compiling very large Java applications of course takes some time, and so raw processing speed is a factor. I have been unable to find solid data on how fast a 1.33GHz PowerBook runs against the modern x86-based notebooks. Does anybody have any information that could help me compare?"
we did some tests on this two years ago and the 1ghz ppc came up on top, about 30% behind the fastest x86. this is probably because the ppc has a larger l1 cache and a better fpu (java uses exclusively floats, even when you declare type integer).
However that was 2 years ago and these days a x86 machine is probably faster (and cheaper if this is a concern.)
1.4.x upgrade gave quite a performance boost... I code som medium size java projects wich compiles at acceptable speed. Btw I have the older 1ghz model with slower memory and slower processor.
I would say that they aren't exactly speedy in compiling Java apps. I have noticed that even with small programs they can be compiled quicker on x86. I can't comment on the top of the range models but my 867Mhz G4 12" Powerbook does noticably take longer.
In saying this, I *much* prefer developing on Mac OS X compared to Windows. The document centric layout and general usability of OS X makes the whole process a lot more enjoyable.
At the end of the day I'd go into an Apple store and ask to test one out. Try it with some big project and judge for yourself.
First, intel's set to release Dothan, it's new Pentium-M for the centrino.
Then there are rumours of new PPC chips from IBM
(a) G5 PPC 970
(b) G3+altivec PPC 750VX - just a rumour none of these chips seen in the wild.
The bottom line, Powerbooks based on motorola G4s are soon to be phased out.
I know it's older hardware but I use a 400MHz G3 PB (Pismo) on a daily basis for developing Java and I have absolutely no problems with compilation speed - the first time the compiler is run (from Project Builder, CodeWarrior or the shell) takes a while but subsequent builds take no time at all. In CodeWarrior it *feels* no different to using my dual PIII 1GHz Win2k box. Running the apps is a different matter entirely - anything with a GUI takes forever to start up (but command line tools are pretty instant).
After about three months of relentless Willy action I reckon I'm now as good as when I was 10.
Once you Mac, you'll never go back.
Neither my PowerBook G4 17", nor 12" offer break-neck speeds. My tests from mid last year concluded it can't out perform a generic PC laptop at the same price point. However it's a platform developed by smart developers for smart developers. Coming from either UN*X or Windoze, after a play, you're gonna oh-so-want one.
PS... You'll want all the RAM you can afford.
I work for a very large international company as a senior java developer. When I decided to take a sabbatical for master studies, I had to turn in my IBM A31p.
Between semesters, I returned to work and since my employer was unwilling to buy a new machine for just 2 months (my laptop was reassigned, they offered me a P3 desktop for a roaming job), I brought in my personal PB17, which I bought for my studies. I already knew, that it's a fine Java development platform, but I was unsure about a large J2EE project in a Windows company.
Integration went very smoothly (Of course it runs Exchange, yes Ms Office no prob) and even Bea WebLogic (assign the right jdk) and Together/J was a no-brainer.
Eclipse is a tad slower, but after getting used to it (key assignments and such), I'm just as productive as on my old Windows Laptop.
Summary: If you like Unix and need a laptop, there is no way around a PowerBook. Integration into the Windows world is easy. All the Java tools are available and run w/o problems at acceptable speed. Just make sure you have enough RAM, 1G is minimum for a Java-Pro.
Enjoy, I don't think you ever want to go back. Powerbooks are addictive.
The G4 can't win the battle against modern x86 processors anymore.
But on the other side, how often do you compile a whole project? While you develop, there are mostly only very few files changed. Compiling them then is only a matter of seconds. On every platform.
The much more important question is, if Mac OS X and the applications can speed up your developing process? If you saved 10 seconds by faster editing the source files, you can spent 5 seconds for the longer compilation time and save 5 seconds for your personal recreation ;)
If so, consider using a (100 Mb/s) network share,
eg, based on a nearby desktop, as work- & target-
logical drives.
This summer I was a coder for Rutgers University, doing various coding in Java and Perl. I can honestly say that between all the great editors and IDEs that the Mac has, along with OS X. It's a great development platform. I'd bring my 550Mhz G4 Powerbook in every day, hook it up to an additional monitor so I'd have coding on one screen and my iChat/API references on the large monitor, since I wasn't looking at that as much. Doing all the compiling and testing and everything, along with having iTunes blasting, and all the other sorts of stuff I would be running at the same time, it didn't skip a beat. I'm buying myself the top end 15 inch powerbook this week, as an upgrade, as my parents offered to buy my old one (after seeing how productive I was on it, as well as seeing the wonders of Wi-Fi they wanted it for themselves, and after almost three years of service, I could use a taste of some more speed. Not that my 550Mhz is SLOW by any means, but wanting to go faster isn't a crime :)
Viva La Revolucion! Buy a Mac!
I've recently bought a 12" iBook G4 800MHz, and it preforms directly like a Pentium III 800MHz with recent Java versions, which I found out using a Java dhrystones benchmark program to test it. The iBook scores 97.8 where the PC scores 99.2.
:-(
I've tested a lot of different platforms with that program, and it seems to follow SpecInt/Float benchmarks pretty well, if you look on how it compares to different systems, eg. a Sun SparcStation 5 scores around 4.9, making it 20 times slower than a Pentium III 800MHz PC, which also SpecInt/Float benches show.
So the PB at 1.33GHz will run like a PIII 1.33GHz, and you'll have to make up with yourself if thats sufficient for you. A P4 2.6GHz with HT scores around 216.
Also, if you decide to buy an iBook, be aware that it CAN'T run with an external monitor in any higher resolution than it's internal LCD, something my old Dell latitude from 1997 does with no problems at all
I don't know if that is true for the PB, but it sucks bigtime. I'm very disapointed with my iBook on that fact, along with some other assembly issues that other people with iBook G4 also seems to have.
If you're going to spend most of your time in Eclipse, I'd save the extra bucks and go for a PC.
-H
Enough RAM is substancial. 512MB with Eclipse and a few other programms open and your disk won't stop swapping when switching applications. 1GB is good, more is better.
If you have that, you won't regret.
Oh, and I don't know why you'd want to use 100Mb/s networking for a hard drive. It's a quarter the speed of even plain FireWire, with much higher latency. If you really must use networked storage then don't cripple it with 100Mb/s, buy a decent gigabit card for your server so the PowerBook can run its network at full speed.
I am TheRaven on Soylent News
Is there an echo in here?
P'books can happily display a very high resolution desktop on an external display, and will properly span the desktop over the two displays.
If you're willing to do hairy firmware hacks, this feature can be added to an iBook as well, but I won't point you at references, as I'm disinclined to help you bust your iBook.
Nice to see the final sentence though: I'd save the extra bucks and go for a PC. Yes, iBooks are cheaper than the equivalent PC laptop, and P'Books are generally the same or less than the PC equivalents.
What's the use of a laptop if it's to hook it up a desktop ?
blah
Here's the SciMark 2 benchmark scores for various platforms. This isn't an entirely relevant comparison for development as its comparing one aspect of CPU+JVM, eg I/O is neglible, but it gives you some idea of whats going available.
A dual G5 placed 15th in the list of submitted scores:
1. 554.92 Sun 1.4.2 WinXP 5.1 Sun. 1.4.2; IBM; P4 3GHz
[...]
15. 226.23 Apple 1.4.1_01 MacOSX 0.2.7 Apple Computer, Inc. 1.4.1_01; Apple G5; PowerPC 970 2x2Ghz
there's a lot of x86 ahead of PPC. I've got no axe to grind here, I have a powerbook myself and I find it a pretty decent working environment - partly I wanted one because I use wintel in work and wanted to get away from that when doing my own stuff.
Although performance is important, it also depends on your development environment. For some of the work I do I need a database (PostgreSQL), and it makes it a hell of a lot easier to have the database, Java Application Server and IDE working on the one box so that if I need to work from home I can.
:)
Although Windows does have postgres available via. Cygwin, I had some difficulty installing it on my windows box... so I got a Mac instead.
My general advice - Apple professional portable range was not updated since last September. This means some update is imminent for next few months. Buying the Big Al now, you will pay the premium price for a '2003 machine. So if you can wait - wait. With Apple being the master of stealth in computer industry, no one can really guess when the new powerbooks will be released - and how good the upgrade will be. But right now, the gap between the hig-end Apple portables and the low-end Apple desktops is way too big. Especially for a company that actually relies on portable products.
We developed a fairly large (~80,000 lines of executable code) WebObjects application. Our dev machines are all 15" PowerBooks in the 800 to 1GHz range.
Compile performance is fine, but more importantly, it's always improving. It's 50% faster that it was a year ago on the same machine. Xcode's predictive compiling only works with GCC for now, but if there's a way to stick it on javac or jikes, Apple will do it.
Apple likes Java. They have a vested interest in it via WebObjects - which is the back end for iTunes and the whole Apple online store. 100% Java. They're also getting into JBoss and other Java related open source projects.
The development tools are really nice, and you *will* get hooked on the PowerBook. We've got two 2.8 GHz Windows boxen available. Nobody uses 'em... except SETI.
I have found that running Linux on a 333mhz G3 runs a hell of a lot faster than OS9 on the same G3. Its also faster than Linux running on a x86 of the same speed.
The core of OSX is based on Darwin/BSD and as such I would expect similar speed improvements, but you'd better make sure that you get a powerbook with a nippy GPU because the GUI might mask the true speed of whats going on under the hood.
I'd go with the powerbook, they are lovely machines, I cant wait till I can afford one, all that unixy goodness in such a small package, and having apps such as iMovie etc, it would also be a fun purchase.
Electronic Music Made Using Linux http://soundcloud.com/polyp
The powerbook is perfect for java development or any development for that matter, why? Directly from http://developer.apple.com/tools/macosxtools.html:
Working Fast
The distributed build feature leads Xcode's performance technology lineup. Using Rendezvous, Xcode can farm out your project's compilation to idle desktop machines or even an Xserve build farm, drastically reducing compile time. Enabling near-instant turnaround for bug fixes, Xcode's Fix and Continue feature lets developers change code while the app continues to run.
Rendezvous, hard to spell, a pleasure to use.
You should use Ant or even Make in your build process. They are clever enough.
You also should think about your way of programming. Only if you refactor some code (e.g. rename an important function), there will be much to recompile. If you have many of those changes, you may have some serious design flaws in you application.
I did a similar transition two years ago. I went from a 1GHz PIII Dell Laptop running Red Hat something or other, probably 7.X, to a 450 MHz G4 PowerMac. The Power Mac was slower there is no question, but being able to have a Unix box with a native version of MS Office, and a complete Java environment was the clincher for me.
My development environment at the time:
I did extensive testing at the Apple store near me to make sure everything would work before making the move. They let me use a machine for two weekends solid. I would show up Saturday morning with my Dell laptop. I would take their top machine off the network and cross over cable it to the Dell, then copy all of my stuff over to the Power Mac. What I found after extensive testing is that the G4 running Java is basically MHz for MHz equivalent to a PIII.
Now, I was very happy switching to the Power Mac. Since then I have acquired a new Power Mac DP 1GHz, and an iBook 700, and both of them handle my environment very well. Of course the Power Mac is faster, but the iBook is acceptable. I would never go back to an Intel based laptop for Java development. Apple laptops are simply first rate, OS X stays out of the way, and the JVM is rock solid. I would guess that my next Apple laptop will be a PowerBook simply for the ability to pack it full of RAM.
So, get the PowerBook and come on in the waters fine,
Mark
Quite frankly, I *love* doing Java development on my Powerbook. I don't develop huge apps, though.
But what I do like is that I can easily have MySQL and Sybase running in the background, a bunch of Office v.X apps open, and still do compilations with little performance penalty. OSX seems to be the master at keeping many apps open without being like mollasses in January -- which is contrary to most of my PC experiences.
And Java works *well* on OSX now. Seemless. Xcode is great (and free), too.
Just my 2 cents (Canadian).
-psy
I'm pretty happy with my own switch to the Mac. My 366 MHz PII and 650MHz P3 laptops (running Win2K) were getting toasted by the first Powerbook I had (a 400MHz Pismo running early OSX). These days I know you can get PC laptops in the GHz range but I've been very happy with my Powerbooks in terms of performance. Sure, sometimes the desktop PCs can beat the desktop Macs at some things and if you want a dedicated code cruncher then a laptop isn't what you want anyway.
Get a Powerbook for you. Get a desktop x86 or G5 for the code crunching. Nothing seems to handle load better than a Powerbook. Compiling while running 8 or 9 GUI apps and nothing gives out. iTunes plays without a hiccup. It's certainly a relief from where I used to be. I still have a screenshot of my last P3 notebook at 89% CPU running only Outlook....and another where Outlook munged the GDI layer. Things like that matter.
My previous environments were a p3-750 running win 2k and a Sun Blade 100 with the same development tools. I have to say that the PB is faster than both the Sun (by far) and the wintel box (not quite as much). As other posters have mentioned, RAM is an important factor.
I recommend this environment wholeheartedly, because not only can you use familar tools and take advantage of the unixy underpinnings of the OS, but you also have access to MS Office for sharing documents with those in the Windows world.
"I do most of my engineering on my PowerBook," James Gosling states flatly. "I find it dramatically more efficient than a desktop system because, on one hand, it has all the power of a full-blown UNIX desktop. On the other hand, I can take it with me because it has all of the laptop stuff. I can work on a airplane, at home, in a corner when I'm sitting in a boring meeting. And it's able to do not just email and browsing, it's got fully-functional, high-end software development tools."
Powerbooks are now shipping with a 5400 rpm drive option availbale (as opposed to the painfully slow 4500 rpm drives standard). Hitachi has begun shipping a 7200 rpm (standard desktop rpm) drive for notebooks. My new PowerBook is being ordered, but the first thing I'm doing with it is putting in a new 7200 rpm drive to remove this limitation. slow drives have hampered Powerbooks for a long time, but the 5400 option and the ability to put in a 7200 rpm drive shuold make things "much better now". I'm looking forward to drooling after the disaster that was the TiBooks is finally over.
I am, and always will be, an idiot. Karma: Coma (mostly effected by
It doesn't matter. You buy a Mac if you like Macs. I personally enjoy using Mac OS X far more than using Windows. Everyone I know who uses Macs love Macs. Nobody I know who uses PCs love PCs, they just tolerate them. But you need to decide for yourself.
Now, you asked about Java performance on the Mac. It's fine. I recently switched from doing Java development on a PC to a Mac, and the Mac was faster. It was a faster machine (a dual 1.25 GHz G4 vs a single 1.6 GHz Athlon), so what this proves is that the Java performance on the Mac isn't totally horrible (otherwise the faster machine would have been slower at Java).
One thing to consider is that Apple, not Sun, is in charge of making the JVM. Apple is always a bit behind. They just recently released 1.4.2, for example.
And I would disagree with the people who recommend XCode. It's a nice IDE, but if you're doing pure Java, then you're better off using a smart IDE like IDEA or Eclipse that can do refactoring and smart code completion. IDEA and Eclipse both run fine on the Mac, though they look and feel a bit weird (IDEA has been getting much better recently; check out the version 4.0 release candidate instead of the currently-shipping 3.0 release).
Finally, if you do decide to get the Mac, and you've never bought a Mac before, here are some tips: Apple (like all manufacturers) charges a lot for extras so you might want to consider buying extra RAM elsewhere, and fixing a Mac can be expensive so I would recommend Apple's extended warranty, especially on a laptop.
I have a athlon 2600 on my desk, and a 1Ghz powerbook. No question, the desktop is faster, but honestly, I mostly use the desktop for gaming. OS X is nice for more than just speed.
A lot of what I've seen here confirms my suspicions, that for the java that I run (in this case, pcgen, pcgen.sourceforge.net) it's the Mhz. It runs much slower on my laptop. I might be a tad ram constrained (I have 512) But I don't think so.
-- Who is the bigger fool? The fool or the fool who follows him? --
I work on Java projects for a living. I have a 1.25Ghz 15" G4 Powerbook an 800Mhz Dell piece of crap laptop, a 1Ghz P3 and an Athlon 2200.
:)
For compiles, the x86 processors are just always faster. For runtime performance the x86 processors are just always faster (except the Dell laptop). For general use and stability, the Powerbook is just always better. I don't have to worry about IT coming to check my machine for virii. Most of my unix tools work without a hitch without having to launch an internal OS as I do on windows, Apple listens to and responds to bug reports, and my Powerbook is still better at living in a mixed OS environment than my XP boxen.
If price is a concern - x86 is still the way to go, even if the G5 is under consideration. If being able to coexist happily with much of the Linux, Unix, open source world is more of concern - I've found that OSX is the ideal platform. All of the pleasure of dealing with Unix with none of the pain of HAVING to deal with the lacking areas of Linux
I've been a Mac guy since the 80's, and a Java guy since the mid-90's. I started doing Java development on Mac OS, back when Sun and Apple were shipping a JDK for Mac OS. Those early releases were crap, painful, and buggy, but in that the Mac was no different than any other platform.
Now I work for a software consulting firm doing fairly high-end Java development. All of that development takes place on Windows, and is deployed on Unices of various flavors.
Lately I've tried using my Mac for development on Java. I really, really have. But I have to say this, though it pains me to do so: it sucks for Java development. I thought, "Wow, a Unix based system with a great GUI! What could be better! I have a local CVS repository, all the tools like Ant, and none of the Windows wierdness!" Yet somehow, Eclipse doesn't work right. NetBeans, well, it's still NetBeans. IdeaJ doesn't look right and takes forever to launch. WSAD doesn't exist. Xcode, for all the hype, doesn't make sense to me: I'm sure it's a great tool, but I've worked with more than thirty different IDEs in my career (not counting revisions), and Xcode just feels wrong somehow.
My Windows box runs these apps flawlessly (except Xcode and NetBeans, which sucks on Windows too), and I'm so much more productive than when I use my OSX box that it's not funny. It's not so much that you can't do it on Mac OS X, but that because of the additional support, it's actually easier to do it on Windows. I spend less time fscking around with configuration, alpha builds, gui bugs, and slowness.
I use my Macs for a lot of stuff, and I'm about to migrate my mail/web server from Linux to Mac OS X server. But my Java development will continue to be done on Windows for a while longer.
If you can hold off a bit, you'll likely get more bang for the buck. If you can't wait, it is a phenomenal development machine though and I am still only using a 667MHz Ti!
My new PowerBook is being ordered, but the first thing I'm doing with it is putting in a new 7200 rpm drive to remove this limitation.
Uh... dude? Hate to break it to you, but the hard drives aren't customer-replaceable in the aluminum PowerBooks. Seriously: you can't get at it. Can't get there from here. And if you try, even if you succeed, your one-year warranty and all future AppleCare go poof and disappear in little puffs of blue smoke.
Just get the 5400 and forget it.
I honestly was a bit scheptical myself before buying a laptop. I have been notorious at my company for buying a laptop and finding a way to give it to someone else and end up back on my workstation. About 2 years ago, when the tiBook had released the 800 mhz chip version (pre superdrive), I decided to make the jump.
First, the tools have come a long way. I was quite used to running eclipse on windows/cygwin or linux. Eclipse was very immature on mac when I bought my tiBook, but now isn't a problem.
The speed isn't the fastest in the world, probably on par with any lower end windows laptop you can buy today for 1100-1500 dollars still. BUT, I do strongly prefer to do java dev on my mac still. This is the first laptop that I have used as long as I have. It's working well enough, I am not sure I am going to even upgrade it this year.
iChat is pretty sweet, I use that as my primary communication tool with the rest of the engineers on my team. Unix terminal is great, I would get iTerm (Free), which is prefect for working on my remote app servers. Resin runs fine on my mac, so I can emulate my full development and deployment platform.
I also do a lot of scripts in Python as well, panther comes out of the box with everything just working. I haven't even bothered to install the debian tools apt for my mac yet.
JEdit is a great tool that runs perfect on my mac as well.
Now, I haven't reviewed the update that landed on my laptop yesterday, jdk 1.4.2. (automatic updates are nice).. but seems that everything is still working great after the update.
The ONLY complaint I have about my model is the poor reception on the wireless card.
My battery still seems to be holding strong.
I can't play any games on it, but thats probably not a bad thing as I would probably just get distracted.
I don't even bother with office for OSX anymore, as openoffice seems to suite my needs. Just find a Cocoa based launcher and your set.
I guess I would recomend that laptop if your wanting a nice tool for doing your work in. The tools are all there, if you use Java based tools. I am sure that the newer powerbooks would just 1-2x faster than what I am used to, but I am not complaining about speed at all. (My home workstation is a 3.06ghz comp with 2 gigs of ram, my laptop doesn't feel unreasonbly slow even after goofing with linux/windows on that machine).
My final advice is, determine if there is anything that you HAVE to do that won't work on mac, if the answer is no, it's definately a good buy and even though the laptops are a bit expensive, in my opionion, I have gotten every penny and more out of mine thus far and eventually when I feel my laptop is just not able to cut it anymore (no idea when this will be) will be replacing it with another apple high end laptop.
Good luck
I'm shocked the original poster thinks "compiling very large Java applications of course takes some time". I work on big Java projects and even the biggest take no more than a couple minutes to build from scratch, along with execution of all unit tests, and final packaging operations. Incremental builds (with tests) take no more than seconds regardless the machine. (For Java I've used PCs running Windows or GNU/Linux, SPARCs running Solaris, and now my primary machine is a year-old PowerBook 12" 867Mhz with 640MB, which performs at least as well as any machine I've ever used.)
The Mac notebooks are as fast or better than any PC notebook for Java development. If your projects take longer to build, you should solve that problem first. (You're not using Make, are you? Compiling a file at a time maybe? You build with Jakarta Ant, right?)
This is only true if you blindly follow what Apple tells you on their website. But this is /.! We don't need no stinkin' rules! The fact of the matter is the iBook graphics hardware is identical in every respect to Powerbook hardware, which has the ability to drive external displays at different resolutions either mirrored or as a second display. There is a hack available to resolve the Apple-induced limitation.
I applied this hack the same afternoon I got my iBook G4 12", and it worked like a charm. /. Apple geeks unite!
HBH"Smart is sexy." -- D. Scully ("War of the Coprophages")
Using the DhrytoneApplet I found at http://www.c-creators.co.jp/okayan/DhrystoneApplet /, here are my results:
G3 IBook 700MHz, 640MB PC133 RAM, 20GB HD, Combo Drive
12182ms run time
820833 dhrystones/sec
G4 PowerMac Dual 800MHz, 1.25GB PC133, 80GB HD, Super Drive
9892ms run time
1010917 dhrystones/sec
G5 PowerMac 1.6GHz, 1.25GB PC333, 160GB SATA HD, Super Drive
5596ms run time
1786990 dhrystones/sec
You can test your machines to see where you stand. I am suprised at how little difference there was between the G3 and dual G4.
AC
One thing that I have noticed with Apple's JDK/JVM is that it does seem to take a little longer to fire up than Sun's JVM on Linux and Windows machines. I'm not quite sure why that is but in general it has been a non-issue.
I say go for the PowerBook. You'll be getting a great all-around system that you'll love using. I just got a 1.25GHz 15" PowerBook, and it is by far the best computer I've ever owned.
anyone got a solution under Panther so that I can justify to carry a PB around?
Having JDK1.4.2 is great but the lack of J2ME 2 is more and more like missing a limb now, and the pain is growing each day.
--
"The problem of standard is there are too many of them."
only 950 for students. 1050 w/ airport extreme, and then some crucial ram for another 200 - under 1300 for that slick little baby
have you used final cut pro on it? how does it do for dv editing?
/bin/fortune | slashdotsig.sh
It was reported that Apple was having trouble getting g5s into powerbook because of the immense heat dissipation and power consumption. But with the 90nm version of the chip, these problems *should* be solved.
IBM is already claiming a massive power cut. Check The Register. My advice? Certainly wait for the next product cycle, and if you can, wait for a second revision g5.
Oobob
I'm a java programmer and I worked very hard to convince my boss to get me a 15" powerbook when it came time to order me a new machine. Funny thing is, it took me 8 months to justify mine, but then within one month three of my coworkers had theirs ordered. It's a great machine for development and it catches looks when working off site at the cafe too!
Jacob
1) You definitely need lots of RAM. Compilation speed is just fine on my lowly 600 Mhz G3 iBook (20 seconds to rebuild all 100 or so classes (10 K LOC) and create a JAR file) but my IDE (JBuilderX) typically takes up 120 MB of real RAM, 500 MB of virtual memory. I have a total of 384 MB RAM and so if I am using any other RAM-hungry apps, my machine is running the disk a lot (swapping).
2) The latest release of JBuilder (JBuilder X) is much improved from previous versions. Lots of refactoring support. It is not yet officially available for OS X but I managed to get the trial version of JBuilder X Enterprise to install with the help of a note on the Borland community pages, and it runs fine. Details of how to get it running on OS X are here
3) Java GUI applications look so much better on OS X (Panther, Mac look & feel) compared to other platforms. This is an advantage because you will get an esthetic boost from looking at your app while developing, but it might be considered a disadvantage if (as is likely) the main target platform is Windows (where your beautiful GUI won't look nearly so nice).
About once every month or so, this same question seems to come up on the Apple Java development list, sometimes to a chorus of near flames where one person will remark, "Eclipse doesn't run half as fast on twice as expensive a Mac as my Pentium" and others will remark, "Depends on what the meaning of 'is' is."
Please, folk, yes, the Powerbook is now officially great for hacking Java. James Gosling has used one (as has been remarked) and apparently the JavaONE conference was full of 'em.
Here's all you need to know:
1.) Macs are slower in "anecdotal subjective tests" using Java on a "util of perceived quickness/dollar" ratio.
2.) Apple produces its own port of the JVM, so you're often an official release or two behind Sun's JDKs (so Linux on x86 or Windows).
3.) Java3D is apparently finally out on the Mac. Sheesh. (Another "post a month" topic on the list)
4.) The Apple JVM has historically not been as sharp as Sun's on Windows. Witness the 1.4.1 release on OS X 10.2 -- later unreleased through Software Update, with Swing that's buggy as heck. And I still haven't seen a J2EE specific release.
5.) Prepare to pay for the latest OS (10.3 required for 1.4.2) as well. That's a $129 surtax for Java 1.4.2 that you're not paying on Windows 2k, much less Linux.
And the all-important 6.) Yes, you will look and feel 733+ running your development on a Powerbook.
I use a 1 GHz iMac to hack and though Eclipse's speed is just above a 533 Celeron I run (and much less than my 2 GHz P4), it does just fine. Still, keep an x86 box around for some testing at some point. Write once, test everywhere.
It's all 0s and 1s. Or it's not.
I'm a full-time developer, whose Java work typically pays the bills. I have a 1GHz Powerbook that I use; it's the only real UI-friendly computer I even turn on these days (the servers at clients' sites & in my closet don't count). I do all my day-to-day development on my Powerbook, with a CVS server running elsewhere that does the "official" builds, backups, etc etc.
:) Full graphical Java applications run fast, Java Web Start is built in, and the OS ships with a built-in Java Application Server, JBoss. The only downer is that JVM releases typically lag Sun by 4 - 6 months, but that's acceptable in my mind; it takes that long to shake the "D'oh!" bugs out of a VM anyway.
Overall, I've never noticed a performance problem when compiling large applications. As a barometer, I just did an "ant clobber dist" on a current project (around 200 classes, plus 50 JSP pages, etc etc), and it built a distributable in 18 seconds. Not too shabby. Overall, Java compiler performance shouldn't be a concern in purchasing a laptop; if your build takes too long, it's more likely the fault of a poor build process than a slow compiler!
Anyway, Java integration into Mac OS X is the best in the industry. It's amazing -- Apple's OS is more Java-aware than Sun's
Finally, if you're going to do lots of development at a desk, I'd also strongly recommend plunking down the $2K for an Apple Flatscreen. Yeah yeah, it's expensive... but you'll be more productive with a great external monitor. And if you're going to be buying that much hardware, you might as well look into joining the Apple Developer Connection, as you might be able to get 12 - 20 % off of hardware purchases (especially if you can claim Student status somehow).
HTH,
--Mid
I'm a Java programmer. I develop using Xcode (ProjectBuilder) on my 15 inch TiBook. It's 1 GHz, 512 megs RAM. The application I write is not large so compile times are not a problem for me, but I can tell you that I am very happy dev'ing Java on 10.3. I imagine a 1.33 GHz machine would compile your bigger application with reasonable speed.
peace
I develop Java all day professionally, and have java projects at home too. My company forces me to use a IBM Thinkpad T30, which is a ~2gig pentium 4 with 1 gig of memory or so. At home I have an aging 500mHz G4 dual proc. For IDEs at work I use eclipse 3.0 m6 and at home netbeans 3.5.1 (home coding is heavy swing gui).
:) I swear at that !@#!$ IBM thinkpad every day I have to use it.
So.. at work I have a reasonably modern, good brand name laptop running IMHO the best java IDE out there. At home I have a aging desktop running IMHO the slowest java IDE out there.
My Mac _still_ feels faster and I am more way more productive at home.
But then again, I have a coding style where I think carefully about what I want to do, execute it fully without incremental compiles along the way, then start the usually short fix/compile/debug cycle. So I don't compile that often, and usually take a bio break while the compilation is going on anyway so I have no idea how fast the compile is in comparison.
... You need a sloped surface of some sort, an orange and an apple. Same thing.
I'm kinda waiting for the G5 Powebooks. I currently have a 1Ghz TiBook with a Gig of ram and a 5200rpm drive that I dropped in it. My memory speed is at 133mhz and I have noticed a difference on my Mom's iMac (ddr 333) and my friends 17" Albook (ddr 333). Haven't test Java on the latter machines tho.
However, I've been using my Tibook (and my previous 500Mhz) for years and I've been very pleased with the Java performance. I do see some issues with some Swing apps bein kinda weird, but all in all, Java integrates into the env quite well.
I'd say, for server development, it's great. I currently run Tomcat 5, Postgres 7, and JDK 1.4.2. My Tomcat instance takes about 15000ms to startup (which includes caching of some small tables). It's also nice to have all the Unix tools so I can admin my Linux boxes. I've hooked up jikes for Ant builds and Tomcat JSP compilation and that seems to give it a boost as well.
All in all, I'll prob stay with Powerbooks as my main dev laptop as I researched for quite a while and nothing comes close to them. I don't think you'd be in a bad spot to buy a 15" (1.25ghz) or 17" Albook. While I am waiting for the G5's to come out, one poster did mention that they might have issues, so a second revision of that might be the way to go. And that can be a year or more away..
Look, the real answer is that of course, even for very, very large Java projects, a newish G4 PowerBook is going to be fast enough.
You might be able to find a P4 laptop you can cook an egg on and might also compile your app a little faster, but what is it going to save you, really? 3 seconds per compile, if that?
When developing, if you're any good at all, you spend the bulk of your time writing code, not compiling it. If you're not very good, most of your time is still spent fixing errors reported by the compiler, or debugging code, and so maybe the debugger is where you should be asking performance questions.
Either way, deciding if you should get a Pentium or G4 based on compiler performance when what you're doing is writing code is somewhat like asking if you should get a Dodge or a Honda based on horsepower when what you're doing is driving a couple of miles to work... I mean, it's very likely that *other* factors are more important, like ease-of-use, target deployment platform, what you'd rather be spending your time/money on, preferred editor/IDE, etc... and in the long run, either one will do the job. Of course, my answer is don't send money to Microsoft, they have plenty.
Amongst the hats I'm currently wearing is that of a build engineer for a company that has a java product. We build using Apple's Java 1.3.1 on the Mac (to avoid some incompatibilities with 1.4.1) and Sun's Java 1.3.1 on Windows.
Our project builds in the following times: (minutes:seconds)
2:27 700 mHz P3 with 256 megs RAM
1:56 800 mHz Duron with 1 gig RAM
1:09 1.5 gHz P4 with 512 mb RAM
0:56 1.25 gHz G4 (15" AlBook) with 512 mb RAM
Bear in mind that this is 1.3.1, and I don't have any stats for 1.4 onward.
-fred
Sign #11 of Slashdot overdose: You see the phrase 'moderate Republican' and you wonder if that would be a +1 or a -1.
I have a script that does a lot of basic math (stock market analysis) in lots of loops - written in Perl (not Perl's strongest suit).
I run it on any new machine I'm going to be using for awhile. It is very processor intensive, yet what it does isn't very RAM or disk intensive, so it (IMO) is a pretty good test of the CPU of said device.
On my new Powerbook 15" (aluminum) with 512MB RAM and 1.25ghz G4, it ran for N seconds (don't recall what N is, but it isn't important).
My server that is located elsewhere is what I use for testing things that are going to need to be fast and/or run for awhile.
That machine is an Athlon 2400+ (actually, it might be a 2200+ - I don't recall and it isn't somewhere that I can look now) with a gig of RAM running FreeBSD. The same script on that machine took 1/4 of the time to finish.
So for that particular script, the Athlon of either 2200+ or 2400+ with 1GB of RAM is 4 times as fast as a G4 1.25ghz with 512MB RAM.
I wouldn't go so far as to say that it is 4 times as fast for everything, but it helps put some perspective on things.
From my own personal experience with it, having used a variety of different processors and OSes in the past few years - I wouldn't say that the G4 is all that fantastic. It serves me well in a laptop since I really only use this as the interface into larger projects (ssh into servers and have them do the work).
My laptop right now gets royally buttfucked after one day of Safari use and after about 15 days of uptime (laptop style of sleep/awake/repeat) it needs a total reboot.
I personally wouldn't think of it as an ideal scenario - but I still love it.
There are some odd things afoot now, in the Villa Straylight.
My experience is as follows (Disclaimer - I do almost all PHB stuff now) with a J2EE app running on Weblogic against an application that has 400+ tables, 200+ EJB's and 400,000+ reallines of code.
:). [Course the integration with Exchange sucks except for classic Outlook]
Our developers work on P4 2.6GHz machines (Linux and Windows) - so this will be what I compare to.
It doesn't compare - my Mac (1Ghz G4 with 768MB RAM) can not come close to being as productive as they are. The IO is way to slow and we use XDoclet and some other code generation tools (12,000+ files can get generated in a build). IDE's (IDEA and Codeguide) are slower but IDEA works quite well.
In order to be productive I use nfs to a Linux machine that is a Dual 1Ghz with SCSI drives. My mac build times are 5-7 times slower than the server I use (and more than that compared to the real developers in the office) and as such I just have Weblogic on the Linux server and the IDE on my laptop.
I love my mac and won't give it up, if I need to develop more I would move to a new G5 or a Linux workstation, I still need my PowerBook as I am on the road lots and manage my iLife with it
Apple stores have demo's they will charge you but at least you can go out and and try it. I still don't think we have a large app, and am interested in the distributed build that XCode could offer as we can spend a great deal of time some days compiling and redeploying - but giving up something like IDEA would probably be more costly from a timing perspective.
but back to the orginal point I had to stop coding on my couch cause it got to hot after hour of heavy coding. So otherwise I would say any of the newer powerbooks will be adequate for Java development even running servers should be OK just get more memory and what since java IDE's tend to be just as heavy as java based servers. My *old* powerbook still fits the bill for running multiple database servers, eclipse, and a debug seesion with all the other standard apps running just as well.
I've been doing all my home type java development, as well as all my consulting on a G4 powerbook running at 667MHz w/512MB RAM.
I can honestly say that it works fine, but IntelliJ Idea takes its sweet time (especially sychronizing files) and I do get a little impatient sometimes with how long it takes to compile stuff (using ANT or Maven).
I can't run any thorough tests right now, I'm at work and don't have my 'book with me (sigh)... I believe to compile around 700 Java files with ant takes about 30-45 seconds or so... If you want more conclusive information, I can get some for you... email = daniel at humandoing dot net.
java guy, tech blog...
Well speed matters, sometimes at least.
I'm currently running IBM WSAD 5.1 on a Debian laptop (PIII-1113, 1GB) and I'm praying (!!!) for a faster machine within the next weeks. This things is incredibly slow. Some dialogs need > 15 Seconds to be displayed. Very frustrating.
As some people are talking about Eclipse... can someone confirm that WSAD is running on MAC OSX? Any chance to hack it going?
I have used a 700 MHz G3 iBook and a 1.25 GHz G4 PowerBook for Java development, speed has never been an issue.
Java apps look and feel great on OS X, much better than on Windows. With the toll-free Java Cocoa bridge, Java is an almost native language like Objective C, and UI design with Interface Builder is 1000x better than Swing.
I wish I could give an x86 notebook to G4 Powerbook comparison, but I have never owned a Powerbook. I have owned several x86 machines, an iBook and a couple of PowerMacs, including my current 1.8 GHz G5 that I have had since October. I have been a Java developer since the late 90's, so maybe some of my experiences will be useful.
In 2000-2001, I had three machines I did most of my work on. My work machine was a Dell desktop (P3/933, 256 MB, 7200 RPM 30 GB drive, Win2K.) My home machine was a desktop I built myself (P4/1.7, 256 MB, 2x7200 RPM 20 GB drives, Win2K upgraded to XP, plus Red Hat 7.x) Finally, I also had (still have!) an iBook (G3 500 MHz, 256 MB RAM, 10 GB drive, always current OSX.) At the time, the application I was working had a lot of very simple Java code (~1600 classes) and a lot of JSPs. My work machine (P3) was faster than my home machine (P4), which was very disappointing, and my iBook was not even close to being able to keep up with either. Eventually I had a big upgrade on my home machine to a 2.4B chip with supporting mobo and 512 MB of DDR RAM. It then easily smoked the old machines.
From 2002-present I've had three other machines that I've done a lot of work on, plus my upgraded home machine. I have an x86 laptop (P4 1.7, 256 MB RAM, 5400 RPM 30 GB drive, Win XP Pro), a new workstation at work (Xeon 1.8 with HyperThreading, 1 GB of RAM, 7200 RPM 80 GB hard drive, Win XP Pro), and a G5 (1.8 GHZ, 512 MB DDR RAM, 160 GB drive, OS 10.3) at home. The app I worked on most of last year was medium size (~400 classes) but much more complex code. I found that it was slower to compile than the old app (I've run both on my upgraded home machine.) I would give my home machine still a slight edge over my Xeon workstation, though it is close. What's interesting, is that I've also compiled things on a P2 400 running Red Hat 9, and while it is slower, it's not by as much as one might expect. I've also used a co-workers laptop that had an AMD XP 2000 chip in it, and it was much faster than my P4 laptop. In general, AMD chips are better at compiling code, because compilation is so branch heavy.
So what about the G5? Out of the box with JDK 1.4.1, I would say that it was comparable to my home computer and my Xeon workstation. However, on most of my machines I use Jikes, as it is generally a much faster compiler. I compiled my own version of Jikes to run on the G5, with a little bit of 64-bit tweaking. It is easily faster than any of my other machines now. So if there was a G5 laptop out there, I would recommend that. Of course there's not, so I would at least say that for Java dev, go AMD over Intel if you decide to go x86.
Building BeanShell on my 17" 1Ghz powerbook is faster than on my sparc ultra 60.
But, forget about speed, you'll love the PowerBook.
I've pretty much migrated all my Java development to it without even noticing... It's just a nice platform.
Pat Niemeyer
Author of Learning Java, O'Reilly & Associates and the BeanShell Java scirpting language.
Panther+PB may be great for J2SE/J2EE development but The Mac is still lacking the ever more important J2ME development environment, or am I overlooking something obvious?
With the better memory bus in the new machines, I guess that the 1.25/1.33 GHz ALBooks should come close to a 2GHz P4. In other words, they are plenty fast enough for at least medium sized projects (and if you use a reasonably smart development environment, e.g. make, you rarely compile a lot of stuff in one go anyways.
For me, I'm very happy with my machine. It's not the pure performance, but rather the whole package. It is actually a pleasure to just sit there and type away on the keyboard. And I'm using it mostly under X11/Fink, so it is not attribuatable to the OS (although MacOS-X is farly good), it is purely due to the nice materials and reasonably ergonomic design.
Stephan
I use a 1 GHz 12inch Powerbook under OS 10.3.2 and a 1,6 GHz Centrino Thinkpad (T40) under Suse Linux 9.0 for java developement. We have a huge java project that is intended to supports an esa satelite.
In general the linux notebook is faster in compilation time and in execution time, especially in java vm startup time.
The precise factor depends on what you do. My general impression is, that apples vm implementation can be improved. Some things (big decimals) are a factor 20 slower than on the linux machine. Other things are nearly as snappy on both machines.
OS 10.3 has brought a dramatic increase in java speed.
In general I would say the powerbook is a factor of 1.5 to 2 behind the Thinkpad.
But:
working on a Powerbook is MUCH more comfortable in everyday use. The Network integration works without action required from you. The same with M$ documents or the use of a variety of really great code editors. On Linux I use jedit. No more choice since I am not an emacs or vi fan.
And:
As a developer with many years experience I must say that its bad advice to have a fast machine. If your machine is slower than the users machines you can be sure that your applications feel snappy on any users computer. If your computer is the latest blaster you can only guess (and pray).
So feel free and secure to use a powerbook or iBook with >= 867 MHz and ENJOY...
It simply is a pleasure!
I've just put a Hitachi 7k60 in my TiBook 500, the speed difference over the old 4200 rpm 20gb drive is pretty impressive, it feels like having a new 'book at the moment. The install was very straightforward.
I'll be a bit worried about putting it in an aluminium powerbook myself if this is what's still current when the time comes to replace the TiBook, but it seems it is possible.
I don't understand why anyone would bother running Linux on a Mac. For $99 you can purchase Mac OS X and get real live tech support for problems that (probably won't) pop up. There's a lot of technical reasons you should run Mac OS instead of Linux.
Linux has its origins on IA32, Intel's 32-bit architecture. Every platform Linux has migrated to since then has been beset with porting problems Linux runs 32% more efficiently on Intel than PowerPC. This is very telling as PowerPC is in general much faster per clock than Intel. Somewhere in the translation from PowerPC to IA32 something got lost.
Mac OS is 100% native for PowerPC. The Mach kernel has been optimized for the G3, G4, and 970 since Apple began writing the operating system back in 1996. Why choose a hacked and kludged OS from another platform when you can have an environment tailor-made for the system you'll be running it on? Mac OS certainly isn't plagued by same driver problems Linux is (in)famous for.
In Linux, the development model is highly irrational: anyone is allowed to submit patches, and one man (Linus Torvalds) sorts through gigabyte after gigabyte of amateurish code, attempting to integrate it into the kernel. Apple's model is much more modern and decisive: the code for the low levels of Mac OS is available for anyone to download and modify, while the more complex parts of the system (QuickTime and OpenGL) are kept closed-source so those that know better the Apple programmers are the only ones allowed to tinker.
The results because of these differing development models are clear. Apple released a major update to the OS once a year, and releases about five minor updates to the OS, as well as several dozen security patches and driver updates, in the interim. Since March of 2001 we've gone from 10.0 to 10.2.5! Linux is still stuck at some sort of bizarre "in-between" 2.5 kernel patch and won't move on to 2.6 until well after Apple has released Mac OS 10.3.
It's not hard to see the difference here is a bunch of kids playing with source code instead of doing their homework vs. highly qualified professionals pushing their skills to the limits. The Mac OS user benefits.
I don't even think I have to touch on this. While Linux offers several GUIs from GNOME, KDE, and Enlightenment, Apple offers only one. But here we have a case of quality vs. quantity. Apple controls the GUI for its operating system while anyone can hack and modify the various Linux GUIs as they please. This has led to a lack of desktop standards and a whole lot of bickering and flame wars over human interface guidelines. Most of the GUIs for Linux are simply poor knock-offs of the Windows 95 interface.
Apple's Aqua and QuickTime graphical interfaces are faster, more elegant, and very consistent. A Mac user can sit down at any Mac and (assuming someone hasn't installed Linux) get right to work. With Linux, it's hit or miss as to whether the user will know what to do when he logs in! Getting work done is the most important aspect of a computer. After all, it is just a tool. Linux fails in this area miserably you're forced to edit and tinker and kludge and hack to make things perfect. A Mac allowes you to just sit down and roll up your sleeves and get some work done. I don't have time to play at my job.
I've used Linux before and the headache of downloading drivers and libraries and making sure the versions all sync up are too mucvh to handle, especiallly considering one has to compile these applications. On a Mac, I mount a disk image and drag the .app file to /Applications, and I'm done. Hell, most software for Mac even installs it there for you.
To put this last point in perspective, let's look at a recent task I perf
I tried developing using Xcode 1.1 on my 550MHz (512KB RAM) PowerBook. I can type faster than the editor can process my keystrokes. I'm not exaggerating. And I don't mean slightly faster. I mean 2-3 times faster. What's smart about that?
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
i work for a large ISP in a team that builds a comprehensive portal that receives over 6 million unique page views in any 24 hour period. it's written in Java and runs in a Java Servlet Container (open-source)). Since Apple came out with the TiBook in 2001 and OS 10.1, my boss and i were the first ones to switch to powerbooks and OS X in the department.
Jump forward in late 2003, i now have a 1.25Ghz 15" powerbook with 1Gig of RAM and 80GB HD, and let me tell you, there is no end to what this thing can do. it will complete this mechanism that goes thru our whole JSP web application tree, converts each .jsp into .java then compiles into java byte code in about the same amount of time the fastest x86 laptops do. tho i dont have precise numbers. might be faster, might be slower.
while i understand your main focus is on raw power, i would urge you to consider productivity as a factor, based on your operating system's stability, security, and features. XP has greatly evolved in many aspects, and any good engineer can deal with just about any OS. With that said, OSX goes the extra mile to make your overall computing experience much more powerful, especially with Panther.
Expose, Fast User switching, XCode, Apple's own implementation of X11 (comes on the panther CD, it's *F A S T*, GIMP loads litteraly in under 5 seconds) so u can run any open-source app you want. Terminal.app for crying out loud. forget cygwin under windows, here you have a true UNIX bash shell. or tcsh. or ksh. it's all there. all the command-line utilities from the Unix and Linux world are all there. the cmd-line can also trigger things to happen in the finder/aqua-world: "open" could open a directory in a find window, or a file in which ever application created it.
let's talk about address book, calendar and mail. You may import all your Yahoo, Mozilla, Netscape contacts into AddressBook.app. Calendar.app lets you subscribe to calendars, accept .ics invitations, publish your own calendar, define multiple coexisting calendars. Safari's bookmarks interface will show u URLs defined in your AddressBook. Mail.app will read information from AddressBook to show email addresses as clickable "People Objects" and add new email addresses to your address book directly from an email you're reading. You can drag any picture from the web or iPhoto, or your desktop to an AddressBook entry, where it lets you zoom the pic in or out, crop, position, pictures associated with contacts show-up in Mail.app when u receive email from them. They also show-up in iChat.app. All those applications are very simple yet VERY powerful and are also well-defined open APIs any software developer can interact with. For example EarthLink lets you sync your Mac OS X AddressBook with their own online address book, which greatly facilitates email whitelisting to work with their highest-level CR-based spam-blocking feature (lower-level spam-blocking is Bayesian-ish filtering based on email content). Mail.app comes with its own adaptive Bayesian spam filtering that becomes smarter and smarter overtime as you "train it". Mine has become *extremely* effective at blocking spam, and i can tell you this is a definite productivity enhancer. Then there is iSync. A true marvel. iSync is also an open API to sync multiple devices over just about any port or conduit. Most PDA-ish devices and Phone manufacturers have made their devices compatible with iSync, and more are coming on the market every day. Your Calendars, Contacts, Bookmarks can all be sync'ed via iSync to any number of devices WITHOUT installing a single piece of software that may have shipped with such devices. this is HUGE. Currently i'm using iSync to sync an iPod (bookmarks, address book, calendar, over FireWire), a Sony Ericsson t610 (over bluetooth, built-in all the Aluminum powerbooks, including mine), my .MAC account (calendar, address book, bookmarks, over HTTP/webdav i think). I could buy a Palm Pilot and just sy
Extraordinary Vacations. Exceptional Prices
I'm terribly sorry but one dane't fancy to staaart ah holy waaar here, but what is the deal with you, my old bean, mac fanatics? i've bin sitting here at my freelance gig in front of ah mac (ah 8600/300 w/64 megs of ram) for about 20 minutes noh while it attempts to copy ah 17 meg file mwah mwah sweetie one foldah ohn the haaard drive to anuhthah foldah. 20 minutes. at mansiohn, ohn my pentium proh 200 running nt 4, which by all standaaards should be ah lot slowah than this mac, the same operatiohn would take about 2 minutes. if that. in additiohn, during this file transfah, netscape will not wok. and everything else has ground to ah halt. even bbedit lite is straining to keep up as one types this. i shant bore you, my old bean, with the laundry manuscript of uhthah problems that i've encountered while working ohn vaaarious macs, but suffice it to seay there have bin many, not the least of which is i've ne'ah seen ah mac that has leg it fastah than its wintel counterpaaart, despite the macs' fastah chip aaarchitecture. my 486/66 with 8 megs of ram runs fastah than this 300 mhz machine at times. mwah mwah sweetie ah productivity standpoint, one dane't get hoh old beans can claim that the macintosh is ah superior machine. mac addicts, flame myself if you'd fancy, but i'd rahthah heaaar some intelligent reasons why anyone would choohse to use ah mac ovah uhthah fastah, cheapah, more stable systems.
If power really is a concern, you might consider waiting until WWDC in june. Typically Apple rotates powerbook lines every 8 months, which will be up in june. Also, with the release of the new xserve g5s at still 1U, it just makes sense for them to port their new processor into the powerbooks. These machines, while most likely pricy, will definatly pack a punch, and if still made of aluminum, will most likely burn a hole in your desk. The FP specs on even a single 2.0 g5 i'd imagine [mostly speculation] would perform right up with, if not higher than even the new 17-inch toshiba monstrosities. [3.0 p4s with HT] Good luck, buy apple.
Know thyself...
With a tiny little (unsuported) firmware patch.
Your best bet would be to try IBM's
I'm the only Mac user in a windows shop.
I have to say it's been a hard slog to use Java on a Mac. They are always behind in releases. My colleagues were on Java 1.4.2 for a good while (we need features in that release) and I was using early accesses of Mac's Java 1.4.2. It was a royal pain.
That being said, then end result is better, looks nice and works well.
I found that Java on my 15" 1.25ghz machine was just as fast as the fastest P4 laptops in our office.
We all use Jikes to build and that is a breeze.
Many of the folks use Borland for the IDE, but I use vi and don't much like GUI based IDE's.
If you put in the effort then it's worth it, but you're gonna end up checking in special fixes and makefiles etc for your own MacOS build.
Build times for Java are a combination of source code generation, compiling, jar execution and ant scripts.
I have an app I just built on the following machines:
Apple Power Mac G4 867 with JDK.1.4.2 - 18 seconds
Toshiba 1.8Ghz PIV with JDK1.4.2 - 16 seconds
I find both machines fine for running IDEs like IntelliJ 4 and JBuilder X. Your 1.3 G4 should be fine for the next 2-3 years. Java is also actually getting faster as it goes, so even my older hardware feels great 2 years on.
So, I would say that speed should not be the differentiator.
One thing to consider is that new versions of Java are out for Intel - Linux and Windows before Mac. This is an effect of Apple doing their own JDK under licence from Sun. For example JDK1.5 beta is out on Intel, but will probably be 6 months away on Apple. Apple just released JDK1.4.2, once again about 7-8 months behind Sun. You get the same situation on HP-UX and Compaq Alpha.
On the other hand no other OS vendor is as committed to Java as Apple. It is a first class language for Mac development.
James Gosling, Martin Fowler and a lot of people from the company I work for, run their Java on Mac.
Finally, Java, with the Quartz look and feel looks just beautiful on Mac.
hairy hack not required, according 2 this article
Truthfully, my 1Ghz 17" Aluminum seems to be marginally slower than a 2.4Ghz Toshiba for some Java tasks. Certain packages (IntelliJ IDEA, Aqua Data Studio) are zippy enough that I have no discernable difference between running on the Mac and running on the PC.
That said, just to illustrate why I use a Powerbook (with Virtual PC), I took this screen snapshot just to illustrate the flexibility (and show off how cool the Powerbook is).
Screen Snapshot
If you're dead-set on saving money on ram for your G5 (saving money on G5 . . haha), you can either go with Crucial (512mb stick for $92) or with 3rd party ram. Or if you're looking for ram for one of the current PowerBooks, 512mb stick for the 15" 1.25ghz pBook costs $126 from Crucial. So you could max a new pBook to 1gb for $252 - room for a decen ramdisk.
I was working on my wife's 1.4Ghz Pentium M notebook (roughly comparable to a 2Ghz P4, from what I've read) for a while before I upgraded my Cube to a 1.2GHz G4. In terms of compilation and execution, they're roughly equivalent. A new PowerBook should outperform the Cube due to bigger caches and pipes and *much* better graphics (Rage 128 on the Cube).
However, IDE (IntelliJ IDEA) performance isn't quite as good on the Mac as on the PC. It's a big Swing app, so there are a lot of software layers there that may be bottlenecks. Lack of a decent video card is probably killing me there as well.
This is all just butt benchmarking; I don't have any real numbers to back it up, except for compilation times and JBoss lauch times, which were, as I said, pretty much the same.
That said, I put the new 2.4GHz P4 I got at work in the corner and am still using the Cube. And the dual G5 at home, well... that sucka just plain flies through anything I've tried other than 3D-intensive games originally written for Windows.
it misses the point really to say "yes/no/bad/good java on OSX". Might as well say "cars are good" (not in water they aren't).
.. . .
The real issue is apples/apples comparison. A badly architected java application ridden through with cyclic dependencies would take longer to compile on a machine with less RAM than it would on a machine with more RAM.
So, follow the advice of those who suggest taking an existing project and doing side-by-side for compilation benchmarks.
When it comes to actual productivity, ask yourself whether OSX is closer the the final environment it will run on; most often, if this is a *NIX server, OSX is your best bet. If your server is a windows server, well, then . .
Regarding productivity, the best advice is try it yourself; there are religious wars over IDE's (I'm a netbeans guy), but what *you* want to use is the real tool to use in benchmarks.
Now that objectivity has had its day, here's what i experienced:
compiling: OSX 1GHz Powerbook, 1Gb RAM is about 20% slower than the exact same project, compiling a well-architected web-application (not a single cyclic dependency) exact same Ant buildscript on a Windows 1.7 GHz P4, 1Gb RAM. Project size : 240 classes, about 20 jars used.
IDE usage: (same machines as above) Netbeans 3.5 runs noticeably faster on Windows than on Mac. No benchmarks, but estimate about 30%.
Overall: If lots of time is burnt on IDE response, you're doing something wrong. More design and less hacking is called for. The productivity of OSX is easily 50% more for me; access to symlinking for eliminating multiple jar's, directories, etc., actual scripting for automation if repetitive tasks saves me a bundle.
Your experience may be different, though I can recommend taking the time to check out OSX for yourself. You also will have access to a machine that is fun to work on. After 15 years of Windows, I find OSX a refreshing and pleasureable experience. Much more stable too
I recently did a head-to-head comparison of a 15" 1.25GHz AL Powerbook against a 2.6 (2.8?) GHz P4 HP notebook running WinXP. The "test" was a clean rebuild of our modularized ant-driven Java project. This includes generating ten or so Apache Axis based web services, generating lots of java constants files from xml, and compiling and merging the outputs. The code generation an general ant manipulation takes about half the wall-clock time. I consisder this to be a fairly typical real-world example of commercial java development.
The result:
the Powerbook was three times faster than the P4 notebook.
I suspect the PowerBook's faster speed is due less to the CPU than to the I/O subsystems and disk. In our build neither type of CPU sits there pegged at 100%. The P4 did seem to be riding closer to 100% though. It also spent the entire time blowing hot air like a hair dryer. The PowerBook fan very rarely comes on. Overall the PowerBook has been a great development platform for Java. I run eclipse 3M6 on it and while its not as snappy UI-wise as I'd like, once it gets "warmed-up" visiting all the eclipse perspectives and views its not bad at all. Clearly caching is important for eclipse performance. This brings me to the final point which is that on either machine if you want to use a Java based IDE you will need 1Gb RAM minimum. The IDE's are just pigs for memory. One warning, while running eclipse 2.1 on Windows I ran into nasty eclipse-crashing problems with running out of windows resource handles which I was never able to get around. (The eclipse developers couldn't reproduce this so YMMV.) The PowerBook hasn't had any such problems.
Now if MS would port .Net to OS X, then I could move all my developent to a Powerbook. Java just doesn't pay the bills anymore in my area.
Java compilation speeds are probably in the same ballpark, but you want to be wary. In my experience, the Apple JVM has a very slow swing implementation, compared to win/linux, so you'll pay in runtime performance.
backend code (ie, no Swing), seems to fare a lot better.
And Xcode really isn't any good for Java development (and I have a lot of gripes with xcode even writing c/c++, so much so that I'm compiling KDevelop as I write this).
What the hell? I thought Apple was supposed to be known for its high-quality hardware! If you had to replace that much hardware on a notebook that isn't even that old, the question I have is: how common is this? Were you using this thing on the deck of a pirate ship or something?
Here's an article on O'Reilly about running BEA WebLogic 8.1 on Mac OS X. Works nicely but you need plenty of memory -- no different from running WebLogic anywhere :) ).
Haven't tried to run Workshop yet. Good luck!
http://www.oreillynet.com/pub/wlg/4091
Off the bat i develop nothing. The only language i know is english. But let me tell you I enjoy PCs and like others use them all the time. A PC is my primary machine. 6 Months ago i purchased a 17" PB and let me tell you what I love the thing. I got it for work, I am a sys admin for sgi servers, but it replaced my Primary machine at home, and this machine is a P4 2.4 1gig w/ many 15k scsi drives. The PB's screen is great, its sexy slim thin, and i at one time didnt really like macs, and hated the cult like peolple who used them. But now i love the damn thing, and the OS is great too. Wether the PC is faster or not, i love my pb and osx and will always have one as my portable computer. As well as a pc for my primary machine, and an sgi, and linux box for the hell of it.
Hmm...
On my Dual 2ghz G5 I get:
Execution starts, 10000000 runs through Dhrystone
total time: 3545ms
Result: 2820874 dhrystone/sec.
[raffi@beardsley ~/rero]$ ant
/Users/raffi/rero/bin
Buildfile: build.xml
init:
compile:
[javac] Compiling 223 source files to
[javac] depend attribute is not supported by the modern compiler
all:
BUILD SUCCESSFUL
Total time: 15 seconds
on a powerbook 12" 867... about 25,000 lines of java code there.
If Java compilation speed is a problem, try the Jikes compiler by IBM. In ProjectBuilder on Jaguar you could choose between javac and jikes just from a pulldown menu, and I assume the same holds true with Xcode on Panther. At least /usr/bin/jikes is present on my PowerBook running 10.3.2.
I don't have any quantitative information about the speed and compatibility of jikes vs. javac, but in my experience jikes may well have been five times faster than javac, and I never had any problems with the bytecode. if bytecode quality is a concern, or you simply *MUST* use javac for some reason, you can always configure the default target to use jikes and then compile deliverables with another target using javac.
--Bud
Pat, you caught the Apple bug! (Ray from AGE here)... getting one of those 17" PBs next week, having used my trusty iBook for 2 years.