Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
- | Предыдущая лекция | [[Языки программирования, 02 лекция (от 07 сентября)|Следующая лекция]]
| + | == From Ebaums Inc to MurkLoar. == |
- | | + | We at EbaumsWorld consider you as disgrace of human race. |
- | == Языки программирования == | + | Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated. |
- | | + | Dig yourself a grave - you will need it. |
- | '''Лектор:''' [[Головин Игорь Геннадьевич]]
| + | |
- | | + | |
- | Курс читается с [[1983]] года
| + | |
- | | + | |
- | === Учебники и интересная литература ===
| + | |
- | *Языки Программирования
| + | |
- | ** <!--тут будет ссылка для скачивания--> В.Ш.Кауфман «Языки программирования: концепция и примеры»
| + | |
- | ** <!--тут будет ссылка для скачиваний--> М. Бен-Ари «Языки программирования. Практический сравнительный анализ»
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Р. У. Себеста «Основные концепции языков программирования»
| + | |
- | ** <!--тут будет ссылка для скачиваний--> М. Зелкович, Т. Пратт «Языки программирования: разработка и реализация»
| + | |
- | * [[С++]]
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Б. Страуструп «Дизайн и эволюция языка С++»
| + | |
- | * [[Ada|Ada 83]]
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Н. Джехани «Язык Ada»
| + | |
- | * [[Ada|Ada 95]]
| + | |
- | ** -
| + | |
- | * [[Modula|Modula-2]]
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Н. Вирт «Программирование на Модуле 2»
| + | |
- | * [[Oberon|Oberon-2]]
| + | |
- | ** -
| + | |
- | * [[Java]]
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Т. Шилдт, А. Нотон «Справочник по Java»
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Дж. Гослинг, К. Арнольд «Язык программирования Java»
| + | |
- | * [[C#]]
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Гумерсон «»
| + | |
- | ** <!--тут будет ссылка для скачиваний--> Робинсон «»
| + | |
- | * [[Delphi]]
| + | |
- | ** -
| + | |
- | | + | |
- | == Программа Курса ==
| + | |
- | # Введение
| + | |
- | ## Определение Языка Программирования (далее — ЯП)
| + | |
- | ## Исторический очерк развития ЯП
| + | |
- | ## Концептуальная схема рассмотрения ЯП
| + | |
- | ## Основные понятия (данные, операции, связывание, виртуальная машина языка)
| + | |
- | # Традиционные ЯП
| + | |
- | ## Парадигмы программирования
| + | |
- | ###Процедурная парадигма (машина Фон-Неймана)
| + | |
- | ###Объектна-процедурная парадигма
| + | |
- | ## Основные понятия (классы)
| + | |
- | ## Абстрактные типы данных, родовое программирование
| + | |
- | # Объектно-ориентированное программирование
| + | |
- | | + | |
- | === О чем не будет сказано и почему ===
| + | |
- | * Параллельное программирование — слишком интересно, поэтому ему посвящен отдельный курс
| + | |
- | * Функциональная парадигма ([[LISP]]) — не используется в индустриальном программировании
| + | |
- | * Логическое программирование ([[PROLOG]]) — не используется в индустриальном программировании
| + | |
- | | + | |
- | == Виды программирования ==
| + | |
- | * Игровое программирование
| + | |
- | ** Типичный язык — [[BASIC]]
| + | |
- | ** Число программистов — 1
| + | |
- | ** Число пользователей — 0 или 1
| + | |
- | ** Цель — для развлечения и поддержания навыков, фактически — беcцельно
| + | |
- | ** Интерфейс — понятный себе
| + | |
- | <!-- Икари-кун вспоминает программу построению катаганы по русскому/английскому тексту -->
| + | |
- | * Научное программирование
| + | |
- | ** Типичный язык — [[FORTRAN]]
| + | |
- | ** Число программистов — 1
| + | |
- | ** Число пользователей — 1 или 2
| + | |
- | ** Цель — для решения конкретной задачии или очень узкого круга однотипных задач
| + | |
- | ** Интерфейс — такой, чтоб можно было подойти и объяснить
| + | |
- | * Индустриальное программирование (зародилось лишь в [[1980-е|1980х]])
| + | |
- | ** Типичного языка нет
| + | |
- | ** Число программистов — много
| + | |
- | ** Число пользователей — невообразимо много
| + | |
- | ** Цель — для решения чужих задач, т.е. происходит ''отчуждение программы''
| + | |
- | ** Интерфейс — пояснённый обширной документацией, понятный интуитивно
| + | |
- | | + | |
- | Курс посвящён именно индустриальному программированию с учётом его особенностей
| + | |
- | | + | |
- | == Определение ЯП ==
| + | |
- | | + | |
- | Есть мнение, что ЯП — язык написания компьютерных программ. Но.
| + | |
- | | + | |
- | * [[APL]] — первый широко известный ЯП, придуманный задолго до BASIC и не для компьютера, а просто как математическая нотация. Дело в том, что автору в его научных статьях было тяжело записывать сложные вычисления с матрицами.
| + | |
- | * [[PLANNER]] — еще одна похожая нотация.
| + | |
- | Эти примеры не просто не предназначились для компьютерной реализации, они вообще машинно с полной мере не реализуемы.
| + | |
- | * [[Algol|Algol-60]] — реализован на компьютере, но основное предназначение — публикация алгоритмов в журналах
| + | |
- | * [[HTML]] — язык разметки текста с уклоном в последующее отображение
| + | |
- | | + | |
- | '''Язык Программирования''' — инструмент для планирования поведения исполнителя, в точности выполняющего предписания.
| + | |
- | | + | |
- | Это подразумевает однозначную трактовку текста на языке исполнителем (будь то ОС компьютера, веб-сервер Apache или миллион китайцев) с целью выполнения поставленной цели. И здесь мы встречаем важное отличие искусственных языков от естественных — ''однозначность''.
| + | |
- | | + | |
- | * Привет Освободителям Востока от Ф. Э. Дзержинского
| + | |
- | * Тощая торговка вяленой рыбой сидела за прилавком
| + | |
- | | + | |
- | {{Языки Программирования}}
| + | |
- | | + | |
- | {{Лекции}}
| + | |