Hacker News new | ask | show | jobs
by GHFigs 5273 days ago
Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal).

I'd be interested in current opinions on this. e.g. is there something one should look at before Icon if they want to lean about coroutines?

2 comments

Lua has built-in support for coroutines. Python and Ruby have (limited?) support for coroutines via generators/iterators (via the yield statement).

But why not Icon? It has plenty of neat features on its own, such as goal-directed execution (which I've never seen in another language). Plus it has several pretty solid (and free) introductory e-books: http://www.cs.arizona.edu/icon/books.htm

I think some people might see Lua has giving more bang for your buck because of its popularity in things like game scripting among other things.
Lua is probably the most useful one to know that has that.

See also: Actors, async and reactive programming