Переходим на Go с других языков: парадигмы, удобство и неудобства технологии

Sdílet
Vložit
  • čas přidán 14. 06. 2024
  • Евгений Соколов раньше писал на C++ и Python, а в YADRO смог быстро перейти на Go. Он хорошо помнит боль такого перехода, но и радость от фишек вроде многопоточности. В докладе вас ждет верхнеуровневый разбор того, как работают горутины и синхронизация (и почему она такая классная!), а также множество примеров кода, который мы иногда будем ломать, а затем чинить.
    00:00 - о докладчике и структуре доклада
    01:35 - о фишках Go в одном слайде
    02:45 - о специфичном ООП и назначении языка
    04:45 - чего не ждать от Go
    05:50 - почему многопоточность в Go такая классная (и как она работает)
    09:30 - как работает планировщик в Go
    12:20 - про каналы в горутинах (и как их сломать и починить)
    15:00 - боли разработчика на Go
    16:00 - комплектация языка: модули, gofmt и т.д.
    19:15 - личный опыт перехода на Go c опытом в другом языке
    21:25 - вопросы докладчику
  • Věda a technologie

Komentáře • 30

  • @user-wz3yt9li2s
    @user-wz3yt9li2s Před 7 měsíci +2

    мем про с++ порадовал) особенно когда ты из будущего

  • @serufim
    @serufim Před měsícem +3

    блен, я в своем опыте переезда как-то столкнулся с дрочевом считывания из stdin значений. если там на питоне просто можно map(int,input().split()) то на го считать массив переменной длинны, это просто надо писать кучу лапши, что вообще убивает какое-то удовольсвтие от решения задачек в контестах

    • @phonkabuser3985
      @phonkabuser3985 Před 9 dny

      а зачем на го контесты решать, когда есть плюсы. Нам не же даже структур нет, только мапа

  • @romanbush5164
    @romanbush5164 Před měsícem

    как же на этом написали minio?

  • @oleinikv89
    @oleinikv89 Před 6 měsíci +4

    Спксибо, было интересно послушать. Просматриваю на Го как дополнение к старому верному Пыху
    P.S. 'Скедулер' это, конечно, сильно 😂😂😂

  • @chasubavil
    @chasubavil Před 9 měsíci +8

    1:35 Повсюду тиражируется это недопонимание: не "равноценная замена системных языков C/C++", а "замена языков, плохо подходящих для прикладных задач компании Google". Т.е. Go это скорее новая Java.

    • @figaro2440
      @figaro2440 Před 5 měsíci +1

      нет, он не похож на java совсем, go не подходит ни для мобильной разработки ни для сурового этерпрайза от слова совсем. Замена java это Kotlin и Scala, ну и C# если этерпрайз на windows. Вообще на Go занимается очень ограниченная ниша, это стартапы, хайповые микросервисы популярность которых начала резко падать, небольшие консольные утилиты, переписывание медленных участков интерпретируемых языков, например python

    • @kshetragia
      @kshetragia Před 3 měsíci +2

      @@figaro2440 что такое суровый энтерпрайз понятия не имею. На го прекрасно пишется что-то более сложное хелловорд. Но и для мобильной разработки и для UI как такового - не всё так печально. Например, есть fyne.
      Чем ограничена ниша для языка общего назначения - тоже вопрос.Через какое-то, не слишком продолжительное время, люди перейдут на Го с других языков. Уже это делают. Прежде всего с php и python-a. У Го есть все шансы прикончить их.
      Проблема Го в тихой революции, которую никто пока толком не оценил.

    • @newgrafon5185
      @newgrafon5185 Před 2 měsíci

      ​@@figaro2440кто сказал что популярность микросервисов падает?

    • @validationerror3830
      @validationerror3830 Před 2 měsíci +1

      @@figaro2440 c# уже десять тысяч лет как кросплатформенный, а челы до сих пор асоциируют его с виндой, как же майкрософт жестко обосрались в свое время

    • @hanmajack935
      @hanmajack935 Před měsícem

      ​@@kshetragiaникого он не похоронит, он занял свою нишу как инфраструктурный язык и переписывание участков с высокой нагрузкой и все, как правильно сказал товарищ выше никто не будет писать большой бэкенд со сложной бизнес логикой на Go, для этого были есть и будут, Java/Kotlin/Scala/C# и даже никто не будет на нем писать или полностью переписывать большой бэкенд по меркам php,python,ruby, просто потому что он для этого не предназначен от слова совсем
      Не стоить верить сказкам всяких псевдо гигантов аля озон, что они все переписали на go, но как то странно при этом вся основная бизнес логика у них на python, а там у них где нужен реальная огромный перформанс используется C++))
      Не надо быть гением чтоб понять что пиар го искусственный и то только на территории РФ

  • @PatsevAnton
    @PatsevAnton Před 2 měsíci +2

    Я бы спросил от какого языка больше радости писать код? Go или c++

  • @ypohut1673
    @ypohut1673 Před 3 měsíci

    С питоши будет легко перейти?

    • @sariya271
      @sariya271 Před 2 měsíci

      я вот щас перехожу, +- норм. Но коммунити у них так себе

    • @revoluxe
      @revoluxe Před měsícem

      После питоне мне он прям залетел, для своих задач реально песенка

    • @petrkassadinovich2705
      @petrkassadinovich2705 Před měsícem

      @@sariya271 а что с ним? Сам щас к ГО присматриваюсь.

  • @idrayv
    @idrayv Před 6 měsíci

    Самое начало видео, про замыкания, чел сказал что сум хранится в куче, замыкание, примитив, в куче? не обмолвился ли?

    • @sokol94ins
      @sokol94ins Před 6 měsíci +1

      Все верно, sum будет на куче. Компилятор располагает в куче переменные на которые ссылаются не из контекста самой функции. Называется это escape-analysis. В данном случае уже после выполнения adder, c sum что-то делают.

    • @kshetragia
      @kshetragia Před 3 měsíci

      можно сделать через стек, но для этого придется возвращать sum через аргументы функции как указатель.

  • @pavel_trpn
    @pavel_trpn Před 11 měsíci

    24:15 - "cgo не для производительностьи а для совместимости" - чуть ли не Рас Кокс (кто то из авторитетов).

  • @littleceaser
    @littleceaser Před měsícem +2

    25:00 слева Джим из сериала офис?

  • @user-fw3on5ih3q
    @user-fw3on5ih3q Před 8 měsíci +3

    замена си ага

    • @kshetragia
      @kshetragia Před 3 měsíci +1

      ага. хорошая замена Си. Там где приемлемо наличие сборщика мусора и нет указательной арифметики.

  • @pika8484
    @pika8484 Před 5 měsíci +7

    PHP рулит

  • @boobubuo
    @boobubuo Před 7 měsíci

    дак метод или интерфейс ? если метод то классы .. захрена тогда эта хрень под названием интерфейс котоырй называется методом ??

    • @kshetragia
      @kshetragia Před 3 měsíci +1

      Классов в Го как таковых нет. Есть структура, которая может иметь свои методы. Она поддерживает инкапсуляцию и одноуровневое наследование через встраивание типов(а как мы знаем наследование больше одного уровня порождает больше проблем чем их решает). Можно называть это классом, но типа "класс" в Го нет, он избыточен.
      Полиморфизм реализуется через интерфейсы.