HomePage - RecentChanges - Random - ^zhurnal - RSS

PersonalProgrammingHistory

Computer languages aren't important, in one sense: what you can do with one, you can do with any of them. (within limits; see TuringComplete (10 Oct 2001)) But like human languages, computer ones do guide and influence thought processes. They make some things easier to say, and other things more obscure. They also provide a nice hook for reminiscences about past coding projects. The earliest software development efforts that ^z did are, like childhood "art", lost to the mists of memory. Over the decades he dabbled with dozens of programming environments, and actually used a few for semi-productive purposes. Some fragments from along the trail, in rough chronological order:

Common threads? A great book clearly helps raise the standing of any language. But that's not enough; to succeed, a language seems to need to be extensible, responsive, and widely available. And it also needs to have a solid foundation, probably a mathematical one. (see ThinkingEnvironments (7 Apr 1999))

Most important, a programming system should be fun. And cute doesn't hurt either. Hmmm --- these sound like criteria for a good date ....


Lisp! This reminds me of one of my favorite things I learned about Lisp. Lisp has a distinction between two functions eq and equal. equal is the normal programming language function - you can compare two things (lists, atoms, whatever) and see if they are the same. But if two things are eq to each other, they point at the very same thing. A professor illustrated the difference this way: if you and I both have a penny, you can say the are equal to each other. However, if you put your penny on the railroad tracks and watch the train squash it, and I discover that the penny in my pocket is also squashed, then the two pennies were eq to each other. Deep, eh? --PaulHolbrook


TopicPersonalHistory - TopicProgramming - Datetag20020402



(correlates: ComplexSimplicity2, GuestBook, NoGlory, ...)