Hacker News new | past | comments | ask | show | jobs | submit login
Seven Languages: A Pragmatic Guide to Learning Programming Languages (pragprog.com)
18 points by j_baker on March 24, 2010 | hide | past | favorite | 11 comments



I 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!


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


Another 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). It is IMHO a deeply illuminating book.


Yeah, CTMCP is becoming a SICP-like acronym. Here's the for Dummies version

http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf


Io - 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-langua...


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


other languages he could've included:

- F# (my fav)

- ocaml

- common lisp

- scheme

- python

- lua

- factor


I always wanted to learn Prolog. Is there still a use for it these days?


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


It'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.


The jokes are still relevant.

Q: How many Prolog developers does it take to screw in a lightbulb?

A: No




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: