Читаем Журнал «Компьютерра» N8 от 27 фераля 2007 года полностью

Написание кода в отладчике - не эффектный кунштюк, а удобный и практичный способ программировать, когда можно вживую пообщаться с каждым из участвующих в приостановленном вычислении объектов, а не вспоминать мучительно, как называется нужный метод и что именно он возвращает. Возможность затачивать Инспектор под конкретные типы объектов - не просто полезная особенность, а путь к иному способу думать о графическом интерфейсе, когда каждый объект системы способен говорить с человеком на специфическом диалекте единого визуального языка (первоначальное понимание роли графического интерфейса, которое можно проследить в Smalltalk-76 и в Fabrik, было именно таким; теперь мы возвращаемся к сходным взглядам на новом витке спирали в таких средах, как Morphic и Oberon/Bluebottle).

Самое же главное в Смолтоке - это то, что через него программисты необратимо меняются к лучшему. Можно потом писать хоть на ассемблере, хоть на VBA, но это будут уже другой ассемблер и другой VBA. Знание Смолтока необходимо для глубины восприятия. Необходимо, но, конечно, не достаточно, потому что остаются еще Haskell и Erlang, OCaml и Oz, и Scheme, и еще много других путей вниз по кроличьей норе, прямиком в Страну Чудес.

Борис Беркгаут, компания «Транзас» (Санкт-Петербург), отдел ПО авиационных тренажеров


Декларация независимости


Академическое стремление иметь математически стройные средства программирования (к которым были бы применимы математические же методы проверки, доказательства, порождения и вывода) привели к созданию концепции декларативного программирования - идеологически стройного описания программы, которое «выполняется» неким умным компилятором-"думателем" [С термином есть некоторая путаница. Языки описания чего-либо, не являющиеся полноценными «языками программирования» (например, HTML/XML), также называют декларативными]. Разновидности (существенно разные): функциональное программирование - программа описывается как математическая функция, зависящая от других математических функций, затем вычисляется; логическое программирование - задается набор предикатов-утверждений, затем результат выводится из этих предикатов; программирование в ограничениях (constraint programming) - задаются только ограничения на результат, а компилятор вычисляет все результаты, удовлетворяющие этим ограничениям.

Из вышеперечисленных разновидностей лишь функциональное программирование воплотилось в широкую семью языков (языки-потомки «первого функционального» ML, максимально «идеологически чистый» Haskell, странный REFAL, практичный Erlang и другие [Lisp и его потомки постфактум тоже считаются функциональными]) и собрало широкое сообщество «функциональщиков». Сегодня термин «функциональное программирование» определяет как изначальную концепцию (программа-как-вычисление-функции), так и более широкий набор концепций (часть из них не являются обязательным свойством функциональных языков, но возникли именно в этой среде): функции как данные, анонимные функции, продолжения (continuations), сопоставление с образцом (pattern matching) и т. п.

Что до других способов программирования, традиционно называемых декларативными, то они оказались более узкоприменимы. К примеру, из языков общего назначения полностью и исключительно логическим является разве что Prolog; зато концепции логического программирования (и программирования в ограничениях) «окопались» во многих областях в форме библиотек к другим языкам и специализированных приложений.


Haskell


Включение «привычных» средств в язык делает его ближе и привычнее простому пользователю, но не выразительнее. Выразительнее языка, чем Haskell, я не встречал. До недавних пор у Хаскелла была стратегия «avoid success at all costs», а Тони Хоар печально говорил: «I fear that Haskell is doomed to succeed»; это язык, созданный geek’ами от Computer Science для geek’ов. И поэтому я, при всей любви к Хаскеллу, не могу переключиться на него полностью - без понимания теоретических основ CS я буду знать язык более чем посредственно. Сколько бы популяризаторы ни говорили, что для работы с Хаскеллом не нужны глубокие познания в математике, следует понимать, что потенциал языка будет использован далеко не полностью; дизайн языка и его библиотеки пропитан теорией категорий и универсальной алгеброй.

Глеб Алексеев,

компаниЯ Zoral (Киев)


Перейти на страницу:

Все книги серии Компьютерра

Похожие книги

Справочник по параметрам BIOS
Справочник по параметрам BIOS

В справочнике в алфавитном порядке приведено описание большинства параметров современных BIOS. В краткой форме описаны большинство настроек BIOS, даны рекомендуемые значения для различных конфигураций компьютеров. Также рассказано, что представляет собой BIOS, какие типы BIOS существуют, как получить доступ к BIOS и обновлять ее.Кроме того, вы научитесь использовать различные функции BIOS, узнаете, как оптимизировать их с целью улучшения производительности и надежности системы.Для более глубокого понимания работы BIOS и детального рассмотрения ее функций рекомендуем обратиться к книге «Оптимизация BIOS. Полное руководство по всем параметрам BIOS и их настройкам» А. Вонга.Книга предназначена для всех пользователей компьютера – как начинающих, которые хотят научиться правильно и грамотно настроить свою машину, используя возможности BIOS, так и профессионалов, для которых книга окажется полезным справочником по всему многообразию настроек BIOS. Перевод: А. Осипов

Адриан Вонг

Зарубежная компьютерная, околокомпьютерная литература
Создание трилогии BioShock. От Восторга до Колумбии
Создание трилогии BioShock. От Восторга до Колумбии

Всего за три игры сага BioShock заняла особое место в сердцах игроков. Она может похвастаться проработанными и совершенно уникальными персонажами и мирами. Действие первых двух частей происходит в подводном городе Восторг, где игрок погружается в стиль ар-деко и атмосферу 1950-х годов. Третья часть, BioShock Infinite, переносит вас в 1912 год и приглашает исследовать небесный город Колумбия в сеттинге стимпанка.В книге вас ждут:[ul]рассуждение об источниках вдохновения создателя серии Кена Левина;исследование уникального геймплея и механик;подробности разработки игр франшизы от идеи до выпуска;глубокий анализ сюжета, тем и персонажей каждой части.[/ul]Авторы отдают дань уважения популярной серии игр, которая, несмотря на короткую историю, уже получила признание критиков.В формате PDF A4 сохранен издательский макет книги.

Мехди Эль Канафи , Николя Курсье , Рафаэль Люка

Зарубежная компьютерная, околокомпьютерная литература