Home
Categories
EXPLORE
True Crime
Comedy
Society & Culture
Business
Sports
TV & Film
Technology
About Us
Contact Us
Copyright
© 2024 PodJoint
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts126/v4/a0/05/22/a005220b-5302-5e55-617b-a096737b13db/mza_1293788574288135539.jpg/600x600bb.jpg
Go Get Podcast
Go Get Podcast
18 episodes
2 weeks ago
Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.
Show more...
Technology
RSS
All content for Go Get Podcast is the property of Go Get Podcast and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.
Show more...
Technology
https://ru-msk-dr3-1.store.cloud.mts.ru/mave/storage/podcasts/3d65214c-1a2c-4d15-bd9d-b5a37936bbfb/images/effe8099-6380-4a79-9b1a-d9e763eb7326.png
Ep. 18: Тёмные стороны Go — с разработчиком GoLand | GoGetPodcast №18
Go Get Podcast
2 hours 40 minutes
2 weeks ago
Ep. 18: Тёмные стороны Go — с разработчиком GoLand | GoGetPodcast №18
Обсуждаем проблемные места Go с Арсением Тереховым — разработчиком из команды GoLand в JetBrains. Арсений смотрит на Go с необычного угла: он из мира Kotlin, но при этом погружён в Go глубже многих гоферов благодаря работе над GoLand. Что обсуждаем: — Nil safety в Go: почему это проблема и как с ней жить — Слайсы: append выглядит иммутабельно, но мутирует данные — Замыкания и горутины: классические баги с захватом переменных — Shadowing переменных: визуально не отличить, но приводит к багам — Data races при чтении слайсов Выпуск вышел при поддержке AvitoTech 💙 Статья про обработку ошибок в Go: https://clc.to/U7_U_w Telegram AvitoTech: https://clc.to/-HtbVg Митапы: https://clc.to/vbUbyg Состав: - Николай Тузов - Арсений Терехов — JetBrains, GoLand Team - Глеб Яльчик - Дмтрий Матрёничев 👾 Мой Телеграм-Канал с анонсами, гайдами и др.: https://t.me/ntuzov Тайминги: 00:00 Вступление 00:27 Предыстория: вопросы от Арсения 02:00 Хорошая новость: новые выпуски теперь будут выходить регулярно 03:24 Gophercon West — как это было: 25 часов перелёта и визовый лайфхак 06:00 Футболки с конференций и брендинг 08:40 Тема #1: Nil safety — старт обсуждения 09:57 История: Тони Хоар, Algol и billion dollar mistake 11:41 Реальные кейсы: $100k loss и падение Google Cloud 14:52 Взгляд на проблему с экономической точки зрения 17:13 Nil как валидное значение указателя 20:05 История указателей: от ассемблера до высокоуровневых языков 25:04 Создатели Go: Rob Pike, Russ Cox, Ken Thompson 27:45 Дизайн языка — в чём идея? 29:33 Go пофиксил проблемы C/C++? 32:03 Философия Go: проверенные решения, а не новации 36:23 Семантика указателей в Go: nil-receiver как валидное состояние 39:11 Возможен nil safety с учётом рефлексии? 42:14 Привет бабушке! 42:44 Безопасен ли Go без unsafe/reflect? 48:34 Kotlin vs Java: где действительно есть null safety 51:07 Ограничения null safety: Spring, рефлексия, interop 53:00 Safe enough vs абсолютная безопасность 55:38 Итоги по nil pointer 59:00 Тема #2: Захват переменных — классический баг с циклами 01:02:28 Обратная совместимость: почему сложно что-то менять 01:05:23 Революция в тулинге языков программирования 01:07:51 Final в Java/Kotlin и почему этого нет в Go 01:13:11 Захват переменных в C++: явный синтаксис 01:16:01 Когда нужна запись в захваченные переменные 01:19:27 Каналы в Go: гарантии и практические сложности 01:25:21 Роль линтеров — go vet, staticcheck, golangci-lint 01:26:07 Тулинг: data-flow анализ, детектор гонок 01:29:21 Почему линтеры простые: философия дизайна 01:31:57 Тема #3: Слайсы — самая болезненная тема 01:32:23 Загадка про 8 слайсов и capacity 01:37:36 Проблемы дизайна слайсов в Go и почему так 01:40:15 Как работает append и реаллокация 01:47:03 Почему append возвращает значение? 01:56:52 Эволюция через тулинг: x/tools/modernize и автопочинка 02:00:17 Data races при конкурентном append 02:03:53 Тема #4: Shadowing переменных 02:09:54 Удобство vs однозначность кода 02:13:11 Философия дизайна языков и их эволюция 02:17:00 Выводы 02:22:03 Каждый новый язык лучше? 02:29:07 Относительность решений в программировании 02:33:59 Теорема Гёделя о неполноте 02:34:53 Аналогия с Nintendo: простота как фича 02:36:33 Аналогия с физикой: разные модели для разных масштабов 02:37:25 Заключение
Go Get Podcast
Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.