Intentional Programming

In one of my first posts, I asked “Why do we speak of programming languages instead of programming notation?” My thought was, and still is, that code in any existing programming language is just one possible representation of an abstract computational process. Higher-level languages like Lisp are good because they bring the written representation closer… Continue reading Intentional Programming

How Ruby on Rails is Making Me a Better Programmer

I’ve just dived into Rails and Ruby in the past couple of months, but I’ve already benefited from it, so here’s my entry in the How has Ruby on Rails made you a better programmer contest.   1. I finally get Model-View-Controller I’ve seen MVC before, once long ago in the Microsoft C++ Foundation Classes,… Continue reading How Ruby on Rails is Making Me a Better Programmer

Chaining Function Calls

I like Lisp’s prefix syntax. It’s consistent, has natural structure, and makes code-manipulation macros possible. But it’s not always the easiest to read or write. For example, I often want to apply several successive transformations to the same chunk of text. In Perl, I could use the default variable $_ and then just write a… Continue reading Chaining Function Calls