LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Его судьба весьма туманна. Вроде как тут проскакивали сообщения о том, что сами гномеры сомневаются в его нужности.

Хотя сама по себе задумка хороша. Однако он слишком сильно привязан к GObject. Конечно, там можно отключить это, но тогда пропадает куча плюшек. Если посмотреть как сделан порт для AVR, то можно заметить, что там по факту просто захардкодили всякие специфичные опции. Мой же подход (расширять Си) позволяет особо об этом не думать (главное не съедать всякие __attribute__ и не падать на них) - все платформоспецифичные вещи люди просто будут делать как раньше, я лишь добавил универсальный синтаксический сахар.

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

Исходная версия KivApple, :

Его судьба весьма туманна. Вроде как тут проскакивали сообщения о том, что сами гномеры сомневаются в его нужности.

Хотя сама по себе задумка хороша. Однако он слишком сильно привязан к GObject. Конечно, там можно отключить это, но тогда пропадает куча плюшек. Если посмотреть как сделан порт для AVR, то можно заметить, что там по факту просто захардкодили всякие специфичные опции. Мой же подход (расширять Си) позволяет особо об этом не думать (главное не съедать всякие __attribute__ и не падать на них) - все платформоспецифичные вещи люди просто будут делать как раньше, я лишь добавил универсальный синтаксический сахар.

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