On Oct 30, 2015, at 12:39 PM, Sean Caron <scaron at
umich.edu> wrote:
...
What concerns me is the amount of code these days that is being written in
languages that has no formal standard at all. Perl, Python, PHP, Ruby, the
list goes on ... I wonder how much of it will still be useful in ten or
fifteen years.
Good question. Then again, only a few languages I can think of had a formal standard from
the start: Algol 68 and Algol 68, plus probably Ada (don't know that one well enough
to be definite about it).
All the others were either never standardized, or standardized long after the fact. The
ones you list are examples of the former, as are many others (PL/I for example?); examples
of the latter include Fortran, C, APL, COBOL, Pascal, and presumably many others as well.
Also, being useable 10-15 years from now requires the availability of compatible
implementations, or enough information to allow them to be created. Standardization is
only very loosely connected to that. For one thing, standards generally change what
existed before (indeed, this is often a deliberate part of the process). ANSI C is not
compatible with K&R C, though converting one to the other isn't terribly hard, and
supporting both isn't either. Similarly, ANSI Fortran isn't FORTRAN II. Nor is
Python 3 the same as Python 1.5. But all of these are manageable conversion problems.
For that matter, there's translation. You don't need a standard for the
implementation language of some algorithm; it suffices (at the cost of some labor) to have
an understanding of whatever language it was written in, and the knowledge to translate
that to a currently available language.
paul