Linux or Windows for programming?

Pages: 1234

I am running a 64 bit version of windows and it sucks.
I'm thinking about switching to linux, but I just want some more opinions about what operating system is better for programming.

IMHO programming on Linux is easier than on Windows:
- installing libraries / tools is easier
- locating library files is easier
- you don't need to set up things to add a new library
- you have the POSIX API

( some of these may depend on the distro )

I'm with Bazzy. It'll be Linux or BSD or OpenSolaris that's best for programming (personally I don't like OpenSolaris).

If you want to choose a distribution of Linux, Archlinux is good. It's fast, it has a good package manager (called pacman) and it's optimized for x64 and 686 architectures (in fact, they're the only ones supported). The issue is that there's no graphical installer AFAIK. The installation won't be difficult or dangerous, but for some reason; some people are put-off by text-based installers.

Other good distributions are Slackware, Gentoo, Debian, Mandriva (which I know absolutely nothing about whatsoever) and Red Hat/Fedora Core. Slackware and Gentoo are great because you have to compile them yourself from source code

For someone migrating from windows, however; Ubuntu is by far the easiest... Otherwise, I don't recommend it. It's not the most optimized Linux distribution out there, and it tends to encourage use of the GUI over the command line; which I dislike. Linux Mint, which is based on Ubuntu (actually, it is Ubuntu, with some custom artwork, themes and proprietary programs and codecs etc.), works a little better "out-of-the-box" and looks a little nicer.

If you want to learn about how Linux works, go for Slackware or Gentoo on a VM (or on real hardware, if you want). Otherwise, go with Arch, Debian (which has a graphical installer) or Ubuntu (which has an even easier graphical installer)...

Personally I would not recommend SUSE.

Oh and as a finality; you have to build Gentoo and Slack and probably some others (maybe Arch, I haven't tried that yet) from source; but it won't take that long. For me, the Linux kernel took about 10 minutes to compile, it was really quick. No, I didn't get it working (couldn't make an initrd for some reason), but the point is that it doesn't take that long. I can't imagine it would take that much longer for Gentoo and Slack on a similar processor.
Last edited on
Ok, thanks.
@chrisname: you haven't programmed on Solaris long enough if that's the worst you can say about it. :-)
No, I haven't. That'll be because it took four minutes to boot.

OK, it was on a VM; but a VM given 1 GiB of memory. And before you say "You can't say it's bad without trying it on real hardware," I can. None of the other OSes I had on that VM took that long to boot, and they all were given equal virtual RAM, virtual video RAM and virtual hard disk space, on the same virtual CPU.

Oh, and I forgot BSD. Basically, there are three 'main' versions of BSD now since BSD 4.4 forked: FreeBSD, NetBSD and OpenBSD. Each has their own design goals, too. FreeBSD is most concerned with speed and stability. NetBSD is most concerned with portability (their slogan is "Of course it runs NetBSD!"). Lastly, OpenBSD is most concerned with security. I'd even go as far as to say it's perhaps the most secure OS there is.

All three are fast, stable, portable and secure.

Then there's PC-BSD, which is literally FreeBSD with a graphical installer and a desktop environment (KDE) installed by default. I use that, although I'll probably switch to straight FreeBSD when I get my damn PC back.

Oh yeah, and ++FreeBSD for this I just found:

That's right. FreeBSD was ported to the Xbox and Xbox 360.
Last edited on
Ok cool, I think I'm going to go with Linux Mint.
I've used it, it's very easy to use and looks pretty nice.

One thing that may irritate you (personally I hated it) is that when you open a terminal, these stupid ASCII animals spout fortunes at you. At first, I found them funny; but eventually it lost it's lustre (actually, it happened in about two minutes) and I got sick of it.

Anyway you'll have to edit you and root's ~/.bashrc files. Look for a line that has the word "fortune" in it and delete it. I think it's at the bottom, it may even be in a little block of bash script.
haha nice
Enjoy it, it's good. You'll like it.

Personally when I get my box back I'm switching from Mint to Arch. I need to try Arch.
You may have the question reversed. The question is, "What do you want to do?" That'll determine the environment, then you can set about working in that environment.
I use linux only in programing because I can't get a GUI of any type working in windows(which is embarrassing) I stopped in Dev C++, VC++, and eclipse(although I didn't actually try in eclipse). But anyway ...
Been using arch for a while, highly recommend it.

After you get it installed all you have is a shell, from there you pull in exactly what you want from the package manager (pacman -S install someSoftware)

I chose to write my own scripts to handle wireless and network connections as well as some other tasks, it really helps you grasp what goes on behind the scenes, but you can install a GUI for most things to do it for you as well.
I guessed it would be a text-based OS. It's ok. I try to use the command line as much as possible anyway; so I doubt it can be that hard to get X and GNOME on Arch.

From what I've heard; pacman is a great package manager, like apt-get. If that's true; it shouldn't be that hard to get a GUI.
Last edited on
closed account (S6k9GNh0)
Arch is actually a fantastic and optimized distro of Linux. I personally find any distribution of Linux easier to manage and program on than Windows.

GUI programming using the WinAPI is understandably annoying. To be honest, it's probably 5x more difficult with Xorg software and probably 9/10 effecient and in that sense, I'd rather go with Windows. It's actually considered BAD to make a GUI directly with Xorg because of their terribly difficult library. ost people will tell you tht Although I find everything else on Windows completely retarded and usually uneccessarily slow, especially at the command line which I tend to use a lot.

I've heard Macintosh is enjoyable to program on actually. I really couldn't tell you personally though.
Last edited on
Yeah, windows is super annoying, it has like a million pop up things blabbing on about nothing.
I'm on Linux Mint 8 right now. It's pretty nice, but I still need to install some stuff on it.
Arch is actually a fantastic and optimized distro of Linux

That's why I want it. As they only support 686s and x64 processors, it's clearly going to be pretty heavily optimized for those architectures.

I've heard Macintosh is enjoyable to program on actually. I really couldn't tell you personally though.

Well, Mac OSX contains Darwin, which is based on FreeBSD. PCBSD (which is almost exactly the same as FreeBSD) is easy to program on.
I've never actually had any difficulty programming on Windows, except when trying to install Microsoft libraries. (I still can't get .NET 3.5 to install on my XP. According to everyting I can read, I likely never will.)
I just love Linux for programming. Never had a good time on Windows.
Duoas wrote:
I've never actually had any difficulty programming on Windows, except when trying to install Microsoft libraries.


Galik wrote:
I just love Linux for programming. Never had a good time on Windows.

Well, let's hope all the people unrealistically saying that "2010 is the year of the Linux desktop" are right, eh? I doubt they are, or that we'll ever beat microsoft... but, who knows.
Pages: 1234