Программирование

Таблицы имен при рекурсивном спуске с возвратами

В заметке "Пишем транслятор" я сетовал на ситуации, когда грамматику не впихнуть в LL(n). В частности, это оборачивается необходимостью поддерживать транзакционность (!) добавления имен в таблицы имен.

Например, есть правило типа

Интерфейсы в C++ и множественное наследование

Множественое наследование интерфейсов, представлющих собой полностью абстрактные классы (pure abstract class), не представляет проблем до момента, когда понадобится использовать реализацию интерфейса в других классах.

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

Пишем транслятор или немного о Фортране

Моя текущая занятость связана с разработкой транслятора некоторого скриптового языка. По ряду причин имеющаяся реализация не может быть использована в других средах. В связи с этим вспомнился Фортран... Но, давайте уж все по порядку.

Про интерфейсы или как не надо делать программы

В первую голову проблема касается продуктовых софтостроителей, хотя и в проектном тоже не все гладко.

Начнем с недавней истории. Технология COM (позднее, другие, но суть та же) дала возможность разработчикам компонентов отделить интерфейсы от реализаций. Для прикладных разработчиков это означало, например, что при обновлении компонентов старые интерфейсы продолжали бы работать. В теории, конечно. Но и на практике это выглядело гораздо лучше, чем "ад динамических библиотек", имеющих всегда версию "текущая".

Каков механизм? Он очень прост. Объявляет программист компонента интерфейс

Программирование на языке Симула-67

Книгу "Программирование на языке Симула-67" открыл почти случайно, но содержание и первые главы заинтересовали. А как может не заинтересовать изложение концепций объектно-ориентированного программирования из 1967 года?

Firebird 2.5: состояние

Давненько я не обращался к теме Interbase/Firebird. Последний раз прототип приложения с использованием Firebird 1 был сделан в 2002 году, с тех пор не складывалось. Изучая содеянное разработчиками за 11 лет, исполняюсь противоречивыми впечатлениями.

Хорошие новости от Delphi

Разработчики Delphi тряхнули стариной и выдали на рынок продукт. Delphi XE2 может много. Главное - из одних и тех же исходников компилировать "родной" (двоичный) код для платформ:

  • Windows 32 и 64
  • Mac OS
  • iOS (iPhone/iPad)
  • Android
  • службы для "облаков"

Подробности на сайте Embarcadero.

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

"Test drive" FreePascal / Lazarus

Тестировал FreePascal / Lazarus на предмет пригодности к профессиональной разработке. В качестве теста взял простенькое приложение из 3 компонентов (1 исполняемый модуль и 2 DLL-ки по принципу плагинов) с несложной обработкой XML внутри. Выводы.

Продукт имеет немало продвинутой функциональности, главная из которой - компиляция и кросс-компияция под множество платформ, включая мобильные устройства. Однако, среда пока не слишком пригодна для разработки чего-то иного, чем монолитное графическое оконное или консольное приложение, в т.ч. связанное с СУБД.

Например:

Моделирование и кодогенерация

Обнаружил замечательный инструмент для моделирования и кодогенерации StarUML. Что в нем хорошего для разработчика?

Страницы

Subscribe to RSS - Программирование