Jump to content

Most effective way to learn a language?

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
6 replies to this topic

#1
Tooke

Tooke

    Newbie

  • Members
  • Pip
  • 8 posts
Greetings everyone,

For a few years I used to program in just VB, but after switching to GNU/Linux I'm looking to expand my horizons. I've taken interest in and have learned a bit of BASH, C++, and python. This brings me to my question: How should I learn these languages? My current method has been to just google for tutorials until I find a good one; it seems to be working out alright. Also, should I focus on one, and after I get very profficient start learning the next? I was just wondering if any of the more experienced coders here have any tips/advice. :)

#2
Raynes

Raynes

    Newbie

  • Members
  • PipPip
  • 17 posts
All of those languages have great tutorials, references, and even some free online books available for them. If you want to know what tutorials/books your time is best spent on, ask in places like this site, and I'm sure people will recommend tutorials and books for you.

The best way to learn a language is to *use* that language. Write little projects as you go along. Eventually, do some large projects in whatever language you're using. If you can manage some advanced projects, it's probably safe to begin learning another language.

Just don't try to cram too much at one time. If you don't use any one language enough, you'll begin to forget things.

#3
Sapman

Sapman

    Newbie

  • Members
  • PipPip
  • 20 posts
I agree with Raynes, don't try to do too many things at once. Learn one language and stick to it until you feel you have learned enough / what you need to know. There's tons of resources out there on the web.

You said you used to program in VB, so I'm guessing you took a break, and want to come back. If that's the case, I would recommend you learn python first, it's probably the easier of the 3, and will give you a good introduction to programming in general.

#4
Tooke

Tooke

    Newbie

  • Members
  • Pip
  • 8 posts
Thanks for the replies guys, they're very helpful. By the way Sapman, actually I didn't take a break, it's just that when I started using GNU/Linux in February I also stopped using Windows, and VB went along with it.

I think I'll start focusing on python, then move to C++, and then BASH. Are there any other languages that anyone might recommend?

#5
artificial

artificial

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 624 posts

Tooke said:

I think I'll start focusing on python, then move to C++, and then BASH. Are there any other languages that anyone might recommend?

You should learn the languages you like and not the ones we use. ;)
Avoid using all language at once for it will end in chaos. Start with one and, if you think you've mastered the basics, go to the next. You'll see that many things are similar (e.g. OOP).

EDIT: BASH Tutorial

Greets,
artificial

PS: Welcome to the world of Linux! :)

Edited by artificial, 29 July 2010 - 03:18 PM.
EDIT

Sometimes words ain't enough to express something. That's why computer scientists use double words.

#6
Alexander

Alexander

    It's Science!

  • Moderators
  • 4,118 posts
C++ only when you need it (really), Python is a fairly comprehensive scripting language that should help you abstract code so I recommend continuing learning it!

For your question: Purchase or read online some books on the programming language you're working on (I can list a few if you'd like), they'll be much more circumstantial than tutorials to your learning.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.

#7
yamman13

yamman13

    Learning Programmer

  • Members
  • PipPipPip
  • 56 posts
I find that starting a project that I know is a bit beyond me, but interesting, helps. For example attempting a game, and having to learn stuff along the way such as GUIs.
It gives me a goal, makes me write code for myself, not just copying tutorials, and forces me to learn new aspects of the language.