Вечер добрый. не подскажете пытаюсь структуру для xml создать - но по условию пока примеров не нашел:
<answer></answer>
<answer is_correct="true"></answer> вроде как один тип - но когда у меня значение отрицательно не должен создавать этот attr
Язык делает удобнее ту или иную парадигму. Но не запрещает использование других. Те же методы в го ещё оопшнее чем в какой-нибудь жаве, ведь их можно даже на примитивы распространить
Да, это так. Но в Go нет ничего, что позволяло бы его использовать в гетерогенной системе. Даже минимального препроцессора нет! Я даже не могу передать в компилятор Go опцию компиляции
Никому не надо знать наизусть ВЕСЬ с++. Существуют справочники. Каждый программист знает от языка ровно столько, сколько ему надо. Тот объем знаний c++, который соответствует возможностям Go можно понять за 10-20 минут
Tamachi
С плюсов на go переходить не за чем
George
Удачи тем ребятам, которые программируют по справочникам. Для эффективного использования возможностей языка надо держать в голове максимальный срез его возможностей. В плюсах из миллиард. В го куда меньше (и в этом его прелесть)
На плюсах -- c детства. На го -- вот сейчас, примерно месяц думаю, как бы его прикрутить в свой процесс написания кода.
Вот посоветуйте, как в Go -компилятор мне передать опции компиляции из cmake?
Go заслуживает внимания. Он значительно круче чем питон, например.
George
У с/с++ есть свои области применения. Геймдев, эмбеддед, ос, прочий лоу левел (тяжёлый рутинг пакетов, скажем).
Но безапелляционно утверждать что "с++ > го" может или сектант или дурак
Когда в мою команду приходит гошник или питонист и при этом он согласен начать (ВПЕРВЫЕ В ЖИЗНИ!!!) писать прогу на плюсах -- я трачу на него 3 дня и после этого поручаю ему нормпльные рабочие задачи....
Если в проектах с++ вам хватает того, что даёт и го - значит вам не нужен с++. Я десять лет пишу на плюсах, два года на го. На го я напишу аналогичный плюсовому код раза в три быстрее. За счёт лаконичного синтаксиса и богатой стандартной библиотеки. У меня в проекте нынче и но и Си. Почему? Потому что у них разные сильные стороны.
Какие опции, что они решают? Может вы не с той стороны подходите. (потому что, как я писал, владение языком заключения в понимании его особенностей, а не тупо трансляции одного и того же в разные синтаксические условия)
Ну, вот, например у меня проект компилится с помощью cmake.
Проект компилит как серверную версию так и несколько клиентов к нему так и несколько вспомогательных микросервисов.
При компиляции всем исходникам передается определенный набор дефайнов.
Например, USE_ADVANCE_RESPONSE_MODE
Поскольку и клиент и сервер компилятся с одинаковыми дефайнами, их протоколы обмена будут согласованы и задача начнет корректно выполняться сразу после компиляции.
Вот, я хочу одну из нескольких микрослужб написать на Go и передавать ей опции компиляции из cmake
А почему это обязательно должно быть вкомпилировано? Далее головы хелловорлд на го включает в себя всю стандартную библиотеку, вряд ли же это вопрос оптимизации?
ldflags и -X опция этот вопрос решит.
Когда понимаешь принцип все просто.
Вот, например, если человеку поручено решать геометрические задачи, то ему надо знать в основном математические функции. А если человек занят сбором SNMP-даннвх, то ему нужен опыт решения сетевых задач
из особенностей языка я использую только ничего, но С++ круче. Ясно понятно. Тот же микросервис в го поднимается несколькими строками без сторонних библиотек. В С++ нетворкинг традициооно на дне.
George
по ldflags -X чуть подробнее:
https://goenning.net/2017/01/25/adding-custom-data-go-binaries-compile-time/
В c++, конечно микросервис поднять чуть сложнее чем в go. Но не особо сложнее. В сети можно найти уйму примеров и переработать их под себя. А если сделать для себя специальный класс, который этим занимается, то потом можно будет поднять аналогичный сервис вообще за 10 секунд
Tamachi
Это уже редкость. Обычно могласование идет на уровне исходного кода