Size: a a a

2020 April 03

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
потому что компиляции не существует. а запустить невозможно
то, что ты не любишь питон - известно..  только МЗ где?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
при том, что он не решает задачу - хотя бы проверить код. вот в частном случае
источник

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
при том, что он не решает задачу - хотя бы проверить код. вот в частном случае
это не задача МЗ - проверять код )))
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ну то есть почти бесполезен в частном единственно нужном мне в жизни случае
источник

DB

Dmitry Belkevich in Delphi & Lazarus
всё равно приходится половину всего делать руками
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ладно. всё лирика. пойду дальше разбираться...
источник

DB

Dmitry Belkevich in Delphi & Lazarus
так то много всего. на opencv как-то вот больше всего пригорело. реально - куча вопросов везде по гуглу
источник

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
ну то есть почти бесполезен в частном единственно нужном мне в жизни случае
ну почему же бесполезен? )

тебе нужна либа OpenCV(?)
ей нужна либа бла1... той - бла-бла3, той - бла-ла-ла5...и так штук 5-10-50...

ты представь себе жизнь без него:
ты ставишь ocv -. запускаешь.. не работает..
блиа! читаешь доку ocv, ставишь либу бла1...
запускаешь.. не работает!
читаеешь доку бла1.. ставишь либу бла-бла3...
запусскаешь - не работает!
материшься громче... и т.д....

а так это сделали уже за тебя...
и ты делаешь только pip install opencv... и весь граф зависимостей подтягивается автоматом...

тебе остаётся (в частносм случае питона) только биться уже с нужным бинарниками...
хотя, если бы задокументировали это - было бы проще, и ты не занимался бы гаданием...
источник

AS

Alexey Shumkin in Delphi & Lazarus
а случае компилируемого языка, у тебя бы просто всё собралось... ну и битва с бинарниками , в общем случае, была бы та же...

ровно такая же, как "подбор версий openssl dll для инди" ))) которая , как минимум, известна и для Делфи-приложений
источник

DB

Dmitry Belkevich in Delphi & Lazarus
понимаешь. это всё полумеры. вот если бы opencv работал в любом окружении - тогда и менеджеры не нужны были бы
источник

DB

Dmitry Belkevich in Delphi & Lazarus
я не говорю, что менеджеры плохи. но они костыли, которые пытаются заменить нормально собранные либы, которые работают везде и всегда
источник

DB

Dmitry Belkevich in Delphi & Lazarus
вот результат: повсеместный вой - можешь сам глянуть в гугле. это какой-то ад. так либы работать не должны
источник

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
я не говорю, что менеджеры плохи. но они костыли, которые пытаются заменить нормально собранные либы, которые работают везде и всегда
МЗ - это ИНСТРУМЕНТ.. который решает проблему...
проблему зависимостей...
проблема зависимостей откуда? из того, что есть дедупликация кода... люди не делают монолитные либы "всё в одном" (пресловутые "да ну, JCL тянуть! мне только надо-то ...")
а делают отдельные либы под отдельные задачи...
ну и да, тогда приходится рулить зависимости
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ну то есть одна большая жедаина  - это плохо, а вот штук 50 либ в кросс-зависимостях как в питоне это нормально?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
нужна _одна_ буквально функция из cv, ок-  ставим её всю целиком. и так - половина питона
источник

DB

Dmitry Belkevich in Delphi & Lazarus
зато какая дедупликация! 😂
источник

GB

George Bakhtadze in Delphi & Lazarus
Dmitry Belkevich
ну то есть одна большая жедаина  - это плохо, а вот штук 50 либ в кросс-зависимостях как в питоне это нормально?
да, плохо. особенно в случае паскаля, т.к. может быть конфликт имен юнитов. маленькие специализированные либы легче писать, легче поддерживать. но без менеджера зависимостей они просто невозможны
источник

GB

George Bakhtadze in Delphi & Lazarus
Dmitry Belkevich
нужна _одна_ буквально функция из cv, ок-  ставим её всю целиком. и так - половина питона
кстати вот, сам говоришь, что одна только функция нужна, а приходится со всей здоровенной opencv иметь дело.
но вообще dll, особенно под виндой это отдельный вопрос с отдельной кучей проблем. потому лучше без них, если возможно
источник

AK

Alexey Kulakov in Delphi & Lazarus
забавно...в следующей структуре, если nodetype:byte, в программе получается код меньше по размеру, чем для integer или word
  TTL2Node = record
   name  : PWideChar;
   parent: PTL2Node;
   case nodetype:integer of
     ntGroup    : (
       children  : PATL2Node;
       childcount: word;
     );
     ntBool     : (b:bytebool);
     ntNote,
     ntTranslate,
     ntString   : (s:PWideChar);
     ntInteger  : (i:int32);
     ntUnsigned : (u:uint32);
     ntInteger64: (l:int64);
     ntFloat    : (f:single);
     ntDouble   : (d:double);
     ntWord     : (w:word);
     ntByte     : (c:byte);
     ntBinary   : (len:uint32);
 end;
источник

AK

Alexey Kulakov in Delphi & Lazarus
а ведь казалось бы, за счёт выравнивания должно было быть наоборот
источник