•Examples: Ada, Java, Perl,
Python, etc.
•Pros:
–Automatic bounds checking makes them less susceptible to
the buffer overflow problem
•Cons:
–Using different languages can increase development
cost
–None of these languages give the programmer access to the
machine at a low level
–None of these languages give you the performance of C/C++, most require distributable run-time environments
–C/C++ are popular languages that many programmers are
familiar with
–What happens when a string that is too long is entered or
an array is referenced out of bounds, is an
exception generated, does the buffer grow, does the program just halt, is the user asked to provide different input?
–Programmer still must be aware of buffer overflows to
provide exception handlers to do what they want
(Exception handling comes with its own set of problems)