Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев




PDF просмотр
НазваниеНомера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев
страница14/36
Владимир Гуриев
Дата конвертации07.12.2012
Размер0.58 Mb.
ТипДокументы
1   ...   10   11   12   13   14   15   16   17   ...   36

мого мэйнстрима — без понимания перипетий смены одного языка другим рассмотрение «альтернативы» бессмысленно. Вторая статья посвящена язы-
кам  модернистским,  а  третья —  постмодернистским.  Каждая  из  трех  частей  отслеживает  развитие  соответствующей  ветки  истории;  таким  образом,
должна  получиться  некая  общая  картина  сегодняшнего  состояния  дел  (возможно,  несколько  перекошенная,  и  наверняка  неполная).
И последнее. В соответствии с главным принципом киберпанка «будущее уже здесь, просто оно неравномерно распределено» — разные течения в про-
граммировании очень трудно разделить хронологически; первый модернистский язык программирования — Lisp — один из старейших (1958 год, из об-
щеизвестных старше только Fortran), да и очевидно постмодернистский Perl скоро справит двадцатилетний юбилей. Поэтому деление языков програм-
мирования (и темы номера) на «классицизм», «модернизм» и «постмодернизм» происходит скорее «вдоль» истории, нежели «поперек».
С этим и начнем.
 


Генеральная линия: От Fortan до C#
Автор: Виктор Шепелев
 
Как уже было сказано, подавляющее большинство языков программирования из «настоящего мэйнстрима» ведут свою идеологическую родо-
словную напрямую из машинного языка/ассемблера. Конечно, по этому пути они успели зайти далеко, но каждый следующий шаг был лишь
логическим продолжением предыдущего.
В этом «естественном развитии» популярных языков новые концепции вводились путем постепенного «уточнения парадигмы»: новые возможности
вводятся как почти «синтаксический сахар» (более краткая, удобная и понятная альтернатива существующим конструкциям, ничего принципиально не
меняющая), но возникающие нюансы и вопросы и разрешение этих нюансов и вопросов приводит к формулировке новых идей [Для примера: использо-
вание именованных переменных вместо регистров и адресов памяти поднимает вопросы о типах данных; структуризация кода с помощью процедур и
модулей порождает вопрос «области видимости» переменных, а также разницы между «передачей по ссылке» и «передачей по значению»; и т. п.].
Господствующая парадигма [Любим мы это слово. По большому счету, оно означает «подход», «модель построения программы или ее частей», «способ
думать  об  архитектуре  программы» —  что-то  в  этом  духе] —  программирование  императивное:  программа —  суть  набор  инструкций  «сделай  то,  потом
сделай это», результаты действий сохраняются и изменяются в именованных ячейках — «переменных». Отслеживая историю развития промышленного
программирования, можно заметить, что все новые «победившие» языки развивали, а не опровергали эту парадигму.
Первым  [Попытки  «автоматизировать  программирование»  были  и  до  Фортрана —  «язык»  A-0  для  компьютера  UNIVAC  (1952),  экспериментальный
«транслятор формул», созданный в MIT (1954); но эти реализации показывали чудовищную неэффективность сгенерированного машинного кода, что по-
родило  стереотип  «никакая  автоматизация  не  сможет  заменить  человека-программиста,  пишущего  на  ассемблере».  Фортран  этот  стереотип  разрушил]
реально  используемым  высокоуровневым  языком  программирования  стал  Fortran  [Имена  ранних  языков  программирования,  как  правило,  писались
большими буквами (FORTRAN, COBOL, ALGOL, LISP…). Причина тут не в склонности к аббревиатурам (довольно вымученным, вроде FORmula TRANslator),
а убогость тогдашних средств ввода/вывода, зачастую оснащенных только шрифтами с заглавными буквами. «Как правильно» писать название языка —
иногда непонятно и самим авторам, пишут и так и эдак. Мы предпочли вариант, более симпатичный с типографской точки зрения (кроме случаев, когда
название языка — явная аббревиатура: PL/I, PHP)] (первое описание — 1954, первая реализация — 1957). В немалой степени перво-Fortran — это «подсаха-
ренный» ассемблер; но это был огромный шаг вперед, хотя бы в том смысле, что вычисление A+BхC можно было записать так, как понятно математику, а
не как набор операций по загрузке значений в регистры и вычисления ответов в других регистрах.
Проблемы со структурой программ на Фортране (вкратце: структуры не было) привели к разработке языка Algol (1958). Судьба его весьма показатель-
на: совместная разработка американских и европейских ученых, к которой приложили руку многие «легенды» IT; в процессе работы над Алголом были
разработаны концепции структурного программирования (логические структуры для ветвления кода; разбиение программы на процедуры, положившее
начало созданию библиотек кода для повторного использования, и т. п.); следующие тридцать лет Алгол будет де-факто стандартом для описания алго-
ритмов. При этом уклон авторов Алгола в «теорию» (эффективного компилятора нет; стандартных операторов ввода-вывода нет) привел к тому, что ис-
пользование этого языка в промышленном программировании было мизерным.
Из первоязыков еще стоит упомянуть Cobol (1959), чудовищный как язык, но крайне успешный как платформа для создания бизнес-приложений. Что
показательно.
Следующее  десятилетие —  эпоха  экспериментов  на  ниве  создания  «самого  лучшего  языка».  В  широком  использовании  продолжают  царствовать
Fortran/Cobol, к ним добавляются языки класса «все-все-все-в-одном» PL/I и CPL [В этот же период созданы Lisp и Snobol, речь о которых — в следующей
статье], тяжелые и для изучения, и для реализации. В районе 70-х происходит первая «большая чистка»: парк компьютеров растет лавинообразно, возни-
кает необходимость в языках простых и практичных, которые легко выучить, легко реализовать под различные аппаратные платформы, легко писать и
читать  код;  при  этом  возрастает  количество  «программ-ради-программ»,  не  решающих  некую  бизнес-задачу,  а  облегчающие  работу  с  самим  компьюте-
ром.
1   ...   10   11   12   13   14   15   16   17   ...   36

Похожие:

Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconА Н Д Р Е Й  Е Г О Р Ш И Н  Рисунки П. Павлинова 
Океаны изведаны, проутюжены вдоль и  поперек могучими стальными корпусами современных быстро­
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев icon1, и чтобы остальные Так вот: такая антивавилонская задача — опыт (грядущие) номера и языки лишь усиливали понимания другого. Опыт говорения на другом мощность этой единицы!!! языке. Опыт постижения диссонансной музыки Воскресенье, 1 января 2006, 
«троичность троичность а поперёк! Лишь в этом случае стихотропная кругом» И, наконец, 90 лет Чёрному квадрату
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconРассказы, этюды, эссе. Красноярск
Любимый его жанр новеллы о природе. Он исходил вдоль и Не каждому дано яблоком поперёк удивительные окрестности молодого города....
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconЖ. И. Резникова язык животных: подходы, результаты, перспективы… в кн.: «Языки науки языки искусства»
В кн.: «Языки науки – языки искусства», Сборник трудов VII международной конференции «Нелинейный мир», Москва, 2004, изд-во Института...
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconЯзыки программирования, их классификация и развитие
Материалы данного файла могут быть использованы без ограничений для написания собственных работ с целью последующей сдачи в учебных...
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев icon10 класс, алгебра, Колмогоров. 2 часа внеделю-1 полугодие, 3 часа во 2 полугодии–. Всего 85 часов
Знать определение функций, об-ласть определения функций, область значения функции; уметь строить графики путем переноса графика f...
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconНомера: Сокращение Штатов
...
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconПолный обучающий курс 1 Turbo Pascal 1 Содержание 2 Ввод-вывод 6 Занятие Язык программирования Паскаль. Знакомство со средой программирования Турбо Паскаль.
Занятие Язык программирования Паскаль. Знакомство со средой программирования Турбо Паскаль. Основные понятия. Первая программа. Оператор...
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconКнига Б. Страуструпа "Язык программирования С++"
Книга Б. Страуструпа "Язык программирования С++" дает описание языка, его ключевых понятий и основных приемов программирования на...
Номера: История, порезанная тонкими ломтиками: Языки программирования. Вдоль и поперек Автор: Виктор Шепелев iconЯзыки славянской культуры
Право на продажу этой книги за пределами России, кроме издательства Языки славян
Разместите кнопку на своём сайте:
TopReferat


База данных защищена авторским правом ©topreferat.znate.ru 2012
обратиться к администрации
ТопРеферат
Главная страница