views:

223

answers:

5

As developers, we have to constantly learn about new languages and technologies. What did you do to learn the programming languages (or frameworks) you know now? Please list

  • Programming language or framework
  • Resource
    • Either web page
      or
    • Book
  • Did you have any special projects for that language / Can you recommend a project to learn that language?
+5  A: 

Project Euler is a great way to learn any language. It is a series of math/logic problems that are intended to be solved through programming. It is particularly suited to interpreted languages like Python, but people use everything from Java to machine code.

Also, a great Python resource is The Python Challenge. Learn Python and practice your deductive reasoning and problem solving skills all at once. This is a novel learning approach that is definitely worth checking out, even if you aren't that into Python.

I like the problem solving approach to learning programming languages since you really need to use the language 'in anger', as opposed to the more traditional 'tutorial' approach. Tutorials are still great, but it is too easy to just copy code without really thinking too much.

Chris Lawlor
A: 

When I learn open source frameworks I usually start with the getting started stuff and some of the docs. But as of lately I have become much more inclined to simply read the source code of the framework. I always work with the source code for my frameworks present in my development environment.

So I read less docs and more source code. Reading source code is really powerful for all kinds of learning.

krosenvold
+1  A: 

I'm learning C#/.NET right now, and finding that a great way to do it is by doing some of the projects in the Coding4Fun book. It has a lot of projects that are fun enough to hold my attention, and which are built in small chunks with an explanation of what each chunk is doing. There aren't "exercises," per se--you type in the code that's in the book--but it brings me back to the days of learning the intricacies of programming in BASIC by typing in programs from Compute! magazine. I personally am finding it very helpful.

MattK
+4  A: 

Cookbooks.

I learn by example really well, and after you implement a few cookbook examples in your language of choice, and start tweaking them a bit, hitting errors, deducing what made those errors...you'll learn pretty quick.

Caveat: Everyone learns different, you might learn better by getting a load of theory dumped on you...I just prefer examples.

bigwoody
+1  A: 

+1 for Project Euler, I've been working through the first few problems with haskell (GHC) and scheme (PLT Scheme).

As for resources, I've run across the full texts for some books online (sometimes) under a creative commons license like Practical Common Lisp and Real World Haskell. There's also the random exercising of Google-fu to dig up resources of whatever programming-language-of-the-week I'm learning/trying to learn.

hydrapheetz