Category Archives: Software development

Platonism and the dominant decomposition

I’m in Portland, Oregon for the SPLASH conference. There’s a lot of energy and good ideas going around. I gave a talk about my project, Poplar, at the FREECO workshop. At the same workshop there was a very interesting talk given by Klaus Ostermann, outlining some of the various challenges facing software composition. He linked […]

What makes a good programming language?

New programming languages are released all the time. History is littered with dead ones. There are also many long time survivors in good shape, as well as geriatric languages on life support. What makes a programming language attractive and competitive? How can we evaluate its quality? There are many different aspects of this problem. Ease […]

Pointers in programming languages

It is likely that few features cause as much problems as pointers and references in statement-oriented languages, such as C, C++ and Java. They are powerful, yes, and they allow us to control quite precisely how a program is to represent something. We can use them to conveniently compose objects and data without the redundancy […]

JTronic, a programming game

Now for something quite different from the philosophical entries I’ve been writing recently. We finally got the time to release the game “JTron” on Sourceforge. It is there under its new name Jtronic. This game is designed for programming competitions; participants program an agent that plays the game by obtaining information about its environment and […]

Why Scala? (2) Compact syntax applied to probabilistic actions

As a little fun project, I developed some probabilistic cellular automata with Scala and very basic AWT graphics. I continue to become more proficient with Scala, and it feels increasingly natural to use. During this exercise I came up with something that I thought was particularly elegant, and that I am pretty sure would have […]