4 ms·
Seven Languages: A Pragmatic Guide to Learning Programming Languages
- delluminatus 17y agoInteresting language choices. I suppose they were picked to provide an introduction to various paradigms. Let's see: Ruby - Dynamically typed, scripting language Io - Not sure. Smalltalk-esque object orientation, I guess. Prolog - Crazy logic programming! Scala - Functional? JVM? (does he really need this and haskell and Clojure?) Erlang - I guess this is like a demonstration of concurrency and actors? Or something? Clojure - Woo! A lisp dialect! Haskell - Functional, strongly-typed. I think I would take out Scala and put in something more imperative and different, like Go, C#, or Lua. I might also replace Ruby with Python. I learned Ruby as my first language and I find myself using Python a lot more anyways (Ruby is sexier though, I admit). The idea itself might not be sound. (A language a week? Talk about a crash course!) I'm tempted to get it anyways. It's a unique approach, so props to the author for that.
- plesn 17y agoAnother book taking this kind of horizontal approach explains different programming paradigms rather than concrete languages: "Concepts, Techniques, and Models of Computer Programming" by Peter Van Roy and Seif Haridi (http://www.info.ucl.ac.be/~pvr/book.html http://www.info.ucl.ac.be/~pvr/book.html). It is IMHO a deeply illuminating book.
- gtani 17y agoYeah, CTMCP is becoming a SICP-like acronym. Here's the for Dummies version http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
- draegtun 17y agoIo - Not sure. Smalltalk-esque object orientation, I guess. They chose/described Io as being the The minimalist prototype language ref: http://www.pragprog.com/news/core-data-in-print-seven-languages http://www.pragprog.com/news/core-data-in-print-seven-langua...
- runevault 17y agosome of the section on IO is included in free preview, and looked interesting. I find it funny that most of the languages had some feature or the like to recommend them and why they are worth learning (Haskell = type system and functional purity, Clojure = a Lisp, Io for prototyping, Erlang for concurrency/actors, etc) but Scala is just "this is a hot new language". Especially since some things got knocked out for not offering anything you could not get in the other offered languages.
- gtani 17y agoother languages he could've included: - F# (my fav) - ocaml - common lisp - scheme - python - lua - factor
- Tichy 17y agoI always wanted to learn Prolog. Is there still a use for it these days?
- weaksauce 17y agoI just learned a bit of it for a class in programming languages(paradigms, assembly(simple), prolog, haskell, perl) prolog is a bit of a pain to work with if the problem is mildly imperative in nature. It is very useful if the problem is or can be written in a declarative fashion. That's just my take on it from learning a bit of it for a class though. I am sure if you are a veteran at it you will be able to make it bend to might.
- j_baker 17y agoIt's a bit like lisp was traditionally. You'll probably never find an employer that will allow you to use it. But it's worth it just to understand a new way of thinking about programming.
- hairsupply 17y agoThe jokes are still relevant. Q: How many Prolog developers does it take to screw in a lightbulb? A: No
- abreu_alexandre 17y agoI bought the book and love it so far; it is not yet complete but the intents of the author are clearly geared toward a rather deep (limited by space though) review of the selected languages; all this is supported by meaningful projects to get passed the syntax and have a feel of the core decisions that underline every language, good work so far!