P.H.P. and Python (and Tcl/Tk!)

Dave Mason dmason-bqArmZWzea/GcjXNFnLQ/w at public.gmane.org
Wed Apr 30 13:02:04 UTC 2008


As a computer languages researcher, I have to respond that the only real
difference in the categories you cite: programming languages, scripting
languages, and framework languages is marketing, pure and simple.

What Ousterhout and others are referring to as scripting languages are
symply dynamically-typed languages, with convenient facilities to access
other programs.

Those facilities to access other programs are available in standard C
libraries... just a bit less conveniently (fork/pipe in the extreme).

Dynamically typed languages have been around since the 50s (LISP is
contemporaneous with FORTRAN I), and include LISP, Scheme (a syntactic
variant of LISP), Smalltalk, Ruby (a syntactic variant of Smalltalk) and
APL.  There are compilers for these languages, but even interpreters
(except for Ruby) have relatively little negative effect on performance
(at most a few months worth of Moore's Law), partly because language
primitives are often very powerful.

/bin/sh, awk, early Perl, PHP, and to some degree Tcl/Tk are slightly
further down that road in that all data are strings, but some operations
can interpret them as numbers, etc.  This has both performance and
reliability/safety implications, but they are rarely critical.  Most of
these languages are also pure interpreters and have some performance hit
(a few more months worth of Moore's law).

The only significant theoretical distinction for a programming language
is whether it is Turing complete: essentially does it have a while-loop
equivalent, and some form of collections (strings will do).  All the
languages listed above are Turing complete.  The closest thing that
arguably is not is sed.

Christopher Browne makes good points also about ego and programmers/
operators (and in fact, there were many other levels in that heirarchy -
blessedly mostly now gone).

../Dave
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list