Вы выиграли :) Не знаю о чем мы с вами спорили, но вы победили. Я отказываюсь просматривать эту простыню, там вроде нормальные ссылки, а внизу под катом прям густо хабр, хабр, хабр…
JNBridgePro — какая-то насквозь коммерческая приблуда. И, судя по рекламе, она создаёт что-то вроде REST-сервера для доступа снаружи (наличие TCP в списке вариантов доступа на это намекает).
Java и .NET в одном процессе несовместимы, даже на винде, я думаю - Java просто считает весь процесс своим собственным, она не рассчитана на интероперабельность вообще. В VEH каком-нибудь будут конфликты. На линуксе же это сразу упрется в сигналы и падение в корку к херам. И никто это исправлять не будет, потому что в говне которым является рантайм Java разобраться практически нереально.
Там хуже. Они вон даже не понимают, че происходит. Краши. И так будет с большинством рантаймов. Потому что уровень разработчиков как бы на пару порядков пониже чем у мейнтейнеров SBCL того же, или каких известных лисперов, которые вон в FFI шарят.
А взаимодействие проблематично именно в SBCL по той же причине, по которой сложно сделать интерфейс к Java: due to SBCL’s inability to handle Unix signals properly in the presence of foreign threads.
Да проблема не в SBCL, а в сигналах вообще. Потому что сигналы это кривое говно by design. Эта херня всплывает и при использовании Java + ImageMagick например.
Вы профи в 1С и знаете, что в ней не поддержаны все «базовые типы данных» https://learn.microsoft.com/ru-ru/windows/win32/winrt/base-data-types,
Но иногда в 1С использую «свои» переменные и объекты, которые малого того, что могут быть любого «базового типа», так ещё быть ссылкой на объекты типа struct.
Так что скорее всего как-то и в Лисп можно использовать float.
Про float речь была в том контексте, что если внутренние операции над данными не соответствуют внешним, очень сложно реализовывать алгоритмы на этих данных. Хотя выгрузке и загрузке, разумеется, это никак не мешает.
Впрочем, в 1С это как раз в полный рост. «ВЫБРАТЬ Поле1 / Поле2 ИЗ Таблица» и «ВЫБРАТЬ Поле1, Поле2 ИЗ Таблица» + Выборка.Поле1 / Выборка.Поле2 легко могут дать разные результаты, потому что в первом случае делит SQL, а во втором 1С. Более того, даже поиск по равенству строки в SQL без учёта регистра, а в языке 1С с учётом регистра.
В SQL СВОЯ арифметика и она лишь местами похожа на «обычную».
Поэтому проблема «потеряной/лишней копейки» может возникнуть в алгоритмах, которые не знают правил арифметики SQL.
И я про то же. Но это не мешает писать программы, очень тесно интегрированные с SQL.
Так и float. Если интерфейс к внешней системе умеет конвертировать из внутреннего представления лиспа и обратно, то абсолютно несущественно, насколько арифметика лиспа соответствует арифметике внешней системы.
при чем тут компилятор вообще? float mode это уровень режима работы процессора, в каждой ОС в сишном рантайме есть функции для этого, на винде вон даже - _fpreset итд
База бухгалтерская. Чтобы по слову «иванов» находился «Иванов» надо часто. Альтернативы: либо удвоить объём базы продублировав все текстовые поля, либо искать по базе без индексов.
Решили, что проще сделать, чтоб СУБД не различала регистр. А если кому-то очень надо, в запросе есть условие ПОДОБНО (которое LIKE в англоязычном).
В твоем представлении индексы - это что-то типа НЁХ. А на деле - это просто файл, где все значения этого самого индекса, он полностью читается в оперативу и там какие-то операции над ним происходят.
Вы понимаете о чем говорите. И про 1С и про Лисп и проблему чисел с плавающей точки в общем. Рад что тут есть люди которые понимают проблему с обеих сторон так сказать.
Вообще, забавно, что родоначальником современных чисел с плавающей точкой является тот самый IBM 704 под который и создали Lisp. Он первый использовал «смещенные экспоненты» для записи таких чисел.
Но когда появился IEEE-754 IBM игнорировала его до талого, добавив поддержку численных вычислений с плавающей точкой по IEEE в свои мейнфреймы только в 2005 году. До этого она морозилась, т.к. свои стандарты и своя экосистема, а тут какие-то выскочки на 30 лет позже придумали какой-то несовместимый с нами стандарт.
В этом файле записи отсортированы по значению. Если значение является строкой с учётом регистра, то на ILIKE будет равенство множества не идущих подряд записей индекса.
Да на это уже срать, что там линейный поиск. Можно смело утверждать что в оперативу загружено постоянно до 25% размера таблиц. Там нет никаких проблем в регистронезависимом сравнении строк: A - это 41 (в ASCII), a - 61, те чиселки сравниваются x == 41 or x == 61 (41 + 20), там внутреняя какая-то кодировка для репрезентации всех возможных символов юникода. У меня есть база данных одного топового сайта, там всего-навсего 20+ гигабайт данных за 15 лет скопилось. Даже по самой большой таблице с миллионами записей линейный поиск происходит за доли секунды
Не будет и не должна. Там где-то в документации прописано это требование. В шарагах никогда не будет баз по 20 гигов как на сайтах с миллионами посетителей в месяц
Фирма по продаже комп комплектующих со своим сервисным центром спокойно набирала 20Гб за год. Приходилось писать обработки и обрезать остатки в последние рабочие дни года.
Причем вообще 20 млн посещений в месяц? это же не 20 млн продаж которые занесли заказы в БД.
В смысле? Для учёта в столовой необходимо на каждое блюдо списать ингредиенты с учётом партий прихода. Таким образом на одну продажу товаров будет около сотни записей по десятку полей каждая. Человек покупает полдюжины товаров. За день проходит по крайней мере сотня человек. Получается порядка миллиона полей ежедневно. На каждое надо порядка десятка байтов. Десять мегабайт. Сто дней — гигабайт. Год три гигабайта. Пять лет — пятнадцать гигабайт. И это только бухгалтерский учёт продаж. Без учёта закупок, ежемесячных регламентных перерасчётов себестоимости, расчёта калькуляций и прочего.
Они просто не понимают насколько 1С серьезнее их поделок в вебе в плане обработки и хранения реальных данных и что те же кластеры 1С не от хорошей жизни придумали.
Да причем тут я, вы же реально не осознаете насколько 1С продвинулась в плате автоматизации задач предприятий. Если бы вы хоть раз в жизни столкнулись с нагрузками по данным которые происходят в 1С.
OLTP? не слышали
Лавсан, Лавсанище, ну хватит уже писать о том о чем вообще не понимаете. 1С как раз реализует и OLTP и OLAP (ROLAP), причем это работает быстро. Вы таких архитектур и не видели. Например, такая схема используется в ДИТ г. Москва.
Там больше 5 млн сотрудников с зарплатами и тд, несколько миллионов договоров гражданско-правового характера с контрагентами, перекрестными ссылками и прочим. Это тот самый кровавый энтерпрайз к которому вас никогда не подпустят и на пушечный выстрел.
Тебе нужен отдельный OLTP на 100 транзакций в день? Зачем???
А хранить надо, иначе когда к тебе придёт ИФНС с проверкой и потребует обосновать, почему ты пять лет назад на расходы поставил именно эту сумму, то эти данные тебе понадобятся.