лекция 1 (Языки программирования (лекции) (2008))
Описание файла
Файл "лекция 1" внутри архива находится в папке "Языки программирования (лекции) (2008)". Документ из архива "Языки программирования (лекции) (2008)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "лекция 1"
Текст из документа "лекция 1"
Языки программирования. Лекция 1.
Курс начал читаться с 1983 года.
Литература:
1. В.Ш. Кауфан "Языки программирования: концепции и примеры", Москва, "Радио и связь", 1993;
2. Бен Ари "Языки программирования: ...", "Мир", 1999.
3. Р. Себеста "Языки программирования: ...", 2001;
4. Теринс Пратт, Марвин Зелковиц "Языки программирования, разработка и реализация" (большое внимание уделяется концепциям реализации языков программирования);
5. Нараин Джехани "Язык Ада";
6. Б. Страуструп "Дизайн и эволюция языка Си++", 1994 (объяснено, как и почему, рассмотрены альтернативы);
Будем изучать именно концепции языков программирования, потому что изучать ВСЕ языки очень сложно.
-
Программа курса
Введение:
п. 1. Определение ЯП
п. 2. Исторический очерк
п. 3. Концептуальное схема свойств ЯП
Часть 1. Основные понятия традиционных (процедурных) ЯП.
-----------------------------------------
Процедурные языки - основаны на парадигме Фон-Неймана, основной оператор - присваивание (v:=e), есть операторы ввода-вывода, операторы управления.
-----------------------------------------
Часть 2. Объектно-ориентированные языки программирования (ООЯП)
Кроме традиционной модели программирования есть ещё функциональная и логическая модели. Про логическую модель (и про параллельное программирование) мы подробно говорить не будем.
Первый ЯП Фортран появился в 1954 году. К 1967 году активно использовались в США уже 400 языков. Через 10 лет было более 1000 языков.
Язык программирования - инструмент планирования поведения исполнителя. Более точное определение зависит от того, каким образом будут введены понятия, входящие в определение ЯП.
Как только под исполнителем понимается вычислительная система, мы уже имеем дело с классическими ЯП.
-
Точки зрения на ЯП (позиции рассмотрения)
1. Технологическая
Виды программирования:
1. Игровое (программирование для себя) - продукт не отчуждается;
2. Научное (программа нужна человеку для выполнения каких-то опытов/расчётов, для получения результата; после его получения надобность в программе отпадает);
3. Индустриальное (программы являются отчуждаемыми, за деньги или нет; программа используется без автора).
Для разных видов программирования требуются разные ЯП, разные инструменты.
Мы будем рассматривать только индустриальное программирования и языки программирования для него.
1. технологическая потребность -
потребность в раздельной трансляции, чтобы над программой в один момент времени могли работать несколько человек.
2. Авторская
Язык - совокупность компромиссов (с позиции автора).
Авторская позиция - посмотреть, в чём заключается компромисс, рассмотреть альтернативы.
3. Реализаторская
Как это будет реализовываться.
Одна из крайностей: "Реализаторская позиция нужна только реализаторам".
Другая крайность: "Сколько компиляторов, столько и языков программирования".
Истина: Языки надо изучать вне зависимости от реализации. Но некоторые конструкции легче понять через их реализацию (например, механизм виртуальных функций).
4. Семиотическая
Семиотика - наука о знаковых системах.
------------------------------------------
"Что такое знаковая система?
Что такое система - мы уже знаем, нам это вчера объясняли..."
------------------------------------------
5. Социальная
Каких программистов больше, на Си++ или на Дельфи?..