ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I know that linux is programmed in C primarily, and that its a great enviorment to program in... I'm just learning how to program myself, I dont want to go out and pay $500 for visual studio.net 2003, espeacially if I can get an awesome programming enviorment for free..
Which distrobution would be ideal to learn C in?
which Text Refrence would go nicely with it? I've managed to get my hands on C/C++ by example, havent had the time to look at it yet, But if I get a text that's assumes your using a windows based compiler be usable in the linux enviorment?
Is it really all that different in linux? where does it really start to change and matter? And lastly, will I be overall better to go out and get my hands on Visual Studio.Net 2003 then relying on Linux?
depends on what type of stuff you want to program. If you want to write games I`d recommend windows, If you want to write servers and web apps, I`d choose Linux. Just for learning the basics though, either is fine
My suggestion, is if you really want to learn C then there is no better place to do it than in linux.
You can find excellent open source development enviroments.
For me an editor with syntax highlighting is enough, and in linux I use Kwrite or Nedit for that. But source forge does have fully fledged IDE for C and C++.
On advantage of learning C in a linux enviroment is, just by using linux you will always compile various applications, once in a while take a look at the open code for an application that you are using.
By doing that you LEARN LOTS. Not so long after you will see something you don't like with the code, and you can easily change it and compile it. Just that you have many working applications that you can play around with at source code level improves you programming ability. Think about it.
The language is the same, no matter the OS you use to write your programs. But there are differences: tools you use.
All Linux distributions will be equally good, as they have the same software - gcc and g++, text editors you can use or IDEs like Anjuta and KDevelop.
Reference/book: recommend one about ANSI C (standard C). Code written in that way will compile fine on both Linux and Windows. What's a good thing. If you get a book more about C in Windows, you may still make most of the programs work withut problems, but there are small details different: <conio.h> header to 'draw' in text mode (no conio.h in Linux, you use ncurses), different commands to compile your program.
Another suggestion, if you want to be able to use GCC but don't want to have to ditch windows look into cygwin. Cygwin will give you a unix like environment and a GCC version in windows.
If you want to learn pure C, then Linux or a Unix-like environment is very good. All the libraries are there and there is good documentation in the man pages.
Also you have a choice of GUI toolkits which you can use when you want to program in X Windows rather than the shell.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.