170 похожих чатов

Всем привет, есть у кого нить адекватные сравнения golang/Java по

разным параметрам или из опыта поделитесь почему от Java отказались в сторону golang?

14 ответов

7 просмотров

C#(java) to golang проще и быстрее

Ну там джит, в джаве все тормозит, + на этих языках часто горпоротивщину клепут, и не всем это интересно

Я могу рассказать, почему мы мигрировали backend web services c .net core на go, если интересно. Но проект не слишком большой, в район мегабайта исходников.

Andrey-Grazhdankov Автор вопроса
Igor Shekalev
Я могу рассказать, почему мы мигрировали backend w...

Конечно интересно, любой опыт/причины важны

Andrey Grazhdankov
Конечно интересно, любой опыт/причины важны

Если кратенько, то вот так: 1. У нас были дикие проблемы с deploy. Поставка не в контейнерах и в один каталог надо было складывать несколько executables, у .net с этим много сложностей, в зависимости от типа проекта нужны разные dll разных версий - бардак был перманентный. При этом на весну прошлого года single executable у них работал через раз, что-то отваливалось и падало. 2. При обновлении visual studio под капотом меняется минорная версия и самого framework, за этим надо было внимательно следить. 3. Нам хотелось больше контроля с минимумом магии. Например, в Go у нас кастомный роутер и еще кое-что, в .net core оно все из коробки и прикрутка нестандартных поведений выглядит очень магически - невнятные опции в конфигах. 4. Управление многопоточностью (как минимум в лайтовом варианте) в go нагляднее и проще, чем в C#. Да и в целом многое сделано проще и логичнее, хоть и требует больше работы. 5. Быстрая компиляция и, как следствие, очень интересный tooling. Скажем, работать с тестами стало комфортнее во много раз. Из минусов. 1. VS code после полноценной VS - шаг назад, на привыкание ушли недели. 2. Go синтаксически очень убог после C# - от отсутствия простейших тернарных операторов до невозможности ограничения доступа на поля типов (protected, private и вот это все). Без параметров по умолчанию и перегрузки имен функций в начале было тоскливо до крайности.

Igor Shekalev
Если кратенько, то вот так: 1. У нас были дикие пр...

а вы прям переходили с одного на другое? не хотите осенью на конфе рассказать подробнее?

Daniel Podolsky
а вы прям переходили с одного на другое? не хотит...

Да, версия типа 3 была на .net, а 4 уже на go. Какое-то время watchdog на go работал и со старым и с новым комплектом. А когда функциональность выровнялась - старый код остановили. Я даже отрасль не могу разглашать, не говоря уде про название компании.

Igor Shekalev
Да, версия типа 3 была на .net, а 4 уже на go. Как...

а нас не столько отрасль и название интересует 🙂

Igor Shekalev
Да, версия типа 3 была на .net, а 4 уже на go. Как...

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

Daniel Podolsky
а нас не столько отрасль и название интересует 🙂

Да в том-то и дело, что технические подробности - это следствие того, кем, для чего и как оно эксплуатируется. Иначе будет звучать как "мы приняли вот такие технически решения, но о причинах рассказать не можем". Я сам такие доклады очень не люблю.

Igor Shekalev
Да в том-то и дело, что технические подробности - ...

если придумаете, зачем бы оно было вам надо - приходите, дадим вам куратора из ПК, и сделаем хороший доклад

Igor Shekalev
Если кратенько, то вот так: 1. У нас были дикие пр...

Параметры по умолчанию есть, через кучу методов ты можешь получить перегрузку функции.

🎄 Doe
Параметры по умолчанию есть, через кучу методов ты...

А можно примеры какие-то? И, пожалуйста, без передачи args... interface{} - типизацию надо бы сохранить.

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта