Skip to main content

Best platform for Java development? MacBook Pro with OS X, or pure Windows?

10 replies [Last post]
seeker
Offline
Joined: 2007-12-22

I'm looking for the best notebook for Java development. I'm mainly using Eclipse, but may have to run some J2ME tools as well in the future. The MacBook Pro is tempting with good performance, big screen, and the option of running Windows as well as OS X. But I've heard people having problems with short-cut keys (command vs ctrl button), and that the Java support for OS X is not the best (Java 6 JVM was very late).

What do you guys here think about it? Is the MacBook Pro suitable for development, or is a pure Windows machine still the best option?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
prowler
Offline
Joined: 2006-01-30

First post :)

I'm using Ubuntu Linux and I'm a happy Java developer for 1 year already. The memory management, crash recovery, responsibility is a lot better than those of Windows. Linux laptops are just starting to be sold but If you have some more time and will you can buy a laptop with Windows installed and later install some linux.

I have used J2ME on SUSE Linux before without big complaints also.

One aspect that was not mentioned till now is that all OSes are very different if you have to implement some native stuff with Java. I'm using a lot of JNI for the last months to access dynamic Linux native libraries ( .SO ) and I couldn't help someone else use my project if he is not also using Linux.
The Mac OS X's UNIX heritage also not helping because the dynamic library structure is changed a lot and it do not support the Linux standard any more.
If you have to use some native staff from a partner company it will never be designed for Mac but usually for Linux and sometime for Windows. It is also not very likely to receive for it.

Well I know that this is not very usually used but I think it is worth mentioning...

Good luck!

seeker
Offline
Joined: 2007-12-22

So, what I understand from these replies, is that the problems are with OS X and Linux, and not the MacBook Pro itself. Does that mean that with Parallells and Windows on the MacBook, that would be the best of two worlds? The power and design of the stylish Mac, and the well known features of the Windows OS? Or is that any reason that a notebook from, say, IBM would do the job better?

wmeissner
Offline
Joined: 2005-10-09

As a pure windows laptop, the macbook pros are fine. Internally, there is little difference to a dell, asus, acer, etc.

If you're planning on going the windows-in-parallels/vmware route, download vmware workstation for windows or linux (whatever you're using now), install windows and all your java dev tools within that, and see if feels good enough for ongoing development.

I find it fine for occasional use, but if it was my main dev platform, I'd probably run windows natively (e.g. via bootcamp). Both parallels and vmware can also use your bootcamp windows partition in a VM, so its not like you'll waste disk space if you go the bootcamp route.

One of the big things you lose with vmware/parallels is decent 3D acceleration. I think they're both limited to DirectX 7. No OpenGL, no direct3d pipeline.

If cost is an issue, be aware that you need a full version (OEM allegedly doesn't work) version of windows to install in bootcamp, which generally costs more.

huntch
Offline
Joined: 2004-12-06

I got a MacBook Pro about a year ago, (top of the line at the time). I found there are only a few things it does better than any other laptop which are; suspend / wake-up and wireless connectivity. In almost all other aspects I find it is not any better or it falls short. (Java development, I find it falls short).

Given the fact that you'll be using J2ME tools, I think you'll find not only Windows a better development environment for Java ME, I think you'll find NetBeans IDE to be superior to Eclipse when it comes to Java ME support. I'm sure that'll get all sorts of Mac & Eclipse supporters excited. ;-)

Fwiw, I am not a big fan of Windows. But, if you are gonna be doing alot of Java ME development I think you will find Windows & NetBeans a more productive development environment. As much as I hate to say it, Windows OS seems to have the best support for Java ME tools and NetBeans is far ahead of Eclipse in terms on Java ME development tools.

Don't know about others ... but I tend to work in the OS and tools that I feel the most productive with. A year ago I thought I would try the MacBook Pro. But, my experience has been that I was not nearly as productive as I am outside of Mac OS X.

wmeissner
Offline
Joined: 2005-10-09

I use a macbook pro, and now that soylatte is there, its not too painful for java6 development. Still a bit clunky, but acceptable.

Plus, you can run Windows and linux inside vmware fusion, so you can test your app on all three without too much hassle.

However, if you want the least painful java development system, windows is the way to go. All the cool things (e.g. update N) will get released for it first, and thats where the majority of users and developers are.

cayhorstmann
Offline
Joined: 2003-06-13

I am glad Windows works for you, and certainly that's where the majority of users are. However, in my unhappy experience, "Windows" and "least painful" don't go together. I am a happy user of Ubuntu Linux. It's faster, less prone to infections, and has a decent shell without the "cygpath" hassle. Give it a try if you had an unhappy Windows experience.

What about that device driver pain that you hear so much about? With my latest laptop, I spent less time fussing with the Linux drivers than uninstalling the crapware on the Windows partition.

Cheers,

Cay

wmeissner
Offline
Joined: 2005-10-09

Cay, I use MacOSX, not windows (not outside of vmware anyway).

Personally, I don't like windows, but when someone asks "what is the least painful platform to do XX in java on", then unfortunately the answer is nearly always windows.

MacOSX and Linux both have limitations and quirks when it comes to java, and whilst I will put up with them myself, I can't unreservedly recommend them to anyone who isn't already a Mac or Linux zealot.

I really wasn't talking about "least painful platform in overall use", just w.r.t. java development. Plus, I didn't find drivers to be a problem last time I was using windows on real hardware, and its years since I've heard anyone complain about it - so I assume its not a real issue these days.

Perhaps I shouldn't have used the phrase "least painful", but instead "least worst", since they all suck in one way or another, and there is no "best" platform for java.

cayhorstmann
Offline
Joined: 2003-06-13

I guess I am a Linux zealot, but I am curious what I am missing out with Java support. I mean, what works better on Windows? In my book Core Java, I have a very large number of programs that exercise just about every part of the API, and the only time I recall having to turn to Windows was with some clipboard issue. Have I become so Linux-centric that I overlook something major?

Thanks,

Cay

specmurt
Offline
Joined: 2006-09-09

MacBook Pro is definitely a very good developer notebook. Quality hardware, superb performance, etc etc but...

1) No official Java 6 at the moment. You can use SoyLatte but it's not from Sun and it's not officially blessed.
2) No official J2ME SDK for Mac OS X. I used MPowers MIDP implementation for Mac. It's OK but again it's not from Sun. If you really need J2ME, think Windows/Linux.
3) It's UNIX from the inside. If you are a Windows user you will have to learn UNIX command line to be really productive with Mac as a developer.

I use Mac because I came from Linux background but after 5 years with Linux I can't stand it any more. I've had enough of this opensource do-it-yourself stuff. I need a tool that just works. And that's what Mac does well.

jimothy
Offline
Joined: 2003-08-06

For server-side folks like me, Mac OS X's UNIX heritage is a plus, not a minus. Our target platforms are UNIX/Linux, so having a dev environment that is more like the deployment environment, but still with a rich set of commercial and shareware applications, is perfect. Not to mention that I prefer running tools like Maven and Subversion from a UNIX shell to the rather incomplete and unpolished Windows command prompt. Obviously, though, needs and desires vary.

There is now an official, though not final, Java 6, release. Just go to http://connect.apple.com and sign up for a free ADC Online membership.