LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 01-17-2005, 05:39 PM   #1
Jmcatch742
Member
 
Registered: Jul 2004
Distribution: Mepis, Ubuntu, Slackity slack
Posts: 159

Rep: Reputation: 30
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

Last edited by Jmcatch742; 01-17-2005 at 05:41 PM.
 
Old 01-17-2005, 05:45 PM   #2
jtshaw
Senior Member
 
Registered: Nov 2000
Location: Seattle, WA USA
Distribution: Ubuntu @ Home, RHEL @ Work
Posts: 3,892
Blog Entries: 1

Rep: Reputation: 66
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.

Last edited by jtshaw; 01-17-2005 at 05:46 PM.
 
Old 01-17-2005, 05:56 PM   #3
jtshaw
Senior Member
 
Registered: Nov 2000
Location: Seattle, WA USA
Distribution: Ubuntu @ Home, RHEL @ Work
Posts: 3,892
Blog Entries: 1

Rep: Reputation: 66
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.
 
Old 01-17-2005, 06:56 PM   #4
jeorj_euler
LQ Newbie
 
Registered: Jan 2005
Location: MidWest United States
Distribution: Mandrake, Knoppix
Posts: 9

Rep: Reputation: 0
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.
 
Old 01-18-2005, 12:47 PM   #5
Jmcatch742
Member
 
Registered: Jul 2004
Distribution: Mepis, Ubuntu, Slackity slack
Posts: 159

Original Poster
Rep: Reputation: 30
Does nebody know of a good webiste or forum?
 
Old 01-18-2005, 12:53 PM   #6
Cron
Member
 
Registered: Jun 2004
Location: Lithuania
Distribution: FreeBSD, Arch, Ubuntu
Posts: 145

Rep: Reputation: 15
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.
 
Old 01-18-2005, 01:50 PM   #7
csfalcon
Member
 
Registered: Jun 2004
Location: MD
Distribution: Fedora Core
Posts: 269

Rep: Reputation: 31
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.
 
Old 01-18-2005, 06:21 PM   #8
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,287

Rep: Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034
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/ .
 
Old 01-19-2005, 12:23 PM   #9
Jmcatch742
Member
 
Registered: Jul 2004
Distribution: Mepis, Ubuntu, Slackity slack
Posts: 159

Original Poster
Rep: Reputation: 30
yeah thanks guy, i may take a class aslo
 
Old 01-19-2005, 04:06 PM   #10
shengchieh
Member
 
Registered: Jul 2004
Location: Palo Alto, CA
Distribution: #! Korora
Posts: 472

Rep: Reputation: 30
> 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
 
Old 01-19-2005, 04:27 PM   #11
tamoneya
Member
 
Registered: Jan 2005
Location: MA
Distribution: Ubuntu 7.10
Posts: 558

Rep: Reputation: 30
Google is your friend. In the google directory there is a programming sub-directory. It has many links for MANY different languages.
 
Old 01-19-2005, 09:24 PM   #12
lowpro2k3
Member
 
Registered: Oct 2003
Location: Canada
Distribution: Slackware
Posts: 340

Rep: Reputation: 30
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
 
Old 01-20-2005, 06:13 PM   #13
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,287

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


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
What is the best programming language to learn jax8 Programming 25 04-04-2010 10:21 AM
What are some easy ways to make my gnome desktop look fantastic? Jengo Ubuntu 4 07-05-2005 04:00 AM
Which distro to use, a really easy to learn one.. for a newbie ;) Erik Plaggenmar Linux - Software 14 06-07-2004 08:39 AM
easy ways to change distributions? r0dr0ddy Linux - Distributions 3 07-28-2003 09:22 PM
Want to learn programming. ddpicard Programming 3 11-09-2001 01:20 PM


All times are GMT -5. The time now is 02:52 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