I'm finishing K&R and I am at the last chapter, regarding system calls on Unix. After that I'm going to read Unix Programming Environment, so I would like to know which Unix/Linux distribution would you recommend?

I have very little experience with Linux, only the basic commands and I would need a recommendation about a distro that doesn't require much configuration so I can start learning as soon as possible.

Thank you.

N

link|improve this question
2  
The question is off topic. Ubuntu is fine. – Alexandre C. Jan 20 '11 at 14:59
I've been told that not all distros neccessarily have the same sets of system calls. With that in mind, would you still say that Ubuntu is fine? – n l Jan 20 '11 at 15:08
1  
@n l: even if it was true, you surely don't want to depend on that. – Alexandre C. Jan 20 '11 at 15:10
@n: all kernels necessarily have the same system calls. Two distributions may use different kernels, and in that case may have different calls available. But generally, people should keep away from system calls as much as humanly possible, and use slightly higher-level abstractions. – Norman Gray Jan 21 '11 at 10:34
feedback

migrated from stackoverflow.com Jan 20 '11 at 18:41

This question came from our site for professional and enthusiast programmers.

5 Answers

Start with Ubuntu Live CD.

link|improve this answer
feedback

For this purpose, it really doesn't matter which unix you use, much less which Linux distribution -- all 'unixes' are close enough to the ur-unix that your K&R knowledge, and that gleaned from The Unix Programming Environment, will be equally applicable to all of them. If I recall correctly, the latter book is fairly SysV-ish, but notes the BSD behaviour when it differs (or maybe it's the other way around). After all, K&R was originally written on a substantially older version of Unix than any that are in current use.

The differences between unixes tend to be a pain, but when you get to the point where this matters, you're arguably no longer a beginner, and can read a man page for yourself (man pages trump any book).

For information, Linux largely splits the difference between the two major unix lineages in those cases where they differ -- SysV and BSD: more often than not it looks SysV-ish, but frequently implements both APIs where there's a difference.

If you're interested in being portable, then you still don't want to focus on a particular unix, but instead learn to love autoconf, port-early-and-often, and bookmark the POSIX spec.

link|improve this answer
feedback

I use Linux Mint and its awesome.

link|improve this answer
1  
Please explain why Linux Mint is "awesome" and what advantages it has for the programming environment. – KronoS Jan 20 '11 at 19:51
feedback

It's depend what your planning to do ? Is that for personal use or for work (like serveur, programming ?).

I used to use ubuntu for personal use, and debian for professional. I think it's easier to find package updated on debian (but with debian you often begin with nothing too)

link|improve this answer
Learning purposes only. – n l Jan 20 '11 at 15:10
Yes but to do what ? You want to use the command line ? Do you want to learn how to install a web server for example ? Or do you just want to use a os base on linux ? – Simon marc Jan 20 '11 at 15:14
Oh, sorry. The book is about systems programming and that is what I need Linux for. – n l Jan 20 '11 at 15:17
For my part I'll use debian, it might be a little harder at the beginning (it's not so hard !), but you will know what you really have on your computer (because you will install it by yourself). It's maybe only a personal view but I think the debian package are quickly updated and as easy to install as ubuntu's. I don't really like pre-installed package deliver with os when it's only for programming stuff. – Simon marc Jan 20 '11 at 17:32
feedback

Any user-friendly distribution is fine. I mostly use Fedora these days because it is similar to RedHat which is the most popular Linux distro in production. CentOS is even closer to RedHat, but Fedora comes with more recent versions of gcc.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown