DoD software requirements have traditionally been built upon a different software model than is used by most Microsoft customers.
The expectation for DoD software is that it will have a minimum lifetime of 30 years. This makes the use of closed source software impossible in many cases. I know of no closed source software vendor who is willing to maintain its products for 30 years.
The result is that the DoD must own rights to the source(s) so that it can issue maintenance contracts to the lowest bidder. Closed source software simply prevents the DoD from doing its job.
I agree. Perl is completely inappropriate for the development of avionics. The same can also be said for Java. Just look at the license agreement attached to the Java development kit. Sun makes you promise you will not use Java to develop control systems for avionics or nuclear power plants.
My point was that the Fortran model of performance before all else is not the only model for software development. Given the FAA restrictions, even Fortran falls short of the requirements for avionic control systems. Fortran has long been optimized for in-memory numerical analysis. This is good. It is not, however, sufficient for all the needs of hard real time control systems. Most of the avionic systems currently in use were written with a subset of Ada known as SPARK.
I am curious what you think Ada is?
Possibilities include the American Dental Association, Americans with Disabilities Act, and Armadillos for Driver Awareness.
In fact, Ada is a programming language named after Augusta Ada Byron, Countess of Lovelace. Ada was an assistant to Babbage in the creation of his Difference Engine. Her specialty was mathematics. Her work on the Difference Engine has earned her the honor of being recognized as the world's first computer programmer.
I wonder if you would be upset if you saw a product was written in C++ or Java. I suspect not since Eclipse was written in Java. Does a language named after a woman scare you?
Not all "software culture" is derived from Fortran. Look at languages like Perl, execution speed is not the ONLY concern.
Concerning safety-critical applications such as medical instrumentation and transportation, there are rigorous design, testing, documentation, and coding standards for those areas. The most stringent software design standards in the world are used by the USA Federal Aviation Administration for on-board avionic systems. Performance is still one of the requirements, but performance without safety is not allowed. These systems are not allowed to perform "unsafe" operations such as dynamic memory allocation. Every line of code must be checked, not only the source code, but also the machine code emitted by the compilers. Unhandled numeric overflows and underflows are REQUIRED to be fixed.
DoD software requirements have traditionally been built upon a different software model than is used by most Microsoft customers.
The expectation for DoD software is that it will have a minimum lifetime of 30 years. This makes the use of closed source software impossible in many cases. I know of no closed source software vendor who is willing to maintain its products for 30 years.
The result is that the DoD must own rights to the source(s) so that it can issue maintenance contracts to the lowest bidder. Closed source software simply prevents the DoD from doing its job.
It seems to me that the Moonies have already mined the surface of the moon for the good of humanity.
I agree. Perl is completely inappropriate for the development of avionics. The same can also be said for Java. Just look at the license agreement attached to the Java development kit. Sun makes you promise you will not use Java to develop control systems for avionics or nuclear power plants. My point was that the Fortran model of performance before all else is not the only model for software development. Given the FAA restrictions, even Fortran falls short of the requirements for avionic control systems. Fortran has long been optimized for in-memory numerical analysis. This is good. It is not, however, sufficient for all the needs of hard real time control systems. Most of the avionic systems currently in use were written with a subset of Ada known as SPARK.
I am curious what you think Ada is? Possibilities include the American Dental Association, Americans with Disabilities Act, and Armadillos for Driver Awareness. In fact, Ada is a programming language named after Augusta Ada Byron, Countess of Lovelace. Ada was an assistant to Babbage in the creation of his Difference Engine. Her specialty was mathematics. Her work on the Difference Engine has earned her the honor of being recognized as the world's first computer programmer. I wonder if you would be upset if you saw a product was written in C++ or Java. I suspect not since Eclipse was written in Java. Does a language named after a woman scare you?
Not all "software culture" is derived from Fortran. Look at languages like Perl, execution speed is not the ONLY concern. Concerning safety-critical applications such as medical instrumentation and transportation, there are rigorous design, testing, documentation, and coding standards for those areas. The most stringent software design standards in the world are used by the USA Federal Aviation Administration for on-board avionic systems. Performance is still one of the requirements, but performance without safety is not allowed. These systems are not allowed to perform "unsafe" operations such as dynamic memory allocation. Every line of code must be checked, not only the source code, but also the machine code emitted by the compilers. Unhandled numeric overflows and underflows are REQUIRED to be fixed.