Archive for the ‘Языки программирования’ Category

Бьерн Страуструп “Дизайн и эволюция C++”

Saturday, May 6th, 2006

В книге Страуструпа “Дизайн и эволюция C++” описана история создания и развития языка C++, а также рассмотрен ряд технических аспектов реализации тех или иных возможностей языка. Много внимания уделено влиянию других языков программирования.

Купить книгу можно на bolero: Бьерн Страуструп “Дизайн и эволюция C++”.

Лекции UC Berkeley по computer science

Wednesday, April 5th, 2006

Свободно доступны на вебе в видео- и аудиозаписи лекции, которые читают в текущем семестре в Калифорнийском Университете в Беркли.

Отдельного внимания заслуживают:

См. также полный список лекций, доступных в рамках программы Webcast.Berkeley. Доступны форматы: потоковое видео в формате RealMedia, потоковое аудио в формате MP3, а также версия в MP3 для скачивания.

См. также: Видеозаписи лекций курса “Structure and Interpretation of Computer Programs”, которые читают в MIT.

Tony Simons “The Theory of Classification – A Course on OO Type Systems”

Monday, March 20th, 2006

Вводный курс статей по теории типов в ООП — серия публикаций в Journal of Object Technology.

Почитать: “The Theory of Classification – A Course on OO Type Systems”.

R. Kent Dybvig “The Scheme Programming Language”, 3rd ed.

Monday, March 6th, 2006

Книга R. Kent Dybvig “The Scheme Programming Language” издательства MIT Press доступна в электронном виде.

Почитать можно тут: “The Scheme Programming Language”.

The Haskell 98 Report (Revised)

Wednesday, March 1st, 2006

Описание языка Haskell и его стандартных библиотек доступно в электронном виде.

Haskell — чисто функциональный язык программирования общего назначения, содержащий множество инноваций в разработке языков программирования. Haskell предоставляет функции высокого порядка, нестрогую семантику, статическую полиморфную типизацию, определяемые пользователем алгебраические типы данных, сопоставление с образцом, описание списков, модульную систему, монадическую систему ввода – вывода, а также богатый набор примитивных типов данных, включая списки, массивы, целые числа произвольной и фиксированной точности и числа с плавающей точкой. Haskell — это и кульминация, и кристаллизация многих лет исследования нестрогих функциональных языков.

Оригинал можно прочитать здесь: The Haskell 98 Report (Revised).

Существует также русский перевод этого документа (из которого взято с небольшими изменениями краткое описание языка): Язык и библиотеки Haskell 98. Исправленное описание.

Google Research Publications

Monday, February 27th, 2006

На сайте Google Labs доступно множество статей, написанных в разное время сотрудниками Google. Среди самых интересных:

  • The Google File System  — архитектурные принципы и внутреннее устройство файловой системы, используемой на серверах Google;
  • MapReduce: Simplified Data Processing on Large Clusters — интересное применение классических функций map и reduce для проведения широкомасштабных вычислений;
  • Web Search for a Planet: The Google Cluster Architecture — практические (местами неожиданные) выводы из технологии устройства вычислительных кластеров в Google;

Larry Wall “Perl 6 Apocalypses”

Wednesday, February 22nd, 2006

В серии статей “Откровение о Perl 6″ Ларри Уолл излагает своё представление о дизайне языка Perl 6, который в настоящий момент (уже примерно лет пять) находится в процессе разработки.

Почти каждое откровение сопровождается толкованием: Damian Conway подробно разбирает пример кода, использующего новые возможности Perl 6.

Рабочие спецификации Perl 6 в процессе обсуждения собираются в виде Synopses. Они максимально близки к тому, что именно будет реализовано (когда-нибудь).

Прочитать можно: Perl 6 Apocalypses, Perl 6 Exegeses и Perl 6 Synopses.

Особенно рекомендуется Apocalypse 5 — Pattern Matching (про регулярные выражения).

R5RS: Revised5 Report on the Algorithmic Language Scheme

Friday, February 17th, 2006

Коротенький (50 страниц) и во многом даже увлекательный стандарт языка Scheme.

Почитать можно здесь: Revised5 Report on the Algorithmic Language Scheme

Paul Graham, “On Lisp”

Wednesday, February 8th, 2006

Замечательная книжка “On Lisp”, написанная Полом Грэхемом (Paul Graham), опубликована в электронном виде. В книге подробно рассказываются различные методики программирования на Lisp, позволяющие резко увеличить выразительную силу программ и производительность программиста.

Почитать можно здесь: Paul Graham, “On Lisp”.

Raphael Finkel, “Advanced Programming Language Design”

Sunday, February 5th, 2006

Raphael Finkel написал книгу о различных аспектах языков программирования, на примере многих достаточно нетривиальных языков. Книга называется “Advanced Programming Language Design”, она была опубликована издательством Addison-Wesley, и доступна в электронном виде.

Почитать можно здесь: “Advanced Programming Language Design”.