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

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 มิ.ย. 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 - вопросы докладчику
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 27

  • @serufim
    @serufim หลายเดือนก่อน +2

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

  • @PatsevAnton
    @PatsevAnton 2 หลายเดือนก่อน +2

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

  • @user-wz3yt9li2s
    @user-wz3yt9li2s 7 หลายเดือนก่อน +2

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

  • @romanbush5164
    @romanbush5164 หลายเดือนก่อน

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

  • @oleinikv89
    @oleinikv89 6 หลายเดือนก่อน +3

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

  • @littleceaser
    @littleceaser 29 วันที่ผ่านมา +2

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

  • @chasubavil
    @chasubavil 8 หลายเดือนก่อน +8

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

    • @figaro2440
      @figaro2440 5 หลายเดือนก่อน +1

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

    • @kshetragia
      @kshetragia 3 หลายเดือนก่อน +2

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

    • @newgrafon5185
      @newgrafon5185 หลายเดือนก่อน

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

    • @validationerror3830
      @validationerror3830 หลายเดือนก่อน

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

    • @hanmajack935
      @hanmajack935 หลายเดือนก่อน

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

  • @idrayv
    @idrayv 6 หลายเดือนก่อน

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

    • @sokol94ins
      @sokol94ins 6 หลายเดือนก่อน +1

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

    • @kshetragia
      @kshetragia 3 หลายเดือนก่อน

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

  • @ypohut1673
    @ypohut1673 2 หลายเดือนก่อน

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

    • @sariya271
      @sariya271 2 หลายเดือนก่อน

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

    • @revoluxe
      @revoluxe หลายเดือนก่อน

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

    • @petrkassadinovich2705
      @petrkassadinovich2705 หลายเดือนก่อน

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

  • @pavel_trpn
    @pavel_trpn 11 หลายเดือนก่อน

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

  • @user-fw3on5ih3q
    @user-fw3on5ih3q 8 หลายเดือนก่อน +3

    замена си ага

    • @kshetragia
      @kshetragia 3 หลายเดือนก่อน +1

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

  • @pika8484
    @pika8484 5 หลายเดือนก่อน +4

    PHP рулит

  • @boobubuo
    @boobubuo 6 หลายเดือนก่อน

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

    • @kshetragia
      @kshetragia 3 หลายเดือนก่อน

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