

Principles of Reactive Programming - steveb
https://www.coursera.org/course/reactive

======
sinkasapa
I think this course looks like it could be a lot of fun. Erik Meijer is a
great teacher with lots of enthusiasm. The introductory video makes it look
like we just walked in on a particularly awkward moment, though, like they set
the bench they're all sitting on down in a suspiciously bad smelling elevator
car.

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](http://lambda-the-
ultimate.org/node/3642)

It uses this really great book by Graham Hutton called Programming in Haskell.

~~~
jcurbo
Programming in Haskell is an excellent book, I liked it a lot more than some
of the usual recommendations (Learn You a Haskell, etc).

------
tomku
I don't think I've ever signed up for something more quickly than when I saw
this announcement pop up on Twitter. Really enjoyed the Functional Programming
with Scala course when it ran last year, and I'm happy to see the sequel come
to fruition.

~~~
727374
The Functional Programming class I took last year was pretty much as good as
the expensive CS courses I took at Big Name U. Oh, and it happened to be
taught by the guy that invented Scala. I'll admit it, I'm turning into a
Coursera fanboy.

~~~
nly
Note that the Functional course is a recommended prerequisite for the Reactive
one and the former runs again at the beginning of September, meaning you can
do both in sequence.

~~~
goostavos
Is there a place to download coursera videos like you can with Udacity? I'm
really interested in the Scala course, but it just kind of sucks that it can
only be taken during a certain time frame. I've been working my way through
Programming in Scala, but the course seems like it'd be a great compliment for
understanding the "functional" style of programming.

As it is now, I feel I'm simply a compiler which translates my imperative
Python background into Scala syntax.

~~~
mkopinsky
While the course is running (at least for the course I'm currently enrolled
in) every video has a download icon at the far right.

At times (for me), the time-based nature of coursera is a very good thing. If
I know that I need to complete a homework by 1am Sunday night, which means I
need to finish watching this week's videos by Thursday night, that means
there's a chance I'll actually do so. Without that deadline (and with no money
or grade on the line) HN or Reddit or other timewasters are far too tempting.

~~~
mogrim
Me too, a deadline really forces me to get down to studying, it's all too easy
to let life get in the way otherwise!

------
rybosome
Fantastic! I've been wanting to learn FRP for quite some time. The fact that
this is a follow-up to the awesome Scala course is a bonus.

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?

~~~
seanmcdirmid
They don't mention FRP. RX is a subset of FRP oriented around just event
streams without continuous signals; think of it as FRP lite. Their actors and
futures unit makes me wonder if this is also about concurrency in addition to
reactivity. Nothing about state repair at all.

If Conal Elliott ever decides to teach a coursera on FRP...

------
mgraczyk
In case you didn't notice, this course is being co-instructed by Erik Meijer,
creator of the fantastic reactive extensions for .NET library.

[http://msdn.microsoft.com/en-
us/data/gg577609.aspx](http://msdn.microsoft.com/en-us/data/gg577609.aspx)
[http://msdn.microsoft.com/en-
us/library/hh242985(v=vs.110).a...](http://msdn.microsoft.com/en-
us/library/hh242985\(v=vs.110\).aspx)

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).

~~~
macca321
If you're into FRP in .NET, please checkout the OLINQ project on github. It
lets you define LINQ queries against reactive sources and have them update
themselves as the sources change, letting you do things like realtime
aggregation in a couple of lines of code.

I think it's wickles.

[https://github.com/wasabii/OLinq](https://github.com/wasabii/OLinq)

------
ghc
Back when Borders was still around I stumbled upon a Functional Reactive
Programming book by Paul Hudak. To this day it's still one of my favorites. If
you know Haskell and don't want to learn Scala, you might enjoy this as an
alternative to the course. The book is called _The Haskell School of
Expression: Learning Functional Programming through Multimedia_.

Amazon link: [http://www.amazon.com/The-Haskell-School-Expression-
Programm...](http://www.amazon.com/The-Haskell-School-Expression-
Programming/dp/0521644089)

~~~
thetwiceler
As far as I know, Hudak has updated and renamed his book to _The Haskell
School of Music_ , and it's available for free from the Yale Haskell Group's
website here:
[http://haskell.cs.yale.edu/?post_type=publication&p=112](http://haskell.cs.yale.edu/?post_type=publication&p=112)

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.

~~~
fusiongyro
Pretty sure that's just a different book by the same author. "Updating" a book
on graphics to make it about music instead doesn't sound like a second edition
kind of maneuver.

~~~
hrjet
... especially true for one dealing with an "immutable" programming language

:)

------
joshz
Typesafe also just announced a tutoring program for this and the intro course.

[http://typesafe.com/blog/announcing_typesafe_new_coursera_tu...](http://typesafe.com/blog/announcing_typesafe_new_coursera_tutoring_program)

------
essentials
I haven't taken Odersky's first course, but I'm fluent in Java and Clojure. Do
you guys think that would suffice or will Scala knowledge be a prerequisite?

~~~
oacgnol
If you're well versed in Clojure and FP principles, the only difference for
you would be in picking up Scala syntax, in my opinion.

~~~
Fishkins
I'd say the type system is a non-negligible difference. Still, knowing Java
and Clojure is a good foundation for learning Scala.

------
eranation
This is a follow on course to Functioal Programming with Scala, and led by
Martin Odersky, Erik Meijer and Roland Kuhn. Signed up

------
arityfn
This is the most awkward introduction video Ive seen so far. I really enjoyed
Erik's introductory course on haskell so really looking forward to this
course.

~~~
modersky
Yes, sorry for the video :-) We had just 1 hour in the same place together,
and that was in a hotel conference room and we were all tired from our
respective conferences. We'll shoot another one when we meet next and will
replace the video then.

~~~
arityfn
Cool, I got a response from Martin Odersky. I really enjoyed your course on
scala :) so looking forward to this one.

------
jskonhovd
Signed Up!! The Functional Programming with Scala Course was very good.

------
lelf
Note: this is not about “FRP”

(if you don't believe me —
[http://www.reddit.com/r/haskell/comments/1l7ru2/principles_o...](http://www.reddit.com/r/haskell/comments/1l7ru2/principles_of_reactive_programming_coursera/cbwvpjq))

~~~
pohl
That's a good thing to point out. The "reactive programming" in the course
title comes not from the acronym FRP but from this:

[http://www.reactivemanifesto.org](http://www.reactivemanifesto.org)

------
theboywho
This is awesome news. I really enjoyed the Functional Programming with Scala
course and can't hide my excitement for this one.

This is also interesting to me because it shows that teaching and learning
does not have to be at some big name University.

------
ridicter
Can some explain like I'm 5 the tradeoffs between Go/Scala/JS[node.js]? I've
been googlin', and there aren't enough articles that compare and contrast the
three.

~~~
lobrien
Go is supposed to be a better C.

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.

------
Nekorosu
My only complain it's in Scala. I wish there were the same course but in
Haskell.

------
zura
Hm, did Erik left Microsoft for Applied Duality, Inc. ?

~~~
Qerub
[http://channel9.msdn.com/Forums/Coffeehouse/Erik-Meijer-
is-l...](http://channel9.msdn.com/Forums/Coffeehouse/Erik-Meijer-is-leaving-
MS)

~~~
zura
Thanks, as it says, Brian Beckman has also left MS.

