Здравствуйте, netch80, Вы писали:
_>>CMake — одна из худших систем сборки в мире C++, как минимум своим максимально убогим внутренним языком.
N>У меня было подобное мнение, наблюдая его действительно кривой убогий язычок — кто эти ламеры разработавшие этот ужас и почему их вообще допустили в IT.
+100500
N>Но потом я увидел некоторые ну очень странные вспомогательные скрипты на нём, вспомнил собственный тезис, что в DSL не столько важно, что он умеет, сколько — что он не позволяет делать, и усомнился.
Это да, в плане функциональности, но при чём тут синтаксис?
Вернее, его отсутствие. ))
Походу, разработчики CMake не в курсе как писать синтаксические анализаторы, поэтому синтаксис в языке CMake отсутствует.
В языке допустима лишь конструкция одного вида:
fn([args ...]).
Поэтому даже if() else() endif() выглядят так как выглядят.
Т.е. это что-то вроде лиспа, где первая скобка стоит не там, поэтому всегда требуются даже пустые скобки, бгг.
N>В любом случае, этот кошмар стал фактическим стандартом надолго и с этим фактом сложно что-то сделать.
Я надеюсь, что синтаксис у этого языка, таки, появится.
Да, CMake умеет только работать над строками и их списками, что делает этот язык чемпионом по безопасности, но к вопросу наличия синтаксиса это немного перпендикулярно.
_>>Это конечно возможно, т.к. индустрия далеко не всегда выбирает технически лучшие решения. Но это будет крайне печально для сообщества C++ и я надеюсь (хотя лично мне уже это не принципиально) что такого не случится.
N>Ну если от всех платформ останется полдесятка (грубо говоря, RHEL+потомки/x86, Debian+потомки/x86, Windows/x86 и Android/AArch64) — то у такого были бы шансы.
N>Но сейчас я вижу, что нет, фиг там. Вон новые ISA вроде RISC-V приходят, ARM отъедает серверный рынок, и прочая.
Да.
Поэтому, выиграет та технология, которая предложит больше для всех ниш и даром, такая технология автоматически окажется для индустрии важной.
И это будет не Conan на JFrog, бо слишком консервативные/закрытые, их потерю индустрия даже не заметит. ))
Выиграет что-то распис@яйское, типа vcpkg.
Т.е. что-то, куда можно влезть с ногами, полностью игнорируя исходных авторов проекта, написать вокруг и около что угодно своё в виде плагинов/дополнений/утилит и чтобы оно заработало, т.е. решало поставленные задачи.
Помнишь, Google составил критерии и согласно им перечислил проекты, который являются критически-важными для IT?
VCPKG там присутствует, Conan нет.
https://www.opennet.ru/opennews/art.shtml?num=54242