Module-Oriented Programming

I’ve been ruminating over the different ways in which we have structured our computer programs over the years. Most of the world has focused on C, and it seems to organize programs into data structures and functions that operate on…

Random Ruminations

My thoughts are as entropic as the leaves falling off the trees this season (just about as colored too). Graduate School Applications <rant>I really dislike forms; actually I frothingly detest them. I don’t know why, but I have always hated…

OOCP

Today I read Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages, and it seems that the idea that I had last week about implementing every object instance as it’s own process has already been considered. As I expected, this…

Call-Trace capability in IDEs

I was thinking about the features that I’d want in a perfect language, and recalled something I was reading about compiler type-checking. I believe that the common type-checking algorithm can be adapted to do checking of interfaces. An IDE should…

Functional Programming with Erlang

Last week I was reading Joe’s new book Programming Erlang and just couldn’t seem to get my mind around Functional Programming. You see when Joe says Concurrency is easy. We don’t have shared memory. I have my memory, you have…

Linguistic Comparisons

Much of what is done is the way of linguistic comparison seems to be a bit subjective. The most favorite is to gather a bunch of idioms and then set them against each other drawing obvious conclusions, like language X…

Relational Programming

Back in the dark-ages of computing we all had a hierarchical database with which to store our precious information. It was known as the file system. Then efficiency became vogue and organizational demands moved everyone to explicit database applications (client-server…

The Language of the Future

Most of the popular languages today (Perl/Python/Php/Ruby, C++, Java) are all locked into the serial, von-Neumann model of computation. Concurrency is expressed as Threads and Processes, which rely on the underlying OS’s handling of memory and other resources. Joe Armstrong…

Multi-Core Multi-Language Machines

I was doing my traditional web searching about languages, this time beginning with parallel lisp. I was wondering, if LISP, being one of the oldest and original languages, had explored the concurrency model, and what concepts it had to offer….

The Cloud

I was reading Marc Andreessen’s blog entry about The three kinds of platforms you meet on the Internet. and all his talk about sharing code and running that code on other systems and community and all that really got me…