LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
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 07-30-2003, 03:34 PM   #1
sheek
LQ Newbie
 
Registered: Jul 2003
Posts: 10

Rep: Reputation: 0
linux programming


Anybody here with extensive experience in Linux programming ?and if so..what book would you suggest to be the best for starters in the field.
 
Old 07-30-2003, 03:37 PM   #2
DrOzz
Senior Member
 
Registered: May 2003
Location: Sydney, Nova Scotia, Canada
Distribution: slackware
Posts: 4,185

Rep: Reputation: 60
well....depends on what language you wish to learn.
 
Old 07-30-2003, 04:34 PM   #3
sheek
LQ Newbie
 
Registered: Jul 2003
Posts: 10

Original Poster
Rep: Reputation: 0
Ok help me out here....how many languages are we looking at?...so far i know the C language.
 
Old 07-31-2003, 04:32 AM   #4
moeminhtun
Member
 
Registered: Dec 2002
Location: Singapore
Distribution: Fedora Core 6
Posts: 647

Rep: Reputation: 30
"Beginning Linux Programming" from Wrox.
 
Old 07-31-2003, 04:33 AM   #5
moeminhtun
Member
 
Registered: Dec 2002
Location: Singapore
Distribution: Fedora Core 6
Posts: 647

Rep: Reputation: 30
And Python would be nice too.
But don't go for perl. It's pretty notorious for it's messy language design.

Last edited by moeminhtun; 07-31-2003 at 04:34 AM.
 
Old 07-31-2003, 04:54 AM   #6
DIYLinux
Member
 
Registered: Jul 2003
Location: NL
Distribution: My own
Posts: 92

Rep: Reputation: 18
The great thing about UNIX like systems is that virtually every language is available. UNIX was made by and for programmers.

Here is a short list of the more populair languages with free/open source implementations:

Low level
- Assembly
- C

OO
- C++
- Java
- Eifel

Imperative
- FORTRAN77
- Ada

Functional
- Lisp, including Common Lisp
- Scheme
- ML
- Haskell
- Ocaml (ML dialect, with OO features. Efficient compiler)

Scripting:
- Python
- Perl
- Tcl/Tk
- Ruby
- various shells (bash is rather full featured, no real need to try ksh, zsh)

Misc.
- Forth
- Prolog
- Post script
- M4
- Make
- awk

Now to your question. There is no need to learn all languages, but it pays to learn more that one (Brooks: if the only tool you have is a hammer, all problems look like nails)

I would suggest the following mix:

- Get real good at C. It is the system language, you need to know it for mixed language project.
- You should have an adequat grasp of shell scripts; its the glue that holds your system together. Use it to automate repetative tasks.
- For general scripting, shell scripts soon become troublesome for larger projects. Consider Perl or Python. Perl is more suited for system administration tasks, but Python is, IMHO, more readable, easier to learn. It is also OO.
- Python is also great for prototyping, especially if your program is OO.
- Learn a functional language like ML or Haskell. You dont need to become an expert, but it will open your mind to other programming approaches.
- Depending on your area of interest, pick one or more of the following:
- Learn Java if you are interested in writing busines applications
- Learn lisp if youre into symbolic math
- Learn the history and anecdotes of lisp if you want to pass yourself of as UN*X guru
- Learn FORTRAN if you are into numeric math
- Learn Ada if you want to rub shoulders with older DoD contractors (DoD doesnt mandate Ada anymore though)
- Get a working knowledge of M4 and Make, to solve all kinds of build problems.
- Keep an open mind.

I cant really recommend C++. While it allows OO, you still have to know about language implementation details. Want OO and speed ? Check out Ocaml.

Want to know which laguage is fastest ? Check out http://www.bagley.org/~doug/shootout/.

Hope this helps.

ps. I know this list is incomplete. I only mentioned the languages I know a bit. There are many others, some just research projects, other more like a tool than a programming language (bison for example). YMMV
 
Old 07-31-2003, 05:28 AM   #7
shishir
Member
 
Registered: Jul 2003
Location: bangalore . india
Distribution: openSUSE 10.3
Posts: 251

Rep: Reputation: 33
"advanced linux programming" by Mark Mitchell, Jeffrey Oldham, Alex Samuel, Jeffery Oldham is a great book for starters....it covers all the stuff in good enough detail to be able to understand the usage of most of the things..it is a personal fav of mine....

then if you really want to get down to the nitty gritties of the kernel...
linux device drivers by alessandro rubini is a great book...
but this should come only after you have a fair idea of C and well as user space coding
 
Old 07-31-2003, 07:55 AM   #8
sk8guitar
Member
 
Registered: Jul 2003
Location: DC
Distribution: mandrake 9.1
Posts: 415

Rep: Reputation: 30
just to note DIYlinux, perl is also OO
 
Old 07-31-2003, 10:06 AM   #9
sheek
LQ Newbie
 
Registered: Jul 2003
Posts: 10

Original Poster
Rep: Reputation: 0
Thank you all guys...your suggestions are highly appreciated
 
  


Reply



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
Difference between Top Down programming & Bottom up programming minil Programming 1 06-17-2005 02:42 AM
New Forum for Linux-Gurus[Programming/Administration] or Linux-Advanced Users [ Progr raees LQ Suggestions & Feedback 5 04-12-2005 07:35 PM
C/C++ programming for linux leeman_s Linux - General 6 01-28-2003 06:16 PM
Exp. Windows/Linux-Script Programmer - Need Linux Programming Mentor! ruttiger Linux - Newbie 2 10-28-2001 11:00 AM
New to Linux programming .... need help Izhar Programming 2 10-17-2001 03:34 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

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

Main Menu
Advertisement
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
Open Source Consulting | Domain Registration