Язык программирования Go. Фёдор Короткий

Поделиться
HTML-код
  • Опубликовано: 20 янв 2020
  • Третий ролик из серии про языки программирования посвящён языку Go. Фёдор Корткий, ведущий разработчик в службе технологий распределённых вычислений, рассказал, как устроен этот язык, для каких задач он лучше всего подходит, и в чём заключается его главное преимущество.
  • НаукаНаука

Комментарии • 147

  • @geming_zhang
    @geming_zhang 4 года назад +183

    > эти проверки не замедляют ваш код
    > дополнительные проверки замедлили код на 10-15%
    :D

  • @chainsaws0friendship
    @chainsaws0friendship Год назад +17

    Пишу из 1.18 где в Го добавили дженерики

  • @mrexvel
    @mrexvel 2 года назад +87

    Искал видео, которое объясняет, что за язык Go. Это видео явно не из таких. Больше похоже на рекламу, а сути нет.

    • @johnd.3293
      @johnd.3293 2 года назад

      Да, ему Гугл за рекламу заплатил (балда)

    • @Best-ib2td
      @Best-ib2td 2 года назад +1

      Да, 6 минут зря

    • @dmarsentev
      @dmarsentev Год назад +3

      Поищите по словам «Сергей Немчинский язык Go”

    • @mrexvel
      @mrexvel Год назад +1

      @@dmarsentev как раз вчера посмотрел :)

    • @SergCodi
      @SergCodi Год назад +1

      @@dmarsentev Только хотел написать, чтоб написали в поиске Сергей Немчинский
      и тут вижу уже написали))

  • @IvanFedulov
    @IvanFedulov Год назад +7

    интересно как замеряли возросшую в разы надежность переписанного на go ядра

  • @def740702
    @def740702 3 года назад +20

    Круто человек объясняет! 3 дня всего изучаю и просто это радость какая-то! Удивительно.

    • @naix136
      @naix136 2 года назад +1

      Привет 9 месяцев прошло с твоего комментария, как успехи , ты с нуля начинал или уже касался программирования?

    • @def740702
      @def740702 2 года назад +1

      @@naix136 к сожалению не задалось... все на java, весь бизнес

    • @naix136
      @naix136 2 года назад +1

      @@def740702 то есть но как первый язык не стоит изучать?

    • @def740702
      @def740702 2 года назад +2

      @@naix136 именно стоит изучать как первый. И вообще стоит его изучать. Потому что есть ощущение что за ним будущее.

    • @naix136
      @naix136 2 года назад +1

      @@def740702 спасибо за обратную связь. Так получается вы на джава работали , а го как другой язык решили попробовать ?

  • @user-gm7tj8wh9n
    @user-gm7tj8wh9n 8 месяцев назад

    Классное видео, много полезной информации!)

  • @olegdayo
    @olegdayo 2 года назад +7

    Дженерики, всё же, добавили

  • @merlin7411
    @merlin7411 3 года назад +25

    После Го, я научился писать простой и понятный код на Питоне, спасибо тебе, Го.

    • @tohoto2183
      @tohoto2183 2 года назад +3

      Как на питоне можно писать плохой код ?

    • @naix136
      @naix136 2 года назад +2

      А до го на чем писал?

    • @mrgarm2205
      @mrgarm2205 2 года назад +17

      @@tohoto2183 как на питоне можно писать хороший код?

    • @tohoto2183
      @tohoto2183 2 года назад +1

      @@mrgarm2205 Там трудно не писать хороший код , это же не Си или С++ с джавой ,там сразу отступы ,да правила языка требуют ясности ,она важнее краткости.

    • @Mortwake
      @Mortwake Год назад +2

      Что проще питон или го?

  • @bayram4ik
    @bayram4ik 2 года назад +3

    Какой Фёдор, такое и видео :) но от этого пользы меньше не стало.

  • @andyanderson222
    @andyanderson222 2 года назад +15

    Про богохульство очень понравилось)

    • @green.616
      @green.616 Год назад

      Это типа намек на то что круг людей влияющих на язык очень ограничен?

  • @cruisecontrol1489
    @cruisecontrol1489 4 года назад +3

    Есть аналитические библиотеки, но их немного. Например gonum, который содержит биндинги LAPACK и BLAS

  • @Passattikk
    @Passattikk Год назад +2

    Скажите с полного 0 стоит изучать?
    Или этот язык нужен как дополнение к какому либо языку?

  • @user-tl4sc9wz4r
    @user-tl4sc9wz4r 3 года назад +3

    О, как круто!!!

  • @cyberzx
    @cyberzx 4 года назад +21

    Уважаемые создатели видео. Пожалуйста не рендерите субтитры в видео. С ними сложнее воспринимать материал, а отключить невозможно

  • @myriaxont
    @myriaxont 3 года назад +8

    "Вы не сможете делать компьютерную графику... приложения" сказал он, а сейчас уже появилась ebiten, вроде даже компилятор под андроид/ios, так же можно использовать сишные библиотеки, а это в том числе и OpenGL.

    • @johnli264
      @johnli264 3 года назад

      + :)

    • @LotmineRu
      @LotmineRu 3 года назад +1

      насколько помню с opengl в go есть проблема - весь рендеринг должен быть в одном потоке

  • @danys4740
    @danys4740 Год назад +2

    Если бы у тебя в процессоре полетел восьмой бит(каво???), ты бы даже не запустил систему. Или ты просто фулл 8 часов в чёрный экран зыркал?

  • @misana77
    @misana77 4 года назад +38

    > В процессоре поломан восьмой бит
    Кхм, это как?
    > Добавляет проверки. Эти проверки не замедляют ваш код.
    > Дополнительные проверки замедлили код на 10-15 процентов.
    Что за?..

    • @protiv_bio
      @protiv_bio 3 года назад +10

      Они просто курнули или охранника посадили и интервью взяли

    • @oleksandr6757
      @oleksandr6757 3 года назад +1

      И насчет текстового редактора как-то... непонятно🤔

  • @Davi807plus
    @Davi807plus Год назад +2

    eh, they have already added generics :(
    I don't know, may be it is useful for some cases

  • @KoScosss
    @KoScosss 4 года назад +8

    ООО, курсы по Golang incoming?!!
    А couroutines появились в c++20 :D

  • @mr.dr.pr.patrick352
    @mr.dr.pr.patrick352 3 года назад +3

    Когда появятся курсы на Яндекс практикуме?

  • @avedissimracing9628
    @avedissimracing9628 2 года назад +4

    "Если задачу можно решить, то делается это единственным способом". Сколько-сколько в го способов объявить переменную? А слайс?

  • @zakatun9491
    @zakatun9491 Год назад +3

    Нет библиотек в го для МЛ? Создай её!!!

  • @kotifnat
    @kotifnat Год назад +5

    Про дженерики посмеялся)

  • @imCigirin
    @imCigirin 2 года назад +1

    дженерики уже на подходе в Go xD

  • @paxpax1707
    @paxpax1707 4 года назад +33

    Боже количество маркетинговой лапши зашкаливает. Простота языка не означает что на нем проще писать проект с большой кодовой базой с таким же успехом можно было бы утверждать аналогичное про Ассемблер или Си. Вы забыли обновить методичку - дженерики будут и их завезут в следующей мажорной версии языка. Из этого можно понять что разработчики языка и их фанбои не совсем последовательны. Дальше исходя из моего опыта и наблюдений на Go пишут в основном небольшие сервисы/микросервисы в таких условиях преимущества в скорости компиляции Go стремится к нулю так как аналогичный сервис на том же С++ будет компилироваться сравнимое время. Дальше язык не для системного программирования об этом нигде не написано: ни офф сайте ни в википедии ни в статьях самих разработчиков языка. Это и понятно потому что язык с определенными ограничениями так как имеет GC и как минимум сложный рантайм (в виде горутин и тп) которую не протащишь без определенных манипуляций например в какой нибудь embedded. В итоге: для писанины очередного круда сойдет в мейнстриме есть языки и похуже, но не обессудьте это далеко не идеальный язык.

    • @johnxibai8454
      @johnxibai8454 4 года назад

      Дженерики не нужны, например в JS нету дженериков

    • @whoknows921
      @whoknows921 4 года назад +9

      John Xi Bai привет Typescript

    • @zohkillerful
      @zohkillerful 4 года назад +1

      Пишут и большие микросервисы

    • @dmitrys7044
      @dmitrys7044 3 года назад +8

      @@zohkillerful Большие микросервисы это как?) Почти минисервисы?))

    • @sevenb1t
      @sevenb1t 3 года назад

      @@johnxibai8454 там вместо них динамическая типизация

  • @mariakovaleva1222
    @mariakovaleva1222 2 года назад +5

    Спасибо за серию этих видео! Ненапряжённо узнала немного нового для себя :)

  • @Sorcer913
    @Sorcer913 Год назад +2

    3:05 теперь в golang есть дженерики)))

  • @Levelord92
    @Levelord92 3 года назад +1

    0:47 ну насчёт "очень простого" можно поспорить

  • @user-yy8gb5rw7z
    @user-yy8gb5rw7z 4 года назад +39

    PHP прост в изучении - это минус языка, GO тоже прост в изучении языка - это уже плюс языка, во как.

    • @user-io1sr3jx7o
      @user-io1sr3jx7o 4 года назад +4

      У этих "фанатов" уже голэнг головного мозга, они его везде пытаются оправдать. Что не скажи - это плюс языка. Про горутины вообще смех, люди не видели как в elixir запускается параллельное вычисление и как там сообщения летают между ними, а говорят что в голэнге самая крутая реализация многопоточности.

    • @mcss8514
      @mcss8514 3 года назад +3

      @@user-io1sr3jx7o сложно найти что-то более нелепое, чем elixir, который компилируется в erlang-код 😅

    • @user-io1sr3jx7o
      @user-io1sr3jx7o 3 года назад +1

      @@mcss8514 сложно найти что-то более масштабное и отказоустойчивое чем мобильная связь, работающая на erlang, в который компилируется elixir

    • @garrygaller2853
      @garrygaller2853 3 года назад +6

      "PHP прост в изучении" и мало на что годен, в отличие от Go. Так что все справедливо.

    • @user-yy8gb5rw7z
      @user-yy8gb5rw7z 3 года назад +3

      @@garrygaller2853 вы не любите PHP, вы просто не умеете его готовить

  • @dreammukhanov6117
    @dreammukhanov6117 11 месяцев назад

    Я думал что Короткий это описание длинны видео

  • @SiMoN-hk1jf
    @SiMoN-hk1jf 2 года назад +7

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

    • @KATERINA_KONIG
      @KATERINA_KONIG 2 года назад +1

      По идее, если часть программы откажет, то будет очевидно где именно требуется вмешательство в код

    • @nickolayabramov
      @nickolayabramov Год назад

      Для этого существует context.Context, который позволяет синхронизировать выполнение логики между собой любым желаемым для вас способом

    • @IvanFedulov
      @IvanFedulov Год назад

      тоже подумал об этом. похайдим ошибку и пофиг. кто-нить умный отдебажит потом.

  • @maksych8690
    @maksych8690 2 года назад +2

    Generics уже в 1.18)))

  • @P7Vagrant
    @P7Vagrant Год назад +1

    Так и не понял, нахрена нужен го. Аналитику данных на нём писать не рекомендуют, рекомендуют делать сервисы. Но что это за сервисы, пока не очень понятно. На сколько они большие. Какую проблему решает го? Возможно есть здесь кто-то, кто разбирается. Можете ответить, пожалуйста, на этот вопрос? Например, если я делаю какой-то высоконагруженный интернет магазин, чем мне может здесь помочь го? Или делаю я приложение для мобилки, и есть бэк. Почему я должен например выбрать го а не тот же php? Или ваш пример.

    • @pvinnie3827
      @pvinnie3827 Год назад +2

      на го можно написать любой сервис, хоть интернет-магазин, хоть сервис обработки видео (дискорд например недавно с ноды на го переписали, говорят на 20% быстрее стал). В этом видео не сказано о главном преимуществе языка - в го легко можно запускать вычисления в отдельных тредах, не нагружая основной поток, причем организация такого треда очень легковесная (4кб). Короче го хорош для highload проектов, где важна скорость обработки запросов и rps очень высок.

    • @P7Vagrant
      @P7Vagrant Год назад +2

      @@pvinnie3827 спасибо большое, полезный ответ! Теперь стало понятнее

  • @KaldorOfficial
    @KaldorOfficial Год назад

    Ждем язык от яндекса

  • @vd3598
    @vd3598 2 года назад +12

    Go простой язык. Это да. Вот только если знаешь еще и другие языки, то при работе с ним только и ловишь себя на мысли: "вот в языке N для моей задачи я бы использовал существующий подходящий инструмент, а я тут сижу и пишу очередной велосипед на Go". Поэтому не сказал бы, что Go так уж освобождает от ненужного, и позволяет сконцентрироваться на бизнесе. Ну и не сказал бы, что у Го какой то пуленепробиваемый код. Системы типов у Го довольно слабая все же. Я бы топил за Rust, который не только решает абсолютно все проблемы, заявленные Go и делает это лучше, но и решает многие другие. Единственный минус, разве что, большая сложность в начале.

    • @dmitriyobidin6049
      @dmitriyobidin6049 Год назад +1

      У Rust слишком высокий порог входа по сравнению с Го.

    • @karlgaspar2446
      @karlgaspar2446 Год назад +1

      Как Го , как первый язык для изучения программирования с нуля?

    • @vd3598
      @vd3598 Год назад +1

      @@karlgaspar2446 да вполне подходящий. в, что надо в нем есть.

  • @barrettM8
    @barrettM8 3 года назад +4

    Что то мне напоминает это всё очередной ROR, помню его тоже хайпили. Как то в одно время о нём все заговорили, хотя язык 2009 года

    • @P00R
      @P00R Год назад +1

      Так работает индустрия, но как и RoR очень даже жив, есть много вакансий и хорошо оплачивается, так и go после хайпа останется в числе топ ЯП и будет востребован

  • @kprohorow
    @kprohorow 2 года назад +3

    Пока придумывали Go успел скомпилиться Rust )

    • @damian_madmansnest
      @damian_madmansnest 2 года назад +2

      Rust медленно компилируется же.

  • @emakei
    @emakei Год назад +1

    А в 2023 году уже можно и фронтэнд, и даже мобильные приложения писать на Go. Не говоря уже об аналитике. Забавно!

  • @protiv_bio
    @protiv_bio 3 года назад +3

    Ммм. Какая красота. Пуленепробиваемый код. А как же fail fast?

  • @andya4418
    @andya4418 2 года назад +1

    Он все на свете называет "кодом".
    Особенно противоестественно звучит, когда "кодом" называют исходный текст...
    Интерфейс кода? ruclips.net/video/wBxOKQpdESg/видео.html

  • @kuksinsky
    @kuksinsky 2 года назад +1

    Тем времнем подхъехали дженерики, дожны выкатить в ближайшее время...

  • @dasstillsmile8458
    @dasstillsmile8458 3 месяца назад

    Дженерики всё же добавили...

  • @nikto_i_nichto
    @nikto_i_nichto 7 месяцев назад

    Не идеальное существо(человек) не может написать идеальный код!

  • @Anton_Zh
    @Anton_Zh Год назад

    надолго ли этот язык..

  • @vitaliy0192
    @vitaliy0192 25 дней назад

    Вот и пусть дальше говорят, что размер не имеет значение. Видимо имеет.

  • @user-vt5uk4cj1h
    @user-vt5uk4cj1h 2 года назад +2

    Хм. Так Яндекс.Go придумал Go ?
    Или он только написан на Go ?

  • @Alex-qy9zm
    @Alex-qy9zm 3 года назад +5

    только православный С89!

    • @ibraim3197
      @ibraim3197 2 года назад

      правослевен только лисп

  • @genpolru
    @genpolru 4 года назад +6

    В Python тоже есть уборщик мусора

    • @dizelvinable
      @dizelvinable 3 года назад

      Так-то во всех высокоуровневых языках есть он. И некоторых низкоуровневых, типа Java

    • @Tx_zx
      @Tx_zx 3 года назад +12

      @@dizelvinable Java высокоуровневый язык

    • @Alex-qy9zm
      @Alex-qy9zm 3 года назад +4

      @@Tx_zx java охуенно высокоуровневый:) Go по сравнению с java - как ассемблер

  • @makskors5002
    @makskors5002 3 года назад +4

    Такое ощущение, что язык GO придумали для индусов))) Сразу видно, в мире проблема с программистами, вход в другие языки сложнее, вот гугл и решил пойти другим путём))

  • @Palad1ne
    @Palad1ne 4 года назад +6

    Кмк неудачно. "Go не замедляет - генерит С-код + проверки...." И потом пример про замедление на 10-15%

    • @XorAlex
      @XorAlex 4 года назад +4

      10-15% это очень мало - на уровне погрешности. Например Питон на тысячи и десятки тысяч процентов замедляет.

    • @user-tr8xi3ik3c
      @user-tr8xi3ik3c 4 года назад

      Разве Go генерит С код?

  • @evgsurf
    @evgsurf 4 года назад +8

    Редактор не зависает, гыыыыы

  • @Nik02051957
    @Nik02051957 4 года назад +1

    А это правда: "СКЕДНЯ, перевернутое слово Яндекс - скеднЯ. По одной из теорий, является первоисточником при наименовании данной поисковой системы, исходя из ошибочного предположения, что слово "скедня" на иврите обозначает "выгребная яма".
    СКЕДНЯ - это ... значение слова СКЕДНЯ
    vedu.ru›121898" ?

    • @TolianoGood
      @TolianoGood 3 года назад

      К сожалению нет, совпадение. Название Яндекс скорее произошло от Индекс, с одним лишь отличием - заменили И на Я

  • @emild579
    @emild579 4 года назад

    Го или Питон как первый ЯП?

    • @lukin_io
      @lukin_io 4 года назад +7

      python

    • @emild579
      @emild579 4 года назад +1

      @@lukin_io спасибо!

    • @misana77
      @misana77 4 года назад +4

      Ни то, ни другое

    • @Nkanunov
      @Nkanunov 4 года назад

      @@misana77 А тогда что?

    • @user-is3kd9ye9h
      @user-is3kd9ye9h 4 года назад +8

      Первый - С++, второй - Python.

  • @darbenn
    @darbenn Месяц назад

    Крупный проект на го? Вы серьезно?😂😂😂

  • @Anshegar
    @Anshegar 2 года назад

    Че за бред. Добило "эта часть откажет а в целом система продолжит работать" - тоесть она будет работать не так как надо и в итоге программа просто нахуевертит такого что уж лучше бы вся перограмма отказала бы. После этого бреда выключил нафиг "эксперта".

  • @alexk5067
    @alexk5067 2 года назад +3

    Судя по этому программисту.. понятно, почему яндекс - такое г. унылое.

  • @stazher123
    @stazher123 2 года назад

    Яндекс хвалит продукт Гугла, мгы гы гы

  • @velis8052
    @velis8052 18 дней назад

    Ну он явно Техножрец с Марса который пишит по СШК...... Еще и молится богу машине ....

  • @NoName-nj3zw
    @NoName-nj3zw 4 месяца назад

    Про дженерики просто поржал в голосину. Привет из 2024

  • @ildarmurtaev9112
    @ildarmurtaev9112 7 месяцев назад +1

    Синтаксис языка просто ужасен и о каком минимализме можно говорит...

  • @googlofob2022
    @googlofob2022 2 года назад

    -Это боGOхульство...

  • @idzyubin720
    @idzyubin720 4 года назад +4

    Без дженериков и нормальной обработки исключений - это Goре

  • @phat80
    @phat80 2 года назад +2

    Херню несешь про то, что Go медленнее C всего на 10-15%. При чем тут проверки? А GC забыл? Любой язык с GC автоматически становится медленнее C в 2 и более раз. Именно поэтому ни у кого нет идеи писать на Go ядра ОС. Именно поэтому он и перекочевал в основном в область серверного бэкенда, где он может соревноваться с традиционными в этой сфере языками (php, python, java и т.д.). И то, что он стал популярным, это заслуга как раз его правильного позиционирования. Если бы его позиционировали как замену C/C++, то никаких успехов он бы не достиг.