Иллюстрированный самоучитель по практике программирования

Нотация

  • Способ записи

    Из всех творений человека | самым удивительным является язык. | Джайлс Литтон Страчи | Слова и поэзия | Правильный выбор языка может решающим образом влиять на простоту написания программы.
  • Форматирование данных

    Между тем, что мы хотим сказать компьютеру ("реши мою проблему"), и тем, что нам приходится ему говорить для достижения нужного результата, всегда существует некоторый разрыв. Очевидно, что чем этот разрыв меньше, тем лучше.
  • Регулярные выражения

    Спецификаторы формата для pack и unpack – достаточно простой способ записи, описывающий компоновку пакетов. Следующая тема iniero обсуждения – несколько более сложный, но гораздо более выразительный способ записи – регулярные выражения (regular pressions), определяющие шаблоны текста (patterns of text).
  • Программируемые инструменты

    Множество инструментов группируется вокруг языков специального назначения. Программа grep – всего лишь одна из целого семейства инструментов, которые используют регулярные выражения или другие языки для разрешения программистских проблем.
  • Интерпретаторы, компиляторы и виртуальные машины

    Какой путь проходит программа от исходного кода до исполнения? Если язык достаточно прост, как в printf или в наших простейших регулярных выражениях, то исполняться может сам исходный код. Это несложно; таким образом можно запускать программу сразу же по написании.
  • Программы, которые пишут программы

    Возможно, самым примечательным в функции generate является то, что она представляет собой программу, которая пишет другую программу – ее вывод есть поток исполнимых команд для другой (виртуальной) машины.
  • Использование макросов для генерации кода

    Опустившись на пару уровней, можно говорить о макросах, которые шут код во время компиляции. На протяжении всей книги мы предостерегали вас от использования макросов и условной компиляции, поскольку этот стиль программирования вызывает множество проблем, все же они все равно существуют, и иногда текстуальная подстановка – это именно то, что нужно для решения данной проблемы.
  • Компиляция "на лету"

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

    В книге Брайана Кернигана и Роба Пайка "The Unix Programming nvironment" (Brian Kernighan, Rob Pike. The Unix Programming nvironment. Prentice Hall, 1984) широко обсуждается инструментальный подход к программированию, который так хорошо поддерживается Unix.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.