Как стать автором
Обновить

Комментарии 59

Прекрасный пост, спасибо. Особенно моё сердце греет консольный вим :). Сам факт того, что в Go присутствует всё необходимое для того, чтобы сделать vim-go — уже серьёзный повод задуматься о более близком знакомстве.
Да, в виме очень комфортно работать с Go. Там ещё очень на руку сыграла простая грамматика и пакеты для парсинга/работы с Go-кодом, благодаря которому инструменты статического анализа, линтеры и прочее достаточно легко создавались.
Давайте я ложку дёгтя добавлю, из-за этой ошибки пришлось откатиться на Go 1.4.xx — github.com/golang/go/issues/12233
Да, помню эту детективную историю.
Это пофикшено в 1.5.2, кстати.
А мы просто наложили патч за 10 минут и до сих пор на нём :)
Не. Это же надо выкачать исходники, наложить патч, собрать пакет, положить его в репозиторий, обновить сборочную машину… Нафик-нафик. Проще откатиться и всё. В производительность GC мы не упирались, а больше, вроде, 1.5 не из-за чего ставить.
divan0 Спасибо за цикл переводов и статей на хабре по этому замечательному языку.
Да не за что )
О, набежали специалисты по менеджменту больших команд и «правильному дизайну языков программирования» :-)

Для истории — как Go-хейтеры минусуют все подряд комментарии, ожидая пока запустится их IDE. :)
НЛО прилетело и опубликовало эту надпись здесь
А вы Go-хейтер? )
НЛО прилетело и опубликовало эту надпись здесь
Реално был хорошый год для GO рост и развитие на лицо
На лицо в извращённом порно испоражняются.
Никак не ожидал я на хабре увидеть классического захода гопника по типу «Жалко в пчёлки в жопке».
Причем здесь гопники? «Налицо» пишется слитно, на это был намек.
каждый думает в меру своей испорченности. Не у всех русский язык родной так что извините.
divan0 Ты вообще на роботу ходите? А то такое впечатление что только переводами Go статей и его пропагандой занимаетесь.
Ты вообще на роботу ходите?

Я вообще на работу ходите, да. Я же на Go пишу, поэтому время остается и на себя, и на жизнь, и на статьи переводить.
К слову, один среднестатический перевод у меня занимает около часа, не больше. Последнюю статью переводил спонтанно за завтраком в кафе перед работой, к примеру.
НЛО прилетело и опубликовало эту надпись здесь
Ужас какой, евангелист на Хабре!
Хлебовводов?
Какое вам дело до других людей? Человек занимается любимым делом. И это правильно.
И да, я тоже люблю Go.
> Авторы не видят красивого решения, которое даст пользователям возможность совать дженерики по поводу и без повода и не превратит язык в унылое Г.
> не политическое, а техническое решение

Это не деление ли на ноль?
Это не деление ли на ноль?

Нет.
Битвы (комментарии) пока выигрывает темная сторона силы (-) но война (пост) пока что за светлой стороной (+).
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
И это ты называешь слили? -13 пунктов? Сиди обтекай, лошара. «Слили» это когда с сотни до нуля за два часа. А тебя немного помяли.
НЛО прилетело и опубликовало эту надпись здесь
Статьи про Го. Самые суровые статьи на Хабре.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Но пока не выкатили в прод еще, отчитаются после праздников о результатах.
По признанию того же инженера, самую критичную по производительности часть решили переписать с Go на Rust.

И это здорово же! Это очень правильно, когда люди понимают компромиссы языков и технологий и выбирают(или, как минимум, стремятся) наиболее подходящие из них. К сожалению, в Dropbox-е эксперимент с Rust-ом пока ещё лишь эксперимент.
Прошу прощения за оффтоп: мне кажется или Rust теряет популярность?
Сложно оценить. После 1.0 вначале года был взлёт интереса, сейчас потише. Мне кажется, у Rust-а ещё пик hype-а только впереди.
Имеет ли смысл ее брать как основной ЯП для бэкенда? Многие конечно советуют Go, но как то не взлетело у меня, с Растом более менее
Зависит от того, что за проект. Раст сложнее как язык, причём на порядок, поэтому если нет сильной необходимости то не стоит, как мне кажется. Опять же, проще найти человека, который знает go чем того, кто знает Rust, а обучать Rust'у проще всего людей, хорошо знающих С++ (ИМХО), коих среди разработчиков бэкендов не много. Но выбор, как всегда, за вами.
Я — один из людей, поддерживающих развитие Rust, у меня есть код на Расте в продакшене, я много говорю и пишу про язык, слежу за развитием и т.д. Казалось бы, я должен вам кричать «да-да! Rust — лучший, берите». Но не рекомендую использовать Раст сегодня как основной язык на бекенде.

HTTP-стек у Раста очень сырой, все может работать в тепличных условиях, но как дело дойдет до реальных пользователей, сидящих на странных устройствах в странных сетях за странными проксями и VPNами, вы можете столкнуться с проблемами, которые вам будет сложно решать. Такая же ситуация была у Node.js в 2011 году, и прошло какое-то время, прежде чем оно стало работать стабильно.

Больших фреймворков уровня Rails/Django нет, а для тех, кто повторяет Sinatra/Express в Расте, еще нет достаточного количества middleware и плагинов, чтобы писать эффективно. ORM и Query Builders только появляются.

Так что если вы начнете писать все-все на Расте сегодня, то может оказаться, что через год ваш проект превратится в мессиво из реликтовых велосипедов. Вам это не нужно.

А что нужно, так это взять за основу другой язык — например, Go — и писать для вашей системы небольшие модули на Rust. Модули могут со временем превратиться в полноценные сервисы, а там глядишь и подоспеет экосистема.

У меня был опыт написания бекенда на Node с использованием нативных модулей, которые я написал на Rust. Код получился небольшой, приятный, с тестами и документацией, понравился заказчику и мне. То же самое люди делают с Go, Ruby и Python.
go хороший язык не идеальный но хороший. И в этом года он продвинулся хорошо
Большое спасибо за ценную аналитику. Держи нас в курсе!
НЛО прилетело и опубликовало эту надпись здесь
Подвижек в этом направлении нет. Сейчас он придет и расскажет тебе про то, что Go собирает телеметрию для SpaceX и Intel (а потом уйдет, так и не узнав, что сбор телеметрии != анализ данных) Но правды ради, Go правда используется в этих компаниях для сбора телеметрии. Интел даже был выкатывал библиотечку, snap называется. На самом деле data science сцена обошла Go стороной — все осталось на питоне и R, насколько я понимаю. Конечно раз в неделю повляется очередной пейсатель нейронных сетей и выкатывает свою «machine learning» библиотеку, чуть менее, чем полностью, состоящую из k-классификатора или однослойного перспетрона. На самом деле никто не занимается этим.

И, по-сути, не должен. Go делался из расчета, что неопытные, только выпустившиеся гуглеры, смогут читать и поддерживать гугловскую сетевую инфраструктуру. Ну да, еще кто-то по какой-то причине делает на Go круд, но я этих людей не понимаю (для круда есть куда по-круче инструменты).
НЛО прилетело и опубликовало эту надпись здесь
Ну это моя субъективная оценка применимости Go. В принципе, есть все необходимые примитивы, есть все необходимые качества, чтобы стать популярным среди science-сообщества — мне кажется, тут вопрос чисто в инерционности и в том, что производительности питона хватает с головой, ну а Rlang теснить и некуда — он со своей задачей хорошо справляется.  Big data же — stream-processing, распределенщина — вот это все на Go тоже хорошо ложатся. Так что 5/10 я бы сильно «пиком» не называл, думаю эту нишу ещё Go будет занимать в ближайшие годы, по мере того как академическая среда будет для себя Go открывать.
НЛО прилетело и опубликовало эту надпись здесь
Работа с float с высокой точностью, big integers, простота работы с IO, знакомые концепции из C-подобных языков, легкая возможность задействовать все ядра процессора, и тому подобное. Близко с научной средой не знаком. А по-вашему какие?
НЛО прилетело и опубликовало эту надпись здесь
Все необходимые примитивы и качества и у сишки есть, только на ней особо не майнят. А все почему? Потому что не годится она. Go, например, это язык, cозданый для robust software, а в data science решает именно выразительность (дженерики, например, которых в Go нет) и лаконичность. По правде говоря, Go приносит профиты только на больших командах, когда менеджмент уже начинает играть существенную роль. Удобно загнать всех в рамки gofmt, оставить два способа реализации трех паттернов и чтобы сто обезьян делали тебе 100к строчек кода в неделю — с этим Go справляется на ура. Я не вижу как сюда может гипотетически data science вписаться, вообще не тот формат.
Я специально нанятый человек, хейтер гугла и все такое прочее.
Пост о том, что удосужились свои сопли вытереть?
Пост о том, что удосужились свои сопли вытереть?

Нет.
Но новый сборщик мусора в Go 1.5 теперь имеет предсказуемые паузы, которые в 99% случаев не превышают 10мс.
Предсказуемо зависает? Где то я уже это видел.
Предсказуемо зависает? Где то я уже это видел.

Вы радуетесь тому, что увидели знакомые слова? Или разбираетесь в теории сборки мусора и считаете, что это просто?
Добрый день. А не подскажете, где почитать про использование Go для Big Data\Data Science? На диаграмее вижу, что активно используется, но что-то не слышал про это раньше.
UPD: Да, прочитал выше уже, что пока не особо используется.
Да, это больше было о потенциальной применимости. Вообще, недавно ребята из Google спрашивали в мейллисте, кто работает с Big Data, чтобы задать некоторые вопросы, лучше понять этот рынок (в контексте будущего Go): groups.google.com/forum/#!topic/golang-nuts/3RYCqPwTLIY

Ну и разные проекты вроде такого на глаза регулярно попадаются: groups.google.com/forum/#!topic/golang-nuts/3RYCqPwTLIY

Так что, думаю, эта ниша впереди.
Как уже выяснили в предыдущем топике, go не подходит для большей части embedded (кроме linux @ arm cortex-a/r). Также меня терзают смутные сомнения касательно big data и data science.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории