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.
Hey guys, I am a die hard linux fan and use it all the time, carry my knoppix around and stuff. I know some C and some C++ but I really want to get into it. Can you guys give me some ideas? books, tutorials, websites, anything! Also, can somebody link m to a C compiler for linux preferably with a gui. Thx!
ps. also what is the diff between C, C++, java, python, and perl? an explaination or a link would be fine.
Thanks again
Last edited by Jmcatch742; 01-17-2005 at 05:41 PM.
GCC is the C/C++ compiler you want to use with Linux. It's free, and it's what basically everyone uses for everything linux. There is also an Intel compiler (ICC) which can be had for free for non-commercial use, and optimizes better for Intel processors... but won't compile a lot of things (like the kernel...) without going through a huge hassle first.
There are billions of books out there, I haven't ever run across any I'm in love with. If your already pretty C proficient then read Efficient C Programming. It is good at telling you things not to do and why you shouldn't be doing them. Keep in mind though.... this isn't a book written for system's programmers. A lot of things you would do in kernel coding are considered big no no's for applications programming (like goto's for instance).
As far as a gui IDE... there are a bunch, but I find major short comings in all of them. I let somebody else chime in on these because I pretty much just stick to vim/gvim and don't use any fancy IDE's.
C = compiled low to mid level functional language.
C++ = compiled high level object oriented language
java = compiled to byte code (run in virtual machine, very portable) high level object oriented language
python = very high-level interpreted object oriented language
perl = I guess I would call this a mid to high level functional language that is really great for data extraction. It is a common language used for web programming (cgi-scripts) and the like.
of course.. those tiny snippets are very basic definitions. It is certainly possible to write java or C++ code in a functional way just as it's possible to write OO code in C... but some languages have constructs that make it more appropriate to code in certain fashions with them.
It is a good idea to read as much source code as you yourself write, if not more. A lot of Gnu code contains syntax and semantics that might not seem to make any sense, but which is completely compilable by Gnu CC. Kernels and many userspace applications are written in C.
There are, so to speak, differnet types of programmer for a person to be: developer, debugger, bug hunter, modifier. researcher, pure coder, or whatever conceivable/reasonable. If you are the type of person who wants to find out how a PART of something works or to find the root of a bug or annoyance, with open source there are various techniques, but no single easy way. Much of the source that comes in the form of a tarball in the world contains more than several .h and .c files: Running a trace can take a long time on source code unfamiliar to one.
Knowing as much as possible about syntax, semantics, and specifications, (and that which is provided by standard libraries), allows for ease in writing programs on the fly or in an emergency.
Do not know any forums or stuff ( i learned my self when i didin't had acces to the net), but I can give you advice:
Code, code and code again, until your fingers will bleed. That's tha way i learned it, writting some pointless code.
Luckily with Linux and most of the tools, you can get the src code from the CDs and read it, which is quite educational. Aslo, most languages have 1 or more 'Cookbooks' available eg http://cprog.oreilly.com/ .
Originally posted by jtshaw
[B]A quick different between the languages...
C = compiled low to mid level functional language.
C++ = compiled high level object oriented language
I highly disagree with you calling C "low to mid level" and C++ "high level", C++ can do anything C can do with added features for OO programming, templates and other such features, but if your going to call it "high level" than C is a high level language too.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.