mend0za: (Default)
mend0za ([personal profile] mend0za) wrote2011-06-29 06:34 pm

Духи промышленной автоматизации будут удовлетворены

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

Нам удалось воплотить эпическую денежную дихотомию “дорогие идиоты - дешёвые идиоты”. Дорогой идиот - это я, дешёвый идиот - оператор GUI.


  • (M) База данных в SQlite3 - содержит данные на систему - 321 запись в основной таблице
  • (V) GUI морда на QT/C++ - редактирование данных - 1160 строк
  • (С) кодогенератор C на Python по данным базы (Чеусов! Фу! В вашем AWK нет SQlite и работы с BLOB!) - 290 строк
  • библиотека в Plain C - набор API по работе с данными из кодогенератора - 4693 строки, включая Doxygen и пустые строки.
  • Unit-тесты, Plain C - 1200 строк


Документация по данным системы больше не нужна. GUI отныне самодокументированная сущность (в частности мы добавили в базу безразмерное текстовое поле Description).

Следующая фаза - экспорт из GUI в PDF. С выбросом оригинальных описаний в XLS и PDF - в утиль.

Update. О начинке библитеки. Забыл напомнить.

В библиотеке внутре керосинка!:

  • реализация собственной системы типов с колхозанским reflection
  • полиморфизм и инкапсуляция на Plain C (ООП в стиле JavaScript)
  • значениями по умолчанию у каждой из переменных
  • системой нотификации изменений (как слинкованных приложений, так и посторонних процессов)
  • Концепция “драйвер” (как аттрибут переменной) описывает способ доступа к данным (сейчас их 6).


Отложенный во времени привет миру от нагадивших мне в душу Intel UPNP SDK (ООП на Plain C), Perl (значения по умолчанию), Ruby (Reflection), MVC/QT, ASN.1/asn1c (вся идея отрыва описания от реализации).

Ад и мета-программирование в комиксах.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting