Гоу

Тема в разделе "WASM.NETWORKS", создана пользователем superakira, 19 окт 2018.

  1. superakira

    superakira Guest

    Публикаций:
    0
    Итаг)

    Вот запил я тут часть сетевого софта на го... И как оказалось... он ппц няшный =) Убог, но могет многое. Пока мало данных для понимания - сколько и чего вывозит и на каком железе, поэтому хотел узнать - юзал ли кто в продакшене. Я не про хттп сервер сейчас говорю, а сырой тсп сервер с месиловом байтов на входе.

    Спасибо)
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Необходимость заливать исходники на репозиторий имхо любой продакшн заставит разбегаться в ужасе.
     
  3. superakira

    superakira Guest

    Публикаций:
    0
    f13nd, нет. киллер фича го - это компиляция в 1 бинарь без зависимостей. те если сделаешь ldd на проге собранной, то там ничего не будет. оно сразу в сисколы, рантайм статиком линкует. те тебе не нужен докер итд. девопсить - просто очень удобно. раскидывай по машинам и все. главное чтоб аби норм с ядром совпадало
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Ну для меня это обстоятельство стало поводом не воспринимать го всерьез.
     
  5. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    а можно мысль более развернуто? Всё же го делали не глупые люди.
     
  6. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.082
    superakira
    Если твой софт бесплатный открытый, не имеет графической оболочки
    и на написан на голом Си (или ассемблере), тогда он очень ХОРОШИЙ.
     
  7. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    ну да, ну да... и printf("hello world\n"); образец безопасного кода. :acute:
     
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    всё-в-одном ужо плохо тем, что бинарь здоровый :)
     
  9. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    hello world на go в два раза больше си-шного статического. Это не особо вяжется с тезисом, что всё пережевывается в сисколы.
     
  10. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    У этих неглупых людей свое видение, оно не всем может понравиться. Когда я это Го смотрел, он был жестко интегрирован с репозиторием и свой хело ворлд надо было гуглу безвозмездно передать на хранение, даже чтоб тупо скомпилить.
     
  11. superakira

    superakira Guest

    Публикаций:
    0
    UbIvItS, на серверсайде это без разницы. если докер - то он тоже будет не маленький.
    q2e74, ты не понимаешь, что говоришь.
    f13nd, ничего передавать не надо. ты не понял как оно работает. ты увидел гит и подумал что надо пушить куда-то =) это не так.
     
  12. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    Возможно, но объясни тогда суть. Смотрим 7.42 и 4.43.


    Ответь, почему такая разница в размерах? Давай для удобства откроем эти эльфы в дебагере и по адресам разберем, что кладет Go в эльф. Мне страшно это делать, потому что время жалко. Лучше бы ты на пальцах объяснил, а я бы поверил на слово.
     
  13. superakira

    superakira Guest

    Публикаций:
    0
    q2e74, мне лень смотреть ролик, но я думаю ты сравниваешь релиз сишки и го с выводом в консоль.

    это разные веши. вообще.
    в го есть:
    1. Свой гц
    2. Свой шедулер зеленых потоков (ака горутин)
    3. Работа с обычными потоками (их к-во == к-ву ядер на машине, на них раннятся зеленые)
    4. Каналы (почти как в ерланге)
    5. Контейнеры - да их мало, но они есть.
    6. Поддержка уникода
    ...
    N. в таком же духе можно еще продолжить
    На никсах еще и свой глибс прикрутиться статиком, чтобы не зависеть от системного (хз какой он там)

    И вот с 1-N кладется в бинарь статиком.

    Это опенсорс, ты можешь склонить на гитхабе и чекнуть, а не загонять в иду го бинарь, хотя я думаю скоро этот навык будет востребован =)

    Ну и есть такой еще момент, как не очень гуд кодогенерация на данный момент, но оно от релиза к релизу лучше.
     
  14. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    "Не красиво, родной"(с) Кин-дза-дза
     
  15. superakira

    superakira Guest

    Публикаций:
    0
    q2e74, я не вижу противоречия. мне кажется ты просто не понимаешь о чем речь.
    тебя смущает что на никсах нету импорта и такой размер? так потому, что нету импорта, поэтому и такой размер. Ваш КО
     
  16. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    superakira, с таким же успехом можно было заявить, что и дотнет и java и лисп , подставь любой,
     
  17. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    мне кажется самая толстая фича, что попадает в бинарь - это 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, тоже интересный язык...
     
  18. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    Видел какую-то малварь на Гоу,там файл вышел что-то под 2мб (на Си аналогичное занимает не больше 100кб, без шаманства).
    У Мирая админка вроде как тоже была на этом языке.
     
  19. superakira

    superakira Guest

    Публикаций:
    0
    Rel, есть такое на счет генериков и беды с интерфейсами - если увлечься сильно садит профайл. может в будущем что-то изменится, рефлексия есть ревлексия.
    про Д - смотрел его очень давно и какое-то время наблюдал за эволюцией. Но по факту он так и не взлетел к сожалению - нет норм библиотек, чехарда с версиями и бэкэндами - ллвм/гцц итд. Комьюнити не сложилось - факт, в народ не пошло. А это много значит, если не хочешь писать все сам, а не нарыть где-нить библу.

    q2e74, любой? ты упоролся?)
    Для примера - стяни чистый образ никсов (убунта какая-нить) и запусти там дотнет приложение. Сразу. Без apt-get install ....
    Про джаву... =) ну что тут писать.
    там метров 200 стянется со всеми депенденсами, чтобы запустить джар какой-нить.

    А с го я могу купить дедик/впс/авс - просто кинуть бинарь и все. А тепер представь, что ставишь не ты, а заказчик. И ему насрать на сорцы.. Те ему они нужны, но возиться с ними он не хочет. И тут го просто сказка.. Чел просто копирует бмнар и все.
    M0rg0t, У мараи сервер был на го. Те там был сервак на го и демон на с. На го боты кидали сбрученные пароли от иот девайсов и получали команды на ддос. Сервер го передавал логин/пасс в сишный демон . С демон коннектился к ним и залива туда бота. Вроде так было. Я смотрел год назад или когда он там на паблтке появился. Может что-то забыл или перепутал
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    вроде в 2.0 обещали запилить генерики и другие фичи для языка...