Поговорили с Арсением Тереховым — разработчиком из команды GoLand. Обсудили следующие темы:
- Про Арсения и его путь в JetBrains: как попал в разработку, а потом в JB, почему именно GoLand, какой был бэкграунд до этого
- Про команду и работу: как устроена команда GoLand, типичный рабочий день, процессы разработки, код-ревью
- Самое интересное - про два мира Java/Kotlin и Go: каково это писать инструмент для Go на другом языке, насколько глубоко нужно знать Go
- Техническая часть: как устроена работа с Go кодом внутри IDE, взаимодействие с командой с gopls
- Про другие IDE: VSCode, Zed
Состав:
- Николай Тузов
- Арсений Терехов — JetBrains, GoLand Team
- Ильдар Карымов: https://www.youtube.com/@deferpanic
Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov
Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi
Все гости наших выпусков там присутствуют.
Тайминги:
- 00:00 Вступление и план выпуска
- 00:25 Представление Арсения
- 01:34 Представление Ильдара
- 02:45 Бэкграунд Арсения и его путь в JetBrains
- 05:31 Про лабораторию JetBrains на Матмехе
- 08:05 Лаборатория языковых инструментов: проекты и идеи
- 10:45 Магистратура JetBrains в ИТМО — жесткая нагрузка
- 16:22 Почему выбрал GoLand?
- 19:34 Первые впечатления от Go: escape-анализ, GC, горутины
- 24:30 Претензии Арсения к Go: проблема захвата переменных по ссылке
- 29:28 Претензии №2: проблема nil-safety в Go
- 33:28 Как происходят переходы между командами в JetBrains
- 37:20 Про переход в команду IDEA или Kotlin — идеальный Dogfooding
- 39:12 Dogfooding в команде GoLand: пет-проекты на Go (2D игра на Ebitengine)
- 43:42 Встречи с командой gopls / Go Team
- 43:55 Что такое gopls? LSP для Go
- 47:08 GoLand не использует gopls — собственный LSP
- 52:15 Состав команды GoLand: ~10 разработчиков и другие должности
- 53:58 Общий пул задач и свобода выбора
- 1:00:30 Процесс код-ревью
- 1:01:50 Роль QA: как устроено тестирование?
- 1:12:02 Поддержка новых версий Go и type inference
- 1:17:22 Инструменты разработки: TeamCity, Space
- 1:22:05 Как репортить баги через YouTrack
- 1:31:58 Вопросы производительности IDE
- 1:36:39 Совмещение Kotlin и Go в разработке
- 1:42:09 Архитектура: IntelliJ Platform + языковые плагины
- 1:48:45 GoLand vs IDEA + Go plugin - в чем разница?
- 1:53:32 Регулярные встречи с командой gopls / Go Team (продолжение)
- 1:57:10 Nil reference анализ — главная новая фича
- 1:58:54 Глобальный анализ vs локальный (преимущества)
- 2:04:20 Теоретическая неразрешимость задач статанализа
- 2:10:45 Data flow analysis — как это работает
- 2:13:31 Почему пока не поддерживаются поля структур
- 2:20:37 Как иммутабельность упростила бы анализ
- 2:26:45 Обсуждение других IDE: VS Code, Zed, Cursor
- 2:33:39 Уникальность JetBrains — свои языковые движки vs LSP
- 2:37:04 Обращение к сообществу: репортите баги!
- 2:39:04 Планы на следующий выпуск и завершение
Informations
- Émission
- FréquenceToutes les 2 semaines
- Publiée8 septembre 2025 à 20:29 UTC
- Durée2 h 42 min
- Épisode16
- ClassificationTous publics