Здравствуйте, Sinclair, Вы писали:
S>>Это нужно чтобы не делать одну и ту же работу n раз. Если нет универсальной либы — вам нужно 6*10 разных кодов поддерживать — для каждой из 6 платформ (ОС) + для каждого из 10 популярных ЯП.
S>Более-менее нормальные языки позволяют писать либу 1 раз, не задумываясь о платформе. Например, тот же C#, или Java, или Typescript. Write once, run everywhere — слыхали?
S>Не существует "linq2db для iOS". То, что С++ требует от вас унижаться при компиляции под каждую платформу — это его проблема, а не достоинство.
Тут дело не только в запуске на 6 платформах — важно дать
возможность вызова из других ЯП в качестве библиотеки.
А стандарт у нас один — FFI. Другого стандарта, извиняйте, человечество не придумало.
Поднимать для каждой либы сервер с HTTP-доступом — идиотизм. Люди придумали FFI, другого ничего нет — с этим согласились все народы и у нас просто нет другого выбора. Только это.
Если язык не поддерживает сборку на всех 6 платформах с возможностью создавать библиотеки с FFI-доступом — этот язык еще не зрелый.
Вот вам примеры таких библиотек:
1. OpenMVG
https://github.com/openMVG/openMVG/blob/develop/BUILD.md#checking-out-the-project-and-build-it
2. Caffe
https://github.com/BVLC/caffe
3. libtorrent
https://github.com/arvidn/libtorrent
4. tensorflow
https://github.com/tensorflow/tensorflow
5. ATen
https://github.com/zdevito/ATen
— это очень удобно — делаете 1 раз для всех платформ, потом либа готова для использования из любого ЯП — обычно по умолчанию делают вызовы из Python.
Это на C++, но такая же идеология применяется и для C. По сути основа — договоренность — это язык C упрощенный. Но язык C++ позволяет сделать чуть удобнее внутри — а снаружи все-равно приводим к тому же FFI — это C, то с чем человечество смогло договориться.
Это самые крутые либы в мире, у которых много поклонников и на которых зиждется наша цивилизация. ATen — это математика для всех нейросетевых либ — на ней все зиждется. Без нее не будет ни GPT ни мечт от ИИ.
C# в фундаменте своем не позволяет вам работать на таком уровне. Т.е. уже изначально в самом фундаменте лажа. Чисто песочница детям играться во взрослых дядей.
Здравствуйте, Shmj, Вы писали:
S>Это самые крутые либы в мире, у которых много поклонников и на которых зиждется наша цивилизация. ATen — это математика для всех нейросетевых либ — на ней все зиждется. Без нее не будет ни GPT ни мечт от ИИ.
S>C# в фундаменте своем не позволяет вам работать на таком уровне. Т.е. уже изначально в самом фундаменте лажа. Чисто песочница детям играться во взрослых дядей.
Угу.
https://rsdn.org/forum/cpp.applied/8835636Автор: cppguard
Дата: 21.10 03:47
И чем в случае интеропа С++ лучше C#. Все тоже самое. Только вот писать на C# намного приятнее. Это же детский язык по сравнению с С++!