Best way to learn a Programming Language

(Update, added Casting SPELs) For better or worse, it’s accepted in our industry to be fluent in only a single programming language or technology. It’s lame, but there are plenty of excuses for this. “Turing equivalence” right? Finding quality tools is hard. And worse yet, to learn a new language you have to spend days …

My programming languages story

It’s bad style, but I must start with an aside:  on reddit/scheme, there was a link to a blog series on developing a Scheme interpreter over January 2010.  It might not implement any particular Scheme standard or particularly many libraries, but it’s got all the functional elements.  Bootstrapping a programming language is fun and easy. …

Comparing “Go” to “Brand X”

The old-timers might figure out what Brand X really is before the end. For the rest of us, the reveal at the end is just as shocking as the author intended.  All and all, it confirms what I suspected: Go nice enough, but it is hardly original.  Sure it looks like a great language to …

Programming Language Popularity

Some interesting metrics of programming language popularity. LangPop.com – statistics on greping search queries on various web properties — usage in open source projects, books published on Amazon.com, etc. TIOBE index – similar listing, of search engine results exclusively.  Longer tail listing, and shows trending. Happiest users – this one is just a static blog …

Continuation Patterns

Interesting paper on the topic of various program patterns implemented in coroutine.  As mentioned in a previous post, continuations are a powerful control flow primitive — they can be used for: Call with Current Continuation Patterns, Ferguson & Deugo Escaping recursive procedures and loops Reentry into recursion Coroutines Backtracking Simulating multitasking The paper covers these …

Is SICP just a book?

SICP stands for “Structure and Interpretation of Computer Programs”, and is an introductory computer science book, written by Hal Ableson and Gerald Sussman for their introductory computer science course given at MIT from 1981 until 2007.  A professional recording done in 1986 and is also available for download online, as is the book itself. Why …

The Python debate on Tail Calls

The Beginning It started with an innocent enough blog post by Guido van Rossum commenting on Python’s lack of tail call elimination in Python’s history.  Okay, not even commenting – it was a parenthetical sentence fragment! “Origins of Python’s “Functional” Features” on The History of Python The internet went crazy with comments.  Guido attempted to …

Your Favorite PL

In your favorite programming language I came across this site, hanoimania, when researching application virtual machines.  The author, personally, has translated a towers of hanoi solver to dozens of programming languages, utilizing: Recursion, with Scheme of course, Pattern matching, with Haskell And bare assembly, such as this MIPS example Although, the embedded world uses the …