Языки программирования ПОД КАПОТОМ / LLVM, YACC и Bison / Крёстный отец Kotlin - Дмитрий Жемеров
Сегодня говорим о том, как создаются языки программирования. Компиляторы, билдеры, документация, синтаксис, виртуальные машины, компиляция и интерпретация, парадигмы, LLVM, YACC, Bison, ANTLR, LSP, EBNF, DSL и другие технические ништяки из мира создателей ЯП сегодня в выпуске.
Гость выпуска Дмитрий Жемеров. Это человек, который стоял у истоков языка Kotlin, придумал его название и был инициатором его создания, который долгое время руководил разработкой большинства IDE в JetBrains, а сейчас занимается лингвистикой.
Так что, заваривайте чаинский/кофеинский и погнали😉
ДОП. МАТЕРИАЛЫ
🔹 Материалы из выпуска: t.me/itbeard/1139
🔹 Сайт Димы: yole.page
🔹 Блог Димы: yole.blog
🔹 Поддержать АйТиБороду на Patreon: / itbeard
ГДЕ СМОТРЕТЬ И СЛУШАТЬ
🔸 KZhead: • Языки программирования...
🔸 Apple Podcasts: apple.co/41hwOIQ
🔸 Google Podcasts: bit.ly/itbeard-googlepodcasts
🔸 Spotify: spoti.fi/3Ktbf1Y
🔸 Скачать mp3: podcast.itbeard.com/e/178
НАВИГАЦИЯ
0:00 Дисклеймер
0:39 Вступление
1:23 Начало
2:33 Кто придумал название Kotlin
3:32 Как Дима пришел в программирование
11:03 Первая работа через FidoNet
13:07 Про необходимость вышки
14:38 Как попал в JetBrains
24:40 Про работу в Google
35:46 Что такое язык программирования
37:05 Почему каждый программист пишет свой ЯП
40:40 Язык программирования как бизнес-задача
46:35 Про компилируемые ЯП
49:00 Виртуальные машины и LLVM
54:00 Окружение ЯП: компиляторы, документация, LSP
1:00:08 С чего начать разработку Тьюринг-полного ЯП
1:05:30 Работа с памятью и типами
1:06:37 Парсеры языка: ANTLR, YACC & Bison, EBNF
1:12:40 Как работает компилятор: фронтенд и бэкхенд
1:15:45 Проблемы компилятора Kotlin
1:18:15 Как закладывается парадигма
1:19:20 Почему компиляторы пишут на функциональных языках
1:21:08 Асинхронщина и coroutine в Kotlin
1:25:40 Кто такой дизайнер языка
1:26:18 Обновление ЯП и поддержка версий, совместимость, DSL
1:35:28 Современный ЯП должен быть open-source
1:39:14 Зачем нужны Foundation
1:40:45 Литература для тех, кто хочет написать свой ЯП
1:42:00 Про айтишников в РФ, работу на “ручные” компании и что с этим делать
1:55:45 Где брать актуальную информацию
1:57:28 Чем бы занимался, если не программированием
2:03:47 Переход из JetBrains в лингвистику
2:08:32 Что изменилось в жизни за 2022 год
ПОДПИСЫВАЙТЕСЬ
🔻 Сайт: itbeard.com
🔻 Telegram: t.me/itbeard
🔻 WhatsApp: s.itbeard.com/whatsapp
#айтиборода #программирование #kotlin
Отличное видео Инетерсно слушать про эти штуки: несколько лет работал с ANTLR очень плотно: как раз использовали для IDE. И у меня есть два видео где я пилю виртуальную машину с нуля на шарпах. Кто видит этот коммент, залетайте - можете глянуть. Как раз +/- по теме видео)
Да это же человек-легенда. Я из Череповца, он для градообразующего предприятия нашего города писал программы
Очень понравилось, даже не ощущается, что видео длится больше 2-х часов ;). Спасибо за выпуск.
Борода, не перебивай человека когда он говорит плиз.
Это называется «Диалог»
Skillfactory: Таким вы станете после нашего курса "Весь IT за неделю".
Какие же умные люди есть. Спасибо, было интересно
Это очень круто! Спасибо за выпуск
Офигеть! Очень крутой чел. Интересно было вас послушать, спасибо.
Очень крутой собеседник и главное интересный. Посмотрел на одном дыхании. Спасибо за выпуск!
спасибо!
- Легко ли запушить изменения? - Это не очень сложно, это скорее всего просто. Проще - не начинать☕️👨🏻 мне нравится
Лучшее интервью в этом году! Супер! Спасибо!
Интервью- кайф. Отдельный респект за досьемку спустя время.
Крутой ролик! Спасибо :)
Хорошее интервью. Не все понял, но было приятно и интересно слушать. Спасибо, Лекс.
(Где-то в комментариях промелькнуло о "гордыне" Дмитрия. Не заметила - открытый, адекватный человек. Приятно слушать).
Я работал вместе с Димой и могу уверенно сказать, что гордыня это вообще последнее качество, которое ему можно приписать :)
А что? Вроде есть чем гордиться то.
Спасибо большое Бороде за простые вопросы, например, про компилятор и интерпретатор, всегда интересно послушать, как человек с таким колоссальным опытом будет отвечать на базовый вопрос простыми словами
Одно из самых интересных и актуальных интервью!!! Порадовала позиция человека. Спасибо большое.
Новий випуск😍😍😍😍, + мотивація до знань😶🌫і корисна інформація🥳
Выпуск топ. Очень круто, когда гости такие интересные
Крутой чувак !!! Спасибо за выпуск !!!
Наконец то интервью с программистом, а не с эффективным менеджером, блогером или феминисткой. Спасибо, очень приятно было послушать
Ох... Не знаешь ты, что дальше будет...) Но спасибо!)
@@itbeard Лекс, позови Григория Петрова. Классный спец и рассказывает интересно) Привет от гомельчанина из Варшавы! 👋
@serga8543 пошел посмотреть его ролики на Ютубе, и первой же выпала запись с какой-то конфы российской со спонсорами ростелеком и другими. Видимо, Григорий не из нашенскийх.
@@itbeard Эх.. Тогда еще есть кандидат) - Богдан Стащук - очень крутые курсы делает на ютуб и юдеми + стримы! Учу по нему пайтон. Украинец, точно из нашенских💪 Маст хев на канале)
@@itbeard сколько смотрел с ним лекций и митапов, он никак о политике не высказывался. не очень понимаю, а что теперь с людьми из российских компаний теперь "западло" интервью снимать? И что значит не из наших? А из чьих вы тогда? Ваш канал ранее не смотрел, не знаком с вами, поэтому удивляет такая фраза)
Прикольный учитель информатики. А у нас в школе нам вдалбливали в голову что мы дураки ничего не поймём в компьютерах 😂
Спасибо, на одном дыхании просмотрел!
На здоровье!
Крутой дядька, количество полезной информации на единицу времени зашкаливает, мое почтение 👍
Ну вот и новые гости, поехали. Как всегда безупречного и профессионально:)
спасибо большое за видео!!!!
Интервью - пушка 👍😍
Это то видео которое нужно пересматривать что бы уловить суть всего
Хоббит был первым компьютером который я себе смог купить будучи студентом, после МК-52. Жаль это была ученическая версия. Ещё выпускалась учительская. Хоббиты предназначались для школьного преподавания, их можно было объединить в сеть с главной учительской машиной. Я на нём на Лого на черепашей графике программировал, забавно было.
Интересно. Совсем недавно смотрел с ним интервью 6летней давности, и тут этот выпуск
Kotlin, химия, лингвистика. Что только не делают чтобы на java галере не работать😅
Node.js даже учат
Ух какой видос кайфовый!
Очень интересная беседа, спасибо!
У меня тоже всё началось еще в средних классах школы с самодельного Спектрума, и зашитого в него Бейсика😊 А потом был IBM с MS DOS и Волков-коммандером, на 5ти дюймовых дискетах, с монохромным дисплеем. Только не оранжево-черным, как у гостя, а зелено-черным)) И QBasic-ом))
Я на Агате в школе, компьютер Дубна у друга, потом универ PC XT, 486. BBS, FIDO в 1997 году шли вместе с Интернетом. В 1999 стал на Linux пересаживаться.
Зелено-черный дисплей - да! У меня терминал в Линухе и скйчас зелено-черный)
У меня с XT, DOS и QBasic. Потом был Паскаль, Делфи, Ассемблер, Си, С++, PHP, JS, Java и сейчас Котлин. Мечтаю однажды создать свой язык и компилятор для него.
Зелено-черный. Несбывшаяся мечта. У меня был стандартный маленький черно-белый ублюдок «Электроника»
А я на Спектруме успел еще кроме Бейсика еще и Лазер-Бейсик попробовать (игру со спрайтами не нем делал), и Ассемблер (тоже игру одну сделал). Ну и баловство с диззассемблерованием чужих игр в Gents/Mons (долго описывать)...
Отличный выпуск! Прослушал, параллельно напиливая автотесты на один из наших эндпоинтов. AQA, привет коллеги, если здесь)
А мы везде, и про программирование, и про тестирование смотрим, пока работаем...
C2 wiki до сих пор интересно почитать, хороший ресурс
Ого, какой полезный и интересный выпуск. Круто! Сейчас форт читаю/изучаю Чтобы понять базу мать её.
Форт изучают, чтобы говорить, как мастер Йода.
Вельмі цікавае інтэрв'ю! Дзякуй Вялікі Лёша!
Дмитрий крутой! Очень интересно, но очень сложно.
Спасибо большое за выпуск. Помню как 4 года назад впервые попал на канал АйТиБороды, с интересом посмотрел несколько выпусков и под одним из них оставил комментарий/предложение пригласить Дмитрия Жемерова на интервью. И вот он тут. Здорово и круто! Спасибо!
Хехе, спасибо)
Не понимаю, почему у такого классного интервью мало просмотров… людей многое теряют. Спасибо, Борода классное интервью!
Есть специфика, которые не все понимают, а так да позновательное видео
Тому, що не всі програмисти
Что делать чтобы устроится на работу, где будет enterprise(на работе) опыт работы с компиляторами/отладчиками/(ide)?(Я яп свой писал c помощью antlr4, имею представление, компилировался яп в LLVM IR) Cейчас очень сложно(особенно на такую узкую специализацию) устроится, что стоит делать? Собесы? я даже до отклика hr'а не дохожу
Спасибо Дмитрию за интересный рассказ - отличный гость, и за трезвую позицию по происходящему!
неожиданно интересно. и круто.
аффигеть! оказалось, что я не подписан.. 🫣 получается, всё это время смотрел авансом
Спасибо, на удивление интересно было послушать, и про лингвистику тоже интересно. Причем как сама лингвистика, так и материальная сторона вопроса. Понятно что тут речь не про деньги лопатой, а в том как заниматься интересными для себя темами(которые может быть не такие денежные как ИТ) и семейный бюджет как то сводить. В общем то, конечно, этот вопрос не только к Дмитрию, в целом интересно было бы обсудить.
Выпуск супер А что за байка?)
Обычно все выпуски слушаю на х1.5, а тут иногда даже приходится на 0.75 слушать, Дима слишком хорош в скоростной читке))
Про выполнение программ нормально пишет танненбаум в архитектуре компьютера. Разбирают компиляцию, интерпретацию, уровни этого барахла. Рекомендую. Но это не вечернее чтиво, там не все легко идет.
спасибо
Очаровательный немолодой человек 😊
Классная байка у бороды :)
The interview conducted by Beard was outstanding, leaving a strong impression with his insightful questions and engaging conversation.
Thank you!
оххх, понеслось... ))
Классно посмотреть на себя со стороны. Спасибо ❤
Где такую кофту купили?
Драгон бук еще осилить надо умудриться)
Серьёзная тема,,,,,,,,,, Всем Адекватности мира и добра Кто, как я, учится - Успехов в учёбе.
Огромное спасибо особенно за часть с гражданской позицией. Интересны все затронутые темы, и про языки программирования (особенно упоминание Lisp и Forth) и про компиляторы, и про лингвистику и про D&D (которым я сам недавно заинтересовался). В самом начале видео я хотел написать о том, насколько много общего есть в языках программирования и в человеческих языках общения. Кроме того, язык программирования не обязательно должен иметь какой-то конкретный транслятор (компилятор или интерпретатор) существуют и чисто алгоритмические языки (например РАЯ). Да вроде и сам Fortran изначально был в первую очередь алгоритмическим языком. Т.е. на нём писались решения задач. А так же Алголы в своё время разрабатывались тоже во многом для этого. Т.е. целевой аудиторией не обязательно были компьютеры. А во многих случаях читателями были люди. В той части, где говорится о не опенсорсных языках программирования, мне почему-то вспомнился Wolfram. Про лингвистику, хотел сказать, что очень интересная тема - это искусственные языки такие как логлан, токипона, эсперанто. Я в своё время начал изучать эсперанто для того чтобы попробовать написать на его базе семантический анализатор. Т.е. я хотел использовать эсперанто как модель естественного языка с более простой морфологией и синтаксисом для последующего программного анализа семантики. Но как-то отвлёкся от программирования и занялся другими делами. Хотя искусственными языками до сих пор интересуюсь. Крайне занимательная вещь. Про D&D - я сам недавно заинтересовался этой темой.
первый выпуск, основную часть которого захотелось послушать еще раз в будущем, чтоб "закрепить" материал. очень интересно, гость клёвый я правда так и не понял как трамвай помог попасть в jetbrains 😅
Ахаха, с трамваем мутная тема, согласен))
Трамвай никак не помог, он просто мимо ехал :)
Читал его книжку Kotlin in action 🙂
И как?
Какая, однако, забавная ситуация! В 1992 году, когда в первом классе я записался в кружок по программированию (учили BASIC, а у меня были дома zx spectrum и IBM286 -- и это в маленьком уездном городке Псковской области), и который закрылся на 3-ем занятии в пользу шахмат (мне было скучно быть единственным, кто сначала подумал, а потом походил конем из угла в угол за 6 ходов...), у меня образовался незакрытый гештальт по программированию, чем я сейчас занимаюсь (и Kotlin мне кажется восхитительным языком!), я, тогда в 1994-м, точно решил стать писателем (со временем, это стало очень близко к лингвистике). Вся жизнь наоборот, а мы +/- ровесники.
54:30 Создатели C++, то есть комитет, не выпускают ни компилятора, ни документации - это все делает сообщество. В разработке языка программирования конечным продуктом является сам язык программирования - в виде стандарта
Спасибо за выпуск! Желаю каждому и себе с собой честно говорить и делать смелые решения, выборы )
Спасибо!
Спасибо!
Про гугл все ясно, JetBrains отправили Дмитрия в командировку на год заниматься промышленным шпионажем 😏
Помню время Паскаль и потом Делфи 😊
Спасибо за твою позицию и твою работу! Рад что есть такие люди, которые много готовы вложить в свою родину
как написали первый компилятор?)
абсолютно так же как писали все программы до изобретения компиляторов... на машинном коде естественно... компилятор из асма в машинный код.
Аааааааа почему у Вас, бл**ь телек криво висит?!?!)) Приятный интервьюер, приятный гость) Спасибо за контент. Рад, что Дмитрий нашел то, чем интересно заниматься))
Этот крутой человек золотой Грааль всех ответов из разряда "нет профильного образования" и укор всем компаниям что берут людей только с профильным образованием... Очень крутой чел который развивается не только вертикально то и горизонтально! Пример для всех в плате развития! Спасибо за интервью!
Жалко не спросили почему они используют достаточно старый llvm -11
Бест, лайк
С годами приходит понимание как создать свой ЯП. Но по сути это получится некий интерпритатор команд процессора :) А процессоров и ОС на сегодня много, и это не финиш. Если в 90х у тебя были варианты создать свой продукт, то сегодня только пользоваться тем что есть, нравится или нет :) Во многом приходится "жанглировать чужими шарами" :) Что в конечном итоге надоедает.
точнее сказать "интерпритатор текста в команды процессора"
@@user-tm5hi7xs3i Ну тогда интерпритатор текста в набор команд процессора ;) Ведь к примеру оператор CLS, при очистке экрана делает заполнение 0, участка памяти экрана ;)
@@Franc_Net в чем отличие? =)
@@user-tm5hi7xs3i да, невнимательно прочитал ваш текст "команды" ;)
Вот для этого и придумали llvm. Ты пишешь фронтенд для своего языка и он автоматически компилируется под любой процессор и любую систему.
Видео ускорено?
Это не очень сложно, это скорее всего просто, проще не начинать 😂
Крутое интервью. Посмотрел с большим удовольствием. Спасибо
1:47:43 что за компания? Таас? Не расслышал...
ТАСС
ждав цьго відео ролика
то есть, я так понял, чтобы получить работу в крутой айти компании нужно ехать во Фракфурт и лезть под трамвай.
00:44:39 а что за стеб по поводу Питона не понял?
Несовместимость версии 2 и 3
Борода, я тебя умоляю, позови Константина Владимирова!)
з-нацистов не зову
это ностальгия, бро))! а мелкий чо то понимает в программировании))
Паскаль был написан и представлен на математичпском форуме. А первый компилятор с Паскаля появился только через два года. С тех пор и не ясно для подавляющей массы доморощенных прогеров.что значит "написать язык программирования".
Была трансляция?
Какая трансляция?
@@itbeard стрима этого
Это не стрим
@@itbeard пон
Я не шарю в теме котлина, но название компании в которой он роботал и продукты к которым был причастен, прибавили интерес к выпуску😊.
Что за мерч такой бомбовый???
Стоит ли идти на инженера по автоматизации?? В России много разработчиков не хватает, нежели тестеровщиков. Стоит ли бояться внедрения искусственного интеллекта, заменит тестеровщиков в сфере it
Не заменит, но может стать помощником для автоматизаторов. Мне кажется это история про то как извозчики стали водителями
Аналог Хабра у иностранцев это Hashnode, но там уровень статей намного ниже, так как любой человек может писать туда в блоги.
Что же с нами делают машины..в кого превращают :)
В каком смысле
Нихрена себе концовка.
Обсуждали что нужно сделать чтобы язык сделать, забыли про стандартную библиотеку))
Она ж сама сабою появится 😅
СРОЧНО ЗАЛЕЙ В ПОДКАСТЫ
так уже давно жеж
@@itbeard В Яндекс Подкастах не вижу, постоянно слушаю тебя там. Всегда на прогулках включаю твои подкасты, но давно ничего не было, уже ломка :[
@@exemplles Леха вроде как отменил все российские продукты
@@itbeard Спасибо что загрузил в подкасты
Я в яндекс ничего не гружу. Если там что-то есть, то оно там появляется не по моей воле
На Шатунова похож чем то 🙂
Все таки: хорошо знать и уметь это рассказать совсем разные скилы...
этот чувак на столько крут что его тень боится его)
4:10 больше удивляет что в СССР удаленка была!
Всё интересно - но шумы по микрофону могли бы пофиксить 🗿
в описании к ролику есть реквизиты - задонать на новые микрофоны, умница
@@itbeard ну зря вы на меня агритесь. Я имею в виду конкретно моменты, когда по микрофону что-то шерудит, как я понимаю, это шея собеседника. Учитывая то, что у ведущего этой проблемы нет, то дело не в микрофоне
Если отвечать коротко - т овсё что могли, пофиксили. Если подлинее - качество продакшена напрямую зависит от донатов, так что никакой агрессии, только прагматизм
как думаете, какой процент везения был, что kotlin станет популярным?
Никто не скажет
Привет всем, уважаемые. Может уже было это замечание, но всё же скажу: кроме синтаксиса и правил в языке программирования ещё важны библиотеки или там всякие импорты, которые написаны на более низком уровне для взаимодействия с ОС и железом. Без этих библиотек никак. У котлина они есть....
👌