Шрифт:
37. Является ли слово COBOL аббревиатурой? Если да, то какие слова в нем использованы?
38. Является ли слово Lisp аббревиатурой? Если да, то какие слова в нем использованы?
39. Является ли слово Pascal аббревиатурой? Если да, то какие слова в нем использованы?
40. Является ли слово Ada аббревиатурой? Если да, то какие слова в нем использованы?
41. Назовите самый лучший язык программирования.
Термины
В этой главе раздел “Термины” содержит названия языков, имена людей и названия организаций.
• Языки
• Ada
• Algol
• BCPL
• C
• C++
• COBOL
• Fortran
• Lisp
• Pascal
• Scheme
• Simula
• Люди
• Чарльз Бэббидж
• Джон Бэкус
• Оле-Йохан Дал
• Эдсгер Дейкстра
• Андерс Хейльсберг
• Грейс Мюррей Хоппер
• Жан Ишбиа
• Брайан Керниган
• Джон Маккарти
• Дуг Мак-Илрой
• Питер Наур
• Кристен Нюгорд
• Деннис Ритчи
• Алекс Степанов
• Бьярне Страуструп
• Кен Томпсон
• Дэвид Уилер
• Никлаус Вирт
• Организации
• Bell Laboratories
• Borland
• Cambridge University (England)
• ETH (Швейцарский федеральный технический университет)
• IBM
• MIT
• Norwegian Computer Center
• Princeton University
• Stanford University
• Technical University of Copenhagen
• U.S. Department of Defense
• U.S. Navy
Упражнения
1. Дайте определение понятия программирование.
2. Дайте определение понятия язык программирования.
3. Пролистайте книгу и прочитайте эпиграфы к главам. Какие из них принадлежат специалистам по компьютерным наукам? Напишите один абзац, суммирующий их высказывания.
4. Пролистайте книгу и прочитайте эпиграфы к главам. Какие из них не принадлежат специалистам по компьютерным наукам? Назовите страну, где они родились, и область работы каждого из них.
5. Напишите программу “Hello, World!” на каждом из языков, упомянутых в этой главе.
6. Для каждого из упомянутых языков программирования найдите популярный учебник и первую законченную программу, написанную на нем. Напишите эту программу на всех остальных языках, упомянутых в главе. Предупреждение: скорее всего, вам придется написать около ста программ.
7. Очевидно, мы пропустили много важных языков. В частности, мы были вынуждены отказаться от описания всех языков, появившихся после языка С++. Назовите пять современных языков, которые вы считаете достойными внимания, и напишите полторы страницы о трех из них.
8. Зачем нужен язык С++? Напишите 10–20-страничное сочинение.
9. Зачем нужен язык С? Напишите 10–20-страничное сочинение.
10. Выберите один язык программирования (не C и не C++) и напишите 10–20-страничное сочинение о его истории, целях и возможностях. Приведите много конкретных примеров. Кто использует эти языки и почему?
11. Кто в настоящее время занимает Лукасианскую кафедру в Кембридже (Lucasian Chair in Cambridge)?
12. Кто из разработчиков языков программирования, перечисленных в главе, имеет научную степень по математике, а кто нет?
13. Кто из разработчиков языков программирования, перечисленных в главе, имеет степень доктора философии, а кто нет? В какой области?
14. Кто из разработчиков языков программирования, перечисленных в главе, является лауреатом премии Тьюринга? За какие достижения? Найдите официальные объявления о присуждении премии Тьюринга лауреатам, упомянутым в главе.
15. Напишите программу, которая считывает файл, содержащий пары (имя, год), например (Algol,1960) и (C,1974), и рисует соответствующий график.
16. Модифицируйте программу из предыдущего упражнения так, чтобы она считывала из файла кортежи (имя, год, (предшественники)), например (Fortran, 1956, ), (Algol, 1960, (Fortran)) и (C++, 1985, (C, Simula)), и рисовала граф со стрелками, направленными от предшественников к последователям. Используя эту программу, нарисуйте улучшенные варианты диаграмм из разделов 22.2.2 и 22.2.7.
Послесловие
Очевидно, что мы лишь вскользь затронули историю языков программирования и идеалов программного обеспечения. Поскольку мы считаем эти вопросы очень важными, мы не можем, к нашему величайшему огорчению, глубоко изложить их в настоящей книге. Надеемся, что нам удалось передать свои чувства и идеи, относящиеся к нескончаемому поиску наилучшего программного обеспечения и методов программирования при проектировании и реализации языков программирования. Иначе говоря, помните, пожалуйста, что главное, это программирование, т.е. разработка качественного обеспечения, а язык программирования — просто инструмент для ее реализации.