Watching the Language Wars

Today, at least in the US, it is Programmer’s Day.

Maybe it should be called “International Programming Language Peace Day“. The level of advocacy for various programming languages reaches rhetorical heights last seen during the one of the not-so-successful 18th century revolutions.

When not speaking to humans, other programmers to reading the latest advocacy on their language of choice: programmers stitch together the wild thoughts of others to munge data into information.

Programmers are the people who use computer languages, in their various forms, to get computers to do cool things. From blikenlights to cool online maps: there are a pyramid of programmers responsible for your computer experience. A programmer is behind the “ding” in the lift you used this morning; and the software that validated your ticket on the bus ride to work.

The beauty of computer languages is that they never seem to stagnate: like modern, spoken languages: they evolve as the world changes. Except those that are abandonware.

Microsoft has recently released my current favourite programming language, Python, as a CLR/.net language: IronPython. This implements Python as a dynamic language on the CLR engine.

C# is the language of implementation for CLR, as is Sun’s Java is for the JVM. A# (Ada), B#, D# F# (OCaml), G# (Generative language), J# (Jsharp), P# (Prolog), L#. More sharps than Beethoven.

The language wars has returned to an old field: dynamic languages. The grand-daddy of dynamic languages, LISP, has received some recent positive PR. One person, Paul Graham, is the poster millionaire for LISP. Lazarus of LISP.

This week, Sun Microsystems parried Microsoft’s IronPython by hiring the team behind JRuby. The aim here is to implement the Ruby dynamic language on the Java Virtual Machine (JVM). Some months ago, this team was able to get a Ruby on Rails working on the JVM.

Whilst the big language guys battle it out, is Erlang the next Ruby, or is it just a viking proto-language with the best non-pun name? The Erlang community is starting to come out of their telephone exchanges.

No language has deemed to have arrived in the 21st Century until there is a web framework written around it. C# is ASP.NET, Python has Dyango, Ruby has Rails, Erlang has Jaws, Scheme has Magic… and so it goes on.

This broken thing called Javascript that has been reborn with AJAX, and is receiving daily blood transfusions of new features.

All of these languages just remind me of my personal alltime favourite language love of my life: Hypercard’s HyperTalk. As Hypercard is no longer sold, and “Classic MacOS” is a battle to get going on my MacBook Pro – sadly it is a language as useful as Cornish.

So, for a short period of time it is back to one of HyperTalk’s children: Applescript. Basketweaving for the mind.

InDesign 2.0 Add Dictionary

InDesign 2.0: Automating Adding Words to the Dictionary

One of the furphies (misstatements, lies, errors) is that a composite PDF cannot hold spot colours. Wrong. InDesign 2.0 and Illustrator 10 change the rules here too somewhat: both can create composite, trapped PDF with transparency. Before these applications, doing this relied on high end, “prepress” systems. Will need to write more about this soon…