views:

69

answers:

4

I mean there are some great opportunities on net but it is also so hard to learn them if there is no book or screencasts. Examples are, Go, etc...

What's your way of doing it?

A: 

Reading the documentation is a good way, provided the documentation is good. MSDN rocks. Most of the time people go to documentation is when they can't find the solution anywhere else, which can. It's good to read it from time to time and get a hang of the thing.

Sidharth Panwar
+2  A: 

Write an algorithm to remove all comments from the code. Then, document the source code.

gnucom
yeah, the hardcore way it is :D but when there is time, this can make you greatest, a very good answer, thanks
gkaykck
A: 

In the specific example of Go there does appear to be tutorial material such as this. I am pretty doubtful that any serious language would have zero tutorial material.

As a bare minimum I would need a language specification and documentation for the standard libraries. Pragmatically it does seem that the documentation of standard libraries almost inevitably includes code snippets and examples and as these are presumably written by experts in the language you see how such people write their code.

I find that learning yet another procedural/OO language to a level where I can write functioning code is a matter of just working through a bit of syntax and finding my away around the standard libraries - Google is enough for most things. So knowing C, C++ and Java picking up python and PHP is no big deal.

However learning something such as Haskell looks like much more of a challenge, I don't think I'd have a chance without tutorial material.

To answer your specific question, I claim that there is no "best" way to learn only from examples.

  1. To learn only from random example code is a last resort. A "real" application will be big and hard to consume.
  2. Every person learns differently

My personal approach is: First do some reading. Skim material to get a flavour of the langauge, browse the libraries. The do some writing try to solve some small problem. Then do some more reading because now I know what I don't understand. Write some more. Each Read/Write cycle is typically only an hour in duration. I tend to be looking for certain standard things beyong the raw syntax of the language such as

  1. How do we structure larger applications - modules, classes, scope ...
  2. The life-cycle of objects - is there garbage collection for example
  3. How are data structures managed, do we use collection classes for example
  4. Are there common idioms - a simple C example: *dest++ = *src++
  5. How is error handling done? Exceptions?
djna
+1  A: 

Visualize it. Humans are more often visual creatures than otherwise, so create a diagram or other informational graphic of all the elements, and ways they're interlinked, etc (depending upon the topic of study). Not only will you get good education in your target, you'll also hook up others and win fame, fortune an VIP service. (YMMV).

I used this method for getting into Drupal Core, and it suited me quite well.

NewAlexandria