Ask permission for reproduction.

22-Feb-2005

The Software Map (a way to charting programming technologies)
software-map


picture text

The above illustration is a rough prototype of something I've had in mind, in order to map certain technologies with and to each other. While the placement of the words may certainly be disputed, that is not the point. The point is to ask ourselves, which area of the map are we targetting, then finding out which technologies lie nearby.
Recently, efforts of both Python and Ruby communities have been towards extending their language to cover embeddable use. At the same time, efforts within the Lua community have been taken to make the language more applicable as a generic, system wide solution. In today's situation, any and all of these languages can be used interchangeably, there is no strict Òno can doÓ barrier anywhere. It's all about valuations, and technology roadmaps. In fact, also JavaScript is somewhat used for embedded scripting purposes, s.a. Trolltech's QtScript. However, it has some nondisputable technical issues making it a less useful solution than i.e. Scheme or Lua. Familiar syntax was probably one of the main reason they chose it. Back to the image.. The upper part shows Òconfiguration languagesÓ or Òdata description languagesÓ. The reason they are included is that they partly overlap scripting languages. A well designed scripting language can use its native syntax also for configuration and data files, thus abandoning the need for (time taking) data conversions, but for the sake of compatibility. This is an important aspect, since often much time is spent on parsers etc. where another kind of language would not have the problem to begin with. Last, where would the traditional, structural languages fit in the picture? They cannot be used for configuration (without a compiler, at least). They can certainly be used for system scripting, but who would like to do that? What they probably form is a forth circle below the ones we've drawn. One that would be titled Òstructural programmingÓ or Òtraditional programmingÓ. Perhaps I'll add that fourth circle in the next revision.
- Asko Kauppi

This article is Copyright © 2005, Asko Kauppi
Linking to it is allowed, but for reproduction in part or in whole, ask for permission.