[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

strategies for learning new languages

To follow up on the "learning languages" thread
I'd be interested to hear resident polyglots comment on the following

  What strategies do you use for becoming proficient in a new

By "strategy", I mean something along the following lines:

 * Pick up a book like "Teach yourself Befunge in 21 days" and read it
   cover to cover.

 * Skim over the language manual, pick up quickly basic constructs,
   and start writing code as soon as you can, consulting the manual
   for more advanced features as necessary.

 * Find a relatively short, self-contained program whose purpose you
   clearly understand, and try to read and understand the code,
   consulting the language manual when necessary.

 * Find someone proficient in the language and have them help you code
   up a meaningful piece of functionality.

 * Try to identify and concentrate on features of the language that
   are absent from other languages you know. A few random examples to
   illustrate the point may be in order.

   ** Perl (and Python, and probably a bunch of other languages) allows
      you to dynamically create named procedures. Example:

   ** JavaScript's prototype object allows you to add new methods and
      attributes to all instances of a class. For example, you can add
      the reduce() method to the Array class:

   ** Tcl allows you to create and manipulate Tcl interpreters

   ** Tcl allows you to manipulate stack frames:

 * Find a feature-for-feature comparison between the new language and
   another language that you are already proficient in. Something
   along the lines of

 * Look at the language implementation, if the interpreter/compiler's
   source code is available and written in a language in which you are

 * A combination of the above?