Про Арсения и его путь в 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
Все гости наших выпусков там присутствуют.
Тайминги:
- Вступление и план выпуска
- Представление Арсения
- Представление Ильдара
- Бэкграунд Арсения и его путь в JetBrains
- Про лабораторию JetBrains на Матмехе
- Лаборатория языковых инструментов: проекты и идеи
- Магистратура JetBrains в ИТМО — жесткая нагрузка
- Почему выбрал GoLand?
- Первые впечатления от Go: escape-анализ, GC, горутины
- Претензии Арсения к Go: проблема захвата переменных по ссылке
- Претензии №2: проблема nil-safety в Go
- Как происходят переходы между командами в JetBrains
- Про переход в команду IDEA или Kotlin — идеальный Dogfooding
- Dogfooding в команде GoLand: пет-проекты на Go (2D игра на Ebitengine)
- Встречи с командой gopls / Go Team
- Что такое gopls? LSP для Go
- GoLand не использует gopls — собственный LSP
- Состав команды GoLand: ~10 разработчиков и другие должности
- Общий пул задач и свобода выбора
- Процесс код-ревью
- Роль QA: как устроено тестирование?
- Поддержка новых версий Go и type inference
- Инструменты разработки: TeamCity, Space
- Как репортить баги через YouTrack
- Вопросы производительности IDE
- Совмещение Kotlin и Go в разработке
- Архитектура: IntelliJ Platform + языковые плагины
- GoLand vs IDEA + Go plugin - в чем разница?
- Регулярные встречи с командой gopls / Go Team (продолжение)
- Nil reference анализ — главная новая фича
- Глобальный анализ vs локальный (преимущества)
- Теоретическая неразрешимость задач статанализа
- Data flow analysis — как это работает
- Почему пока не поддерживаются поля структур
- Как иммутабельность упростила бы анализ
- Обсуждение других IDE: VS Code, Zed, Cursor
- Уникальность JetBrains — свои языковые движки vs LSP
- Обращение к сообществу: репортите баги!
- Планы на следующий выпуск и завершение



