File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Linux / UNIX and the fly likes What is the best linux distro to use for a programmer... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "What is the best linux distro to use for a programmer..." Watch "What is the best linux distro to use for a programmer..." New topic
Author

What is the best linux distro to use for a programmer...

Waria Ahmed
Ranch Hand

Joined: Jul 09, 2008
Posts: 56
Hi everyone,

I am a complete newbie to linux and now barely anything about it. Could someone kindly guide me towards the best distro to use if I am keen to become a programmer. ( I have been told lnix knowledge is essential for a programmer)

Thanks
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14339
    
  22

Well, you're not going to get a definite answer to that question. There really is not that big of a difference between Linux distributions.

I use Ubuntu and I really like it. It's easy to install and works well and is still the most popular desktop Linux distribution. In Ubuntu 8.04 (the current version) you have the choice of several different Java implementations: Sun Java 5 or 6, or OpenJDK Java 6 (which is almost the same as Sun Java 6). All the development tools work great on Ubuntu, including Eclipse, NetBeans, Tomcat, etc.

There's a lot of software available for Ubuntu and it has a lively community of people who are willing to help newbies.

Have a look at DistroWatch for a comparison between Linux distributions.

I wouldn't say that knowledge of Linux is really "essential" for any programmer, but Linux and other Unix-like operating systems are very common in the industry (HP-UX, Solaris, IBM's AIX etc.), so it could be an advantage to have some knowledge of a Unix-like operating system.
[ September 06, 2008: Message edited by: Jesper Young ]

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Waria Ahmed
Ranch Hand

Joined: Jul 09, 2008
Posts: 56
Cheers mate, i was on other forums and was recommended Ubuntu as well.

I will download and install the OS and start playing around with it to learn.

Thanks again.
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17259
    
    6

I really haven't quite figured out what the differences are between Ubuntu or Fedora. I have both images/appliances on my Mac through Fusion and it all worked the same in setting everything up. No differences except for the UI theme.

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5842
    
    7

I am running Kubuntu at home and Fedora at work. In my opinion, of the two, Fedora has a slight advantage for development. Mainly because Fedora, during installation, will offer to set up various services (HTTPD, MySQL, Sunversion server, etc.) which I tend to use in my development work. In addition, such services can be easily added later using the Add/Remove Apps GUI.

In Kubuntu, you must use the command line to install such things (they are not available during install nor are they available in the Add/Remove Apps GUI). Not that there is anything wrong installing from the command line, but it just goes to point out that Kubuntu is primarily intended to be an end-user distro (for example, getting MP3 support into Kubuntu is worlds easier that on Fedora, but that is more of an end-user thing than a developer thing). But to install things from the command line you need to know the package names which means googling or searching - definitely a lot more work than what Fedora requires to install such services.

But once you get everything installed, either one is acceptable. I happily do development work on both of my system. So it really amounts to personal preference, and also (as Pat Farrel pointed out in another post) what distro a friend already has (and if that friend is a potential source of support who can be bribed with a beer or two to help you when you get stuck).

[NOTE: Edited to reflect I was talking about Kubuntu and not Ubuntu. Also, in Kubuntu you can install the Synaptic GUI Installer (it is not installed by default) and then use Synaptic to install server packages - thanks to Mark S. for pointing this out.]

[NOTE: The above is my impression based on my initial experience with Kubuntu where the Adept Installer GUI, which is run from Add/Remove Programs in the KDE Main Menu, did not offer to install server applications. As I learned later in this post, the Adept Manager is also installed (it is under System in the Main Menu) and it enables you to install the servers I mentioned.]
[ September 08, 2008: Message edited by: Peter Johnson ]

JBoss In Action
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17259
    
    6

Originally posted by Peter Johnson:
I am running Ubuntu at home and Fedora at work. In my opinion, of the two, Fedora has a slight advantage for development. Mainly because Fedora, during installation, will offer to set up various services (HTTPD, MySQL, Sunversion server, etc.) which I tend to use in my development work. In addition, such services can be easily added later using the Add/Remove Apps GUI.

In Ubuntu, you must use the command line to install such things (they are not available during install nor are they available in the Add/Remove Apps GUI). Not that there is anything wrong installing from the command line, but it just goes to point out that Ubuntu is primarily intended to be an end-user distro (for example, getting MP3 support into Ubuntu is worlds easier that on Fedora, but that is more of an end-user thing than a developer thing). But to install things from the command line you need to know the package names which means googling or searching - definitely a lot more work than what Fedora requires to install such services.


Hmm, actually I installed Tomcat, Apache2, Subversion all through Synaptic GUI Installer that comes with Ubuntu, and MySql is also listed there, but I installed Postgres instead. No need to know package names at all or use the command line.

Mark
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Originally posted by Mark Spritzler:
I really haven't quite figured out what the differences are between Ubuntu or Fedora.

What do you mean by "difference" here? Fedora is RedHat based, Ubuntu is Debian based. They use different tools to install programs, different ways to keep up to date with patches and revisions, etc. There are tons of technical differences under the covers. Any sysadmin would notice them.

As a user, the differences are not important.

The best distro to use is one that your buddy uses, so you can buy him a beer when he helps you.

All the rest is theology.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Originally posted by Peter Johnson:
In Ubuntu, you must use the command line to install such things (they are not available during install nor are they available in the Add/Remove Apps GUI).

This is simply untrue. Perhaps you should use Ubuntu a bit more before you offer comments, they have no basis.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

Originally posted by Pat Farrell:

The best distro to use is one that your buddy uses, so you can buy him a beer when he helps you.


Unless your buddy uses Gentoo...


[Jess in Action][AskingGoodQuestions]
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14339
    
  22

I haven't used Fedora for long, but as far as I know it is harder to install Sun Java 5 or 6 on it - you cannot get it through Fedora's package management system, because they have a strict "it has to be 100% open source / free software" policy, which Sun Java 5 or 6 isn't - so it's not in Fedora's package repository.

You do not need to install software via the command line on Ubuntu - as others have already said, you can use Synaptic (menu System / Administration / Synaptic Package Manager) to install anything from the Ubuntu repository, which contains more than 20,000 software packages.

The main difference between distro's is often in the philosophy of the people who make the distro. The main idea behind Ubuntu is to make an easy-to-use and stable desktop Linux. Fedora is a little bit more cutting-edge (they have newer versions of some packages), and is more strict on the open source philosophy. Gentoo is a source-only distribution, which means you get only the source code for most software and you build the whole system tailor made for your computer (which is hard and takes a lot of time; Gentoo is really for the hard-core Linux geek). OpenSUSE is similar to Ubuntu, they want to make an easy-to-use Linux for as many people as possible.
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5842
    
    7

This is simply untrue. Perhaps you should use Ubuntu a bit more before you offer comments, they have no basis.


Well, excuse me for offering my opinion and experiences; they are obviously not welcomed. But when I look at the Adept Installer GUI, the items I mentioned are not listed. But then again, I am using Kubuntu, not Ubuntu, but it sure surprises me that the GUI installers would show totally different sets of packages between the two repackagings of essentially the same distro.

Hmm, actually I installed Tomcat, Apache2, Subversion all through Synaptic GUI Installer that comes with Ubuntu, and MySql is also listed there, but I installed Postgres instead


Thank you, Mark. Turns out that Synaptic is not installed by default on Kubuntu and I have been googling for months on how to get server packages to show up in the Adept Installer GUI, but all I ever found was how to install such packages using apt-get. Synaptic provides what I was looking for and more closely matches what Fedora provides.
[ September 07, 2008: Message edited by: Peter Johnson ]
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Originally posted by Peter Johnson:
Well, excuse me for offering my opinion and experiences; they are obviously not welcomed. But when I look at the Adept Installer GUI, the items I mentioned are not listed. But then again, I am using Kubuntu, not Ubuntu, but it sure surprises me that the GUI installers would show totally different sets of packages between the two repackagings of essentially the same distro.]


You stated as fact that Ubuntu did not have a specific feature. This was (1) not true (2) not based on experience. If you had said "Kubuntu did ..." it would have been based on experience and might even have been true.

"essentially the same distro" is meaningless. There are different distros because folks want different things. The specific thing that a distro creator does is select what packages they want in the distro. The Ubuntu creators put synaptic in it, and have a clear link to it on the top menu bar.
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17259
    
    6

Originally posted by Peter Johnson:


Thank you, Mark. Turns out that Synaptic is not installed by default on Kubuntu and I have been googling for months on how to get server packages to show up in the Adept Installer GUI, but all I ever found was how to install such packages using apt-get. Synaptic provides what I was looking for and more closely matches what Fedora provides.

[ September 07, 2008: Message edited by: Peter Johnson ]


Ah, I think I actually tried to install Kubuntu once on a machine at home and I had trouble, so I never realized that they would have different Gui installers. I wonder if you could "apt-get install synaptic" Because both Guis are X-windows correct?

But I have also used apt-get a couple times too to install from command line, and it was pretty easy too.

Mark
Yves Zoundi
Ranch Hand

Joined: Aug 31, 2008
Posts: 47
If you are new to Linux, I would also recommend Ubuntu or Fedora or any top 5 popular distribution. Using other distributions such as Gentoo for example will mostly bring you, pain and frustration as a newbie.

Linux knowledge is not essential to become a top nutch programmer. I thought so when I started using only Linux 7-8 years ago. So far, it helped me at programming in many ways :
- It made me more aware of cross-platform issues
- It allowed me to be able to support software on Linux
- I learned many things related to hardware, programming, scripting, etc.
- etc.

The best programmers, that I've met so far, had a Unix/Linux experience (medium to very advanced).

However I've seen some very good developers who don't know how to use Linux and they don't really care about it. Some use Windows/Mac/BSD and why would they care about Linux if they don't see any value in it, except learning another operating system?


Author of VFSJFileChooser and XPontus XML Editor
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14339
    
  22

Originally posted by Peter Johnson:
But when I look at the Adept Installer GUI, the items I mentioned are not listed.

That's strange, because Adept on Kubuntu, just like Synaptic on Ubuntu, should show you everything that's in the Ubuntu software repository. Adept probably has a button to refresh the list of packages. Try clicking it, maybe that will make the missing packages appear.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8964
    
    9

Originally posted by Peter Johnson:
But when I look at the Adept Installer GUI, the items I mentioned are not listed.


Works for me on a bare-bones install of Kubuntu:




Originally posted by Mark Spritzler:
I wonder if you could "apt-get install synaptic" Because both Guis are X-windows correct?

Synaptic shows up in Adept as a supported Kubuntu package, so the answer is "yes". I believe Kubuntu and Ubuntu are practically identical, save the window manager and supporting packages. It's possible to install the Kubuntu desktop meta-package on Ubuntu and switch back and forth (and vice-versa on Kubuntu)


[How To Ask Questions On JavaRanch]
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16228
    
  21

Originally posted by Jesper Young:
I haven't used Fedora for long, but as far as I know it is harder to install Sun Java 5 or 6 on it - you cannot get it through Fedora's package management system, because they have a strict "it has to be 100% open source / free software" policy, which Sun Java 5 or 6 isn't - so it's not in Fedora's package repository.


Well you can't "Yum" it in, but Sun does provide a downloadable bin file that unpacks into an RPM. Neither my Fedora nor my Ubuntu systems have ended up getting everything from a single repo, anyway over the long haul.


Customer surveys are for companies who didn't pay proper attention to begin with.
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5842
    
    7

After Joe Ess' post, I went back and looked at my Kubuntu installation. And sure enough, the Adept Manager is on the KDE Main Menu under System. Which brings me to a question - why are there two package managers (Adept Installer and Adept Manager) installed for Kubuntu and why is the one with the restricted list of packages (Adept Installer) the one started from the Add/Remove Programs within the Main Menu? This could easily lead one to believe that extra effort must be made to install services such as HTTPD and MySQL. Add to this the fact that when I googled "kubuntu install mysql", every page I read at the time stated you had to use apt-get. No wonder I was confused.

So I guess one of the other posters was right - I should just shut up and go away because I don't know squat. Sigh.
Yves Zoundi
Ranch Hand

Joined: Aug 31, 2008
Posts: 47
Hello Peter,

All the graphical tools you'll be using are just front-ends to apt-get command line.

You see some examples/articles showing apt-get because "it is very common" to use the command line instead of graphical tools, to manage packages(or to do something else).

Instead of showing couple of screenshots all the time with many explanations, they tell you which command line to use to perform a task. While you use Adept, someone else on Ubuntu might be using synaptic or any other GUI, but what is sure is that you both have apt-get installed.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Originally posted by Yves Zoundi:
All the graphical tools you'll be using are just front-ends to apt-get command line.


And apt-get is just a friendly program that calls dpkg under the covers.
Stefan Wagner
Ranch Hand

Joined: Jun 02, 2003
Posts: 1923

Originally posted by Yves Zoundi:

Instead of showing couple of screenshots all the time with many explanations, they tell you which command line to use to perform a task. While you use Adept, someone else on Ubuntu might be using synaptic or any other GUI, but what is sure is that you both have apt-get installed.


is very easy and fast to communicate.
If the user doesn't know the name of a package (i.E.: gimp), it is easy to search for keywords (image, paint, ...) in synaptic.
How do you do that on the commandline?


http://home.arcor.de/hirnstrom/bewerbung
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8964
    
    9

Originally posted by Stefan Wagner:
How do you do that on the commandline?


It's so simple (being sarcastic, of course):


Originally posted by Peter Johnson:
So I guess one of the other posters was right - I should just shut up and go away because I don't know squat. Sigh.

We all have our blind spots. If I had a dime for every time I've been corrected I'd hire smarter people to post for me.

[ EJFH: Fix misattributed quote ]
[ September 09, 2008: Message edited by: Ernest Friedman-Hill ]
Rusty Shackleford
Ranch Hand

Joined: Jan 03, 2006
Posts: 490
I do software development and also network security stuff(ie research, cracking, etc). openSUSE 11.0 has the build service which has some many programming and security tools that are 1 click away, and also, from my experience, has the best out of the box hardware support of anyone, especially with wireless. It also makes running XEN a 3-click affair.

Besides, it is the most polished and "smooth" running distro today. The agreement that Novel made with MS gives me the heebie-jeebies, and I despise MS, but the fact of the matter is that Novel contributes so much to various OSS projects that it kind of balances it out.

As a small example, look at the open office that comes by default in openSUSE and the one in Ubuntu, and you will see the difference between a professional software company and a company that just collects packages,wraps it around its ugly(and insulting) installer and tosses it out the door every 6 months.


"Computer science is no more about computers than astronomy is about telescopes" - Edsger Dijkstra
Puneet Soni
Greenhorn

Joined: Aug 08, 2008
Posts: 18

I will recommend fedora or openSuse for you.
On the issue of ubuntu i will say that thou i agreee with the difference quality of ubuntu and suse but i will say that donot underestimate ubuntu.
Chris Colon
Greenhorn

Joined: Sep 30, 2008
Posts: 1
You don't need to know Linux / Unix if you want to become a programmer. It's just that many people who are programmers use Linux or Unix and there are good reasons for that.

The thing that makes Linux very interesting for a programmer is that you can look at every software's source code to see how it works and possibly modify it to work like you want it too. If there's a bug, fix it yourself and share the patch with others. If you want to learn programming this is also a great, free and never ending resource to learn. Just look at other people's source code. Sure, there's open source for Windows and Mac. But with Linux it's like "everything but this one thing" is open source. So usually you can take a look at everything that you are interested in.

You can even look at the Kernel's source code, see how the actual operating system works. If you are interested in how a computer works, Linux is the way to go.

I wouldn't recommend Ubuntu to you. Now don't get me wrong. I love Ubuntu. It's great and it's one of the most popular Linux distributions. It's easy to use and I would even go so far to say that it's easier to use than Windows. Here's the problem though. You don't learn much about Linux, because Ubuntu hides many things from you. You will learn Ubuntu, not Linux. This is what makes Ubuntu easier. Well, not easier, you just don't need to learn so much stuff. You can do things faster. Yeah, faster is the better word. This is great when you don't want to learn or don't have the time to do it.

The second reason why I wouldn't recommend Ubuntu is that the current version, Hardy Heron, is really bad (in my humble opinion, it really depends on what you do with it, for me, in apps I use most are show stopping bugs). It has too many bugs and some really hefty ones that were known for nearly a year now and still haven't been fixed. You will get a lot of grey hairs when you start with Ubuntu Hardy Heron. If you really do want to start with Ubuntu, wait for the next version and hope that they got their act back together by then. Again, I love Ubuntu. I think it's really great, I just don't like the current version and it's not for people who want to learn, it's for people who want an easy operating system that they can use with the least possible amount of learning for day to day tasks. If my parents would want to use Linux, I'd give them Ubuntu. Well, I'd try to convice them to buy a Macintosh and then after failing to convice them, I'd give them Ubuntu.

The Linux I would recommend to you and everyone else who wants to learn and has the time to do it, is Arch Linux (archlinux.org). In my opinion it is the best Linux distribution out there. Why? Because it isn't really a distribution. It's more like a do-it-yourself kit to make your own Linux distribution. A collection of tools that make that task easier. Who knows what you want? No one but you. That's why the perfect operating system for you is one that you build yourself.

It's not that hard to set up. You can have Linux running with KDE or GNOME or XFCE or whatnot in about 45 minutes if you follow directions. If you really want to know what goes on, take some more time to read up on stuff. This will help if you encounter problems later on. You do have to configure everything with a Texteditor though. But that is a good thing because you learn a lot by doing that. You have to go on the internet and learn how to configure stuff or it will not work.

You don't have to compile anything like with Gentoo, Arch Linux provides you with a package manager much like apt-get (Ubuntu) which can install binary packages from a repository. But Arch also makes it easy to compile every package from source if you want to and, that's the important thing, it makes it really really easy to make new packages yourself. If you ever try to make a debian package for Ubuntu, you will come to appreciate the ease of creating a package for Arch Linux.

Also, the Arch Linux packages are vanilla. That means, they are unmodified original versions right from the source, the developer. No distribution specific patches (only if there's really no way around it). I'm sure you can think up enough reasons for why that is a good thing by yourself. Oh and you get new versions of software as soon as there is a new version. You don't have to wait 6 months for a new version like you have to when using Ubuntu (security fixes only + bugs Ubuntu thinks are crucial but I like to decide for myself what is crucial and what not).

Oh and Arch Linux is about ten times faster than Ubuntu Not benchmarked, but the difference is so great that you can see it without problems. Ten times is a bit much, 4 times faster sounds more realistic. But it's really a lot faster. The packages are compiled for i686, that's one of the reasons for the difference that I've read about. Can't say anything about that, I don't know how much different in speed this provides.

I can't say anything about Suse or Fedory because I haven't used them in years, but they have at least one thing in common with Ubuntu. They hide stuff from you with fancy GUI tools so you won't learn how stuff works. If that's what you want, great. If not, better use something else.

I hope I didn't offend anyone. I don't think so. I use Windows XP, Mac OS X, Ubuntu, Puppy Linux and Arch Linux, so I'm probably untouchable. I'm on everyone's side If I did offend someone, it wasn't my intention.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61612
    
  67

"ChrisColon", please check your private messages for an important administrative matter.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Rusty Shackleford
Ranch Hand

Joined: Jan 03, 2006
Posts: 490
Originally posted by Puneet Soni:
I will recommend fedora or openSuse for you.
On the issue of ubuntu i will say that thou i agreee with the difference quality of ubuntu and suse but i will say that donot underestimate ubuntu.


I don't underestimate Ubuntu. It has a ton of potential, but right now it is doing more damage to desktop Linux adoption then MS is.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Originally posted by Rusty Shackleford:
I don't underestimate Ubuntu. It has a ton of potential, but right now it is doing more damage to desktop Linux adoption then MS is.


Got any examples or specifics?

I think, IMHO, that Ubuntu is a bit overhyped, and their release schedule hurts critical stability, but I don't see how it has any real impact on desktop Linux acceptance or lack thereof.
Jorge Bendahan
Ranch Hand

Joined: Apr 11, 2008
Posts: 82
i use ubuntu since 2006, before that i've used fedora core 3 and a little bit of slackware, i was a newbie at that time, i'm still far from being a kernel hacker , i have to say that if someone wants to start using the pc right away you should consider a user-friendly distro a.k.a. ubuntu, fedora, but if you have the time and patience for learning how the gnu/linux works try arch or maybe even LFS (i've wanted to try this for so long).
Rusty Shackleford
Ranch Hand

Joined: Jan 03, 2006
Posts: 490
Originally posted by Pat Farrell:


Got any examples or specifics?

I think, IMHO, that Ubuntu is a bit overhyped, and their release schedule hurts critical stability, but I don't see how it has any real impact on desktop Linux acceptance or lack thereof.


Mainly empirical observation. People fed up with Windows, look at Linux, see that Ubuntu is the "best", gets frustrated, gives up, goes back to Windows forever disliking Linux.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Originally posted by Rusty Shackleford:
Mainly empirical observation. People fed up with Windows, look at Linux, see that Ubuntu is the "best", gets frustrated, gives up, goes back to Windows forever disliking Linux.


I can see that happening. The whole "best" concept is counterproductive.

And Ununtu, and all the rest, are a long way from where a Hockey Mom can just download the ISO and install it, no muss, no fuss.

You have to have a buddy you can bribe with beers.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14339
    
  22

Ubuntu is very easy to install (if you don't have funky hardware that doesn't work well with Linux). Windows is not easier to install than Ubuntu. But the thing is that a Hockey Mom never needs to install Windows, because Windows is already installed when she buys the PC.

I recently re-installed Windows Vista on my desktop PC. Finding all the necessary drivers and installing them (and rebooting the computer after every configuration change) cost me about 4 hours.

I can install Ubuntu in 30 minutes, no muss, no fuss.
[ October 08, 2008: Message edited by: Jesper Young ]
Rusty Shackleford
Ranch Hand

Joined: Jan 03, 2006
Posts: 490
"And Ununtu, and all the rest, are a long way from where a Hockey Mom can just download the ISO and install it, no muss, no fuss."

Same with Windows.
 
 
subject: What is the best linux distro to use for a programmer...