LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Easy ways to learn/get into programming (https://www.linuxquestions.org/questions/programming-9/easy-ways-to-learn-get-into-programming-279018/)

Jmcatch742 01-17-2005 05:39 PM

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

jtshaw 01-17-2005 05:45 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.

jtshaw 01-17-2005 05:56 PM

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.

jeorj_euler 01-17-2005 06:56 PM

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.

Jmcatch742 01-18-2005 12:47 PM

Does nebody know of a good webiste or forum?

Cron 01-18-2005 12:53 PM

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

csfalcon 01-18-2005 01:50 PM

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.

chrism01 01-18-2005 06:21 PM

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/ .

Jmcatch742 01-19-2005 12:23 PM

yeah thanks guy, i may take a class aslo

shengchieh 01-19-2005 04:06 PM

> 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

tamoneya 01-19-2005 04:27 PM

Google is your friend. In the google directory there is a programming sub-directory. It has many links for MANY different languages.
:study:

lowpro2k3 01-19-2005 09:24 PM

Quote:

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.

/me ends rant

chrism01 01-20-2005 06:13 PM

Here's a free on-line book:
http://www.advancedlinuxprogramming.com/


All times are GMT -5. The time now is 03:20 AM.