I received an email today from the publisher Pragmatic Programmers noting the availability of the beta version of the book Seven More Languages in Seven Weeks.
The predecessor book Seven Languages in Seven Weeks was touted as a very good book, but I found the subjects to be only mildly interesting as I had tinkered a bit with some of those languages.
The languages in the new book, however, pique my interest.
I’ve been playing with Lua off and on for about eighteen years. I won’t claim to be good at it, but it embodies a simplicity in almost every aspect of the language ( syntax, runtime, C bindings, …etc. )
Factor is postfix RPN language like Forth that runs under the Java Virtual Machine. Factor seems to espouse the Forth philosophy of creating a language using the language primitives to suit your needs. I look forward to playing with Factor.
Elixir is a programming language whose output runs on the Erlang virtual machine (BEAM).
I have toyed with Erlang a bit, but Elixir looks to be more inviting. The core philosophy seems to be that everything is an expression. Elixir supports Erlang-style concurrency and can even invoke Erlang functions.
An interesting facet of Elixir is that documentation can be embedded in modules and functions. The Elixir REPL is then capable of displaying the documentation for any module or function in a given runtime program. ( It seems like REBOL had a feature similar to this. )
Elm is a FP language that supports Functional Reactive Programming (FRP). I’ve heard this buzzword and know very little about it. Hopefully, exercising Elm will enlighten me.
Julia is a dynamic language geared for heavy computation and parallel computing. It targets the LLVM.
MiniKanren is a logic programming language based on “relations.” Interpreters for the language have been implemented in many other host languages ( including Lua and Elixir ). Many years ago, I had been interested in Prolog. I would like to take a look at MiniKanren to see how relational programming stacks up to Prolog’s inference engine approach.
Idris is said to be a general purpose FP language with “dependent types.” I am going to have to read this book to figure out what that means.
I had bought a book in beta from Pragmatic Programmers several years ago. I received updates as they occurred and was allowed to participate in a group editing ticketing system. Readers of the beta book could cite errata via the ticketing system in real time so that corrections could be made for the finished product.
I am looking forward to reading this book. I just hope it doesn’t actually take seven weeks to get through this material.