Итаг) Вот запил я тут часть сетевого софта на го... И как оказалось... он ппц няшный =) Убог, но могет многое. Пока мало данных для понимания - сколько и чего вывозит и на каком железе, поэтому хотел узнать - юзал ли кто в продакшене. Я не про хттп сервер сейчас говорю, а сырой тсп сервер с месиловом байтов на входе. Спасибо)
f13nd, нет. киллер фича го - это компиляция в 1 бинарь без зависимостей. те если сделаешь ldd на проге собранной, то там ничего не будет. оно сразу в сисколы, рантайм статиком линкует. те тебе не нужен докер итд. девопсить - просто очень удобно. раскидывай по машинам и все. главное чтоб аби норм с ядром совпадало
superakira Если твой софт бесплатный открытый, не имеет графической оболочки и на написан на голом Си (или ассемблере), тогда он очень ХОРОШИЙ.
hello world на go в два раза больше си-шного статического. Это не особо вяжется с тезисом, что всё пережевывается в сисколы.
У этих неглупых людей свое видение, оно не всем может понравиться. Когда я это Го смотрел, он был жестко интегрирован с репозиторием и свой хело ворлд надо было гуглу безвозмездно передать на хранение, даже чтоб тупо скомпилить.
UbIvItS, на серверсайде это без разницы. если докер - то он тоже будет не маленький. q2e74, ты не понимаешь, что говоришь. f13nd, ничего передавать не надо. ты не понял как оно работает. ты увидел гит и подумал что надо пушить куда-то =) это не так.
Возможно, но объясни тогда суть. Смотрим 7.42 и 4.43. Ответь, почему такая разница в размерах? Давай для удобства откроем эти эльфы в дебагере и по адресам разберем, что кладет Go в эльф. Мне страшно это делать, потому что время жалко. Лучше бы ты на пальцах объяснил, а я бы поверил на слово.
q2e74, мне лень смотреть ролик, но я думаю ты сравниваешь релиз сишки и го с выводом в консоль. это разные веши. вообще. в го есть: 1. Свой гц 2. Свой шедулер зеленых потоков (ака горутин) 3. Работа с обычными потоками (их к-во == к-ву ядер на машине, на них раннятся зеленые) 4. Каналы (почти как в ерланге) 5. Контейнеры - да их мало, но они есть. 6. Поддержка уникода ... N. в таком же духе можно еще продолжить На никсах еще и свой глибс прикрутиться статиком, чтобы не зависеть от системного (хз какой он там) И вот с 1-N кладется в бинарь статиком. Это опенсорс, ты можешь склонить на гитхабе и чекнуть, а не загонять в иду го бинарь, хотя я думаю скоро этот навык будет востребован =) Ну и есть такой еще момент, как не очень гуд кодогенерация на данный момент, но оно от релиза к релизу лучше.
q2e74, я не вижу противоречия. мне кажется ты просто не понимаешь о чем речь. тебя смущает что на никсах нету импорта и такой размер? так потому, что нету импорта, поэтому и такой размер. Ваш КО
мне кажется самая толстая фича, что попадает в бинарь - это RTTI, так к Go нет нормальных генериков, то все делается через касты к interface типам, компилятор в статике не может это разрулить, поэтому разруливает в динамике через RTTI... поэтому для любой самой минимальной программы нужно куча RTTI от всех типов сборщика мусора и тд, три-шейкер не может их нормально вырезать... ну во всяком случае так было, когда я последний раз что-то кодил на Go... --- Сообщение объединено, 26 окт 2018 --- кстати чего вспомнил... если вы хотите язык, который компилиться в мелкие экзешники без зависимостей от рантайма, но который не сишечка/плюсы, то у меня для вас отличные новости... язык D теперь умеет это: https://dlang.org/changelog/2.079.0.html#minimal_runtime - канеш вы лишаетесь сборщика мусора и всяких других фич ихней стандартной библиотеки, но теперь можно всем на форуме тыкать своими 2кб экзешниками, которые вы собрали из исходного кода на D... и потом всякие фичи, типа массивов с длиной и метапрограммирования остаются: https://dconf.org/2018/talks/bright.pdf (слайды с презентации об этом, к сожалению видоса не нашел, наверное забыли снять)... ну и кроме D можно примерно тоже самое провернуть с Nim, тоже интересный язык...
Видел какую-то малварь на Гоу,там файл вышел что-то под 2мб (на Си аналогичное занимает не больше 100кб, без шаманства). У Мирая админка вроде как тоже была на этом языке.
Rel, есть такое на счет генериков и беды с интерфейсами - если увлечься сильно садит профайл. может в будущем что-то изменится, рефлексия есть ревлексия. про Д - смотрел его очень давно и какое-то время наблюдал за эволюцией. Но по факту он так и не взлетел к сожалению - нет норм библиотек, чехарда с версиями и бэкэндами - ллвм/гцц итд. Комьюнити не сложилось - факт, в народ не пошло. А это много значит, если не хочешь писать все сам, а не нарыть где-нить библу. q2e74, любой? ты упоролся?) Для примера - стяни чистый образ никсов (убунта какая-нить) и запусти там дотнет приложение. Сразу. Без apt-get install .... Про джаву... =) ну что тут писать. там метров 200 стянется со всеми депенденсами, чтобы запустить джар какой-нить. А с го я могу купить дедик/впс/авс - просто кинуть бинарь и все. А тепер представь, что ставишь не ты, а заказчик. И ему насрать на сорцы.. Те ему они нужны, но возиться с ними он не хочет. И тут го просто сказка.. Чел просто копирует бмнар и все. M0rg0t, У мараи сервер был на го. Те там был сервак на го и демон на с. На го боты кидали сбрученные пароли от иот девайсов и получали команды на ддос. Сервер го передавал логин/пасс в сишный демон . С демон коннектился к ним и залива туда бота. Вроде так было. Я смотрел год назад или когда он там на паблтке появился. Может что-то забыл или перепутал