Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оглавление.docx
Скачиваний:
38
Добавлен:
22.02.2015
Размер:
173.51 Кб
Скачать

1.4. Проблемы и перспективы развития

Через пять лет у нас будет один суперязык программирования, только мы не можем установить начало этого пятилетнего периода. Алан Дж. Перлис

Тезисно сформулируем основные проблемы и перспективы языков программирования:

Во-первых, следует отметить, что новые языки программирования будут появляться и дальше. Рано или поздно у нас возникнут кардинально новые мысли о программировании и, согласно гипотезе Хурфа-Сэпира, они потребуют новых языков.

Во-вторых, следует обратить внимание на грамотное воплощение идей, заложенных в языках. Идея может быть хорошей, даже отличной, но ее решение и воплощение в конкретном языке - неудачным и безобразным.

Некоторые выводы о распространении новых языков можно сделать на основе языка Java [Богатырев 1998].

  • Продвижение языка Java происходило за счет мощной рекламы, а не из-за достоинств самого языка.

  • На широкое распространение в наше время могут претендовать только те языки, которые поддержаны крупными фирмами, а не те, которые являются лучшими.

  • Время распространения и становления языка программирования (для получивших известность языков) составляет в среднем от 3 до 10 лет. В случае Java язык получил широкое распространение за один год.

В третьих, в условиях застоя в развитии языков программирования есть смысл тщательно проанализировать все полезные накопленные за это время идеи. Существуют попытки создания единой семантики современных языков программирования, в каком-то смысле опять приводящие к идее "универсального" языка [Андреев 2001].

В четвертых, Интернет требует языковых средств и подходов, обеспечивающих правильное взаимодействие большого числа независимо разработанных программ.

В пятых, использование структур и данных, которые раньше бы считались неприемлемыми из-за их неэффективности, сейчас вполне допустимо и может привести к новой организации языков. .,

Общий, несколько обнадеживающий итог звучит так. Ряд известных фирм и компаний (например, Microsoft, Sun Microsystems и т. п.) постепенно приходит к идеям, заложенным несколько десятков лет назад командой под руководством Никлауса Вирта.

1.5. Рекомендации по литературе

Горе тому, кто читает только одну книгу. Джордж Герберт

Выделим следующие работы, посвященные анализу и обзору языков программирования:

  • "Языки программирования. Практический сравнительный анализ" [Бен-Ари 2000]. Это один из лучших современных учебников по языкам программирования;

  • "Основные концепции языков программирования" [Себеста 2001]. Книга, содержит описание фундаментальных понятий программирования на примере вопросов разработки различных языковых конструкций;

  • "Языки программирования: разработка и реализация" [Пратт 1979]. Книга дает прекрасный подход к анализу языков на основе реализаторской позиции;

  • "Универсальные языки программирования. Семантический подход" [Калинин, Мацкевич 1991]. В книге обобщены и систематизированы требования к современным языкам программирования;

  • "Языки программирования: концепции и принципы" [Кауфман 1986]. Книга содержит основные принципы оценки, создания и использования современных языков программирования;

  • "A Critique of C++ and Programming and Language Trends of the 1990s". Работа Яна Джойнера (Ian Joyner) (http://www.elj.com/cppcv3/) представляет собой отличное введение в языки программирования и их сравнительный анализ;

  • "Феномен науки: кибернетический подход к эволюции" [Турчин 2000]. Автор прослеживает эволюцию мира от простейших одноклеточных организмов до возникновения языка, мышления, развития науки и культуры.

Две следующие книги содержат информацию о языках моделирования:

  • "Проектирование программного обеспечения экономических информационных систем" [Вендров 2000] - дает представление о многих языках моделирования;

  • "Самоучитель UML" [Леоненков 2001] - содержит описание языка моделирования UML.

Литература

  • Hal Abelson, Gerald Jay Sussman. Structure and Interpretation of Computer Programs

  • Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — 672 с. — 5000 экз. — ISBN 5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.)

  • Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2001. — 276 с. — ISBN 5-89158-079-9

  • Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! — М.: Дело, 2001. — 360 с. — ISBN 5-7749-0211-0

  • Ф. Бьянкуцци, Ш. Уорден. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. — СПб.: Символ-Плюс, 2010. — 608 с. — ISBN 978-5-93286-170-7

  • "Языки программирования. Практический сравнительный анализ" [Бен-Ари 2000]. Это один из лучших современных учебников по языкам программирования;

  • "Основные концепции языков программирования" [Себеста 2001]. Книга, содержит описание фундаментальных понятий программирования на примере вопросов разработки различных языковых конструкций;

  • "Языки программирования: разработка и реализация" [Пратт 1979]. Книга дает прекрасный подход к анализу языков на основе реализаторской позиции;

  • "Универсальные языки программирования. Семантический подход" [Калинин, Мацкевич 1991]. В книге обобщены и систематизированы требования к современным языкам программирования;

  • "Языки программирования: концепции и принципы" [Кауфман 1986]. Книга содержит основные принципы оценки, создания и использования современных языков программирования;

  • "A Critique of C++ and Programming and Language Trends of the 1990s". Работа Яна Джойнера (Ian Joyner) (http://www.elj.com/cppcv3/) представляет собой отличное введение в языки программирования и их сравнительный анализ;

  • "Феномен науки: кибернетический подход к эволюции" [Турчин 2000]. Автор прослеживает эволюцию мира от простейших одноклеточных организмов до возникновения языка, мышления, развития науки и культуры.

  • "Проектирование программного обеспечения экономических информационных систем" [Вендров 2000] - дает представление о многих языках моделирования;

  • "Самоучитель UML" [Леоненков 2001] - содержит описание языка моделирования UML.

Ссылки

  • The Language List (англ.) — более 2500 языков с кратким описанием

  • Computer Languages History (англ.) — история языков программирования (с 1954 по май 2004) (содержит регулярно обновляемую диаграмму)

  • Examples (англ.) — примеры программирования на 162 языках

  • Programming Language Popularity (англ.) — исследование популярности языков программирования за 2004 год

  • 10 языков программирования, которые стоит изучать (2006 г.)

  • Programming Community Index (англ.) — регулярно обновляемый рейтинг популярности языков программирования

  • Computer Language Shootout Benchmarks (англ.) — сравнение языков программирования по эффективности

  • Programming Languages that are Loved (англ.) — сравнение языков программирования по «любви» и «ненависти» к ним