If you haven't see Erik Meijer's haskell course and are interested in that type of thing, check it out:
http://lambda-the-ultimate.org/node/3642
It uses this really great book by Graham Hutton called Programming in Haskell.
I can't wait for this to begin. =)
EDIT: The syllabus doesn't mention any FRP libs. I'm surprised, especially as one of the professors is the author of RX. Maybe because there isn't a canonical one in Scala?
If Conal Elliott ever decides to teach a coursera on FRP...
[1]: http://letitcrash.com/post/59504788607/new-coursera-course-o...
http://msdn.microsoft.com/en-us/data/gg577609.aspx http://msdn.microsoft.com/en-us/library/hh242985(v=vs.110).a...
I encourage anybody who has to write or maintain more than a few lines of C# or .NET code to check them out (and possibly take this class if it turns out to be good).
I think it's wickles.
Amazon link: http://www.amazon.com/The-Haskell-School-Expression-Programm...
The book is a really awesome way to learn Haskell. However, very little of it is actually about FRP; there's one section about GUIs using FRP, and it doesn't go very much in depth.
http://typesafe.com/blog/announcing_typesafe_new_coursera_tu...
[1] https://www.coursera.org/course/progfun
(if you don't believe me — http://www.reddit.com/r/haskell/comments/1l7ru2/principles_o...)
This is also interesting to me because it shows that teaching and learning does not have to be at some big name University.
Scala is supposed to be a better Java.
JS is supposed to be popular.
EDIT: Go is intended to be a systems-programming language with an emphasis not only on runtime efficiency and concurrency, but additionally on such things as compilation speed.
Scala is intended to be a hybrid OO-functional language that is approachable by a broad class of mainstream programmers (i.e., Java programmers), with a type system considerably more sophisticated than Java. The emphasis is, I'd say, on a language that has long-term potential, at the cost of a somewhat problematic toolchain.
JavaScript's enormous advantages are that it is universally available, easy to approach, and flexible enough to support functional techniques.
* Go: statically typed, no type parametrization, good support for CSP-like concurrency, deeply imperative language. Proponents site its speed of compilation, simplicity, and growing community.
* Scala: statically typed, modern and sophisticated type system, supports OO and functional programming, runs on the JVM, has good concurrency support.
I really don't know enough about Node.js to say anything about it. It's Javascript, so it's dynamic typing and a mix of OO and functional programming.