Ask
permission for
reproduction.
22-Feb-2005
The Software Map (a way to charting programming
technologies)

|
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.