Как делают GoLand: закулисье JetBrains | GoGetPodcast №16
Автор: Николай Тузов — Golang
Загружено: 2025-09-07
Просмотров: 3788
Описание:
Новые выпуски будут на отдельном канале: @gogetpodcast
Поговорили с Арсением Тереховым — разработчиком из команды GoLand. Обсудили следующие темы:
Про Арсения и его путь в JetBrains: как попал в разработку, а потом в JB, почему именно GoLand, какой был бэкграунд до этого
Про команду и работу: как устроена команда GoLand, типичный рабочий день, процессы разработки, код-ревью
Самое интересное - про два мира Java/Kotlin и Go: каково это писать инструмент для Go на другом языке, насколько глубоко нужно знать Go
Техническая часть: как устроена работа с Go кодом внутри IDE, взаимодействие с командой с gopls
Про другие IDE: VSCode, Zed
Состав:
Николай Тузов
Арсений Терехов — JetBrains, GoLand Team
Ильдар Карымов: / @deferpanic
Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov
Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi
Все гости наших выпусков там присутствуют.
Тайминги:
00:00 Важная информация: Подкаст переезжает на другой канал!
00:10 Вступление и план выпуска
00:35 Представление Арсения
01:44 Представление Ильдара
02:55 Бэкграунд Арсения и его путь в JetBrains
05:41 Про лабораторию JetBrains на Матмехе
08:15 Лаборатория языковых инструментов: проекты и идеи
10:55 Магистратура JetBrains в ИТМО — жесткая нагрузка
16:32 Почему выбрал GoLand?
19:44 Первые впечатления от Go: escape-анализ, GC, горутины
24:40 Претензии Арсения к Go: проблема захвата переменных по ссылке
29:38 Претензии №2: проблема nil-safety в Go
33:38 Как происходят переходы между командами в JetBrains
37:30 Про переход в команду IDEA или Kotlin — идеальный Dogfooding
39:22 Dogfooding в команде GoLand: пет-проекты на Go (2D игра на Ebitengine)
43:52 Встречи с командой gopls / Go Team
44:05 Что такое gopls? LSP для Go
47:18 GoLand не использует gopls — собственный LSP
52:25 Состав команды GoLand: ~10 разработчиков и другие должности
54:08 Общий пул задач и свобода выбора
1:00:40 Процесс код-ревью
1:02:00 Роль QA: как устроено тестирование?
1:12:12 Поддержка новых версий Go и type inference
1:17:32 Инструменты разработки: TeamCity, Space
1:22:15 Как репортить баги через YouTrack
1:32:08 Вопросы производительности IDE
1:36:49 Совмещение Kotlin и Go в разработке
1:42:19 Архитектура: IntelliJ Platform + языковые плагины
1:48:55 GoLand vs IDEA + Go plugin - в чем разница?
1:53:42 Регулярные встречи с командой gopls / Go Team (продолжение)
1:57:20 Nil reference анализ — главная новая фича
1:59:04 Глобальный анализ vs локальный (преимущества)
2:04:30 Теоретическая неразрешимость задач статанализа
2:10:55 Data flow analysis — как это работает
2:13:41 Почему пока не поддерживаются поля структур
2:20:47 Как иммутабельность упростила бы анализ
2:26:55 Обсуждение других IDE: VS Code, Zed, Cursor
2:33:49 Уникальность JetBrains — свои языковые движки vs LSP
2:37:14 Обращение к сообществу: репортите баги!
2:39:14 Планы на следующий выпуск и завершение
#gogetpodcast
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: