LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
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 05-22-2008, 05:23 PM   #1
Mark7
Member
 
Registered: Feb 2006
Location: Leicester
Distribution: xUbuntu 20.04 currently
Posts: 274

Rep: Reputation: 44
Is There Any Way I Can Learn Programming Online?


And what's the most useful language to start with?
 
Old 05-22-2008, 05:48 PM   #2
nadroj
Senior Member
 
Registered: Jan 2005
Location: Canada
Distribution: ubuntu
Posts: 2,539

Rep: Reputation: 60
not really sure what you mean by 'online'. sure, you can read references and write programs on your computer at your own pace--or even do online courses.

theres not really such thing as a single source (unless maybe 'the internet' as a whole). what i mean by this is that even if you go study this, or any other topic, you will have to seek another reference, at one time or another, opposed to an instructor or single text book.

also one cant really say whats the most useful programming language, which is a pretty heated topic. every programming language is made for a purpose (of course), and each one has its ups and downs. there are websites that collect data from surveys to give an idea of how popular/used one is, though.

to recommend a language to start with, there are some factors, such as: your current knowledge of 'programming'/design/abstraction, the level of knowledge your seeking to learn, etc. for example, if you want to just start making pretty programs, an open source 'Visual Basic'-like language may be suggested. if you want to start off from the very ground up, you could try assembler language. a few levels up from assembly would be C, i think. if you want to start programming with OOP, i would recommend C++ or Java.

of course my opinion is biased towards the languages i know, and is personal preference. there are easily hundreds, if not thousands, of languages, so my scope is very limited.
 
Old 05-22-2008, 05:49 PM   #3
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,363

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
1. Yes
2. you'll get everybody recommending their own fave, just like linux distros



But, more seriously, if you are on Linux, you'll need to understand at least one shell, usually bash:
http://tldp.org/LDP/Bash-Beginners-G...tml/index.html
http://www.tldp.org/LDP/abs/html/

Good Linux tutorial:
http://rute.2038bug.com/index.html.gz
http://www.comptechdoc.org/os/linux/

Comparison MS to Linux:
http://linux.oneandoneis2.org/LNW.htm

My Personal recommendations:
vi/vim editor: avail by default on just about every Unix/Linux/BSD etc:
http://www.vim.org/

Langs:
Perl for speed/ease of development and almost as quick as C:
http://perldoc.perl.org/

C for really understanding what's going on in a computer and extra speed of programs:
http://gcc.gnu.org/

Databases: you'll need SQL, but learn the ver that comes with the Db you use eg:
http://dev.mysql.com/doc/refman/5.0/en/

All of these will come as std on your distro (if you tick/ask for development tools)

Just dive in and ask when you get stuck:
http://catb.org/~esr/faqs/smart-questions.html

HTH

Good luck

Last edited by chrism01; 05-22-2008 at 05:51 PM.
 
Old 05-22-2008, 05:54 PM   #4
95se
Member
 
Registered: Apr 2002
Location: Windsor, ON, CA
Distribution: Ubuntu
Posts: 740

Rep: Reputation: 32
Yeah, choose a language you'd like to start with first (it REALLY doesn't matter that much ). I'll suggest Python (or Ruby or VB work too), since you can start with a structured approach, then learn object orientated programming (OOP) later, all in the same language. They'll all also let you program some pretty nifty programs fairly quickly. Now search for some beginners tutorials in whatever language you chose. You'll probably go through a few of these. You'll find other stuff to read while you're doing this.

As nadroj said though, there is no one, most useful language. The ones I suggested are just my personal suggestion. On another day I may even have suggested something else, like C. Point is, the language doesn't matter so much.
 
Old 05-23-2008, 08:21 AM   #5
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,676
Blog Entries: 4

Rep: Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945
My first program was eight lines long, took me six months to write and had a bug in it.

The way that I learned was simple: I wrote stuff. Sub-war, space-war, all those very-fun games you write for a 24x80 video terminal that only had upper-case characters and no backspace.

I've gotten somewhat better at it since then, of course, but "the way to learn how to do it is to do it."

And here's why: the hard part of programming is not the syntax of a particular language or tool! It's how to think procedurally. For example, what's the bug in this program?
Code:
  10 REM CROSS-THE-ROAD
  20 IF <THERE IS A CAR WITHIN 50 FEET> THEN GOTO 20
  30 <CROSS-THE-ROAD>
  40 END
(It's all com-in' back to me now-w-w-w-w...)

What's the bug?

Answer: a parked car.

(In revision 2.0 the robot crossed the road and got smooshed: there was a parked-car within 35 feet, which was ignored, so the robot stepped right out into traffic...)

(In revision 3.0 the robot was destroyed by a two-way street.)

(In revision 4.0 the robot failed when placed at an intersection, because it considered both directions and therefore hung.)

(In revision 5.0 an error was found in the "cross the street" algorithm at that intersection, as the robot attempted to cross diagonally.)

(In revision 6.0 the entire Windows-based system was replaced by Linux, which has worked flawlessly ever since. The robot now simply rides in an elegant rickshaw pulled by four intelligent penguins.)

Last edited by sundialsvcs; 05-23-2008 at 08:25 AM.
 
Old 05-23-2008, 09:31 AM   #6
armanox
Member
 
Registered: Sep 2005
Location: Baltimore, MD, USA
Distribution: Fedora, Gentoo, Debian, Slackware, IRIX, OS X
Posts: 192

Rep: Reputation: 32
Another good source of just about everything for you:

[urlhttp://www.freeprogrammingresources.com/[/url]

The have tutorials, guides, IDEs, links to compilers, links to hosting, etc. Just about everything you could need to get onto your feet.
 
  


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
Which Programming Language to Learn? BlahBlah_X Programming 6 06-19-2007 08:12 AM
Learn Linux Online ctkroeker Linux - Newbie 10 07-18-2005 04:51 PM
online courses: I want to learn everything - where should I start sunowww General 6 03-17-2004 09:55 AM
Want to learn programming. ddpicard Programming 3 11-09-2001 01:20 PM

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

All times are GMT -5. The time now is 01:35 PM.

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