Saturday, June 07, 2003

Friday, June 06, 2003

Dynamic languages and higher order PI Calculus

PI Calculus, the formalism that underlies some common Business Process Modelling languages, may have an interesting role to play in the static versus dynamic languages debate.
Lots of powerful techniques that can be used with PI Calculi involve using higher order concepts such as sending names of ports/channels over links, creating ports on the fly and so on.
This stuff drives the math heads nuts because it makes it hard (impossible?) to formally prove equivalence between calculi.
So it boils down to this - do you want to be constrained in terms of flexibility or provably, formally, "correct" at some probably academic level?
I'll take flexibility thank you very much!
Advocates of Dynamic Programming languages like Python find higher order PI Calculi stuff completely natural and use test driven development as a more robust methodology for establishing "correctness" in this crazy, constantly changing, dynamic world.
Why not? The other approach - the keep everything static so that the compiler police can look over it - only provides the illusion of correctness. What have you to loose?
Here is a bold statement. By 2010 "compilers" will be a quaint anachronism. A throwback to the days when illusions of speed and illusions of correctness held sway over real speed (massive parallelism such as XGrids) and flexibility-based-design.

Are Dynamic Languages Going to Replace Static Languages

Robert Martin, a self confessed static typing bigot wishes he was programming
in Ruby, Python or Smalltalk.
The constant dripping of water, wears away the stone...We will get there.
Here is a "pick one" competition. Pick one of these:

    Demonstrable extra dimension in flexibility and ease of responding to changing business needs
    Apparant (but often flawed) warm and fuzzies to do with "correctness" at "compile time".


Thursday, June 05, 2003

A Flashback - oh, the pain, the visions, the rotating helicopter blades, the gunfire and smoke. Make it stop. Make it stop!

In an earlier life I engaged in a war with an enemy known as "6502 machine code". Via Don Park I found Crass - a 6502 cross assembler written in Python.
I don't know whether to applaud, laugh or cry. I think I'll cry.

Python in the enterprise

Alex Martelli paints a few pictures for enterprise developers.

Wednesday, June 04, 2003

Tuesday, June 03, 2003

Can blogs save MMS?

Can blogs save MMS.
The word "save" works here at two levels (a) "save" as in "save from not taking the world by storm" and (b) "save" as in "save my pictures somewhere so that I can free up the space on my phone.".

    "Unlike SMS, where text messages have no need for persistence, MMS thrives on persistence of message. Why take a photo if you ultimately have to dump it when your phone's memory fills up? By firing a picture over to a blog, users can capture the moment and the thought, and alert others to the posting.


Blogging and Democracy

Blogging at the center of emerging democracy.

Python and the programmer. (Java - get a grip)

Bruce Eckel extolls the virtues of Python. With Jython, most of what he says is applicable to Java (the platform) development too.

I have Jython integrated with Tomcat 4. I use it for servlets and for JSPs (via the Bean Scripting Framework). I'm way more productive than I would be with straight Java (the language). I urge all Java folk doing web apps to try it out.

Sunday, June 01, 2003


Names are everthing you know. Java has "beans", guis have "controls". Words matter. How about blikis?
Maybe. Maybe not.