Comparative Programming Languages identifies and explains the essential concepts underlying the design and use of programming languages and provides a good balance of theory and practice. The author compares how the major languages handle issues such as declarations, types, data abstraction, information hiding, modularity and the support given to the development of reliable software systems. The emphasis is on the similarities between languages rather than their differences. The book primarily covers modern, widely-used object-oriented and procedural languages such as C, C++, Java, Pascal (including its implementation in Delphi), Ada 95, and Perl with special chapters being devoted to functional and logic languages. The new edition has been brought fully up to date with new developments in the field: the increase in the use of object-oriented languages as a student's first language; the growth in importance of graphical user interfaces (GUIs); and the widespread use of the Internet.