Литмир - Электронная Библиотека
A
A
Программирование. Принципы и практика использования C++ Исправленное издание - _276.png

 

Программирование. Принципы и практика использования C++ Исправленное издание - _003.png
 Фактически большинство статистических данных, найденных в веб (или в других местах), ничуть не лучше обычных слухов, поскольку они пытаются оценить явления, слабо связанные с интенсивностью использования, например, количество упоминаний в сети веб какого-нибудь языка программирования, продаж компиляторов, академических статей, продаж книг и т.д. Эти показатели завышают популярность новых языков программирования по сравнению со старыми. Как бы то ни было, кто такой программист? Человек, использующий язык программирования каждый день? А может быть, студент, пишущий маленькие программы с целью изучения языка? А может быть, профессор, только рассуждающий о программировании? А может быть, физик, создающий программы почти каждый год? Является ли профессиональным программистом тот, кто — про определению — использует несколько языков программирования каждую неделю несколько раз или только один раз? Разные статистические показатели будут приводить к разным ответам.

Тем не менее мы обязаны ответить на этот вопрос, поскольку в 2008 году в мире было около десяти миллионов профессиональных программистов. Об этом свидетельствуют отчет С89 С++ компании IDC (специализирующейся на сборе данных), дискуссии с издателями и поставщиками компиляторов, а также различные источники в сети веб. Можете с нами спорить, но нам точно известно, что от одного до ста миллионов человек хотя бы наполовину подходят под разумное определение программиста. Какие языки они используют? Вероятно (просто вероятно), что более 90% их программ написано на языках Ada, C, C++, C#, COBOL, Fortran, Java, PERL, PHP и Visual Basic.

 

Программирование. Принципы и практика использования C++ Исправленное издание - _001.png
 Кроме упомянутых выше языков, мы могли бы перечислять десятки и даже сотни названий. Однако мы считаем необходимым упомянуть только интересные или важные языки. Если вам нужна дополнительная информация, можете найти ее самостоятельно. Профессионалы знают несколько языков и при необходимости могут изучить новый. Не существует единственного правильного языка для всех людей и для всех приложений. На самом деле все основные системы, которые нам известны, используют несколько языков.

22.2.8. Источники информации

Описание каждого языка содержит свой собственный список ссылок. Ниже приведены ссылки для нескольких языков.

Страницы и фотографии разработчиков языков программирования

www.angelfire.com/tx4/cus/people/.

Несколько примеров языков программирования

http://dmoz.org/Computers/Programming/Languages/.

Учебники

Scott, Michael L. Programming Language Pragmatics. Morgan Kaufmann, 2000. ISBN 1558604421.

Sebesta, Robert W. Concepts of Programming Languages. Addison-Wesley, 2003. ISBN 0321193628.

Книги об истории языков программирования

Bergin, T.J., and R.G. Gibson, eds. History of Programming Languages — II. Addison-Wesley, 1996. ISBN 0202295021.

Hailpern, Brent, and Barbara G. Ryder, eds. Proceedings of the Third ACM SIGPLAN Conference on the History of Programming Languages (HOPL-III).

San Diego, CA, 2007. http://portal.acm.org/toc.cfm?id=1238844.

Lohr, Steve. Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists and Iconoclasts—The Programmers Who Created the Software Revolution. Basic Books, 2002. ISBN 9780465042265.

Sammet, Jean. Programming Languages: History and Fundamentals. Prentice-Hall, 1969. ISBN 0137299885.

Wexelblat, Richard L., ed. History of Programming Languages. Academic Press, 1981. ISBN 0127450408.

Контрольные вопросы

1. Зачем нужна история?

2. Зачем нужны языки программирования? Приведите примеры.

3. Перечислите некоторые фундаментальные принципы хороших языков программирования.

4. Что такое абстракция? Что такое высокий уровень абстракции?

5. Назовите высокоуровневые идеалы программирования.

6. Перечислите потенциальные преимущества высокоуровневого программирования.

7. Что такое повторное использование кода и в чем заключается его польза?

8. Что такое процедурное программирование? Приведите конкретный пример.

9. Что такое абстракция данных? Приведите конкретный пример.

10. Что такое объектно-ориентированное программирование? Приведите конкретный пример.

11. Что такое обобщенное программирование? Приведите конкретный пример.

12. Что такое мультипарадигменное программирование? Приведите конкретный пример.

13. Когда была выполнена первая программа на компьютере, допускающем хранение данных в памяти?

14. Какую выдающуюся работу выполнил Дэвид Уилер?

15. Расскажите об основном вкладе Джона Бэкуса в создание первого языка программирования.

16. Какой первый язык разработала Грейс Мюррей Хоппер?

17. В какой области компьютерных наук выполнил свою главную работу Джон Мак-Карти?

18. Какой вклад внес Питер Наур в создание языка Algol-60?

19. Какую выдающуюся работу выполнил Эдсгер Дейкстра?

20. Какой язык спроектировал и реализовал Никлаус Вирт?

21. Какой язык разработал Андерс Хейльсберг?

22. Какова роль Жана Ишбиа в проекте Ada?

23. Какой стиль программирования впервые открыл язык Simula?

24. Где (кроме Осло) преподавал Кристен Нюгорд?

25. Какую выдающуюся работу выполнил Оле-Йохан Дал?

26. Какая операционная система была разработана под руководством Кена Томпсона?

27. Какую выдающуюся работу выполнил Дуг Мак-Илрой?

28. Назовите наиболее известную книгу Брайана Кернигана.

29. Где работал Деннис Ритчи?

30. Какую выдающуюся работу выполнил Бьярне Страуструп?

31. Какие языки пытался использовать Алекс Степанов для проектирования библиотеки STL?

32. Назовите десять языков программирования, не описанных в разделе 22.2.

33. Диалектом какого языка программирования является язык Scheme?

34. Назовите два наиболее известных наследника языка C++.

35. Почему язык C стал частью языка C++?

36. Является ли слово Fortran аббревиатурой? Если да, то какие слова в нем использованы?

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 (Швейцарский федеральный технический университет)

315
{"b":"847443","o":1}