Coursera Programming Languages wrote:
Learn many of the concepts that underlie all programming languages. Develop a programming style known as functional programming and contrast it with object-oriented programming. Through experience writing programs and studying three different languages, learn the key issues in designing and using programming languages, such as modularity and the complementary benefits of static and dynamic typing. This course is neither particularly theoretical nor just about programming specifics -- it will give you a framework for understanding how to use language constructs effectively and how to design correct and elegant programs. By using different languages, you learn to think more deeply than in terms of the particular syntax of one language. The emphasis on functional programming is essential for learning how to write robust, reusable, composable, and elegant programs – in any language.
Sounds interesting, so why not sign up now and watch the introductory videos to see if it looks like something you'd like to do as well?
This seems like the same reason we tell newbies not to use an IDE; it just gets in the way of learning the language. I'll try EMACS for the first week or so, but if I feel like it's just getting in the way I'll ditch it and use Notepad++.
Since you're used to Wordstar bindings, you'll probably want wordstar-mode (built-in, so just use M-x wordstar-mode to enable it). That should make you pretty comfortable in Emacs.
I was tempted to use custom bindings at first, especially to restore the familiar cut / copy / paste shortcuts, but decided to stick with Emacs native bindings and got used to them pretty quickly - but then my plan was to stay with Emacs long-term!
As for learning an IDE and a language at the same time, I sympathize. A lot of people in the Clojure world caution against throwing newbies into Emacs as well as having to learn Clojure but the other school of thought is that Emacs provides the slickest Clojure workflow with the REPL, built-in code evaluation and instant testing so it's worth learning both together. I fall on the side of learning Clojure first, then adding Emacs as soon as you find the workflow of your chosen editor wanting (which you will).
I mostly develop on Mac / Linux but recently bought a Windows 8 "convertible" (touch screen tablet / ultralight notebook combination) and will be taking the course on that so I'm also learning Windows quirks as well as three new languages - fortunately Emacs behaves (almost) identically on Windows 8 to Mac / Linux so at least that will be a constant...
Sean Corfield wrote:How many folks here are signed up for this? How are you finding it?
I think there's a couple of us from JavaRanch doing this course. I'm really enjoying it so far, despite the brisk pace and the workload, which is fairly time-consuming - to work through the videos (making notes as I go along) and do the homework, plus the peer review. Admittedly, I ditched Emacs after a few days as it was just taking too long to get anything done - Sublime Text 2 with an SML REPL works for me, and we'll be shifting to DrRacket soon anyway. At the moment, the course is taking me about 12 hours a week, i.e. just within the 8-12 hours they estimate, but right now I have the benefit of having done the Scala course already, so most of the concepts so far are at least vaguely familiar. When we move into Lisp-country with Racket and encounter less familiar concepts then I suspect I may slow down a bit. I was at the "slow learners" end of the graph for the Scala course too, but I got a good grade and learned a lot on that, so no worries so far.
The course material is fascinating (for a non-CS grad like me) and very well-presented and the homeworks are reasonably challenging. I think this course is at broadly the same level as the Scala one, and it's interesting how they complement each other. I think you can benefit from doing them either way around e.g. the Scala course is helping me here, but equally I reckon learning some SML and especially the concepts in this course would make the Scala one much easier too.
Meanwhile, I'm definitely sold on the benefits of functional programming. Just wish I could land myself a job doing it.
I've been coping OK with emacs (it's years since I've used it) but it is making me pine for my IDE.
My only worry at the moment is that I'm probably going to be out of the country for the last week of the course, so I'm hoping that they release the material early enough for me to finish it before I go.
Sean Corfield wrote:I saw the Scala course was going to run again starting March 25th so I signed up for that, since I missed it last time.
With your Clojure experience you should find it pretty easy - but. at least it'll give you a chance to explore the Dark Side of statically typed FP!