How can programming languages support the software development process?
Phases in the development process are: • Requirements • Specification • Implementation • Certification or Validation (includes testing and verification) • Maintenance Need to evaluate languages with respect to overall picture. Not good if just supports one aspect. Important to evaluate language based on what its goals are. • BASIC – quick development of interactive programs • Pascal – instruction • C – low-level systems programming • FORTRAN – number crunching scientific computation Languages which are good for quick hacking together of programs may not be suitable for large-scale software development. Better choices for large-scale software include: • Ada, Modula-2, Clu, object-oriented languages like C++, Eiffel, etc. I heard two weeks ago at a conference in Boston that 50% of all security problems reported to CERT (center charged with reporting security problems and solutions) are due to one particular feature of one specific programming language. Given the increasing interest in pr