Poll: best OS for programming

brikis98

Diamond Member
Jul 5, 2005
7,253
8
0
I may be joining a company shortly and they allow the software engineers to get (almost) any desktop/laptop they want. The only catch is that it has to either run OS X or a Linux distro - that is, they don't support Windows.

I've used Windows most of my life, and while I have experience with both OS X and Linux, I've never used them for full time software development. The work is primarily web coding and will include:

* Eclipse as the IDE
* Java
* Struts
* Servlets
* JSP
* HTML
* JavaScript (incl. AJAX)
* CSS
* Apache Tomcat

Which OS would you prefer? Why? If Linux, which distro? If OS X, which desktop/laptop?

Update: read over the responses and talked with ppl at the company and the popular concensus seems to be Macbook Pro (def. preferable to a desktop) with VM Ware running Linux, Windows, etc. thanks every1 :)
 

Drakkon

Diamond Member
Aug 14, 2001
8,401
1
0
They are doing web coding yet not allowing you to use the most used operating system/browser? Sounds like a formula for nothing but constant headaches and programs which will come back to haunt you. From the sound of things they are just looking for a way not to spend money on software whihc is never a good sign imho.

I'd say Linux - Ubuntu just because the user community support ot there is much greater. Getting the right eclipse plugins and everything on it is pretty streamlined and anything extra you need is available pretty easily through download via apt.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Drakkon, that's what vmware is for ;) Given that windows probably isn't needed at all except for client testing, some kind of virtualization is pretty much required unless you want to have a separate machine for every windows/ie combination you want to test. It is a little weird (and almost vindictive sounding) to explicitly not support windows though. Where I work, they support windows primarily but allow us to choose anything we want as long as we can handle it. I think that rocks as people tend to be much more productive when they can choose whatever toolset they are comfortable with.

I'd also vote for linux. First of all, eclipse is brutally slow on my mac, but that may very well be because it's an old 1.5Ghz ppc. Secondly, because apple doesn't seem to give you a lot of freedom on java versions. I believe they still haven't come out with 1.6, even though people sort of expected them to do it with Leopard. I imagine it will come out soon though. If what apple offers works for you, that's cool.

Also, as a user of both linux and os x, I think a linux distro with a good package repository has a much better selection of 3rd party tools available, especially with regards to programming.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Oh, and it's not like there isn't lots of good community around os x, they're just a little bit weird is all :p
 

irishScott

Lifer
Oct 10, 2006
21,568
3
0
Linux for what kamper said. That, and I'm something of an OSS fanboy :p Best type of fanboy to be IMO.

And it's free.

As for a good distro, almost any distro will work, but IMO Ubuntu is among the easiest to set up and has one of the largest communities.
 

phaxmohdem

Golden Member
Aug 18, 2004
1,839
0
0
www.avxmedia.com
Let me start out by stating the following disclaimers: I utterly hate most things Macintosh.... I use Ubuntu 7.10 (and Windows XP) regularly at home...

That said, I would ask your company to get you a Mac (either MacBook Pro, or a Mac Pro Tower (new iMacs have too many stability bugs IMO to be a reliable development machine). Here is my reasoning:

With web development, it is all about testing your applications/pages in as many environments as possible. By getting a Mac, you at least get a decently stable OS in the background... But you also have the option to Use Virtulization to run a linux distro, AND Windows XP. This way pretty much all your bases are covered. You can program in Linux (Which I agree has much better 3rd party support and applications for software/web development) and you can easily swap between OS X and Windows to test your pages in those environments to make surethat everything renders OK. (From experience, getting the same page to render the same in FireFox, IE, and Safari is a bitch-and-a-half).

PLUS with a mac, you can cut together some sweet footage of you coding in iMovie, create an awesome monotonous looping soundtrack in garageband, and have iDVD f&#k it all up for you when you're done :p //End Sarcasm

For straight up and down programming, (If you are not worried about testing your stuff in different environments) I would recommend a linux box. I personally like Ubuntu for its relative ease of use as Linux distros go, and its broad community support which has helped me with just about every issue I've run across.

If you do decide to go the Mac route, just be aware that you may experience sudden urges to wear black framed glasses and hang out at coffee bars ;)
 

brikis98

Diamond Member
Jul 5, 2005
7,253
8
0
wow, thx for the opinions so far folks... def looks like linux is dominating for the most part...

just to clarify: the company won't stop you from getting a windows box, but all of the current developers use linux and OS X, which means all the convenient scripts, tools, support, etc are geared towards those OSes. i can pick windows if i want to, but i feel that would just add more work for me.

keep the opinions coming!
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
I don't know if I'd really want to code in a vm. You'd have to allocate a pretty big chunk of memory to it and it still wouldn't be as smooth as using the native install (the ui itself would be less optimal, never mind the performance). Has anybody done this? Is it workable?
 

troytime

Golden Member
Jan 3, 2006
1,996
1
0
i use windows

if i had to choose between a mac and a linux box, i'd choose a mac G5 and have parallels installed with winXP
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
I code in a VM all the time. Of course my dev machine is a quad core with 8gb of RAM running Linux. I give my Windows VM 2 cpus and 2gb of ram and it runs like a champ.
 

hooflung

Golden Member
Dec 31, 2004
1,190
1
0
I'd go Linux. Fedora 8 and never look back. There are great, free DTP applications on Linux that would also help in the design process that you might not get going to a more expensive platform like Mac. Fedora 8 has IcedTea running its Eclipse and that is bound to be better than OS X's version, albeit there might be a few features left out.

 

Leros

Lifer
Jul 11, 2004
21,867
7
81
Get a Mac. You can run OSX, Linux and Windows on it. I am a big fan of reducing limitations and the mac gives you the most options.

I wouldn't get a Mac for myself because they are expensive, but if you aren't paying...
 

fs5

Lifer
Jun 10, 2000
11,774
1
0
for your situation I would use the same environment that the majority of the company uses, unless you want to spend a lot of time figuring out your own environment.

that said, Linux in general is better for your situation. Getting those things set up on linux is much easier than on os x.

with that said, get a MacBook Pro and install ubuntu on it just because you're getting it for free :D If I had my choice I would pick a laptop over a desktop any day.
 

markopolo12

Member
Jul 4, 2006
74
0
0
brikis-
i chose linux. currently i'm running kubuntu 7.06 i think (feisty). thats what everyone at my workplace has. if you've ever heard the acronym LAMP, thats what the L is. apache under linux is very easy to install and administer. i've never used a Mac product for anything development related, so I can't vouch for that, but i've been using linux to dev various things in college and IRL for the last 5 years. eclipse is the main IDE I use, though sometimes i'll flip it over to VIM. i don't do much java/servlets/struts, but for mainly PHP html and css development, i'm completely sold on linux --> ubuntu/kubuntu specifically.
 

DanTMWTMP

Lifer
Oct 7, 2001
15,907
13
81
I choose OSX. I primarily code under a linux environment (CEntOS 5), but my coworkers have done so in OSX. We mainly run and code in our backend cluster, so a terminal is all we need really. But overseas, or when we're out at sea, OSX proved to be the all-around, jack-of-all-trades environment.

IF we really need to run linux or windows, we use VMware fusion, and it's been great. I like it better than running VMware from linux to other OS's.

Essentially, you get a commercial-class operating system that is stable with a rather decent environment to code in. Run Fedora Core 8 via VMware fusion. My coworkers swear by it, and I've used it. OSX is a good sidekick for leisure too; that is, if you have downtime (and you know you'll have plenty of that).

phaxmohdem brings up an EXCELLENT point.
Since you're going to do web programming, it is important to use a variety of browser types and under varying environments.

Get a Macbook pro definitely. I'm not a mac fanboy (actually, and surprisingly more of a windows fanboy :p), but for your case (and mine too), the OSX has too many advantages over just using linux.

(GRRR..only if they came w/ waterproof laptops though..they have no water tray under their laptop keyboards!!! damn you coke!!! :p).
 

DanTMWTMP

Lifer
Oct 7, 2001
15,907
13
81
Originally posted by: kamper
I don't know if I'd really want to code in a vm. You'd have to allocate a pretty big chunk of memory to it and it still wouldn't be as smooth as using the native install (the ui itself would be less optimal, never mind the performance). Has anybody done this? Is it workable?

I've done it w/ the macbook pro w/ 1 gig of ram and it ran really smooth. I really didn't have any problems.

So ya, get a macbook pro w/ 2 gigs of ram.

 

brikis98

Diamond Member
Jul 5, 2005
7,253
8
0
talked with the boss and it looks like i'll be doing what a bunch of you suggested:

* getting a macbook pro, as i really wanted a laptop instead of a desktop
* getting VMWare on it with Windows and Linux
 

Cogman

Lifer
Sep 19, 2000
10,277
125
106
I would go with linux, it is just a great programming environment because it was written by a bunch of nerds for a bunch of nerds :p. I have had little experiences with macs, but the biggest downer to me is the whole one button for everything thing :) (have they changed that? it's been so long).

Don't get me wrong, macs are nice and user friendly, but they are almost way too user friendly for a programmer (though a good programmer is not platform dependent), stick with linux IMO.