Необъяснимые вещи необъяснимы
Aug. 6th, 2014 11:45 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В firebird-devel обсуждают новый ABI/API для Firebird.
Вот этот товарищ: http://en.wikipedia.org/wiki/Jim_Starkey навязывает всем свое видение, на тему использования чего-то JDBC-подобного на C++ в качестве базового клиентского API. Остальные кто в лес, кто по дрова - предлагают генерировать API из IDL, использовать plain C апи, кое-кто вспоминает что на улице 2014 год и вообще не помешало бы JSON-апи уже сделать, ссылаются на оракловский OCI и TDS от mssql и прочую чернягу.
Еще один камень преткновения - использование виртуальных функций для чтения значений полей vs чтение напрямую значений из буфера, который прислал сервер при фетче.
По-моему, они все упоролись. Генерировать API хорошая идея, но не из оккультного IDL же.
Впрочем, тут изначально все плохо, т.к. БД по самой своей сути - это динамическая типизация, с вычитыванием схем и результатов парсинга запросов и в конечном итоге оно всегда сводится к мерзости вида "скрестим динамическую типизацию с языками со статической недотипизацией вроде С".
Вот этот товарищ: http://en.wikipedia.org/wiki/Jim_Starkey навязывает всем свое видение, на тему использования чего-то JDBC-подобного на C++ в качестве базового клиентского API. Остальные кто в лес, кто по дрова - предлагают генерировать API из IDL, использовать plain C апи, кое-кто вспоминает что на улице 2014 год и вообще не помешало бы JSON-апи уже сделать, ссылаются на оракловский OCI и TDS от mssql и прочую чернягу.
Еще один камень преткновения - использование виртуальных функций для чтения значений полей vs чтение напрямую значений из буфера, который прислал сервер при фетче.
По-моему, они все упоролись. Генерировать API хорошая идея, но не из оккультного IDL же.
Впрочем, тут изначально все плохо, т.к. БД по самой своей сути - это динамическая типизация, с вычитыванием схем и результатов парсинга запросов и в конечном итоге оно всегда сводится к мерзости вида "скрестим динамическую типизацию с языками со статической недотипизацией вроде С".
no subject
Date: 2014-08-06 10:02 am (UTC)no subject
Date: 2014-08-06 10:40 am (UTC)no subject
Date: 2014-08-06 12:08 pm (UTC)no subject
Date: 2014-08-06 12:13 pm (UTC)no subject
Date: 2014-08-06 08:08 pm (UTC)А вы, товарищ, что употребляете для ясности мысли?
no subject
Date: 2014-08-06 11:09 am (UTC)no subject
Date: 2014-08-06 12:09 pm (UTC)no subject
Date: 2014-08-06 04:20 pm (UTC)Ах, файрберд... любовь всех дельфийских промзобми из айтиотделов при предприятиях, которые торгуют Советскими Приборами. Владельцы таких предприятий когда-то, в 95 году, захватили не автостоянку, и не дом культуры для сдачи под офисы, а поганый Ангар В Промзоне с Краном и Гаражом. Теперь там сидят работнички и работают, делают промышленную Уродливую Хуйню от Отечественного Производителя.
Файрберд. Бесплатное ИДЕ. Иде оно? Да, есть Ебэ Эксперт. Типа бесплатный для жителей exUSSR (типа - все равно же своруете, суки).
Как у него с бэкапами - восстановлениями? Уже починили баг(и), когда бэкап ВНЕЗАПНО мог оказаться невалидным?
Скажите, а с какой целью идентификаторы в базе являются чувствительными к регистру? А делать автоинкрементное поле через триггер - это зачем? Как там с полнотекстовым поиском, к 2014-то году доделали? Чем отличается Классик Сервер от СуперКлассик Сервера?
От файрберда прямо-таки веет этакой кустарщиной. И он НИКОМУ НЕ НУЖЕН НИГДЕ, кроме как на территории exUSSR.
no subject
Date: 2014-08-06 06:04 pm (UTC)no subject
Date: 2014-08-07 02:11 am (UTC)А делать автоинкрементное поле через триггер - это зачем?
Видимо за давностью лет я не помню уже, но разве там не генератор цеплялся точно так же как у PostgreSQL и Oracle?
Но да. Эту РСУБД в России знают исключительно благодаря Borland :)
no subject
Date: 2014-08-07 06:48 am (UTC)Я почти из-за этого делал кодогенерацию SQL, собственно - очень много разницы в разных СУБД именно в плане "сгенерить автоинкремент" и "получить значение автоинкрементного поля".
no subject
Date: 2014-08-06 03:50 pm (UTC)Проблемы с типизацией - да, есть, портят все высокие материи и хорошие начинания, но не agda ж там ожидать. А коли так - детали реализации становятся не столь принципиальны.
Как по мне - так нехай делают JSON, "решение проблем с типизацией положением на оную болта".
Для компилируемых языков - ребе, а шо ви таки видите плохого в IDL? Механизм описания как механизм, даже "типа стандартизированный". Альтернатива - генерировать из невменяемого XML с десятком ns, ссылками на черновики стандартов OASIS, жабоёбством и ебаквачеством. И документировать там же докбуком.
no subject
Date: 2014-08-06 08:02 pm (UTC)