[FoRK] Programming languages, operating systems, despair and anger

Jeff Bone jbone at place.org
Thu Nov 12 15:16:48 PST 2009

Benjamin writes:

> This is a key point. Many of the problems we face in writing  
> software are integration, not simply automation.

Actually, that is THE point, the whole point, and nothing but the point.

Eric Meijer realized this, cf. the paper I referenced earlier.  MOST  
programming these days is pipe-fitting between different data models,  
communication models, and data types.  (And without any real standards  
about those pipe fittings, but that's a different part of the  
picture.)  MOST OF IT.  ALMOST ALL OF IT.  And most of *this* happens  
at the lowest, gorpiest, ugliest level possible.

Markup doesn't help, it hurts.  YAML, semi-structured text like  
various Wiki markups, etc. are an improvement for some things.  JSON  
is an improvement for what it does, but it's still world-of-strings  
wrapped in maps.

One *major* impediment to all integration tasks is this:  when you're  
passing your data between components, you generally either (a) are  
trapped in a very type-specific and strict implementation regime (RPC  
stubs, CORBA IDL, and now e.g. Thrift and Google's protocol buffers  
are attempts to resolve the problem, not very successfully IMHO as  
they imply a kind of development cycle involving a lot of static, non- 
interactive crap) or (b) you're marshalling and unmarshalling strings,  
parsing files that are strings that encode data structures that embed  
strings ad infinitum --- probably with lossy semantics.

Let the programmer express the common type values they want to express  
directly, literally, in a way that makes it unambiguous;  do so in a  
generic way that doesn't entail the kind of massive machinery and  
process that inhibits on-the-fly interactive programming of the style  
we used to enjoy.  THEN and only then will we begin to move in the  
other direction -wrt- this impedance mismatch / integration issue that  
will otherwise increasingly KILL forward progress ENTIRELY.

It starts with a data language.  Lua started life as a configuration  
file / data language, but is too impoverished to serve the real  
purpose --- and it's still not a particularly good language for  
interactive use.

Rebol's got the data literals, but...  baggage.  And not good on the  
interactivity front either.



More information about the FoRK mailing list