The Origins

True, none of the languages in this book go all of the way back to the origins of computing. Still, we can look at where we want to go and consider the languages that will help us form a better mental image of how to get there. Of the languages in this book, Lua and Factor have the oldest foundations. The other five are much newer. Lua has been around in some form for over 20 years and was formally released some 15 years ago. Factor was created in 2003. After working through those chapters, you can probably appreciate why they’re in this book.

The Power of Prototypes

Though JavaScript programming has exploded, few people understand what prototype programming is all about. JavaScript, in some ways, muddies the waters around programming models. If you’re not a JavaScript expert, it helps to step back and take in another prototype language, one that’s more pure.

Lua is putting its mark on everyday programming as a language for embedded systems and scripting because the language is compact, pure, adaptable, and clean. The prototype model, at its simplest, is a marvelously malleable paradigm for organization.

I’ll go one step further. The prototype programming model does a fantastic job as an embedded foundation for programming languages on the browser. You even used Lua to build an object model. Understanding tricks like these, you can see why so many are enthusiastically embracing JavaScript as a compilation target for a wide variety of browser technologies like Elm, and that’s why the language is in the book. It’s not just Lua that’s interesting.

Reinforcing Functional Composition

As our industry creeps closer to a broad adoption of functional languages, all developers will need to learn the widest possible variety of techniques for composing with functions. After you’ve worked through both Factor and Elixir, you can appreciate the similarities between composing with pipes and stacks.

One of the best things about working with Factor as an object-oriented programmer for me was that I could start to deprogram the way that I’ve been structuring the world without giving up rich libraries. I also thought the development environment reflected the strengths of the language very well.

Initial Stepping-Stones

We chose the functional programming model for the preponderance of the languages in this book and the original Seven Languages in Seven Weeks [Tat10] because we believe that is where this industry is going. Languages like Lua and Factor are clearly steps toward us getting there; they helped us experiment with code organization and with the way projects and libraries hung together, and they helped to increase our idioms—our vocabulary for dealing with the world in code.

Like any expedition, ours had to step beyond those initial stepping-stones. Let’s talk about the next three languages—those practical languages that formed the well-marked pathways through the heart of our journey.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset