Suppose you wanted to write an application for a
manufacturing process that
will, in all probability, run for the next 30 years. No direct control of
the process itself is entailed (i.e., you don't need the program to
operation valves or run motors), but you do need this program to compute
manufacturing parameters for each customer. I/O requirements are very
modest, mostly simple keyboard and display.
What would you write it in? Clearly, you'd want to be independent of a
particular software vendor, so the likes of Visual BASIC isn't an option.
You'd also want to write in a language that isn't nearing obsolesence, nor
one that's still evolving. "Niche" languages would be out of the question,
as longevity could be a problem.
So what would it be? My vote is for FORTRAN.
Impossible to say without a better specification of the application, however
given the longevity requirement, unless it was a very bad fit, I would probably
use 'C' (not C++, C# etc - plain vanilla 'C') for several reasons:
- It's been around a long time, and has been ported to many different platforms,
making it a well known and popular language.
- It has a reasonably clearly defined standard.
- It has always been developed with an eye to portability.
- It is still being used in many systems, and is likely to continue to be used
for a considerable time into the future.
- It's flexible enough to use as a general purpose language, and has the ability
to get "down and dirty" if you need. (Ie: It will probably not be a bad
environment for the task at hand).
But what is probably the most important reason to me:
- I have a mature 'C' compiler (I first released it in 1988) which I can port to
any damn platform I need, so I don't have to count on having a vendor to support
C tools on this future unknown system.
Regards,
Dave
--
dave04a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Collector of vintage computing equipment:
http://www.parse.com/~ddunfield/museum/index.html