tags:

views:

652

answers:

19

As I come up with linux ,I found the commands are different in OpenSuse and Ubuntu.

Which of them is suitable to somebody who was new in linux and want to master the command

needed when programming and using linux?

+2  A: 

We'd have to know your preferences better to be able to answer that. Basically any LINUX would do i guess. I heard nice feedback from Ubuntu, though.

tehvan
A: 

I would vote for Ubuntu. The principles are the same while some of the "commands" are different. I assume you mean differences such as "sudo".

I'm very happy with my Ubuntu Server which handles all my development Windows VMs. I even used Ubuntu desktop on my laptop for a time...at least until I needed Visual Studio on it again. :-)

EDIT - "sudo" does exist in OpenSUSE

craigmoliver
I'm pretty sure OpenSUSE will have sudo in there somewhere.
womble
I didn't when I used it in 2006.
craigmoliver
They added it for version 11, I believe. But somehow, su still seems to be better integrated.
Nikhil Chelliah
A: 

I prefer Ubuntu. my 2 cents...

Chris Ballance
+2  A: 

Whichever one the people around you can ask questions of know. The value of a knowledgeable support network vastly outweigh the benefits of a particular distribution. If you don't have a local support network, I'd go with Ubuntu, they tend to have more useful resources on the 'net (and it's the distro I'd prefer out of those two options).

womble
A: 

They are tools. Use the one that you are most comfortable with. Really calling them tools isn't a good analogy. Better is to call them vehicles. Use the vehicle that fits your needs and desires.

EBGreen
+5  A: 

I got the impression that OpenSuSE did some things a little unconventionally (kdesu, gksu), but it's a fine (KDE) distro. I've found (K)Ubuntu is a little better for beginners since it has access to huge compiled package repositories, plus the community is unbeatable.

They're pretty similar for most things, including programming.

Nikhil Chelliah
A: 

Actually , as a programmer you would face such questions everyday. Which framework? which language? which data structure ? ... you get the idea. There is no right answer.

Choose any. They are not too different. Soon you would not be a "new learner" and then it wouldn't matter anyway.

Learning
A: 

The principles are mostly the same over the different distributions, so I'd suggest you to choose one and dig in. However, there are some considerations to make. If you want to program gui programs you need to make a decision about which graphic toolkit library to use (Qt, Gtk+ ...), which would also imply the choice of your desktop environment (GNOME, KDE, XFCE). As you will notice, in Linux world everything (or almost everything) depends on something else. I'm talking about the packages. It is quite common to reuse available libraries and not write your own so the decisions you would probably have to make are about which libraries/frameworks to use and which language.

I, however, chose Ubuntu and don't feel sorry at all.

aks
A: 

It depends on what you want to do. If you want something easy to setup and basically just works, use Ubuntu. If you want to /learn/ Linux, I would recommend Slackware. Getting Slackware up and running will force you to know HOW and WHAT is going on with your installation. This can be good or bad, depending on your desires.

mletterle
A: 

Depending on how deeply you want to learn, one possible candidate distro would be Linux From Scratch. It also has awesome documentation and by playing with it will surely make you think more "Linux"-way.

+1  A: 

This is a very hard question; most distros aim to be "the best", or at least "good enough" for a wide variety of activities, of course including programming.

It's also an issue that easily spawn "wars", where people fight to claim that the distribution they use is the best, and that all others should conform. Heh.

My current preference is for Gentoo, and I think one (probably minor) advantage it has when programming is that since it is a source-based distribution, you typically never need to bother to get the "development version" of packages. If you have e.g. readline installed, you will have its header file(s) too, and so on. Many other distros split packages into "user" and "developer" versions, so you need to install both packages.

Of course, I guess in those cases the developer packages depend on the non-developer versions anyway, so if you always install developer versions, you'd be all set. Oh well. Nevermind, then. :)

unwind
+1 for pointing out Gentoo's advantages for programming (I use Gentoo myself, partly for the same reasons) - but Gentoo is probably not the distribution to use if you're new to Linux. It gives you a lot of freedom to shoot yourself in the foot, as they say ;-)
David Zaslavsky
My first Gentoo installation took about 3 or 4 tries to finally get it going.. But I learned a lot during the process.
plaes
+2  A: 

I'm running on Ubuntu right now. It was easier than windows to get running. Very smooth. Of course, advanced functions are beyond me right now. With C# classes and everything else I gave up on trying to learn too much and just run it as is. It has a very good user interface, and I've heard a new version is out or coming out as well, probably more eye candy.

Check out Ubuntu. Doing a dual boot can't hurt since then you can try it out! You can also run some distributions straight off the disc to try them out.... Can't hurt to try it when it is free. Much more stable for me than XP, and faster. I HOPE Windows 7 ends up being less of a monster! I'd stick with Ubuntu if it was more compatible with windows programs. .NET development while in school typically isn't done on a Linux distribution!

best wishes, try it out!

Sheldon
Commercially, .NET development is usually done in Windows, but you have to realize that Mono has come a long way in bringing .NET to the rest of the world and that some Linux distros ship with more .NET code than Windows ships with.
postfuturist
interesting point. I have mono i heard visual studio has that w/C# but haven't seen it work =
Sheldon
A: 

While Ubuntu is a great "getting things done fast" distribution, I can't say I think it would suit your situation the best.

Personally I started out with Slackware (this was over five years ago) and although it gave me lots of hassle back then I don't regret it a bit. I think it took my five tries just to get it running with X server, but in my eyes it was all time well spent - I learnt how to install hardware drivers, compile from source etc.

So, Ubuntu is great - but you have to go through all the cosmetics to actually learn basic "linuxy" stuff. I'd recommend going with Slackware or Crux, both will provide you with a fair challenge and good documentation.

Palm
A: 

Ubuntu fits the build and the community is very helpful.

A: 

When choosing a linux distro I usually consider two things:

1: packaging system (and release cycle):

Opensuse probably has the most up to date packages of any distro (without building your own), Ubuntu's packaging system tends to hold your hand a little bit more though. I have used both and found that as a developer I slightly preferred Opensuse since it was easier to get the latest versions of development packages (for example, IDEs).

2: default configuration/ease of administration:

All linux distros have their quirks here. Both Opensuse and Ubuntu are well documented and have good support forums. Opensuse has Yast which is a nice one stop shop for most configuration tasks. Ubuntu seems to be slightly better at automatically configuring itself. Really, either distro is fine here.


The good news is that there is not a wrong decision per se. I have used a lot (more than 10) linux distributions and I now stick to Opensuse. Ubuntu was a close second, the only reason that I don't use it is that I found I was often stuck waiting for its 6 month release cycle to get up to date dev packages (building the monodevelop beta was not feasible at the time). Opensuse's build service and the Packman third party repository seem to keep nearly current packages for everything I've ever wanted.

overstood
A: 

If your exploring Linux / GNU as a programmer, you might consider selecting a distribution that uses the apt packaging tool.

You will likely need to install lots of libraries with development headers and obtain the source code to other things. Apt makes it quite simple to do such things, it is very good at resolving package dependencies and fetching source packages.

Distributions using apt (either with .deb or .rpm packages) are Debian, Ubuntu (and its forks) and others.

That being said, Ubuntu does a really good job at keeping up to date with recent libraries and tools, while resisting the urge to cherry pick alpha / unstable code. My desktop is my development machine, I use Ubuntu.

Tim Post
A: 

Gentoo is the easiest to use. I'd go with that

+1  A: 

I use Gentoo and Ubuntu for development.

Gentoo I love because I can so easily select which packages I have available and which versions. The guy that did Flash 9 and 10 does his development on a Gentoo system as well.

Ubuntu I enjoy now because it's so stable. After a few years, a Gentoo installation will tend toward some instabilities that require sometimes rebuilding the whole installation.

Another I'd look at is Slackware.

greyfade
Hmm.. what kind of instabilities are you talking about?I have been using the same installation on my server for about 6 years now.. my desktop machine has been using the same installation for over 4 years and there's about 2.5 year old installation on my laptop ;)
plaes
@plaes: I've been using the same Gentoo installation on my desktop for going on 6 years now. I'm talking about things like compiler upgrades and C++ libraries going out of sync. I typically do an `emerge -e system; emerge -e world` every few months just to keep some recently-installed packages working.
greyfade
@greyfade: My bad, I thought 'rebuilding the whole installation' meant reinstall ;)
plaes
+2  A: 

Any of Ubuntu/Slackware/Gentoo should be fine as a development environment. You didn't mention what kind of programming you're interested in, and that may have some influence on the answer, too.

If you are at all interested in making better code I also recommend dual booting (or running a 2nd computer) into a non-Linux system such as OpenBSD/FreeBSD, OpenSolaris, etc. Writing code that's portable across UNIX systems isn't just a good idea for portability's sake, it can also help shake out some bugs. The same can be said for working with 32-bit vs. 64-bit, big endian vs. little endian platforms. You can pick up an old 64-bit Sun workstation for cheap and use it to test your code.

dwc