Easy ways to learn/get into programming
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 |
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. |
A quick different between the languages...
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. |
Does nebody know of a good webiste or forum?
|
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. :D |
I agree with Cron, after you learn the basics from a intro book, it's mostly about practice. www.topcoder.com/tc is a good place to get some practice.
|
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/ .
|
yeah thanks guy, i may take a class aslo
|
> Does nebody know of a good webiste or forum?
See my webpage, http://www.websamba.com/Linux_Docs_Links Scroll all the way down to Programming -> C or C++ for more links. Sheng-Chieh |
Google is your friend. In the google directory there is a programming sub-directory. It has many links for MANY different languages.
:study: |
Quote:
/me ends rant |
Here's a free on-line book:
http://www.advancedlinuxprogramming.com/ |
All times are GMT -5. The time now is 03:20 AM. |