Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Solaris/FreeBSD vs. Linux for Java development

Years ago, I switched from Windows to Linux to get a more lightweight and stable desktop environment. It worked out well, but I'm having enough problems with Linux to consider another change. Specifically, I'm looking for better stability in the system libraries.

I use Debian Unstable (argh..I meant Testing) because I need to track development in some Linux applications. Since they are in active development, I expect occasional bugs in them. My problem is with the frequency of breakage in basic system utilities, like hdparm or halevt. In the past year, every time I have updated a system or done a fresh install, some different utility has been broken.

The best alternatives seem to be FreeBSD and Solaris. (Solaris is free for development use, which is all I care about). I'm asking here which would be better for my use and/or whether they have enough of their own problems that I would be better off sticking with Linux.

My usage:

  • Java development, programming style is carefully system-independent, desktop apps, target users mostly on Windows and OS X

  • Virtualization to run apps on various OSes

  • General destop stuff: wordprocessing, web, music

  • Not used as a server

So far, it seems to be:

  • FreeBSD Pro documentation, community, clean design, extensive ports Con Java support

  • Solaris Pro Java and virtualization support Con see FreeBSD pro stuff

like image 360
user287424 Avatar asked Feb 15 '11 21:02

user287424


3 Answers

Well, obviously, Java on Solaris is well supported and really stable. It is (or at least was) a primary development platform for the Java team.

Solaris is pickier about hardware than certainly Linux is, in terms of compatibility and available drivers. It would behoove you to check against the compatibility lists, especially for your graphics card, to make sure it works well for you. Solaris has a pretty rock stable userland, and it also has the other interesting Solaris features that you may or may not want to use (ZFS, DTrace, SMF, etc.).

At a stability level, FreeBSD is super stable as well, being as the kernel and userland track each other as a whole. I can't speak to Java compatibility on FreeBSD. I can say I didn't have a good experience years ago, but...that was years ago. Linux I believe has/had better Java support than FreeBSD.

Both systems have large suites of available software packages available, FreeBSD is likely larger, and there's a better chance something may have been ported to FreeBSD over Solaris (depending on the niche of the package, of course).

Solaris I believe has a bit higher base resource requirements than FreeBSD, if that matters, most likely not. "Solaris on the desktop" is a bit of an oxymoron. It certainly does the basic stuff, but it's not it's dominant area of success (things like sound, flash, video, etc.)

If your hardware works with Solaris (or you're willing to buy hardware), then I would go with Solaris. If the "multi media" desktop is really important to you, FreeBSD may be better assuming the Java works.

Me, I use a Mac. I don't say that in some smug way or anything, but if you want a Unix workstation environment to develop Java on, a Mac is really hard to beat, especially now with Oracle picking up the SDK support to keep Java (ideally) up to date more timely than Apple did. (Yes, there are lots of reasons to not like a Mac, but if "unix" and "java" are high on your list of requirements, the Mac actually meets those pretty well.)

I used Ubuntu for about a year and half. 8.x was nice. 9.x not so much, never upgraded to 10.x. I'd use any of these over Windows.

So, in my priority list: Mac, Solaris, Linux, BSD unless BSD's Java support has gotten completely hassle free and functional with no "Oh, you're using BSD"isms. Then I'd try BSD before Linux.

like image 110
Will Hartung Avatar answered Sep 30 '22 09:09

Will Hartung


I suggest you to stick to linux. instead of using unstable Debian, you might want to consider something like Fedora. it gets updates frequently. You have Java IDE's(Eclipse, Netbeans) and Linux java support. you can also use virtual machines like virtualbox.

like image 26
Amirali Sanatinia Avatar answered Sep 30 '22 10:09

Amirali Sanatinia


I would suggest separating concerns.

Choose a stable distribution as the host operating system and then install a virtual machine environment in it (like vmware player). Then install those unstable ones you need to track inside it, plus perhaps even a Windows instance.

You can then run those you need to, when you need to, while keeping your stable distribution unharmed.

like image 37
Thorbjørn Ravn Andersen Avatar answered Sep 30 '22 09:09

Thorbjørn Ravn Andersen