LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices

Reply
 
Search this Thread
Old 06-03-2010, 10:32 AM   #1
bcbotha
Member
 
Registered: Nov 2008
Location: South Africa
Distribution: Ubuntu, Windows
Posts: 149

Rep: Reputation: 16
distro for C programming


I understand that it's not the distro but the compiler and such that I need, but does anyone have an opinion as to which distro would be a good one for someone starting to learn C programming and wanting to learn and use bash more?

Thanks
 
Old 06-03-2010, 10:38 AM   #2
jamescondron
Member
 
Registered: Jul 2007
Location: Scunthorpe, UK
Distribution: Ubuntu 8.10; Gentoo; Debian Lenny
Posts: 961

Rep: Reputation: 69
As with all calls on distros, there really is no difference for this sort of thing; you're a million times better off just finding the one that looks and feels best for you.

The compiler/environment is just as easy to set up as it is to get a distro with it built in. Editors are standard across the board, and there is more or less no difference in how they use, what I'd consider anyway, the big two: emacs or vi.

Bash is always around too.
 
Old 06-03-2010, 10:47 AM   #3
jens
Senior Member
 
Registered: May 2004
Location: Belgium
Distribution: Debian, Slackware, Fedora
Posts: 1,225

Rep: Reputation: 175Reputation: 175
Quote:
Originally Posted by bcbotha View Post
I understand that it's not the distro but the compiler and such that I need, but does anyone have an opinion as to which distro would be a good one for someone starting to learn C programming
They all use gcc [1] (gnu compiler collection).
You might prefer a more stable one (as in less updates and version changes) like the three big ones (Debian, Slackware, Redhat/CentOS).

[0] http://gcc.gnu.org/

Quote:
Originally Posted by bcbotha View Post
and wanting to learn and use bash more?
Don't use/install X.
My main setup is Screen[1](more functional terminal) + Emacs/tex(text)[2][3] + Gnus(email)[4] + w3m/Links(webbrowsing) [5][6] + Mplayer (full multimedia suite)[7].

[1] http://www.gnu.org/software/screen/
[2] http://www.gnu.org/software/emacs/
[3] http://www.tug.org/
[4] http://www.gnus.org/
[5] http://emacs-w3m.namazu.org/
[6] http://links.sourceforge.net/
[7] http://www.mplayerhq.hu/design7/news.html

Doing all your normal tasks without X will get you startd in no time.

Last edited by jens; 06-03-2010 at 12:58 PM.
 
Old 06-03-2010, 04:20 PM   #4
CoderMan
Member
 
Registered: Jan 2009
Location: Gemini Capsule 25164
Distribution: Gentoo
Posts: 375
Blog Entries: 24

Rep: Reputation: 43
Quote:
Originally Posted by bcbotha View Post
I understand that it's not the distro but the compiler and such that I need, but does anyone have an opinion as to which distro would be a good one for someone starting to learn C programming and wanting to learn and use bash more?

Thanks
Really, you can use any distro you want. Just install a terminal program (like gnome-terminal), pick an editor (Vim/Emacs), and go at it.

I'd avoid distros that use old libraries like Debian or any distro that uses the Debian software repositories straight up. When programming, it is better to be using the latest and greatest development libraries, which tend to become standard by the time your program is released.

I think Ubuntu and Fedora keep up fairly well. Gentoo is the best path to Guru-hood, but I'm not sure if you are ready for that yet.
 
Old 06-03-2010, 04:32 PM   #5
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Arch/XFCE
Posts: 17,802

Rep: Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728
Bash is Bash
C is C
gcc is gcc

In other words, the choice of distro is irrelevant----unless maybe: If you are really short on memory or disk space.

Personally, I would never attempt to do serious programming without LOTS of RAM and HD space. Even the development of my pathetic website generated mountains of crud.
 
Old 06-04-2010, 02:32 AM   #6
CoderMan
Member
 
Registered: Jan 2009
Location: Gemini Capsule 25164
Distribution: Gentoo
Posts: 375
Blog Entries: 24

Rep: Reputation: 43
Quote:
Originally Posted by pixellany View Post
Bash is Bash
C is C
gcc is gcc

In other words, the choice of distro is irrelevant----unless maybe: If you are really short on memory or disk space.
Not entirely true. First of all, there are different implementations of C, and different versions of gcc.

But seriously, the choice of distro is not entirely irrelevant. As I mentioned before, your choice of distro will affect your options for conveniently accessible libraries. An example from my own experience: most distributions still only make ClanLib 0.8 version libraries available, whereas the ClanLib itself is actually available as version 2.1 on the web. With distributions like Debian, the libraries (and the rest of the software) only get updated once every 2-3 years, which is an eternity in the FOSS development world. Distributions like Ubuntu get refurbished around every six months or so.

You can of course install your own libraries from source, though you are likely to run into more conflicts dealing with a distro with older libraries already installed.

At the end of the day, I'd say Gentoo is the best distribution for programming, for these reasons: 1) you get access to the latest and greatest libraries most of the time; 2) Gentoo is source-based, so the development libraries are automatically installed with all your software; 3) through Gentoo's Portage package management system, you can enable or disable the components of individual library builds, depending on your needs, whereas with binary-based distribution, you must rely on the intuition of the distro maintainers.
 
Old 06-04-2010, 03:28 AM   #7
bcbotha
Member
 
Registered: Nov 2008
Location: South Africa
Distribution: Ubuntu, Windows
Posts: 149

Original Poster
Rep: Reputation: 16
Thanks guys for your replies, it much appreciated.
I'm currently using Mandriva and am trying to setup a dual boot with Zenwalk. How do thier library updates fair? and would it be better to drop Zenwalk(or Mandriva) for Gentoo?

Thanks
 
Old 06-04-2010, 10:04 AM   #8
jens
Senior Member
 
Registered: May 2004
Location: Belgium
Distribution: Debian, Slackware, Fedora
Posts: 1,225

Rep: Reputation: 175Reputation: 175
Quote:
Originally Posted by CoderMan View Post
Not entirely true. First of all, there are different implementations of C, and different versions of gcc.

But seriously, the choice of distro is not entirely irrelevant. As I mentioned before, your choice of distro will affect your options for conveniently accessible libraries. An example from my own experience: most distributions still only make ClanLib 0.8 version libraries available, whereas the ClanLib itself is actually available as version 2.1 on the web. With distributions like Debian, the libraries (and the rest of the software) only get updated once every 2-3 years, which is an eternity in the FOSS development world. Distributions like Ubuntu get refurbished around every six months or so.

You can of course install your own libraries from source, though you are likely to run into more conflicts dealing with a distro with older libraries already installed.

At the end of the day, I'd say Gentoo is the best distribution for programming, for these reasons: 1) you get access to the latest and greatest libraries most of the time; 2) Gentoo is source-based, so the development libraries are automatically installed with all your software; 3) through Gentoo's Portage package management system, you can enable or disable the components of individual library builds, depending on your needs, whereas with binary-based distribution, you must rely on the intuition of the distro maintainers.
Your assumptions are all wrong.
Debian can be as up to date as you want. Gcc (and dep's) isn't distro specific.
Install whatever version you like if you're unhappy with the distro version.

Using a bleeding edge distro will only confuse most students with extra bugs and changing features. Pick any howto/book/... you like, they never cover multi versions.
 
Old 06-04-2010, 10:11 AM   #9
alli_yas
Member
 
Registered: Apr 2010
Location: Johannesburg
Distribution: Fedora 14, RHEL 5.5, CentOS 5.5, Ubuntu 10.04
Posts: 559

Rep: Reputation: 92
Quote:
Using a bleeding edge distro will only confuse most students with extra bugs and changing features.
Have to agree with Jens here, in the RHEL/CentOS/Fedora world; I definitely wouldn't recommend a student focusing on development use Fedora - but rather something like CentOS which is much more stable.

Conversely, if your focus is learning Linux - then in my opinion its a good idea to go with a cutting edge/newer distro.
 
Old 06-05-2010, 01:16 AM   #10
CoderMan
Member
 
Registered: Jan 2009
Location: Gemini Capsule 25164
Distribution: Gentoo
Posts: 375
Blog Entries: 24

Rep: Reputation: 43
Quote:
Originally Posted by bcbotha View Post
Thanks guys for your replies, it much appreciated.
I'm currently using Mandriva and am trying to setup a dual boot with Zenwalk. How do thier library updates fair? and would it be better to drop Zenwalk(or Mandriva) for Gentoo?

Thanks
Gentoo is many great things... but it /is not/ a beginner-friendly distribution. Only switch to Gentoo if you are either highly knowledgeable about Linux, or you are really determined to get there quickly.

I have depended on several distros in the past. Before coming to Gentoo, I was a hardcore Debian fanatic, because I felt Debian gave me good tools for making my systems the way I like them, and it helped me get closer to becoming a Linux guru. But ultimately Debian was too restrictive (and too out-of-date) and I found what I was looking for in Gentoo.
 
Old 06-06-2010, 11:10 AM   #11
jens
Senior Member
 
Registered: May 2004
Location: Belgium
Distribution: Debian, Slackware, Fedora
Posts: 1,225

Rep: Reputation: 175Reputation: 175
Quote:
Originally Posted by CoderMan View Post
Gentoo is many great things... but it /is not/ a beginner-friendly distribution. Only switch to Gentoo if you are either highly knowledgeable about Linux, or you are really determined to get there quickly.
I'm glad you found your perfect OS, but how does this make Gentoo a better C platform?

Very new libs might be useful for python and other unhealthy rubbish, but not for a more pure C languages.

EDIT: ...and if you compare debian with gentoo, gentoo is a lot more outdated (compare it with sid if you like buggy/upstream software).

Last edited by jens; 06-06-2010 at 11:21 AM.
 
Old 06-07-2010, 01:12 AM   #12
CoderMan
Member
 
Registered: Jan 2009
Location: Gemini Capsule 25164
Distribution: Gentoo
Posts: 375
Blog Entries: 24

Rep: Reputation: 43
Quote:
Originally Posted by jens View Post
I'm glad you found your perfect OS, but how does this make Gentoo a better C platform?

Very new libs might be useful for python and other unhealthy rubbish, but not for a more pure C languages.

EDIT: ...and if you compare debian with gentoo, gentoo is a lot more outdated (compare it with sid if you like buggy/upstream software).
More outdated than Debian? Who are you kidding? For starters, you can't "compare it with sid" because, like Debian, Gentoo also has an "unstable tree" where software is kept before it sees some real world action. (Technically, the Gentoo system uses "masking" rather than a separate tree.)

Unlike Debian, Gentoo has a software management infrastructure that actually allows it to stay in tune with what is actually going on the FOSS development world. In contrast, even Debian unstable can't keep up with the real world. Debian sid was developed for what, two years, before it was finally frozen last December? And we are still waiting for it to be official released.

Keeping up-to-date is about more than just having the latest-and-greatest libraries at hand and easy to install (which is quite nice). It is also about having to most recent stable releases of established libraries. You go to the help forums of library libxyz, and tell them that you are using the version released two years ago, they'll curse your ancestors and then throw you out of your thread. With Gentoo, the recent version will either be available already, or it can become available to the Gentoo community fairly quickly by submitting a bump request or starting an overlay.

Now, having a distro that stays up-to-date, and evolves on the fly, certainly presents a few extra challenges to Gentoo maintainers to keep everything in order. (Though Debian development hasn't exactly been a walk in the park either, from what I hear.) But the question isn't which distro is better for system administration; rather, which distro is better for development. If the OP wants my opinion, I'd say: For development, don't use Debian or another other distro with a real slow release cycle. Gentoo is great, but if you aren't ready to tackle Gentoo system administration, probably try something like Fedora, Ubuntu, or another distro that keeps development on a reasonably short and reliable schedule.
 
Old 06-07-2010, 01:38 AM   #13
jiml8
Senior Member
 
Registered: Sep 2003
Posts: 3,171

Rep: Reputation: 115Reputation: 115
Quote:
Originally Posted by bcbotha View Post
Thanks guys for your replies, it much appreciated.
I'm currently using Mandriva and am trying to setup a dual boot with Zenwalk. How do thier library updates fair? and would it be better to drop Zenwalk(or Mandriva) for Gentoo?

Thanks
I develop in Mandriva. I like it; it suits me.

I develop for targets that run Fedora, Gentoo, SUSE, and Centos mostly, as well as stripped systems that are intended to run as embedded systems. I also develop in Mandriva using GCC for Microsoft Windows targets (though I often use Visual Studio when I'm doing Windows).

The issues I encounter (particularly with Centos) is that I'm developing using a later version of some libraries than are available in Centos. Other than that, no problems.
 
Old 06-07-2010, 01:55 AM   #14
evo2
Guru
 
Registered: Jan 2009
Location: Japan
Distribution: Mostly Debian and Scientific Linux
Posts: 5,520

Rep: Reputation: 1216Reputation: 1216Reputation: 1216Reputation: 1216Reputation: 1216Reputation: 1216Reputation: 1216Reputation: 1216Reputation: 1216
Quote:
Originally Posted by CoderMan View Post
I'd avoid distros that use old libraries like Debian or any distro that uses the Debian software repositories straight up.
Hmm, I'd have thought that there aren't too many distros that have more recent libraries a than Debian sid.

Evo2.
 
Old 06-07-2010, 07:24 AM   #15
jens
Senior Member
 
Registered: May 2004
Location: Belgium
Distribution: Debian, Slackware, Fedora
Posts: 1,225

Rep: Reputation: 175Reputation: 175
Quote:
Originally Posted by evo2 View Post
Hmm, I'd have thought that there aren't too many distros that have more recent libraries a than Debian sid.

Evo2.
Indeed.

jens@debian:~$ apt-cache show gcc
Package: gcc
Priority: optional
Section: devel
Installed-Size: 64
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386
Source: gcc-defaults (1.95)
Version: 4:4.4.4-2
Provides: c-compiler
Depends: cpp (>= 4:4.4.4-2), gcc-4.4 (>= 4.4.4-2)
Recommends: libc6-dev | libc-dev
Suggests: gcc-multilib, make, manpages-dev, autoconf, automake1.9, libtool, flex, bison, gdb, gcc-doc
Conflicts: gcc-doc (<< 1:2.95.3)
Filename: pool/main/g/gcc-defaults/gcc_4.4.4-2_i386.deb
Size: 4964
MD5sum: 78b47f5049aa070e44334f1b670a12de
SHA1: 1bdbabb5b27f12f034d548f4cba447f94de837ed
SHA256: a92e7dce0eb45170a071e377f692be41988821e4a0b1bd15536125f9872ee129
Description-nl: De GNU C compiler
Dit is de GNU C compiler, een vrij goed overdraagbare,
optimalizerende compiler voor C.
.
Dit pakket bestaat alleen om de standaard GNU C compiler aan te wijzen.
Build-Essential: yes
Tag: devel::compiler, devel::lang:c, implemented-in::c, interface::commandline, role::metapackage, role:rogram, special::meta, suite::gnu, works-with::software:source

jens@debian:~$

Gentoo:
http://packages.gentoo.org/package/sys-devel/gcc

His other claims are wrong as well:

Quote:
Originally Posted by CoderMan View Post
More outdated than Debian? Who are you kidding? For starters, you can't "compare it with sid" because, like Debian, Gentoo also has an "unstable tree" where software is kept before it sees some real world action. (Technically, the Gentoo system uses "masking" rather than a separate tree.)
Just google this.
Sid really IS more up to date (and that's not just an opinion).
Sid is also a full distribution (you don't need any other packages).
Those debian packages that are being "kept before it sees some real world action" are in the experimental repo.

Quote:
Originally Posted by CoderMan View Post
Unlike Debian, Gentoo has a software management infrastructure that actually allows it to stay in tune with what is actually going on the FOSS development world. In contrast, even Debian unstable can't keep up with the real world. Debian sid was developed for what, two years, before it was finally frozen last December? And we are still waiting for it to be official released.
Who's kidding who?
Debian did not freeze last December.
Sid wil never be released, it's indeed a rolling distribution.

...

We're getting offtopic though

I wouldn't recommend Debian Sid either.

If you're teaching someone to swim, you shouldn't drop him in the deep ocean either.

Last edited by jens; 06-07-2010 at 08:06 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Distro for programming and is NOT! live. snowbrdrfreak Linux - Distributions 1 01-25-2009 11:59 AM
A good programming distro? Dark_Sniper* Linux - Newbie 13 09-28-2007 09:05 AM
Distro for NewB and programming cheesedogblack Linux - Newbie 5 02-24-2005 04:37 AM
Linux distro for programming Chris Weimer Programming 2 03-02-2004 02:24 AM
Good Distro for programming r3dhatter Programming 7 02-12-2004 06:58 PM


All times are GMT -5. The time now is 04:31 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration