Хрум

Июль 14, 2011 under Моё

Около десяти лет назад на уроках программирования я знакомился со Схемой (Scheme) — диалектом Лиспа (LISP). К тому времени я уже неплохо ориентировался в C и C++, что в один прекрасный день привело меня к такой мысли: что если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, а к синтаксической строгости Лиспа добавить объектную ориентированность Плюсов, должна получиться конфетка. Мысль сию рискнул я поведать в одной из программерских комнат какой-то IRC-сети, и в ответ был послан читать про Смолток (Smalltalk). Я до сих пор не уверен, что мне в тот момент именно Смолток мог помочь, лучше бы тогда попался в руки СИКП (SICP).

Через пару лет, уже учась в МИФИ, я вспомнил, куда меня послали, и попробовал поискать что-нибудь про этот дивный язык в университетской библиотеке. А там в те времена уже была электронная картотека с кучей полезных возможностей. Например, по запросу «Smalltalk» она мне выдала единственную книжку — «Паттерны проектирования» Банды четырёх. Тогда я ещё не знал, что это за великий труд, для меня это была единственная доступная на расстоянии нескольких минут и бесплатно книга, в аннотации к которой упоминалось, что она содержит примеры кода на Smalltalk и COBOL.

Про Смолток я из этой книги почти ничего не узнал, да и про паттерны далеко не всё понял…

…но идея о создании своего компьютерного языка жива во мне до сих пор. Несколько месяцев назад она всплыла очередной раз, когда я наткнулся на страницу «Грамотное программирование». Нет, мой Хрум пока не реализует эту концепцию, просто статья натолкнула на размышления. Размышления эти ещё долго варились в моей волосатой голове, пока, наконец, не стали кристаллизоваться в строгие грамматические конструкции.

Кристаллизации этой мощным катализатором послужила книга СИКП (Структура и интерпретация компьютерных программ). В первые же часы чтения получил ответы на пару вопросов, донимавших меня последние дни.

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

Да, зваться он будет, как вы уже догадались, Хрумом.

Вовремя мне СИКП попалась.

Хорошие книги

Июль 20, 2010 under Моё

Ставлю «Дисциплину программирования» Эдсгера Дейкстры на одну виртуальную полку с популярными книгами про время и Вселенную Стивена Хокинга и «Что такое математика?» Рихарда Куранта и Герберта Роббинса.

Все они дают замечательное понимание самой сути, самых основ своей области знаний.

Рекомендуются тем, кому надоели всякие скучные учебники.