Пишем код, за который не стыдно. Разбираем базу, даем рекомендации и встречаемся с умными людьми
Привет, друзья. Это подкаст Организованное программирование. Я ведущий Кирилл Макевнин. Сегодня у меня в гостях Дмитрий Иванов, руководитель платформы для разработчиков Sourceft, с которым мы поговорим про тулинг для разработчиков, потому что Дима, собственно, непосредственно занимается разработкой этого добра. Плюс у него богатый опыт на эту тему, и я думаю, нам есть что обсудить. Дим, привет. Расскажи пару слов о себе. Привет, Кирилл. И привет всем слушателям, кто у нас сегодня пришёл на подкаст. Слушай, короче, у меня так или иначе вся жизнь связана с инструментами для разработки, для разработчиков, вот, в общем, для людей, кто создаёт программные продукты. И получилось это совершенно случайно. На самом деле я пришёл в Санкт-Петербургский государственный университет в 2001 году, вот поступил. И он попал в группу по программированию. И так совершенно случайно случилось, что мой учитель по программированию был стал потом через много лет генеральным директором Intelligжи, ну, компании Jet Brains. Jet Brains, да. Он сначала стал руководителем Intellig, потом компании Jet Brains. Ну и, в общем, как-то так сложилось, что там с первого курса мы Jav начали изучать. А если изучать Java, то изучать Java нужно в каком-то де. И в общем, как-то так получилось, что это была Intellig идея. Причём там Макс тоже, я помню, он такой ходил, но вроде как говорит: "Вот есть такая, да, есть такая". Конечно, очень нескромно свой продукт рекламировать, но мы, честно говоря, попробовали тогда все продукты, которые он, э, говорил, и, в общем, идея оказалась лучшей. Короче, так, так оказалось, что половина моей группы ушла в Jeтбra, я ушёл, на самом деле, совсем не сразу и там только лет через 10
ушёл через 10. В смысле в Jet Brains. Да, да, я тоже походил. Ну то есть там как было там на самом деле в России была вообще в России очень сильная компиляторная школа. Там я думаю, что всем известно. В на Матмехе был такой известный профессор Андрей Николаевич Терихов. Вот я буквально 2 недели или 3 недели назад был на его похоронах. Вот очень классный дядька. Оставил после тебя школу. Там куча людей, соответственно, рассказывала классные речи на похоронах. Короче, жизнь прожил он хорошую. Вот. составил после себя и школу, и благодарных учеников. И так получилось, что, во-первых, ребята занимались компиляторами, потому что они там в своё время сделали Алгол 68, большой язык. Потом они учили всех своих учеников системному программированию. Ну, в нашем понимании слово системное программирование означало программирование для программистов. И в как раз люди, которые потом сделали компанию Intellig, они вышли вот из как раз вот этой кафедры системного программирования математико-механического факультета СПбГУ. Вот, короче, я попал в такую среду, что мой путь был на самом деле во многом заранее определён. Я, конечно, ещё немножко потрепыхался. Сначала сходил в Intel, поработал в компанию Intel. Вот. Потом поработал в аутсорсе, потом ушёл ещё, поработал там на операторов, по-моему, йоту, да, в йоте я работал. Вот. Но потом, короче, всё, пришлось обратно вернуться в дтбрейсу. Всё, с тех с той поры я занимаюсь инструментами разработки. Слушай, нам есть много чего, да, обсудить. Вот я бы сразу тебя спросил по поводу компиляторов. Ты уже сказал Алго 68. Ты хочешь сказать, это какой-то альтернативный компилятор или главный основной компилятор для Алгола 68 был написан? Нене, не, ну это главный компилятор, да, он был написан. Это такая большая гордость, собственно, и Терихова самого, и всей команды, которая там была. Вот, короче, Терихов вообще там помимо Алго 68, там ещё миллион байк. То есть у него целая лекция, которая мм не так целая целый курс, который был на Матмехе, был посвящён байком. А что было на самом деле до 2000х годов на Матмехе? как они, не знаю, привозили про компьютер Эльбрус, например, Эльбрус 2, а потом вд внезапно оказалось, что чтобы его обслуживать, да, вот просто обкасты на компьютер Эльбрус 2 - это рота солдат, которая должна снегом его закидывать, потому что он сильно перегревался. Вот поэтому ээ Эльбрус 2 вроде как дали под него выкопали бассейн, он до сих пор стоит во дворе этого матмеха, да, но компьютер так и не привезли, потому что опсты оказались слишком высокие. Ну и в общем ряд таких байк. У меня, знаешь, я как человек, который слушает тоже всяких научпоп, мне прямо сразу хочется сказать: "О, отличное место для гравитационных детекторов, гравитационных волн. Большой бассейн под землёй". По факту там, кстати, рядом есть кафедра астрономия, если что. Угу. Да, прикольно. Слушай, то есть ты хочешь сказать, что Агол 68 это же я просто вот эту историю я не знаю, это подделка вообще СССР? То есть это у нас его придумали? Ну да или нет? Да. Ну да, да. Я не понимаю. Я не знаю, почему я этого не знал. Я как-то, ну как бы алголы, алголы говорят про него. Удивительное вообще, потому что он-то точно в истории, ну, компьютерной забронил себе место, да? То есть это не просто какой-то проходной язык, да. Ну абсолютно, да. И там там на самом деле довольно хитрые были техники компиляции. То есть, наверное, сейчас бы они не показались хитрыми. Сейчас всё гораздо более продвинуто. На тот момент это был прямо, можно сказать, подвиг на государственную премию, по-моему. Они её получили. Угу. Слушай, а интересно, а после этого, то есть, о'кей, вот эта школа, они что-то делали дальше, а какие-то ещё были впоследствии большие истории или скорее просто эти ребята, скажем так, вливались в компании, которые занимались там разработкой компиляторов и чем-то таким? Слушай, как часто бывает вот в девяностые при кафедре системного программирования, ну давай так, кафедра потом появилась, в общем, на Матмехе появилась компания, причём генеральным директором был как раз вот Терихов, да, глава кафедры систеного программирования. И многие ребята из, ну, с учёбы шли прямо на работу, и работа была в том же здании. Вот такая классическая история. Процедура, да, классическая история. Но там, соответственно, Jet Brains, которая образовалась в 2000 году, это, знаешь, это как следующая следующая итерация вот такой компании, потому что то, что было на Матмехи Терком, это была компания всё ещё в советском стиле, где такая компания семья, ну, со всеми плюсами и минусами такой компании. Вот JТБin же, она там сразу позиционировалась на глобальный рынок со своим продуктом. И, в общем, там и отношения были другие. Такой терком 2.0, что ли. Хорошо, давай вспомним немножко то время. Я, кстати, иногда свой подкаст называю Деды бухтят, потому что мы вспоминаем прошлое и тянем определённую аудиторию, которая с нами вместе ностальгирует, как классно было в эти дикие времена, когда можно было ещё много чего делать легко самому, э, без корпораций. Так вот, значит, вопрос такой: какой ландшафт, если правильно так сказать, редакторов был на момент появления Джетбрейнса? Потому что тогда точно было что-то, да? Эклипс был, Net Beans был или эти времена ещё более ранние? Net Beans, по-моему, был. Эклипс появился позже, и с Эклипсом там была прикольная история. Был GBER такой от компании Blandн. Вот. Но компания Blandн она, на самом деле, там была такая история, что руководители будущие JТБins, они были программистами в компании Together, если ничего не путаю, которая работала на компанию Borн. Либо непосредственно в компании BН, либо там в Together. Вот. И в какой-то момент они поняли, что можно сделать, что никто в мире не придумал Тул, который просто переименовывает переменную, да? То есть вот просто переменнать переменну, это была уже тогда проблема. То какой год, напомни, пожалуйста, двухтысячный. 2000й год. Ага. Вот. То есть тогда де все в тот момент это были де, ну, то, что я называю, первого поколения. То есть де интегрированная среда разработки, она вся включала редактор, компилятор, запуску прямо в этом редакторе. Вот. И дебагр. Вот. Вот четыре тула вместе объединённые, да? То есть это называлось де. А, и ребята поняли, что если делать некоторый глубокий анализ кода, на самом деле глубокий анализ кода, он как бы есть в компиляторе, да? Вот если вот эти всякие компиляторные кишочки и алгоритмы привнести поближе в де, то ты получишь де следующего поколения. Ну и всё началось вот с этого ренеймера, который просто умел переименовать переменную и все использования этой переменной, да. Вот. Если вам кажется, что это довольно простая задача, то когда я работал в Jetbrains, по-моему, было 600-кейсов. Это было давно, сейчас их, наверное, века больше. 600йсов на переименование переменной. Вау. То есть такой вот типа наивный вопрос. По эстэшке понять вот так легко нельзя. То есть нужно глубокий анализ связей, который там есть между А, ну контекст тебе нужно знать весь, да? Ну да. Ну то есть пример, если даже если мы говорим там не про переменну, если мы говорим там про функцию, да, допустим, возьмём функцию переименования, на функцию кто-то ссылается, да, поэтому тебе нужно переименовать всех, кто на неё ссылается. Но ссылаются, могут ээ если эта функция перегружена, у неё там есть одно и то же имя в двух функциях, да, используется, тебе нужно перемывать только из переименовать только использование вот этой вот функции, а не перегруженных. Вот. Или, допустим, ты переименовываешь функцию, и, возможно, тебе нужно переименовать что-то в документации. То есть тебе нужно подказать вот эти вот текстовые использования такого же имени, но дать пользователю возможность там переименовывать их или не переименовывать. В общем, и дьявол вот в таких вот дьявол вот в таких вот деталях. Это, кстати, то, чем отличается вот когда сравнивают продукт Джетбрейнса с бесплатными редакторами, что вот он в мелочах проявляется. То есть, грубо говоря, там глубина погружения, она сильно выше, чем стандартные инструменты, да? То есть, он может очень много контекста понимать, который специальные люди сидят специально вот эдж-кейсы прорабатывают. Правильно я понимаю? Слушай, это, наверное, прямо вот квинтессенция того, по крайней мере, что было в раннем Джетбрейсе, да, что люди прямо сидели и фанатично вот эти все эчкейсы продумывали. и хотели сделать так, чтобы любое преобразование, оно было там, как говорится, математически корректно, да? То есть, если ты делаешь преобразование кода через рефакторинг, у тебя гарантированно программа будет работать так же, как и раньше. Конечно же, там это недостижимо, но ребята очень старались, и поэтому, мне кажется, вот в этом в этом секрет один из секретов успеха Jet Brains. Ну, кстати, это нам немножко Apple напоминает и почему-то GitHub напоминает, потому что GitHub очень много мелочей, всяких дел. Помнишь, они в Markown сколько всего вставляли, что у тебя даже появился GitHub Player Markdown расширение, которое теперь даже, в общем-то, много кто использует, потому что они много-много нюансиков таких сделали. А одну одну деталь хотел сюда добавить. Мне вообще, кстати, кажется, что сегодня у нас будет вообще разговор такой на историях построен, потому что хочется эти истории слушать и рассказывать. Вот сейчас мы лмками все пользуемся, да, и вот есть мой личный кейс, который меня, я пока не придумал, как его решить, но он вот присутствует в моей жизни. То есть, когда я меняю бк, у меня есть там некая связь, когда, например, там переводы или ещё что-то, ну, есть какие-то вещи в беке, которые транслируются на фронт, причём транслируется в автоматическом режиме. То есть, грубо говоря, процесс такой: я меняю на беке, потом генерирую ну запускаю команду, она мне генерирует файлики, которые потом используются на фронте. Ну, с тс-файлы какие-то. И получается, знаешь, какая фигня? Ллэмки так не умеют работать. То есть, грубо говоря, ты ей говоришь: "Сделай рефакторинг". Она делает рефакторинг, видит, что это есть на фронте или он не сделал там не так. Она не понимает, что сначала нужно сгенерировать, а потом это использовать. И поэтому она мне начинает менять это в тех файлах. Либо если ты ей говоришь не менять, короче, она начинает тупить, потому что там не соответствует. И вот есть такие вот жйсы, с которыми я начинаю сталкиваться последнее время в работе. Но обычные редакторы, конечно, это вообще не решат. Это уже вопрос. Слушай, а сейчас люди пытаются, на самом деле, люди пытаются во многом лэмками решить задачи формальных методов. То есть вот то, что ты сказал, это же по факту как раз некоторый формальный метод может решить. То есть, если понять анализом кода, что у тебя есть связь между фронтом и бэком, вот, и ты переименовываешь что-то на бэке, да, или меняешь что-то на бэке, у тебя автоматически вот эти места на фронте должны э быть изменены. Но для этого тебе нужно проста сгенерированы, да, да, да, сгенерированы, изменены и но для этого тебе нужно проставить некоторые формальные связи. То есть по факту вот эти де второго поколения, они во многом занимались тем, что находили, проставляли вот эти вот формальные связи. Потом, конечно, стало понятно, что, мм, ну, тоже давай ещё одну историю. То есть в какой-то момент компания Jet Brains захотела пойти дальше и захотела сделать классный инструмент для ревюкода. Вот. А в ревю кода там в чём фишка заключается? В отличие от EDE, у тебя много а ревизий есть этого кода. Эти ревизии приходят постоянно, ну вот как вот там пример с гитхабом, да, если взять, у тебя постоянно новые ревизии, тебе надо отсматривать новые ревизии. И а базовая гипотеза была следующая, когда там начинали делать продукт под названием Upsource, что ты можешь использовать движок идеи, то есть вот тебе приходит новая ревизия, ты это отправляешь куда-то на сервер, тебе это всё идея обрабатывает, находит вот строят вот эти вот связи, и, соответственно, эти связи ты можешь потом уже, когда кодревью делаешь, собственно, показывать. И оказалось, что это плохо работает. То есть это плохо работает, потому что когда ты работаешь в де, ты можешь инкрементально, ты там немножко меняешь файл, и у тебя немножко перестраивается этот граф связей. Вот. А когда ты это, значит, пытаешься делать в таком режиме, что ты что-то меняешь на условном там апсорсе, да, и ну аналог Тхаба тогдашний был, отправляешь на сервер, людей что-то переделают, потом возвращают обратно, где-то складируют в каких-то базах данных там на Кассандре. Это оказалось, что пере, ну, в общем, плохо плохо работает. Ещё вто второе, что плохо работает, что людям приходилось долго ждать. Вот они там комитят систему контроля версий, и приходилось долго ждать, пока вот это вот отработает где-то что-то там на сервере. Я почему так про это говорю, потому что я эту задачу решал в нескольких компаниях, по-моему, даже в трёх. Вот. Ну вот первый раз это было, соответственно, в JТ Brains. Там это не мой был проект, но я просто видел, как ребята решают, и видел, какие шишки они на этом набили. Второй раз это было, когда я руководил лабораторией в Huawei. И вот это тоже решал задачу, как когда у тебя есть какой-то там локальный аналог гитхаба, как тебе простроить вот эти связи и как тебе быстро в кодревю прямо на вебе, да, без привлечения де получить э красивую информацию про там, что вот этот символ вызывается отсюда, у тебя поменялись вот такие-то символы. Символы на всякий случай для поясню. Слово символ - это в анализе кода и в компиляторах означает, ну, как не символ в коде, да, а функцию, на которую кто-то ссылается или наоборот, если ты ссылаешься на какую-то функцию, ну, такая по сути связь некоторая. Вот. Ну и, в общем, третий раз, мне кажется, эту попытку я уже совершал здесь уже в Яндексе, когда вот в Сорскрафте работаю. Короче, я прошёл много итераций, знаю много, как делать неправильно, и, кажется, теперь мы нащупали, как делать это правильно и быстро. О'кей. Ну, я тебя, да, спрошу про какие-то имплементации интересные. А знаешь, я сейчас о чём подумал. Вот если брать Jet Brains, мм, на тот момент ведь получается, если ты говоришь вот даже переименование переменно и какие-то базовые фичи, то есть, видимо, на тот момент, правильно я понимаю, что вообще рынок редакторов не воспринимался как суще, ну, как рынок, что вот прямо можно на этом зарабатывать и что-то делать? Я думаю, что да, многие не понимали, что можно сделать многомиллионный бизнес на этом и не понимали, что можно вот де расширить такими классными вещами, да, что вообще идея сама, наверное, даже у программистов не витала. Может, она и витала, но они не понимали, что это редактор может делать. Но тут есть нюанс, который мне хочется сказать, который всегда меня волновал. Ну как волновал, я с этим постоянно сталкивался. На тот момент мне кажется, что редакторы старались вообще делать всё внутри себя. То есть редактор - это был не редактор, это был, по сути, комбайн такой, который делает вообще всё. И этим отличается то, как сейчас всё идёт. То есть, например, ну, сейчас в основном многие вещи, которые в редакторе- это скорее сторонние вещи, которые редакторы ими как бы дирижируют, но он сам этого не делает. Возьми, кстати, пример. Вот тот же самый, особенно в C#РP, наверное, это больше всего проявлялось. У тебя вообще физически многие вещи без редактора сделать нельзя. У тебя ни консольных утилит, у тебя вообще нет ничего. У тебя есть конкретный редактор, у тебя даже вся документация Сишарпа откроешь окно здесь, жмёшь сюда, жмёшь сюда, жмёшь сюда. Я всегда, как я просто ска человек со стороны, мне казалось, что в этом есть, в том числе, какая-то некая стратегия, потому что когда мы это делаем, люди становятся привязанными к нашим редакторам, и хрен они что сделают без него, потому что нету решений вне редактора, например. И более того, я это по жизни постоянно замечал. То есть, когда ты с джавистами общаешься, с с ещё ребятами, ты понимаешь, что они вообще, в принципе, видят мир только через кнопки редактора и даже не знают о том, что, ну, там какие-то вещи с ним не связаны. У меня даже был кейс недавно на собеседовании. Вот это первый раз, когда я прямо очень сильно удивился, потому что я не думал, что так бывает. Человек, значит, у нас лайфкодинг, он делает задачу, сделал всё хорошо. И причём мы работаем по реальному проекту. Я говорю: "Давай полреквест сейчас сделаем". А там поправили полторы строчки. Он пытается, он вс-коде работает. Сейчас немножко немножко зайскод нам никто не предъявит, да, потому что здесь нет тех, кто им управляет. А значит, короче, у него по какой-то причине, знаю, по какой причине, он тоже это не понял. Он сломался. Вот прямо в этот момент у него гиit интерфейс всколо. И он не смог сделать это через консоль. Ты ожидаешь, что я скажу: "Блин, а в наши-то времена, в наши времена". Я я скорее про то, что а как бы всё-таки про к бизнесу, то есть то, что люди так подвязываются на это, это факт. Собственно, вот был пример. При этом мне всегда казалось, и я сейчас как будто бы до сих пор это вижу, что и как будто люди про это говорят о том, что ДТБ брейс и вообще вот эти редакторы, они, если так начнут делать, они очень много потеряют. Ну, по крайне мере, они это так видят. И поэтому у тебя очень многие фичи ассоциируются с редакторами. Хотя, казалось бы, блин, где редактор, где там какие-то а истории. Ну вот LSP сейчас как минимум отделён. И я, насколько понимаю, для ДТБ это становится проблемой. Ну, это становится проблемой с четырнадцатого года. Всё становится, становится, но цифры на табло другое говорят. Другое, да. А почему с четырнадцатого года? ВСК, да, вышла в четырнадцатом году. Вот впервые вышел в четырнадцатом году, насколько я помню. И LSP была как, я не помню, вышел ли SP прямо в четырнадцатом году, но это была вот одна из фишек. Вот что с Слушай SP, по-моему, не с вес-кодом вышел. Мне кажется, он позже вышел, потому что я за этим очень следил, и мне кажется, он появился прямо сильно позже. Году может быть м да я, наверное, сейчас не скажу, ну, понимаешь, ЛСП как пример. Я скорее вообще в целом. Есть ли такая история или нет, что когда редактор делался такие: "О, мы делаем всё внутри себя, чтобы там конкуренция, все дела". Короче, подход архитектурной ВСКД LSP, он классный. Он вообще мне очень нравится. Это вот позволяет в каждой корпорации, если ты начинаешь работать в каждой в любой корпорации, не знаю, там, в Фейсбуке, в Гугле, в в Huawei внезапно. Вот если люди делают свою де, они делают её поверхвой скоды просто за счёт того, что она такая вся плагинизируемая и там все знают, что есть ЛСП, и через этот ЛСП что можно сделать. Проблема заключается в другом. Ээ, проблема заключается в том, что когда ты хочешь достичь качества идеи, ну, там пример из компании как раз, где я работал, одной большой китайской компании, не будем называть, да, пример, что если ты хочешь достичь качества идеи, то тебе LP становится очень быстро, его не хватает, и тебе приходится е расширять. Вот. И расширять тебе приходится очень-оченьочень конкретно. Почему? Потому что если ты пытаешься сделать такую же поддержку, как в джаве, ну, пример, да, вот, то есть это такой прямо идеал идеал поддержка для программиста, ну, то как бы всё сорян, да, да. какой-нибудь кейс. То есть, что такого? Я про это много раз слышал, что такого делается, что прям не суперредкое, а вот прямо такое ух. Слушай, а по-моему, вот даже у нас сейчас вот мы в вебе показываем в символы, ну, код код навигацию в Сарскрафте. Вот даже сейчас, чтобы показать красивые символы, куда ты, когда у тебя есть несколько деклараций, ты хочешь показать это красиво, тебе в принципе ЛСП не хватает, тебе нужно его расширять просто для красоты. Вот его мало просто показать красивой декларации. То есть даже вот такой базо базовый кейс, к сожалению. А ты имеешь то, что, наверное, там референсы на куски файла, чтобы подсказать, да? Вот это ты имеешь, наверное, связь, да? Ну да, сверху, снизу там показать какие-то ну не хватает, к сожалению. Кстати, я вот когда про это первый раз услышал, что LSP такой ограниченный, у меня сразу возник вопрос: как такое физически возможно, что Microsoft, который планирует, ну, понятно, там это мы сейчас тоже поговорим, сделал такую вещь, чтобы много чего достичь своих собственных целей. Не за эти годы не смог сделать промышленный шпионаж, нанять людей, экспертов, кого угодно, чтобы, ну, сразу как-то это продумать. Потому что, судя по тому, что я вижу и то, что сейчас добавляется, в том числе в LSP, я прямо специально на днях изучал. Я такой думаю: "Ну они вообще развиваются или нет?" Во-первых, кстати, стандарт давно не обновлялся, хотя они над ним работают. Да. Как так получилось, что они его сделали таким деревянным, когда у тебя вот есть Джетбрейс с этим опытом? Ну, это так, наверное, риторически больше вопрос, потому что я не понимаю, почему они не провели, а, так сказать, специальную операцию, чтобы вытащить нужных людей и сказать: "Так, рассказывайте, что у вас там." Ну, и Джет Брейнс им как бы тогда хвала и честь, что они смогли такой, значит, получается это серьёзный секрет. Мм. Конечно, мне кажется, это не то, чтобы секрет, это какая-то такая правда жизни. Э, почему это происходит? Давай так. Вот мой анализ ситуации с дивана. Значит, есть какой-то куций протокол, да, который ЛСП, но этого протокола на самом деле хватает для нормальной, более-менее нормальной поддержки. Для такой поддержки, которую, если бы ты взял там ситуацию 20 лет назад, такой поддержки ни у кого бы не было. Вот он он бы давал очень он даёт очень хорошие фичи. Плюс эти фичи по ЛСП тебе же нужно, чтобы кто его использует, все эти фичирл. Ну хорошо, не не все, но хотя бы часть. А с другой стороны, в Jetbrains, у них другая проблема. У них, э, вот эта пабли IP, которая есть, расширять его очень тяжело из-за того, что оно всё старое, запутанное, оно, мм, не такое ясное, как ЛСП. Оно не такое ясное просто потому, что продукт рос эволюционно. Он имеет большое количество внутренних связей, за счёт чего он и может сделать классные интеграции вот эти вот красивые. Но дорого поддерживать, да? Это дорого поддерживать. Это до дорого сделать для этого плагины. Вот. А ЛСП он абсолютно чёткий, понятный, прозрачный. Э, ну и в общем, вот так получается. Знаешь, ещё какой момент, когда я рабо когда я в мире Джавы, э работал, вот Java тоже сам Sun, по-моему, потом Oracle выпускал стандартнутыю там пример пример такой, что вот есть AP для работы с базой данных, это там HberNate, это появилась какая-то библиотека в какой-то момент все её начали использовать. Ну, URM такой стандартный для Java. Потом Sun вот под этот Hbernate он начал стандартизировать какие-то куски опишек, называть их там JPA, Java Persistent API. Это такой некоторый общий интерфейс, который бы работал со всеми ормами, хотя все понимали, что там топовый был Бернейт. Тогда то есть вот этот вот стандарт, он всегда, ну, есть промышленный там State of the Art, и стандарт, он всегда его догоняет. Может быть, это просто тоже правда жизни, что стандарты всегда догоняют вот эти промышленные решения, да. Ну, GPA, кстати, в итоге победил. В итоге, кстати, да, да, это интересно. Да, это это не часто так бывает, да, потому что когда я, например, со спрингом что-то делаю, ну, там у тебярней, он спрятан, то есть у тебя сверху джипейка, кстати. Вот со спрингом другая история, да? Со спрингом, если ты помнишь, такие в Джаве были, да? Да, да. Enterprise Java Beans. И победил Спринг, а не B. А, ой, вообще там про Java это надо отдельно, конечно, все рассказывать про все эти штуки, но Java действительно хороший пример, потому что всё-таки и Jet Brain, наверное, с этого, да, начиналось Intellig, о том, что там глубина анализа, которая даётся, она, конечно, несопоставима просто действительно ни с LSP, ни вообще в целом, потому что там прямо интеграция под конкретные фреймворки. И вот это, ну что говорить, что греха таить, людям приятно, когда у тебя редактор очень много контекста понимает прямо по фреймворку, а не только по языку. А магии в спринге хватает. Тут ещё надо добавить, что Java - это, знаешь, это наиболее удобный язык. Это суперудобный язык для анализа, поэтому Java была первой. А Го вот мне кажется, в современном мире как будто Го, наверное, эту пальму первенства перехватывает у многих. Он уже настолько дубовый и прямолинейный, что это То есть, кстати, знаешь, это интересно, когда вот люди рассуждают, для чего ЛМКА лучше подходит. И я слышу, кто-то говорит: "Вот руби он такой весь динамический. Вот, значит, ТС он весь такой". А мне кажется всегда го как будто идеальный, потому что он тупой, как дрова. Там вот копипаста сплошная, и мне кажется, лмки под это супер подходит. И поэтому анализировать его и делать что-то см проще, чем на всех остальных языках. Не, го просто позже появился, то есть да, для Го же там тоже есть, поэтому, ну, в целом ты прав, да, для Го хорошо писать формальные тулы. Насчёт лмок я не знаю, если честно. Мне кажется, то есть я они копипастят хорошо, да, копипат там нормально, копипастят просто отлично, да, но я говорю про какие-нибудь языки типа C+ C++, у которых там миллион исключений, и ты там можешь, в принципе, написать всё, что угодно на таком языке или языки типа скалы, которые поддерживать очень тяжело. Короче, хочешь ещё одну историю? Наверно, наверно, наверное, слышал её про Котлин. Ну, короче, одна из причин, почему был создан язык Котлин, что Джетбрейнс не мог нормально поддержать скалу. Он сказал: "Нет, всё, блин, мы не можем поддержать этот язык. Нам нужно писать, написать свой язык, который вроде как лучше, чем Java". Да, повеселее, пободрее, потому что Java тогда не развивалась. Вот. Но при этом не такой замороченный, как скала, чтобы для него была классная инструментальная поддержка. То есть в смысле, ты имеешь в виду, они хотели заменить скалу или что ты имеешь в виду поддержку скалы, чтобы интерроп со скалой был проще через него? Нет, нет, смотри. Скала - это язык. Он там довольно сложный. У него есть там миллион каких-то концепций сложных. И эти концепции, они их сложно поддержать ВДЕ. То есть вот сделать глубокий анализ кода просто тяжело для этого языка, потому что, ну, можно написать простую программу, а поддерживать это тяжело. Вот в отличие от Джавы, да, ну, то есть вот есть Java на одном полюсе там и там C#ARP чуть посложнее, но тоже как бы его просто сделать поддержку вот эту классную, которую в де ты там получаешь там либо в Интелиже, либо в Райдере или Шарпере, да. А с другой стороны, у тебя есть скала, которую очень тяжело поддержать в D. Ну и там C++, который поддерживай, не поддерживай, всё равно будут какие-то проблемы. Вот. И Jetтbrain говорит: "О'кей, есть Java". Java не развивается на тот момент. Там, по-моему, Java 7 была или не помню, Java 8. Э, по-моему, даже лям тогда не было. Давайте, а скалу мы поддерживать не умеем и не научимся. Нам тяжело. Поэтому мы не верим, что скал язык будущего. Давайте что-нибудь такое типа, которая такая же, ну, такое же классное, удобное. Синтакс Suger, вот как на скала, но только не такое добовое, как Java. Возьмёшь что-то посередине. Так, так вот родился котлин. Удивительно вообще, что не просто родился, ещё и выжил, потому что компания частная, небольшая, которая делает свой язык - это вау, честно говоря. Я, кстати, помню тот момент тоже, когда вся компания собралась на седьмом этаже. Ну, не вся компания, но очень многие собрались на седьмом этаже бизнес-центра Universe в Питере на Васике. Вот. И там была заказана пицца. И в этот момент Google объявил, что, значит, котлин становится официальным языком для андроида. Вот. И на самом деле тут очень сильно помогло, что у Гугла были тогда тёрки патентные с Ораклом. Вот. Ну, везёт тому, кому везёт. Да. Да. Вовремя в нужном месте это не угадаешь никогда. То есть это уже когда язык делали. Но вообще, кстати, по котлину хочется сказать, что я кого-нибудь обязательно позову, мы отдельно про него поговорим. А в целом, кстати, как ни странно, по котлину довольно много видосов, потому что они всё-таки занимались этим. Но мне интересно, наверное, будет поговорить именно про новый Вене, потому что нативный котлин, там платформа, мобилки, они там много всякого разного мутят, баламутят, и мир, мне кажется, про это не до конца знает. Мне самому интересно. Так что, ребята, смотрите в будущих сериях, да. А пока мы в целом про редакторы, про языки. Хорошо. Кстати, по поводу LSP, да, ещё хотел сказать последнее. Значит, те вещи, которые туда добавляют в основном, вот то, что я видел, новые какие-то способы взаимодействия, они в основном вселмонового характера. То есть они добавляют туда фишки, которые позволяют как раз делать более удобный автокомплит, более удобные стандартные механизмы, которые в лмках используются. Я такой: "Хм, вот это прямо штука подтолкнула, потому что понятное дело, когда они это выпускали, там, видимо, таких мыслей ещё не было и таких кейсов не было." Они такие: "О, а нам надо вот, чтобы вот так можно было автоком". Да, типа такие новые новые возможности языка в АИ эпоху. Да, да, да, да. Это довольно интересно. А, смотри, кстати, вот LSP стало ли конкуренцией для мм опять же Джетбрейса, потому что мы говорим о том, что, ну, вообще для таких редакторов, да, потому что смотри, во-первых, если мы берём в целом э базовые вещи, когда начинались идэшки аля дебагр там и так далее, сейчас любой редактор это имеет. То есть мы можем любой редактор в этом плане дэшкой назвать, да? А если говорить про всякие фичи, многие уехали в LSP, и более того, поскольку LSP всё-таки развиваются независимо от редакторов, то это даёт, конечно, гигантские преимущества, которых раньше не было, да, в одном месте поправили, сразу все вверх попёрли. И в конечном итоге, не приведёт ли это к тому, что, ну, это просто, ну, победит в конечном итоге, потому что ведь JТБins, по сути, просто это параллельный мир, они всё делают сами. Смотри, короче, я не знаю, давай так. Короткий вопрос. Ответ не знаю. Сейчас народ использует клодкод. Это вот как раз по сути терминал такой с, ну, знаешь, наверное, я кодекс использую, поэтому, да, для меня это тоже экспириенс такой. Я: "О, а нафига мне вообще это в редактор встраивать?" Ну, я как Вимер, у меня, сам понимаешь, то есть тут тоже интересно, есть люди, которые внутри редактора среда, а есть люди типа меня таких, наверное, поменьше, которых, скажем, среда - это терминал со вкладками. И у меня дальше в одном терминале Vim, в другом, значит, я тесты запускаю, в третьем логи, в четвёртом а ну кодекс тот же самый. И получается, я наоборот не стремлюсь к тому, чтобы внутри редактора всё это запускать, потому что есть причина, почему мне это удобнее с точки зрения вот управления всем этим добром. И каждый раз, когда я в редактор в обычно прихожу, мне просто больно от этого, потому что, ну, неудобно. И Ви я пробовал, неудобно. Там тоже можно всё внутри запускать. И получается, что действительно я такой понимаю, что мой путь дальнейший - это как раз колай инструменты, которые вот вместе позволяют мне собрать любую комбинацию, какую я хочу. А у этих всех у них сложнее. Слушай, короче, по этому поводу есть у меня тоже интересная история. Это, мне кажется, был год 2014215, что-то такое. И меня друг пригласил на, точнее так, я решил помочь другу на хакатоне. Вот у меня друг, ну, он, в общем, как инвалид-колясочник, да. Ээ, и он хагатон был там теплица социальных технологий проводила там просто это люди приходят как-то объединяются, говорят: "Мы хотим сделать такой социальный проект, такой социальный проект, такой социальный проект". Я вот пришёл, он программировал на джаваскрипте или на на Тайпскрипте, я не помню, по-моему на Джаваскрипте он программировал, программировал в саблайме. Вот. И тоже вот как кондлайном там пользовался. Я пришёл такой, говорю: "Слушай, а что за фигня? Ну почему ты пользуешься саблаймом? Почему ты не пользуешься вебштормом?" Допустим, говорит: "Да зачем мне это нужно?" Ну вот я тоже там вот я мне удобно там свобода, вот редактор для редактора, там консоль для консоля. Вот я говорю: "Ну хорошо". И мы придумали там тогда проект ээ "Навигация для инвалидов по городу". По-моему, я там распарсил Open Street Maps, сделал какой-то алгоритм типа от звёздочки на беке, на Джаве. Вот. А он это всё он это всё типа изображал. И, короче, как-то так вышло, что, во-первых, у меня там, ну, сильно больше кода получилось, ну, потому что просто БК был сильно более нагруженный. И мы там за день, я там за день его написал, сделал. И как бы у меня не было ни единой ошибки, я был в Intel JD. А вот тот, который, который он сделал, не работает и не работает. Говорю: "Слушай, ладно, давай я поставлю". Я я не знаю джаваскрипта вообще, да, но я поставил вебшторм, загрузил его код и вот просто просто тупо с помощью подсказок, которые он выдавал, и с помощью дебага нашёл быстро восемь ошибок вот в этом небольшом маленьком кусочке кода. Прямо вот он сидел рядом со мной. Вот мы его быстро запустили, сдали, победили в этом хакатоне. Он порадовался, он купил вебшторм на следующий день. Вот хорошая, хорошая продажа, да? Не, ну тут понятно, Sublime в этом плане всё-таки просто редактор, да, он, особенно если у тебя JavaScript, если ты ничего специально не делаешь, там никто ничего тебе не подскажет. Ну ладно, это просто вопрос, скажем, нагруженности твоих инструментов. То есть я понимаю, когда Вебшторм может такие связи хитрые устанавливать, да, которые не очевидные, там в шаблонизатор залезть какой-нибудь, например, да, но вот с точки зрения обычной истории, у тебя подключен ТС, у тебя подключен, у тебя подключено ещё что-то, они, конечно, все эти вещи подсказывают. Смотри, да, для, на самом деле, для динамически типизируемых языков типа джаваскрипта и DE нужно меньше там, потому что сложнее вот эти все связи простроить, да, вот эти все графы для статически типизируемых языков. Назовите меня динозавром. Да, и на самом деле всё, конечно, можно делать сейчас в консоли с помощью момок, но, ребят, ну, типа, это настолько удобнее, настолько прикольнее, что он за тебя найдёт все твои ошибки, подскажет, как лучше, а ещё покажет, как правильно говоришь, технологии там типа Спринга немножко в другом виде, и покажет ещё связь в этом фреймворке. Ну, удачи с редак с простым редактором, да, извините, наверное, это был очень снабистский кусок вот от динозавров. Слушай, а всегда вот эта штука, она важна, интересна. Но тут вопрос, конечно, в том, о чём речь идёт, потому что я, знаешь, как всегда про это говорю. Вот, например, если ты берёшь, например, V-cд и Vim, у них, ну, типа, одинаковые lspт будет одинаковый. У тебя просто здесь там текстовый интерфейс, тут не текстовый. И в этом плане надо сравнивать про просто люди обычно начинают сваливаться к сравнению. Вот видишь, вот консоль, не консоль. Здесь не дело не в консоль, не в консоли. Здесь дело в том, что у тебя просто в Интедже и в смысле в джетбрендовские продукты очень часто встроены штуки, которые ты не получишь никакими инструментами. Это просто разработка самих ребят, которые сделали. То есть это не означает, что это нельзя сделать отдельно. Это не означает, что это нельзя сделать консольно, это не означает, что это нельзя в твой пайплайн встроить. Просто нет людей, которые бы на этом зарабатывали деньги, кроме Джетбрейса. Вот так вот. Поэтому так оно и работает. Вот я, наверное, к этому скорей. Поэтому очевидно, что их продукты всегда лучше в деталях. Оно, кстати, тоже развивается. То есть это сейчас идёт тот же самый кодекс, кстати, я не знаю, ты пользовался, нет, он за последние вот полгода, я постоянно его апдейчу, он просто с каждым апдейтом как будто новый продукт. То есть они прямо всё глубже, всё больше. Сейчас он там генерит файлик ag что-то делает, ещё что-то делает. Смотри, короче, глобально я тоже верю, что здесь есть золото, что то есть тренд есть. Может быть, давай так, 50 на50. Может быть, конечно, традиционные де умрут. Поэтому в этом случае у нас тоже есть некоторая ставка. Вот я я вообще верю в будущем, что уровень автономности агентов он достигнет достаточно высокого уровня, да? Ну, то есть уровень автономности будет большой. Это означает, что ты даёшь какое-то задание, он к тебе вернётся за уточнением пару раз, может быть, вернётся за ручными действиями там, ну, например, получить какое-то разрешение на поход в какую-то сеть, да, получить там у службы безопасности какое-то разрешение. Ты, то есть, ты как бы будешь инструментом этого агента. И вот он задание выполняет и там выдаёт тебе пиар. Это, наверное, очень вероятное будущее. Мы как бы мы ровно сейчас тоже в это всё идём. Мы только единственное не вде, а вот вот в платформе для разработки. Вот на СРСкрафте у нас такая штука будет в облаке. Да, дада, да. А да, дойдём, когда редактор закончим в этом плане. А у меня есть, конечно, большие сомнения, но я это поскольку затрагиваю в каждом подкасте, не буду про это говорить, просто потому что каждый раз, когда ты с этим сталкиваешься, ты понимаешь, что работать на, знаешь, давай так, я просто в двух словах скажу, есть два режима работы. Либо когда ты прямо сам работаешь над кодом и тебе лэмка помогает, тогда, к сожалению, наверное, тебе нужно слишком, ну, прямо очень много прописывать, чётко говорить, что потому что он просто может соскочить в любую сторону. Вот, вот на раз-два ты вот даже вплоть до того, что ты ему говоришь: "Надо поправить только это". Он говорит: "Я поправил это". А ещё смотри, у тебя тут и меняет код, который ты не планировал менять. А просто потому, что у тебя есть определённые причины так написать и всё. И тебе приходится всё сбрасывать, потому что он откатить нормально уже не может. То есть у него там он не воспринимает это как разные там куски кода. А другой вариант, который вот все более предрекают и который, наверное, является более правильным- это когда ты абстрагируешься вообще от кода и тебе, в принципе, похер. Тебе главное, чтобы снаружи там работало и так далее. Но я не очень понимаю пока как бы как это можно распространить на весь проект, в котором ты работаешь. То есть я понимаю, когда Мпишка, ты сказал: "Сгенерий мне лендинг". О'кей, вопросов нет. Люди там радуются, бегают. Когда у тебя там сотни тысяч строк коды, и тебе надо там в 10 пятнадцати файлах вот так чётко поменять, ещё у тебя при этом, знаешь, как часто бывает, если у тебя проект не новенький, у тебя же стиль кодирования и подходы могут очень сильно отличаться не только от разных людей, от разных эпох. То есть у тебя здесь так написано, так сяк вот здесь. И вот эта [ __ ] которая приходит сбоку, начинает, конечно, дичь творить, если ты ей просто даёшь такую возможность. Вот. Ну, это так про скорее общие наблюдение. Смотри, опять-таки, да, вот те ребята знакомые вренди, которые сейчас занимаются и я ико, они говорят следующее, что если у тебя есть вот некоторые структура в коде, да, кто кого вызывает, какой модуль кого использует, вот эта вот графовая структура в коде между разными сущностями, то эта штука помогает lmльно ходить. Э, правильно? То есть ты задаёшь агенту что-то сделать, ему нужно вызвать инструменты. Какие инструменты вызывать? Вот он в том, эти инструменты по графовой структуре кода, они помогают сгенерить более адекватный код в более адекватных местах, да, вот как ты говоришь, 15ти разных местах что-то изменить. Э и ещё в шестнадцатом посмотреть на стиль, как это делать, какой-то референс пример. Вот чем, если этой структуры нет, оно так сейчас работает, потому что кодекс, по крайней мере, по тем вещам, которые я вижу, он просто грепами делает по названия. Ну, кодекс, да, но там, короче, в давай так, в те R&D лаборатории, которые я знаю, все эту штуку пробуют. Некоторые говорят, что она с помощью вот такой вот графовой структуры получается лучшие результаты. Это 100% так и будет, да, потому что иначе он ориентируется просто на стандарты фреймворки, наименования, просто погрепал и получается [ __ ] Но я так понимаю, что в продакшене этого ещё нет. То есть это типа следующий этап, когда оно начнёт понимать контекст по-настоящему. Ну, тут контекст, под контекстом люди разные подразумевают. Некоторые вот этот тексты, ну, настоящие связи, да, да, да, настоящие связи, да, да, это я в это верю. Ну, кстати, это интересно. Я только сейчас задумался, вот ты мне бы сказал, а я что-то раньше так про это не думал. Он реально ведь сейчас тупо грепом делает. Ну, грепы какие-то там просто типа в таком-то фреймворке так принято, поэтому я там посмотрю. Есть там подходы с семантическим поиском, когда люди просто разбивают всё. Давай так, используют какой-нибудь ресит, разбивают на функции. Вот эти функции саморизуют и там ищут имбединг. Если что-то ввёл, он там пытается там использовать сематический поиск такой через имбединги найти такие штуки. То есть не совсем тупой греб, а чуть-чуть греб помнее. Вот кто-то использует классические алгоритмы типа БМ-25 для поиска, да? То есть ты не через мбединги ищешь, через там, а через умный поиск, назовём так, умный греб. Это всё есть, это всё работает. Ну да, это вопрос того, что реализовали вот в этой приблуде для рефакторинга кода. А, кстати, м что ты думаешь по поводу курсора? Хочется вот про это спросить, потому что мне лично кажется, что редактор на базе другого редактора, который вот только про эту фичу, которую можно тупо плагином встроить, и сейчас это везде есть, плюс comлай утилит - это мертворождённая идея. То есть кто-то, конечно, молодец, заработал, если вовремя продал, но как будто будущего у таких проектов нет. Или ты по-другому на это смотришь? Короче, давай так. Мы внутри смотрим на вот эти лмтулы все современные Iphone код в нескольких разрезах. У тебя есть базовая модель? Да, ну есть, она должна быть хорошей. А у тебя есть, э, ну там хорошие, быстрые и тд и тп. Базовые модели постоянно улучшаются. Там, возможно, через несколько лет базовые модели классные для кода будут у тебя на локальном ноутбуке. Я тоже в это очень верю. Вот. И не надо будет ходить никуда в облако. Следующий, следующий нюанс - это, э, UI. UI, э, классный, удобный UI. Курсор берёт этим. Он удобнее, чем там Cilot. Ну, на мой взгляд, красивее, приятнее. Так же, как Jetbrains, вот удобнее, чем там вскода, да, вот там, не знаю, в каком-нибудь проекте типа Java. Есть нюанс, связанный с разными инструментами и с тем, как ты фильтруешь эти инструменты. Ну, то есть вот можно там наподключать кучу MCP серверов, но большая задача понять там какой субагент будет выполнять конкретную задачу. Ты сказал там сгенери тесты, да, ты должен отфильтровать инструменты, не не передавать в ЛМ там весь их список, там пойти в нужный субагент. А и это я уже там в деталей реализации вдаюсь. Ну, короче, короче говоря, отфильтровать список э инструментов, которые нужны для решения твоей конкретной задачи. Так вот, курсор он всё это делает хорошо и главное классно замешивает вместе. Вот и UI, да, итулы и модель. Ну, я имею виду чисто теоретически. Это же не является, то есть понятно, что это классно, когда это новое, взрыв, бум, рынок не каждый день так растёт, да, это вот всё сходится. Но на более длинной дистанции, если опять же мы не говорим про это как про про венчурный бизнес, который вовремя надо вырастить и продать, в этом плане вообще вопросов нет. А что на длинной дистанции он как проект станет неактуальной, потому что, ну, UI просто докопирует с него. А возможностей всё равно он других не даст. Ну, то, что у тебя не только этим живёт мир, как бы. Да. Нет, потому что я слышал, вот буквально тут народ говорил, что всё, ну, я восходом просто не пользуюсь, но его уровень развития сейчас в этом плане, они тоже же копируют оттуда, доходит до того, что ну нафига тебе целый отдельный редактор, который только про это, если у тебя плагин начинает работать точно так же. Слушай, думаеь, нереально, во-первых, Vско-код он же совместим с вот эти курсор совместим с ва-кодом, да, туда можно те же самые плагинны ставить, это небольшие молодцы. Во-вторых, давай посмотрим на эти китайские автомобили и Теслу. Вот, да, вот, короче, китайцы научились копировать эти самые, делать хороший электромобили. Возможно, на длинной дистанции, да, у Теслы будут проблемы из-за этого. Возможно, уже начинаются, я не знаю. Но Тесла, она доминировала в мире электромобилей сколько лет? 10. Ну, не совсем правильно сравнивать, когда Тут, конечно, блин, прости, но тут всё-таки у тебя субсидий, государственных программ так много, что если бы этого ничего не было, и Тесла бы в принципе не случилось. Вот немножко. Ну а здесь субсидии хорошо, здесь венчурные инвестиции хорошие. Подожди, ну вот я про что? То есть у тебя есть вообще как бы модель китайских компаний, которые берут там даже софт, да, берут софт и копируют. Они разбирают на запчасти там тот же курсор. Не знаю, ну я тебе точно говорю, многие ком компании так и делают. Разбираются запчасти и делают у себя там вди отделах постоянно как бы не догоняя до каких-то фичей. И бain также копируют. Они постоянно отстают там на полтора года, на два. И из-за того, что они отстают там на полтора года и на два, то ты что получаешь? Ты получаешь, что весь мир ушёл вперёд и никто не будет вот то, что год назад было: "Вау, круто". Типа курсор, если ты выдаёшь этот курсор годичной давности, сейчас я скажу, что это отстой. Вот в этом проблема. Угу. Ну и, наверное, счастье для курсора. Ты знаешь самую известную эту историю с копированием, которая в советские времена взяла была? Давай. У меня всё откидывает в советские времена. Давай. Копирование чего? Провм. Есв. Нет, вот был, значит, этот самый был IBMPC, если я ничего не путаю, это было IBMPC. И советское правительство в какой-то момент было принято решение на самом верху в партии не дураки сидят. Вот что давайте мы не будем развивать свои технологии, давайте будем копировать западные. Вот. А, ну крошу копировали, это я точно знаю. Появился ЕСВМ. Это серьёзнейшая приблуда, когда разбирали западные компьютеры там прямо и копировали. А до винтика, да, даже были истории, что в западные компьютеры там в схемы там вносили, которые публиковались специальные проблемы, чтобы вот совет советы скопировали плохо, что в результате вместо того, чтобы развивать своё, поехали копировать чужое, соответственно, отстали на 10 лет. Ну там я слышал оценки 10-15 лет. Вот в итоге как бы нету ни компов, ни союза. Да не, я да, я вспомнил, я не слышал конкретной модели, точнее не помню, но вот у меня в детстве была микроша, и мне тоже кто-то говорил, что это копипаста вот какого-то Ну а что в автомобилях сделали, видишь, решили повторить и в компьютерах. Ну да, ну в автомобилях, по-моему, там лицензию покупали на Жигули, если ты про этот кейс. Вот Жигули Fat, который тамда. Вот здесь здесь лицензию не покупали. Да, это правда. А, хорошо, про редакторы более-менее понятно, да, ребят, напишите, кто пользуется курсором, кто не пользуется, разочаровались, нет. Насколько вам это нравится, насколько вы вообще довольны. Я, честно скажу, очень часто недоволен, потому что сам формат, когда ты задал вопрос и он там минутами думает, а ты такой сидишь и ничем заняться толком в этот момент не можешь, мне очень не нравится. Поэтому я пытаюсь выстроить такой флоу, при котором я всегда занят. А у меня там, например, знаешь, как бывает, когда я там в двух-трёх вкладках запустил: "Этому говорю, ты рефакторишь эту часть". Этому говорю: "Ты рефакторишь эту". Этому говорю: "Ты рефакторишь эту". В этот момент я ещё где-то в пятом месте, чтобы мы по файлам не пересеклись. Вот это смотрю, це целая киберкоманда на тебя работает. Ну я параллелил до вот больше двух параллелить не получается. То есть контекст прямо улетает, сложно думать про это. Но вот, например, знаешь, я стараюсь вот такой формат, то есть у меня один, например, делает какой-то стандартный рефакторинг, который нужен, ну, где думать не надо. Например, мы там переезжаем на какую-нибудь новую версию чего-то и надо повторить. Второй, например, там, э, шлифовкой какой-то занимается, я где-то там, где надо подумать. Или в этот момент наоборот, он пока делает стандартные более-менее вещи, я сижу там с чатом GPT или с кем-то что-то обсуждаю, чтобы быть готовым к следующему шагу. Но обычно я не доверяю, и это всегда плохо работает, когда ты какой-то большой, знаешь, такое логическое изменение с бизнес-логикой связанной пытаешься сделать. Обычно он тут очень херово себя ведёт. На самом деле, по-хорошему, вот как как я говорил, мне кажется, эта штука, она должна за всеми неясностями к тебе возвращаться и переспрашивать. Короче, я это, знаешь, вот как воспринимаю в будущем, вот как хороший там джун или чел, которому ты задачу ставишь. Вот тут проблема, это именно то, о чём я говорю. Ты никогда не знаешь, сколько он будет думать, и ты получаешься как какой-то [ __ ] который смотрит в экран, и тебе надо ждать, что каждую секунду он сейчас тебя спросит, либо, я не знаю, какой-то звуковой сигнал, потому что получается, что ты ждёшь, ждёшь, ждёшь, ждёшь такой: "Ладно, пойду своими делами заниматься". пропал на 10 минут. Приходишь, а он, оказывается, уже 5 минут назад это сделал. То есть есть вот нюансик. Так, а вот прикинь, если эта штука была бы, допустим, не в ИДЕ, да, где он тебе ещё и код меняет, а это просто был бы как некоторый там, ну, типа GitHub, ты бы ему задал вопрос, он тебя там пару раз уточнил, пошёл думать, но это был бы как отдельный пиар, отдельный комит. Не, мне это не нужно. Я в этом плане, знаешь, такой можешь провести как это глубокое интервью и по-другому. У меня был такой ещё прикол, как это вчера буквально я, значит, поскольку часто, ну, с детьми там вожу ихня в школу, все дела, и, соответственно, я включаю чат GPT и начинаю с ней разговаривать. Дети, естественно, меня что-то спрашивают. В этот момент я иногда говорю что-то им. Чат GPT всегда начинает включаться и участвовать со мной в этом разговоре. Я говорю: "Выключись". Он говорит: "Всё, я понял, ты дальше что-то говоришь ребёнку". И он такой и он начинает отвечать тебе на этот вопрос. Такой: "Да выключись ты уже, наконец". А он сам выключиться не может. То есть вот с точки зрения реальных кейсов именно, знаешь, такой вот интеграции полную полной в жизнь, а не когда ты чётко понимаешь, что у тебя сейчас сессия взаимодействия с ним и тебе надо все процессы подстраивать, для меня это бесконечно далеко. Он не проходит проверку детьми. Банально, слушай, хорошая история в России такая же такая же история, только не в чат же пяти, а когда ты читаешь что-нибудь про Алису или у тебя есть девушка Алиса в комнате, это тоже всегда возбуждает умную колонку. Вот. Да-да. Да. Ээ, помнишь, был такой прикол с известным ведущим Джим Джим Киммел, который в Лос-Анджелесе есть Джим Феллон и Джим Килмел. Вот Джим Кимл, он разок что-то сказал про Сири в эфире, и ему после этого посыпались тысячи просто обращений о том, что он спровоцировал Сири купить печенье, по-моему, если не ошибаюсь, или шоколадки какие-то. И тысячи людей обнаружили, что она им пошла и что-то купила. и не типа не не переспрашивала, да, купить по-моему или не купить. Да, да, она реально купила. Там прямо целая история была на эту тему. Ну, тут уровень интеграции всё-таки вот Амазона с этими штуками, он высокий, как ты понимаешь. Там такие вещи крайне легко сделать. Тебе ни с какими не надо договариваться этими доставщиками. Оно просто приезжает как бы, и всё. Вот. Ну, кстати, это вот интересно. Ты вот когда программируешь там на курсоре, ты же как бы ждёшь, ну, ты вводишь команду подтверждения, да, что типа сделай это или сделай то, то есть, ну, команду appлай. Вот это интересно такой опыт. Как я в кодексе, то есть у меня есть в редакторе, я периодически пробую, но мне как-то вот удобнее там обычно, потому что в редакторе я сам работаю, что-то делаю, а он тут рядышком работает. То есть у меня скорее там неважно, типа, если у тебя какое-то модифицирующее действие, как бы. Короче, объясню тебе проблему. Объясню тебе проблему. Я пока столкнулся с тем, что и то, и то очень плохо работает. Значит, у меня был первый кодекс значит был вариант, когда он вообще спрашивал. Он пытается сделать изменения, меня спрашивает. Меня это просто задрало, потому что а очень много мелких изменений, а там по сути, например, рефакторинг. Я просто говорю: "Давай до конца уж доделай, там посмотрим". Если что, откачу какие-то файлы, да? Потому что в целом он нормально справлялся, потому что копипаста. Но из того, что он так делал, это кошмар, потому что 10 минут превращаются в мучение. Я просто я чувствую себя идиотом. Я просто сижу и всё, что мне надо дождаться - это ес нажать. И не то, чтобы мне хочется вот частями анализировать эти куски кода. Я хочу скорее чуть больше посмотреть. В итоге я перешёл в режим, когда он делает всё сам. И тут я столкнулся с обратной проблемой, потому что он правит, правит, правит. Потом хераксы какой-нибудь файл меняет вообще к чертям собачьим. Хотя это вообще не в кассу, ни в тему я его не просил. И у меня из-за этого даже я вот недавно с ребятами обсуждал, там есть такой файлик agents MD, да, который ну вот добавляют. У меня прямо отдельная секция появилась: "Не исправляй ничего, что я тебя не просил". То есть я там капсом ему понаписал правил, чтобы он просто не трогал. Не работает. То есть всё равно, когда нет подтверждения, он такую дичь делает. И получается, что я как бы мне и тот не нравится подход, и тот подход мне не нравится. Поэтому всё равно в конечном итоге всё рулится тем, как ты с ним взаимодействуешь. То есть более мелкие задачи, более продуманные задачи, там примеры кода показываешь. Вот так. Ну вот, короче, смотри, мой тейк в том, да, давай вот прогноз, прогноз от Дима Иванова, там на 2026 год, что к концу двадцать шестого года, там начало двадцать седьмого вот найдётся вот этот баланс между тем, чтобы он как бы своевольничал, да, и ничего не спрашивал, как такой чел, которому ты сказал там: "Сделай хорошо". Он пошёл и надел кучу фигни. И между тем, чтобы он постоянно к тебе возвращался, спрашивал уточняющий вопрос. А вот то, что я несколько раз проговорил по поводу режима ожидания, что ты сидишь как, я не знаю, вот просто ты диспетчер, ты такое ждёшь, это же прям не не ты не просто тупляешься в этот момент, ты прямо чувствуешь, как ты просто хернёй занимаешься, ты сидишь и ничего не делаешь. Ты же менеджер. Вот смотри, ты менеджер, а это твой работник, да? Вот ты как менеджер как бы хернёй занимаешься, пока дал работнику что-то сделать. Нет. Ну нет, менеджер - это всё-таки, ты сам знаешь, это не человек, который сидит и смотрит, как другой пишет код. Конечно, конечно. Вот то есть ты можешь ты на самом деле вот если если ты как бы, ну ролевая модель, что ты менеджер, и эта штука тебе что-то делает, причём такой ты технический там технический крутой технический лидер, да, этот чел, он там для тебя работает, то в этой модели ты найдёшь чем себя занять. Ну вот мне интересно, кто решает, как эту проблему. Может для вас, для большинства тех, кто пишет, это не проблема, для меня это большая проблема. Я прямо не могу в таком режиме долго находиться. Я поэтому стараюсь находить такие задачи, где он сделает от начала до конца, и я потом посмотрю. Но не вот эта вот история, что, ну, реально вот был момент, когда он делает, ну, десятки правок, и каждую правку ты ждёшь 30 секунд. И это очень неприятное ощущение вот находиться в таком режиме. Ну ладно, а давай пропустим эту тему, потому что мы глубоко в неё вошли. Много раз, говорю, её обсуждали. Я уверен, ещё периодически будем обсуждать. Всё-таки тема, ну, важная, никуда она не делась, но продолжим дальше этот разговор. Короче, по поводу курсора у тебя фифти-фифти, да? Выживет, не выживет, и вернётся ли это в обычные редакторы? Слушай, я, короче, я думаю, что имеет смысл ставить сейчас на всех лошадок, как это делать ставки и там условного уклоды, да, и терминал и в курсор, и глубокую интеграцию сдею ещё одну историю. Короче, вот мы там про вся про про код, проишки, про это всё. У меня мой препод в университете, который преподавал мне вот как раз анализ потока управления, анализ потока данных. Это вся штуки, которые для компилятора нужны. Вот он рассказывает всё это. Ну интересно, мы слушаем, сидим там партия. И тут в какой-то момент такой стрет вертолёт боевой пролетает за окном. Он такой подходит, такой смотрит туда, вдыхает, говорит: "А вот это работа,
вот это технология". Да. Да. Слушай, ты классную тему затронул по поводу производительности, потому что это та часть, за которую всегда предъявляют, в принципе, редакторам. И мне вот интересно немножко об этом поговорить, потому что с одной стороны, ты говоришь, ДТБС упарывался за каждую миллисекунду с точки зрения мм пользователей этих редакторов, я уверен, вот если мы их поставим так в ряд всех и спросим, как вы думаете, сколько времени Jтбin тратит на производительность? Они скажут, что они вообще этим не занимаются. Более того, наоборот, всё замедляют, потому что ты, короче, наоборот, смотри, я в какой-то момент я в какой-то момент рассказывал про производительности, как улучшать производительность на каком-то из какой-то из российских конференций. Это всё записали, выложили в YouTube. Вот. И там пришёл чел, ну, как всегда, он лучше всего знает, как заниматься производитель. Говорит: "Вообще, нахрена ты всё это рассказываешь? вообще правильно заниматься. Так что вот ты посмотрел, у тебя программа там медленно работает, посмотрел, нашёл фичу, которая даёт 80% лага, её исправил и всё. Дальше, значит, ну идёшь, ну вот дал такой клёвый совет. Вот потом какой-то чел пришёл, через полгода написал, говорит: "Ну спасибо за совет". Но вообще тут люди, которые работают jetbrains, они как бы для них performance is a feature. Вот поэтому там немножко другой подход, чем вот эти вот 80% 20%. Ну вот я с ним согласен. Ну а проблема в чём? То есть в конечном итоге всё равно все отмечают, что это работает медленнее и страдают. А в чём проблема? То есть это физически подругому нельзя, потому что так вот всё это может быть Java медленная, они же на Джаве написаны, правильно я понимаю, да? И по и она её ограничение. То есть есть какое-то понимание, что вот принятое некое решение там техническое ещё какое-то, теперь вот это всё даёт. Или это объективная реальность? Вот оно такое должно быть медленное, потому что такая сложная задача, блин, там, короче, куча. Давай пойдём в технику. Давай, давай, давай, давай. Чуть-чуть, чуть-чуть углублюсь. Смотри, первое, Интели же писали в 2000 году. Немножко другие вообще были технологии. Там был этот самый Java Swi, если знаешь такую штуку. Свинка, по-моему, Иtel до сих самый крупный потребитель свинга в мире. Это народ уже весь с этого UI Китаймворкамигрировал, а вот Ите же осталась. Это раз. Два. Короче, тогда программирование было такое. У тебя, значит, один юный поток и куча вспомогательных. И вот в JB есть глобальный readк. Тогда не было всяких хитрых технологий. Ну или они были очень медленные, да, там, не знаю, типа Softway transactional Memory. И вот ты, если хочешь что-то сделать модифицирующее, ты берёшь right на UIм треде. Вот. И все остальные подождут. И в этой парадигме ты можешь очень долго, очень много пытаться ускорять, делать там прерывистые ридлаки, да, на других тредах, проверять, что между точками проверки, когда нужно отпустить redдлок. Ну, алок - это там действие, которое ты делаешь, там, не знаю, что-то посчитать тебе нужно. Тебе нужно, чтобы это действие прервалось, когда ты нажимаешь на клавишу. Вот ты можешь, конечно, эти проверки максимально часто вставлять, но как бы есть некоторые ограничения конструкции. Вот. Вот такие в какой-то момент в GB это осознали, попытались переписать. Вот там появился проект Jet Brain Fliet. Вот в этом Jet Brainфлите попытались ребята как раз абсолютно новый UI, там, по-моему, где-то даже был и всё такое. И тут позвали, по-моему, в этот проект Тонского. Ты его знаешь? Я слышал, но мы там не пересекались так лично. Вот. И, короче, проблема с флитом, она заключается в том, что можно сделать очень крутой новый там редактор де, не знаю, что они, куда они сейчас пивотся, я уже не помню. Вот проблема проблема в том, что у тебя вся пользовательская база, она на идее. То есть ДБ вот с этим флитом, насколько я понимаю, не может выдержать как бы внутреннюю конкуренцию со своим же продуктом, потому что все уже они это как новый, это не новый UI, это именно новый прям продук, ну задумка там замах-то был, это самое замах-то был на рубль, вот, конечно. Но в итоге тебе приходится присоединять идею каким-то образом просто потому что там уже миллион всего и как бы и пользоская база, и всё такое. Вот. Поэтому можно переписать всё с нуля, сделать там Z и тд и тп. И наверняка, в общем, ребята об этом думают прямо сейчас. Вот проблема там лишь одном, как всех смигрировать-то. Ну, понятно. Короче, это даже не медленность языка, это просто сама архитектура свинга, которая там заложена, она и свинга и вот подхода к Драйлаку. И нет, язык тут вообще ни при чём, да. Это вот Legacy, большой LECY платформы, которая как бы развивалась стихийно, она развивалась не целенаправленно, потому что у меня почему-то в голове было, я где-то слышал, что код одной из причин, почему его сделали, потому что типа мы вместо Джавы будем писать на котлине сам редактор. Это что-то вообще, да, не в кассу я, да, это вообще никакого никакого отношения не имею. Ну, в смысле, там, конечно, знаешь, там какой-то момент была история, я помню, что там какой-то, в общем, Иле же команда сопротивлялась заезду котлина. Почему? Потому что там было 5% кода, написанного на котлине, и оно компилировалось столько же, сколько остальное, ну, 95% кода написано на Джаве. Вот. Но я уверен, что с тех пор компилятор стал побыстрее. Конечно, совсем не такой быстрый, как Java, но тем не менее. Вот. Короче, блин, от языка это не зависит, на самом деле. Вот это А потребление памяти давай тогда всё-таки попробуем копнуть в Jav. Да, это тоже всё, короче, там, короче, в памяти нету особой проблемы. Да, её, конечно, нужно оптимизировать. Там всё равно есть большие локации. О, кстати, хочешь прикол? Габоч коллектор на Джаве, как мы выяснили, работает гораздо лучше, чем на дутнете. Вот почему начали разбирать. Ну, то есть как бы Java ты можешь лоцировать много, много он тебя прямо всё с Давай. Это это информация года 2018. Ага. Что сейчас? Не знаю, почему. Потому что в дотнете у тебя есть структуры, а в Джаве их нету. Ну или там не было этих рекордов, ничего. Соответственно, чувакам на Джаве у них вообще не было никакого выбора, им приходилось ларсировать эти объекты. Соответственно, ГЦ надо было писать так, чтобы он классно с этим работал. Ну а в Сешарпе у меня вот предположение такое, что так как у тебя были вот эти эффективные структуры работы с памятью, типа, ну те же самые структуры, то народ-то не особо парился. Ну хочешь что-то побыстрее, ну вы алоцируй себе там на стеке, не на кучу. Вот и из-за этого ГЦ работал хуже. Короче, я считаю, что память - это не проблема. Сейчас с этим нормально научились работать. Ничего там особо не тормозит. Проблема именно в Legсе. Угу. Ну вот это интересно, не проблема памяти с точки зрения реального потребления, но люди тогда жалуются. То есть они когда видят, сколько оно занимает, хотя на самом деле это не факт, что он всё это использует, да, это их триггерит. Блин, я это вообще не понимаю. У тебя, ну, короче, я этого никогда не понимал. Я понимаю, что есть такие люди, но, условно говоря, ну, ты программистом работаешь, чел. У тебя там в Штатах зарплата, наверное, уже меньше сотни, наверное нигде не получают. Я не знаю. Вот что ты не можешь себе флешку памяти купить? Ну тут, знаешь, взгляд меняется, когда ты находишься на, а, скажем, если ты предпринимателем становишься, ты ко всему этому начинаешь всегда относиться. Любой каприз за ваши деньги. Да. Я, кстати, вот тоже я понимаю, что когда ты становишься предпринимателем, у тебя денег ещё не очень много. Ты небольшая там важная компания типа ДТБin и Microsoft. Вот. И поэтому не можешь, наверное, всем купить 4, да? И не знаю, или можешь. Ну, это просто может быть причиной, почему тебя вообще выбирают, как это ни странно. И многие же на этом и съезжают. Кстати, даже прикол. Я же на Вим, когда переходил, то есть сейчас я его люблю, умею там и быть эффективным, всё остальное, но когда я переходил в него, это был 2011 год, если я не ошибаюсь, или десятый, а я это делал, потому что на моём древнем ноутбуке Netби Beans тормозил просто как не в себя. Я не мог на нём работать. Ну он жал памяти много. Да, мы как это мы с тобой, видимо, всё-таки тут на разных полюсах. То есть я всегда считаю, что вот оно должно нормально работать на там предтоповом компьютере, потому что любой прогер, именно прогер, да, может себе позволить предтоповый компьютер нормальный. Ну, не знаю, если не 4, то там 1,1, M2, M3. Вот оно там должно классно быстро работать. Твой проект должен работать. Всё. Вот это это просто это просто настолько дешевле купить ему хороший компьютер, чем ээ в общем заставлять его пользоваться неудобными тулами. Да. Ну программисты любят мериться писюнами. Если ты если ты не показал ему, что у тебя редактор там круче в каких-то таких показателей, ты просто их любовь не завоюешь, и они не будут кричать про тебя везде. Ну, скажем так, большая часть аудитории, большая. Я понимаю, о чём ты говоришь, да. Я тут короче, я слышал про метрику улыбки. Слышал такую метрику? Нет, нет. ВТФ? Да. Ну нет, нет, не ВТФ. Не ВТФ. Смотри, короче, вот как оценить, что мм как оценить, что язык хороший там или тул хороший? Вот. Ну там, наверное, наверное, там типа вот внедрение в большие корпорации. Если ты продаёшь, тебя там дорометрики спрашивают, там велосиity, вот это всё корпоративный булшит. Вот. А по факту, наверное, самая важная история - это метрика улыбки, да? То есть насколько у тебя у программиста, который этим пользуется, насколько он получает драйв, насколько у него улыбка широкая. Вот я попытался эту, ну, метрик улыбки, да, насколько у тебя уголки губ, соответственно, вот натянуты. А вот я попытался это немножко оцифровать. Я, значит, по-другому это к этому подхожу. Вот ты даёшь чуваку какой-то новый инструмент, да? Вот он его адоптит, не знаю, курсор, не курсор, там кодекс, всё такое. Потом ты забираешь у него этот инструмент и замеряешь время, то есть когда он жаловаться прибежит. Вот. Ну, соответственно, вот такая вот метрика. Угу. Ну да, да. По поводу редакторов, как Давай поговорим ещё немножко про облачные редакторы. Есть ли у них будущее? Вообще, пользуются ли ими люди и что в этой области происходит? Потому что было, по-моему, несколько вот итераций появления этих редакторов, потом что-то пропадало, потом, в конце концов, voicecд просто в браузере тупо запустили, да. А я знаю, что есть открытая платформа для вообще, которая прямо такой некий из ДК для создания редакторов. Мы вот хотели у себя заюзать, но всё равно слишком сложно для нас оказался. То есть прямо тея, что ли, да, да, да, да. Вот те есть. И плюс куча имплементаций. Какой-то был даже момент назад, помнишь, ну это довольно давно, правда, уже было, когда многие вдруг подумали, что смогут этот рынок как бы окучить и создать. И прямо попёрли: "Редактор-редактор, мы вот подключаемся, даём вам докер, шмокер, все дела". И вот как будто всё. Да, тоже это, короче, то, что дискутировалось активно в Jeтбara там вот в там сенатомвосемнадцатом с онлайн-редакторами. Вообще был этот Amazon Cloud 9, если я ничего не путаю, такая дикая поделка. Amazon Cloud 9, по-моему, назывался. Может, может, как-то поко, да, я там зашёл, и там прямо всё было плохо. И потом была мысль: "А что, почему программисты до сих пор в этом самом в не пишут в редакторе? Не в редакторе, господи, редактор, почему до сих пор не в браузере?" Вот. И попытались как бы найти ответ на этот вопрос. И ответов было несколько. Ну, во-первых, Фигма всё-таки в браузере, то есть дизайнеров они таки перетащили. У них получилось, да, у них получилось. Вот что с прогерами. Во-первых, на вот момент тогда JavaScript был, виртуальная машина Джаваскрипта была всё-таки сильно медленнее Java. То есть тот же Flit, насколько я помню, они запускали всё-таки процесс на Джаве рядом, потому что тупо GVM работала быстрее в несколько раз, чем V8. Может быть, сейчас это уже не актуально. Во-вторых, были проблемы с тем, что ты, нажимая на разные ходки, там Ctrl W или что-то такое, в общем, закрывал себе вкладки, выключал окна. Ну, короче говоря, ходке у тебя привычные. Работали не так, как ты хотел. Третья проблема была с фокусом внезапно. Не с фокусом человека, а с переключение фокуса. Знаешь, когда ты tп нажимаешь, вот эту проблему тоже непонятно было как победить. Вот. И четвёртая проблема, она была, она тоже опять бы же была эмоциональная, скорее. И эмоциональная проблема - это также вот как тебе, если у тебя iPhone, да, тебе, наверное, нравится пользоваться приложениями, тебе не очень нравится пользоваться этими приложениями на сайтах. Вот. То есть тут какая-то такая разница, как между приложением нативным и приложением на сайте. Как-то так. Почему я, ну, мне кажется, что мы сюда будем сюда возвращаться время от времени, может быть, в какой-то момент и вернёмся. Вот в корпорациях я точно знаю, что используются вот эти вот браузерные ВС-коды, которые приконнекчены к серверу. Вот. Пользуются, да? Серьёзно? Пользуются. Пользуются. Ну вот в той же в той же Huawei, да. Угу. И что получается экспириенса достичь такого, чтобы незаметно было? А кто кто их спрашивает? Понятно. Ну, кстати, это интересно, потому что я вижу, что GitHub прямо людей толкает. Ну, скорее всего, просто потому что это для них отдельный бизнес, где они зарабатывают деньги, но они тебя везде толкают. Ой, хочешь, мы тут откроем? Смотри, у нас тут есть, как он, Codspace называется у них, да? Смотри, да, Codсpace. Я, короче, вот в эту штуку очень сильно верю. Вот. Ээ верю. Почему? Э, ещё раз у меня кажется, что вот такое будущее, оно следующее. Вот у тебя есть, э, платформа для разработки, да? У тебя есть автономный агент. этот автономный агент, вот он по-хорошему, может, ты ему дал команду, он тебя пару раз уточнил, вернулся и сделал прямо в этой платформе, не открыв онлайн-редактор. И второй вариант, то, что я описал - это statйтless режим. То есть он просто модифицировал какие-то файлы, что-то поделал в прямо в браузере и сказал: "Вот у тебя полреквест готов". Этого недостаточно. Если ты там кодекс используешь, знаешь, что он часто вызывает терминальные команды, там, не знаю, скачай мне что-нибуд с НПМА, там, вот типа такого. Поэтому очень прикольно было бы, если бы ты нажал на кнопочку и у тебя вот всё то же самое, что у тебя есть в платформе для разработки. Открылось у тебя остался бы интерфейс платформы для разработки, но в реальности открылась бы виртуальная машиночка рядом, и там бы запускались вот эти команды типа скачай мне что-нибудь с npэма или запусти что-то в терминале. То есть модифицировал бы стейт и проецировал бы это всё обратно в платформу для разработки. Почему прикольно? Потому что Подожди, рядом ты имеешь в виду, в смысле на твоей машине? Не обязательно на твоей машине. В облаке можно. В облаке можно на твоей машине. То есть ты нажимаешь, смотри, вот смотри ещё раз. Ты открываешь GitHub. Давай вот пример. Открываешь GitHub, вот у тебя возникает окошечко там с чатиком, которое говорит, что ты хозяин, что проси. А уже, кстати, есть код прямо так и позволяет, да? Недавно недавно недавно появилась. Вот. Но давай сделаем. Это классная штука, но она работает в statтлис режиме. Ещё раз, что это значит? Это значит, что она там ходит через опишки этого гитхаба, может модифицировать что-то там в онлайне в этом файле, может сходить посмотреть на Ишю, посмотреть на PR и тд и тп. Этого недостаточно. Тебе нужна как бы виртуалочка под капотом, чтобы, допустим, э что-то на этой виртуалке поправить, там обновить npm, короче, модифицировать некоторый стейт. Вот в этом случае ты по-хорошему должен нажать на кнопочку. У тебя вот запускается вот эта вот виртуалка, на ней копируется, вот клонируется твой проект. Вот. И эта штука начинает работать. как у тебя работает кодекс на твоей машине. То есть просто единственное, что, э, всё разворачивается по моновению кнопочки. Вот в такую штуку. Да, я я верю. Это на Я так правильно понимаю, что на самом деле это то, что вы как раз и сделали, потому что я видел релист, прочитал, как бы с ходу было непонятно, да? То есть вот в этом фишка. Слушай, это то, что мы будем делать в будущем, то есть это ещё ещё пока не по не готово. Я это мне кажется, что это естественное направление мысли для всех. Вот, то есть такое объединение, собственно, агента автономного ещё вот этого кодспейса и гитхаба и в общем всего. Мне просто, знаешь, что кажется по таким штукам, а тем более ты сам говоришь, это мысль для всех. А кто бы что не пытался делать, у тебя в конечном итоге просто крупные вендеры встраивают это к себе, и всё остальное просто становится неважным, да? То есть сколько там было попыток всякого разного делать у тебя в конечном итоге там Google Doc просто в себя встроил свой Gin этот на всех уровнях, и тебе, в принципе, не надо оттуда выходить, да. То же самое зде кажется, что Потому что я уверен, вы не единственный, да, кто что-то подобное пытается делать. Я уверен, что если сейчас GitHub всё это к себе внедрит, мы все просто скажем: "Ну, как бы о'кей, время ушло". Ну, смотри, это такая же история, как CPAс, кстати, вот же тут же там прямо вот прямо соединить-то осталось. Вот прямо чуть-чуть оста осталось немножко, да, ты прав, короче. Ну вот курсор, ты вот у тебя такой же тейк, как и про курсор, и про GitHub, там, и про всду, да? Что что что делать курсор, если всде это всё в какой-то момент появится? Давай ещё одну историю. Ладно. Ещё одну историю. Короче, в какой-то момент я делал такой продукт#ARper в Jet Brains. Это плагин в Visual Studio. Visual Studio - это не VS-code для тех, для наших молодых слушателей. Есть такая старая старая корпоративная De Visual Studio называется от Майкрософта. А и там вот была поддержка C#ARP базовая, то есть на уровне IDE 1.0. И вот - это такая возможности Intellig для, соответственно, вот Microsoft Visual Studio. И, короче, и жили все вместе, не тужили. Был классный плагин, который продавался и Visual Studio. Но смотрю, Microsoft начал потихонечку фичить из решарпера. Сначала фичи начал добирать, да, которые там популярные. Потом он начал показывать плашку. У ваше расширение там ваше расширение решарпера ест слишком много памяти или замирает слишком надолго. Возможно вам нужно его удалить. Да. Ах, конкуренция честная, да? Очень честная конкуренция, да. Вот с этими, короче, когда ты делаешь какой-то плагин, и это на самом деле прикольно. плагин делать гораздо проще встраивать в какой-то де. Вот когда Шарperпер появился, слава богу, это был не, это был плагин. Он строился Visual Studia, потому что на Visual Stud сидело большинство, ну там почти весь мир разработчиков Днета, если вообще не весь. Поэтому плагин был стратегически правильным решением делать. Рядышком был продукт Upcд, это была своя для objectivec, ну, короче, вот для мира Apple. И люди её просто захейтили сразу, потому что сказали: "Зачем это нам нужно? У нас есть XCД". Поэтому вначале делать плагин правильно, но потом может так случиться, что большой вендер начинает тебя оттуда вытеснять. И в этом случае тебе нужно идти в и свой фронт, и как бы, ну, свой продукт тоже. Так, например, в Jetbrain появился продукт райдеer. То есть мы взяли Шарper как мозги и Intellig как фронт. Ну и, соответственно, вот сделали этот продукт. Да, да, я про него знаю. Но у меня тогда вопрос. Кстати, я то, знаешь, какое-то время назад, я не понимаю почему, но мне иногда в голову приходит мысль. Я такой думаю: "Так, а вот этот Visual Studia, она вообще живая?" Нет. Где вообще донетчики сейчас пишут код? Я не знаю, почему. У меня иногда такой вопрос возникает в голове, где они пишут код. Слушай, я, короче, буду выступать на этой на конференции DNx как раз скоро, так что на всякий случай спрошу и хуй знаю, где они пишут код. Но по факту пишут либо в вскоде, да, ну, частично, либо в Visual Studдии всё также люди пишут, она достаточно неплохая, либо либо в Райдере Райдера до сих пор активно разжирается развивается, отжиет рынок у Visual Studio. А, ну то есть Visual Studia такая медленно помирает, поскольку ей, наверное, видимо, сильно не занимаются с маркетинговой точки зрения, потому что будущего не видят, да. Ну я бы не сказал, там рынок там и не не десятки, и не сотни миллионов долларов. А, ну их много, да. Net, конечно, поми просто мы как-то уже привыкли, что там, если Россию берёшь, у тебя, ну, оно как-то скукоживаться вроде бы начало, да, у тебя и Microsoft ушёл туда-сюда, то есть вряд ли всегда стартует новый проект, да, но, короче, рынок всё ещё огромный. Вот я, честно говоря, не следил за трендом. Больше становится до программистов или меньше становится, но если и меньше, то ненамного. Ну, потому что есть большие, я знаю, госкорпорации в первую очередь, которых там этого так много и там, естественно, нет никаких ползновений. RЖD какой-нибудь, да. А вот если брать прикладные вещи, насколько вот я слышу из крупняков-то буквально полторы компании. Ну, по крайней мере, те, которые на слуху - это Оzо точно и Додо Пица. Вот они точно Сишарпера. Короче, вот я бы тебе точно ответил, но вот когда на Dotnex пойду, там через несколько дней вот у меня будет точная сосистика, кто откуда, из каких компаний, да, спроси, какие настроения будет будет интересно узнать вообще по Кстати, дотнечики. Просто хочу ещё такую вещь сказать. Вот у меня есть сообщество, да, где вот программисты тусуют и мы общаемся. Я не знаю, как это работает, но вот э за там годы жизни я заметил за определёнными группами программистов, связанных, как правило, с языком, определённые особенности паттерна поведения. Вот дотнетчики - это люди, которые, э, хорошие ребята, которые приходят очень часто во все разговоры, говорят: "Это всё было 1.000 лет назад в линке итиity Frйвок". Это как бы главный тезис, который они кидают, когда ты начинаешь любую любой диалог с ними. Не, у тебя нет такого опыта. Ты смотрел же South Park, помнишь эту серию? Это всё было в Симпсонах. Ну я не смотрел, но я слышал много раз эту историю. Да, да, да, да. Ну, короче, да, там реально большинство вещей, оно в дотнете появилось, несмотря на то, что дотне появился, по-моему, на 3 года позже Джавыва, да, вот всякие прорывные штуки появились в дотнете раньше, чем в Javве. Java там потихонечку догоняет и другие штуки тоже догоняют. Ну и и что как бы, ну, было и было. Рассказывайте дальше. Диды. Да, мне, кстати, в этом плане, кстати, вот тоже говорят, типа, аля C#ARP везде запускается сейчас. Dnet везде можно юзать. А, наверное, да. Но каждый раз, когда я захожу в их документацию, она тебе предлагает только через Visual Studio там все интерфейсы, да, вот натыкивать, я такой: "Нет, сорян, я не готов к этому". Слушай, я до сих пор считаю, ну, это понятно, я человек афилированный, да, как техрайдера, что это лучшая де, которая была в JТБins. Вот. Поэтому всё ещё да, оно там было тоже куча всяких разных прорывных штук, которые потом мигрировали в другие детбрейса. Поэтому я запускаю все весь C#ARP райдере. Поэтому вот. Слушай, мне ещё такой вопрос всегда по редакторам волновал. То есть, например, я очень часто пишу на большом количестве языков, причём там и фронт, и БК, и, может быть, ещё что-то. И поэтому для меня как бы ситуация, когда один редактор ест всё и я совсем работаю без исключений, является естественной, нормальной. И для меня совершенно ненормальная ситуация, когда есть редактор под язык, потому что я не понимаю, когда как мне тогда работать-то. То есть это вот я, например, переключаюсь прямо сейчас между тремя языками. Мне что, надо каждый раз три разных редактора открывать? Слушай, короче, мной какие языки, какие языки ты используешь? А, очень легко. У меня может быть одновременно я работаю, например, давай так, это могут быть не только языке, это, например, может быть Ruby, Typescript, Java рядышком. И при этом я одновременно в тераформе VSBLE что-то делаю. Вот в течение, буквально, нескольких часов могу вот цеплять всё это. Я уж не говорю там про HTML и CSS какой-нибудь, который просто по пути может попасться. Короче, если что, ничего не путаю, то Илид же всё это должно поддерживать все эти три языка. Вот я не знаю про Руби, потому что Руби я для меня это какой-то такой маргинальный японский язык. Я не знаю, кто его сейчас использует. Ну да, его я же в Японии, по-моему, сделали, если я ничего не путаю. Ну да, да, да. Короче, вот ээ я тебя абсолютно поддерживаю. Я считаю, что тоже будущее будущее оно за вот этим UberDE, которое всё вместит. И опять же, если бы Интелиже писали не в 2000 году, да, то, наверное, было бы давно вот вот это Uberрde, которое прямо могло может открывать абсолютно всё. Ну, потому что это, наверное, даже тупо дороже. У тебя нужен отдельные команды, нужно синхронизировать общие куски кода, там, наверное, столько геморроя логистического внутри, чтобы всё это поддерживать, да? Так, опять же, да, вот как бы за счёт того, что у тебя общая да, ты можешь какие-то неявные там или явные связи ставить между кусками кода, можешь даже рефакторинг общий запускать. Это же круто. Угу, прикольно. Слушай, а что вот редактор, о'кей, я, знаешь, вот пока мы с тобой говорим, я такой про себя думаю: "О'кей, а какой ещё тулинг мы в принципе используем, чтобы говорить вот про локальную, например, разработку?" И мне что-то так в голову особо ничего не приходит. Ну гит - это гит, о'кей, понятно. А терминал, да, ещё терминал, а всё остальное как будто это облака, сиайки, фигайки. Да, слушай, я, ты знаешь, я когда человека, ну, в GB ещё нанимал, я всегда его спрашивал: "Назовите мне 10 фичи". Вот если человек ломался, не назымая не называя 10 фичи, я понимал, что он как бы де особенно не пользовался. Ну и там, в частности, он там такой: "Ну да, наверное, там есть там deb есть, э, ну что там ещё бывает? Ну да, редактор, вот, ну, compitionшн". Ну да. Смотри, короче, фичей можно называть очень много, да, помимо редактора, типа, не знаю, вот я, как ты говоришь, вот панельки для инструментов, да, если у тебя есть какая-то билдсистема, типа маv, там йдла, у тебя там есть какая-то панелька, юнит-тесты, ты пользуешься юнит-тестами вde, например? Ну, я пишу тесты, да. А если запустить не автоматический запуск иногда конкретного файла я использую, но очень часто я запускаю это прямо папочками, например, и просто рядом в терминале это делаю, да. Ну, если тебе нужно подебажить, подебажить, допустим, запуск, вообще не проблема. У тебя в большинстве языков, опять же, тех, которых я пишу, у тебя есть, э, этот консоль, например, опять же берём те же самые Rub или Python. У тебя есть, э, строчка binding. Ты её запускаешь, запускаешь тест, и он у тебя прямо проваливается в консольку. Ну, и дальше ты в этой консольке имеешь доступ ко всему, что там есть. Ну, а в это всё это, ну, это называется интерактивные отладчики, да, вот эти, которые ты так запускаешь. Да. Да. И, короче, ну вот по-хорошему, то есть же оно как раз про то, что чуть-чуть поудобнее сделать все вот эти типичные сценарии, чтобы ты не в консоли это делал, а у тебя была прямо связка с кодом там с с ну связка с это другое. Это это когда ты вот то, что ты говоришь, это имеет смысл, знаешь, когда когда у тебя реально есть, например, цикл и ты хочешь, например, в нём там вот у тебя сложное состояние переменных меняется, ты прямо тебе прямо надо отметить, какие переменные. А здесь ты удобнее не сделаешь, потому что по сути мне не нужно ничего отмечать, это режим. Ну это, я не знаю, если ты его не видел, это, конечно, надо просто прочувствовать. Ты входишь в терминал, в котором ты как бы оказываешься внутри этого кода. И я могу не в смысле просто там переменную посмотреть, я могу по связям походить, в базу обратиться. То есть ты просто вот как бы внутри этого кода живёшь. Не, я я понял, да, я я такую штуку видел, короче. Но видишь, тут у нас немножко разные с тобой религии. Я я это скорее немножко разные кейсы. То есть вот кейсы именно такого классического дебага для меня всё-таки это кейс, когда у тебя есть сложный алгоритм и в рамках него ты теряешься, как у тебя меняется состояние переменных. Вот там реально это очень важно. Но чаще всего это не так. То есть чаще всего у меня нету в обычном прикладном коде у тебя нету вот такой вот истории. То есть, например, у тебя, допустим, а у тебя типичный крут, у тебя там штука на создание сущности, эта сущность не создалась там ошибкой. Ты хочешь понять, почему, но так ты ставишь, собственно, этот pointт внизу перед тем, как, собственно, возникает эксепш, например, и начинаешь проверять, какие данные пришли, что и как. И это вот это просто обычные переменные вот в твоём там контроллере, не знаю, ты можешь модельку из базы вызвать, посмотреть какие там данные, и всё. Поэтому в этом плане ты удобнее интерфейс не сделаешь, потому что иначе тебе придётся просто натыкивать только те переменные, которые существуют, а не то, что ты хочешь сам вызвать. Слушай, я я тут не буду спорить. Я скажу так, что типа в Иле вот как раз Jetbrain de, которые я использовал и которые там вот я там везде пропагандирую, да, там э ну и там то, что сейчас я делаю, понятно, я тоже пропагандирую, они во многом делались людьми, которые занимались докфудингом. И они как раз докфудинг - это означает, что люди, которые создают, пишут на этой же самой DE. Вот. И они сложные алгоритмы, которые внутри возникают, вот им удобно было отлаживать именно в таком режиме. Именно поэтому отладчик, возможно, выглядит именно так. Просто потому, что это было удобно пользоваться тем людям, которые зарабатывают де. Это как бы и сила, и слабость тулинг компании. То есть всех все любят doкфудинг и все специализируют свои продукты под свои кейсы. А как ты правильно говоришь, там, ну, для крудов это во многом не нужно. Ну, у тебя под крудом, я же понимаешь, да, у тебя может быть там очень много чего на фоне происходить, асинхронные всякие джобы, события, миллиард отправок там внешней системы. Я просто тому, что для этого тебе не нужно вот именно такой типа поэтапный, как правило, дебак. То есть у тебя есть логи, у тебя есть вот просто посмотреть текущий стейт. Вот поэтапно говорю. Чаще всего это вот сложные циклы. Я, кстати, вот уверен, что в редакторах такого намного больше, потому что у тебя реально в памяти много что живёт. У тебя нужно синхронно менять, например, там состояние каких-нибудь объектов, данных, и тебе нужно понимать, что ты где-то там не облажался. Тогда, да, там вообще потеряешь. Слушай, мне мне удобно много вещей делать. Ну, там помимо комплишена, который можно там везде делать, мне удобно, например, поискать откуда эта переменная вообще могла прийти. Мне удобно посмотреть, сколько на эту переменную ссылок бывает. Ну, знаешь, вот то, что вск1 называется. Ну, это стандартная лспэшная штука. То есть, опять же, я и говорю, у тебя это есть сейчас везде. Для меня всегда разница только в том, что конкретно в Jet Brain заморочились какой-то более глубокой аналитикой, которую стандартными LSP-то не получишь. Вот как ты сам сказал тогда, да. А остальное, то есть это, кстати, меня вот до сих пор поражает. Я иногда, когда с людьми разговариваю, и они такие: "Вот, Вим, ты там тра-та-тта". Я говорю: "Вы на полном серьёзе думаете, что я там не могу? Мм, во-первых, там три ситтера давным-давно везде, так же как в ВС-коде. Во-вторых, у тебя, естественно, LSP везде. Вы что, думаете, я не могу посмотреть символы, э, этого там по файлу, по проекту референсы посмотреть? Они такие: "Ну да". Я говорю: "Ну, приехали". Это, то есть то, о чём вы говорите, это было, ну, там типа 10 лет назад. О'кей, тогда это так было, но примерно лет пять назад, вот как только LSP заехали прямо, ты знаешь, да, его встроили в NVM прямо в ядро, то есть это вот у тебя это полностью ушло. То есть вопрос с точки, я даже периодически про это рассказываю, там вопрос фактически с точки зрения UI сейчас только. Вот у нас выводится так, а у нас вот так. У нас вот это вот у нас вот это. Я, кстати, недавно у меня был подкаст прямо именно знаешь какой? Мы прямо парно кодили в Виме. Я как раз там показывал, и там многие ребята в комментариях потом написали, что типа они никогда не видели, что Вима оказывается вот такой. Ну типа ты даже его от ВС-скода не отличишь. То есть если бы я спросил, кто-то мог бы сказать: "Ты вскоде вообще сидишь". Слушай, нет. И, короче, Вим, Вим - это вообще особая религия. Вот я тебе, кстати, ты не смотрел на коммьюнити Вима? Она увеличивается, уменьшается, стабильная. Очень стабильная. Vim, кстати, мне в этом плане напоминает Linux, а потому что он какой-то вот, знаешь, как помнишь, мы всегда Linux сейчас вот сейчас ещё чуть-чуть, ещё чуть-чуть, и мы победим винду, и у тебя вот этот 1%, там 10 лет прошло, 20 лет прошло. Кстати, говорили, что всё-таки стало побольше. Говорят, что 2% или может быть даже три или четыре, но вот какие-то такие цифры были. Я слышал лекцию от Линкса Торвальса, который говорил, что, ребят, вот почему Linux не победит Винду. Вот. И у меня там целая лекция на этот счёт была. Да, слушай, у Вима, мне кажется, растёт аудитория по нескольким причинам. Во-первых, он реально рванул вперёд очень сильно. Ты знаешь, что он стал использоваться как embed, то есть у тебя многие штуки просто его запускают. Это даёт кучу всяких возможностей, то есть. А в-третьих, у тебя современные сборки. Ты знаешь, что туда уже встроили, например, там пакетный менеджер, прямо недавно зарелизили, да, внутри. Причём не в смысле, который прямо целиковый, а в смысле API, который можно использовать в существующих там пакетных менеджерах. Если честно, мы с тобой сейчас говорим, у меня, короче, полное ощущение, что мы спорим с тобой, что я тебе продаю де, а ты мне продаёшь. Вот. А я это не для тебя говорю, тут очень важно. То есть я это говорю для наших правильно, да? Мы продаём, продаём для наших слушателей. Ну то есть просто вайб вайп чувствуется, что вот человек у него есть любимый инструмент, он за свой любимый инструмент всё-таки спорит. Да, я тут Но тут я тебе хочу вот что добавить. Это как бы ещё есть особенность моего подкаста. Я с самого начала обозначал, кстати, не всем это понятно. Я говорил: "Ребята, у меня не подкаст интервью. Я не Мне просто тупо это неинтересно. Мне неинтересно сидеть молчать и кого-то о чём-то спрашивать, потому что я не люблю просто это не в том смысле, что это плохо. И поэтому у меня вайб - это такой: я с ребятами собираюсь для того, чтобы просто поговорить за жизнь". Ну и заодно вы как бы посмотрите. Иногда, кстати, да, меня иногда за это тоже предъявляют, говорят: "Кирил, у тебя там где-то слишком много бывает, согласен". Но есть места, где вот надо так спорить, надо такие вещи обсуждать и делать, потому что они делают его и живым, и с другой стороны, ну, как бы не похожим на большинство подкастов, которые знаете круто. И в споре рождается истина или самое главное, что просто говорить о вещах, в которых понимаешь, да? То есть поэтому я стараюсь, видишь, приглашать людей и говорить на темы, в которых я хоть что-то да понимаю, потому что если я совсем не понимаю, я сижу молчу. Да. Вот мы про плюсы делали недавно подкаст. Я просто пять вопросов задал и всё. Потому что, ну, ну это, если ты на плюсах не пишешь, то говорить про плюсы довольно проблематично, согласись. Да, слушай, я думаю, короче, плюсовики тоже отдельное сообщество. Короче, это люди, которые У меня был знакомый, который засыпал, ну, практически засыпал с книжкой, вот эта Библия спецификация C++ под подушкой, чтобы она, значит, впитывалась методом диффузии. Они прямо у них это прямо холи Bйбл, потому что, ну, короче, я знаю таких людей, которые тебя начнут, знаешь, тебе начнут обязательно говорить, что так спецификация, поэтому так правильно. Вот с ними с ними спорить ещё интереснее. Да, да. Не, там там это страшная история про про эти штуки. А так хорошо. В общем, редакторы, кстати, в этом плане вот смотри, мы вроде с тобой там проговорили, вот развиваются, и всё равно разные люди любят разное. Есть просто вот некое восприятие, но я не могу не отметить, я должен это сказать, что самый популярный плагин внутри Intellig - это Vim. Нет, самый популярный плагин - это не анкет. Это такой, помнишь, такая штука, котик, который бежит за нём и пукает, извините, радугу и за ним летит. Вот это сам. И он вместо прогресса вместо прогресса. Ну в мои врем может он, кстати, появился за последние годы, потому что сколько я вот смотрел Вим, ну там был прямо сильно впереди всех своими миллионами скачиваний. Ребят, посмотрите Нан Plagн и сравните с Вимом. Вот я не знаю, что что правда, где больше скачиваний. Ну там точно были миллионы, когда это я смотрел после раз. Ну в вс-коде точно он то есть номер один. Вот, кстати, странно, что емаксеров нет. Надо будет кого-нибудь позвать. Я всё хотел тоже поболтать. Был у меня опыт написать на имаксе. Прикольно, когда у тебя лиспы конфиги. Я лиспы просто тоже люблю. Вот. Слушай, у меня у меня это у меня был такой опыт, но он был травматический. Вот у меня когда Так, как Да, я когда писал диплом, у нас диплом писал на языке такой окаль, может слышал? Я любитель его. А, да. Вот. Вот. И, короче, вот это для этого камля тогда не было никакого де. Я думаю, что и сейчас нету. Вот. И там единственное это были команды, значит, в Емаксе. Мне пришлось изучить Емакс, пришлось писать на этом камле. Короче, то, что я сделал бы, наверное, за пару дней на потом на котлине, я это у меня растянулось на несколько недель на камле вот, вместе с Химаксом. Поэтому с тех пор я его нежно люблю. Угу. Ну, кстати, вот интересно, у тебя действительно это проскакивает, ты говоришь для него редактор есть, а я вот не мыслю в терминах редактора. То есть я бы сразу сказал, для него есть LSP, которые ты подключаешь в свой любимый редактор. А LSP же, конечно, есть сейчас. Мне кажется, сейчас LS Слушай, кстати, если я не ошибаюсь, а вот когда раз делали и когда делали Apple Swift, а я пря прямо помню эту новость. Это вот как будто стало моментом точки, когда LSP был признан коммьюнити всем, когда оба этих языка сказали, что, ребята, мы не будем делать под них редакторы, потому что тогда ещё мыслили язык редактор, а мы будем делать только LSP. Я помню, насколько это была необычная мысль. Ни фига себе, Apple для Свифта не будет делать редактор. То есть я буду пользоваться вообще чем хочу и лспишка. И это круто, потому что у тебя вас в итоге получается мм ну и свобода, и уходить никуда не надо, и всё такое. Слушай, не знаю, может быть, может бы это новость прямо была. Это была прямо новость. Может быть, может быть, в будущем как бы будет свобода и немножко и вот и как бы действительно будут редакторы не нужны, но, короче, я я в это будущее не верю. Понятно. Но курсор, кстати, вот в это будущее идёт. Редактор не нужен. Есть только окошко для разговоров. Есть только окошко для разговоров, да, но тебе нужно как бы результаты разговоров отображать, там div в коде или ещё что-то такое где-то. А знаешь, какую штуку заметил, раз всё-таки Ну давай заканчивать с этими редакторами, но всё-таки последнюю, наверное, вещь скажу. Я заметил, что местами ментальная нагрузка растёт. Знаешь, по какой причине? Он, когда тебе выдаёт код, особенно если он отдельно тебе его показывает, если ты его пишешь сам, ты как бы видишь вот этот контекст и он у тебя меняется кусок, кусок, кусок, кусок, ты уго держишь в голове, то вот эта фигня, она работает часто в режиме Б, переписал тебе всё, и ты такой понимаешь, что всё, что до этого ты распарсил глазами, тебе надо парсить с нуля. Слушай, это большая проблема. И, ну, короче, тут ничего не сказать, это проблема. Ты вместо того, чтобы запоминать вот что ты делаешь, да, и как бы ориентироваться, короче, ты попадаешь полностью в незнакомый город, то есть даже хуже. Ты попадаешь, вот если ты как бы уже пронавигировался по улицам, знаешь, что куда идти, где находится магазин, где находится больница, где находится там, не знаю, полиция. А здесь это тот же самый город, только немножко здание перетрясли, короче, вот, и что-то там новые новые цветы добавили, и ты как бы из-за этого теряешься. Ну да. Угу. Не я только один, короче, с этим сталкиваюсь, потому что я почему-то не видел, что об этом кто-то говорил. Я начал писать об этом в телеге, потому что, ну, реально это прямо проблема. Но я почему-то не вижу разговоров больших. Слушай, народ говорит об этом. Народ переживает, что ты просто хуже знаешь свой код из-за того, что, ну, вообще гораздо хуже знаешь, что происходит, вот из-за того, что пользуешься ей. Угу. О'кей, понятно. Хорошо. А, слушай, вот давай пару слов про твою шторию расскажем. А вот то, чем ты занимаешься в Яндексе сейчас, да, я видел релиз, знаешь, типа, ну, посмотрел, о'кей, пошёл дальше. меня не цепануло, потому что, ну, я не стал глубоко в это пытаться влазить. Какую проблему вы решаете? Давай так попробуем. Слушай, глобально это попытка переосмыслить вот эти платформы для разработки, тех же гитхабы, гитлабы и деешки вот в новую в новую эпоху. Вот когда у тебя есть и, ну, там когда короче когда задача превращения человеческого языка в программистский стала комдити. Вот это раз. И два. когда ты можешь связать всё воедино, у тебя есть облако, да, там в нашем случае Яндекс облако, и тебе у тебя есть среда, платформа для программирования, и ты не просто программируешь, ты как бы ещё и на русском, на английском, ты ещё и деплоишь, ты ещё и мониторишь, и у тебя, то есть, вот этот полный цикл разработки, который обычно такой восьмёркой рисуют, положенные на бок, да, или символом бесконечности, когда ты как бы есть набор, короче, есть вот эти специальности, которые принимают участие в создании программного продукта программисты, сре, тестеры, вот они Они все живут в одном пространстве, все пишут задания для Иишки, это всё деплоится, это всё мониторится. И как бы таким образом ты можешь максимально быстро проверять бизнес-гипотезы. То есть ровно то, что обычно бизнесу и нужно. То есть, короче, смотри, вот давай так, типа, финально есть какая-то целевая прикольная картина, прикинь, что у тебя вот весь бизнес по созданию IT-продуктов, он как бы будет ты вот эти бизнес-гипотезы будешь проверять супербыстро. там что-нибудь придумал, это всё там сразу раздеплоилось, выкатилось там на 1% пользователей, посчиталось показатели, вернулась обратно, там, не знаю, что я что-то зафиксировала, оно ещё и в каналы замаркетировалось. Вот это буду адвокатом дьявола. Я всё равно не очень понимаю. Вот смотри, вот у меня реально есть бизнес, да, вот платформа, мы там значит люди у нас работают. Бабуль, боль-то какую-то решаешь мою? То есть, например, я понимаю, что вот у меня есть продукт, да, он какую-то хочет штуку, о'кей, мы ему там запилили. Как какая-то платформа может в этом помочь? Смотри, типа дьявол в деталях так же приблизительно, как в Интеellдже, да? То есть не то чтобы не то, чтобы мы придумали что-то, что никто другой не придумал до нас. Вот история в том, чтобы интегрировать всё очень тесно и простроить вот эти вот связи, связи от Ну давай, ты написал код, ты дальше этот код, у тебя он компилируется. То есть, ну, у нас собрался, плойно, да? Да. Ну, у тебя, наверное, сначала он попал куда-то там, не знаю, в артефакты, потом эти артефакты раскатились в продакшн, потом с продакшена пошли логи, в этих логах есть какая-то информация о том, что вот на самом деле ты там напрограммировал. Вот. И идея в том, чтобы построить глубокие связи от ну платформы, да, чтобы простроить эти глубокие связи и дать их по тому, как там то, что продукт на придумал своей идее изначально, то, что просочилось в тикет, то, что потом просочилось в пиар, то, что потом просочилось в артефакт, то, что потом задеплоилось, там пройденные тесты и то, что потом оно оперируется в будуще, ну, оперируется, оперируется, что за слово такое? Опереate, короче, развёрнуто в облаки, в общем, посылает телоги, телеметрию. вот этот цикл обратной связи сделать максимально быстрым за счётки и исправление показать у вас что-то идёт не так у вас вот в этом кусочке кода вот что-то не так хотите исправить да хочу исправить вот у вас здесь там security хотите исправить хоти хочу исправить вот типа ты сжимаешь максимально вот этот time to marкеet да называется time to marкеet вот максимально уменьшаешь вот этот вот вот эта история про то что если типа вы пользуетесь нами а не пытаетесь сами там соорудить какой-то колхоз из инструментов у вас всё суперма максимально связано, и ваша Ишка вот из этого максимально связанного сможет ээ в общем вам помогать быстро всё делать, да, ребят, то слушает тоже накидайте, так сказать, пистонов на те на эту тему. У меня вот вот так вот так, да, у меня потому что всё равно есть сомнения. Мне кажется, это какой-то особый корпоративный кейс, то, что ты описываешь. Смотри, ты говоришь какие-то логи, а мы же говорим про бизнес. Причём тут логи? у тебя выкатывается какая-то штука там вообще, скорее всего, JS в Google в Google тегмендре или, кстати, сейчас в Яндекстек-менеджере на него переходим. Но это правда, потому что закон обязывает, а у тебя там вообще внешние скрипты, внешние системы, которые, ну, понимаешь, да, это аналитика BI там и так далее. Поэтому я всё равно не понял этой связи. То есть продукт и когда ты говоришь про код, я ещё понимаю, о'кей, что там какая-то дополнительная продвинутая аналитика, а что-то можно увидеть по логам, наверное, даже. Кстати, я об этом никогда не задумывался раньше. Действительно, ведь получается, что эта фигня может анализиро какая-то фигня может анализировать логи, смотреть изменения в коде, которые были, строить какие-то связи и давать какие-то рекомендации, советы. Это, кстати, интересно. Я об этом не думал, но это всё равно не связано с бизнесом вообще никак. Это связано просто с техническим поведением. У тебя приходит продукт, он даёт какую-то идею. Пускай мы даже вот давай развяжем продукта и человека, да, который, ну, и технаря. У тебя продукт какую-то идею закидывает, технарий её реализует, она дальше попадает в прот. Типа смысл такой, ну не знаю, вот у меня сейчас я сам, я сам программист, мы сами себя используем, но типа я бы хотел, чтобы мои задачи, которые мы там как продукты придумывались, я бы очень хотел, чтобы мы их сделали в два раза быстрее. Причём не просто программирование, я хочу, чтобы мы это типа и задачи раскатки, и сэршки, вот, и всякая организация труда там в тикетах, чтобы всё это происходило в два раза быстрее. Ну, то есть пример, вот мы в Яндексе, да, посмотрели, на что тратится время сейчас. Там ты, наверное видел эти исследования все. То есть, ну, там мы считаем, что вот на все задачи, связанные с кодом, там код Revюw, код дебагом, всё такое - это 45%. Вот. Ну, где-то эта цифра плавает там от 30 до там 45% на И вот здесь просто за счёт разных инструментов мы бы хотели за счёт платформы для разработки мы бы хотели на 30% это ускорить. Вот. Берём следующую задачу. Задача поиска информации. Вот поиск информации. ты когда прости, на 30% это было 45, стало 30 примерно, потому что 30% - это как раз 10. Типа типа того, да. Ну это вот такой таргет на этот год стоит. Вот. Э соответственно берём следующую задачу, там поиск информации, да, ты просто у тебя есть какае-то окошко, ты вводишь там расскажи мне, как как выглядят Яндекспробки, почему Яндекспробки, как они выглядят в Москве, как они выглядят там в дру в других городах. Тут, кстати, прикольный кейс. Недавно слышал, чуваки, а, сказали, какие-то чуваки на форуме написали: "Так как Яндекс имеет договор с правительством Москвы, да, вот с Собяниным лично, он им сказал: "Не показывать пробки выше шести баллов". И они подкрутили все алгоритмы. Вот чушь полная, это понятно. Но у меня коллега решил проверить. Он зашёл в нашу штуку, которая называется deep Research Agent. Вот. И говорит: "А, а правда ли, что в Москве мы не показываем пробки выше шести баллов?" Эта штука пошла, значит, внутрь, ну, внутрь в код Яндекса. Там не сорсха используется, а там внутренняя система. Вот пошла, изучила код, показала, предъявила доказательство, говорит: "Нет, смотрите, вот код в Москве, вот код для других городов". Всё честно, мы так не делаем. Вот, короче, одна из типичных историй по поиску информации, да? Вот эту штуку можно ускорить. Ну, там опять же таргет стоит, насколько я помню, в два раза стоит ускорить. Следующий кейс, работа сRE, да, вот эти железные железные девопсы, железные сRE, там ускорение, там работа тестера, там ускорение. И вот ты как бы вот это весь цикл производства, вот эти разные профессиона. Ну, короче, через Ишку начинаете соединять, да, в двух словах, если Ну ты упростил, конечно. Ну я упростил, да. Короче, давай давай метафору, можно метафору накину. Что такое Ишка? Сейчас посмотри, типа, вот сейчас тебе говорят: "Вот там железный разработчик, желет разработчик, который будет: "Я, короче, считаю, что Ишка - это типа твой экзоскелет". Вот я недавно посмотрел видос на Ютбе, чел надел экзоскелет, это такие такие две полоски железки, и пробежал марафон, кажись, там на несколько на несколько минут быстрее и в гору забежал немножко быстрее. Вот как бы экзоскелет, который просто упрощает твои типичные твою типичную работу, причём не только программирование. Ну вот вот так. Ну это, кстати, классно. А, кстати, вот про это же вообще можно сказать вообще. Когда, например, вспоминают PHP разработку, помнишь, вот все были PHP разработчиками, я начинал как PHP разработчик. Казалось, что мир вообще - это PHP. У тебя водпрессы, у тебя дпалы, у тебя там, ну, много чего там, был на нём, агенты какие-нибудь ребята сделали. Ну, кто-то, подожди, кто-то, кто-то на нём написал свою социальную сеть, даже не одну. Мой круг. Я, например, с Димой Котеровым знаком, который мой круг в Яндексе написал. А, короче, много всякого разного там понаписали. И, мм, в какой-то момент всё это исчезло. И об этом не говорят. То есть вот, например, говорят о чём? Говорят о том, что вот ИИ сейчас нас всех заменит. А ничего, что PHP разработчиков э то есть и не настолько сделал вклад в замену разработчиков, сколько, например, сделали а платформы. То есть у тебя почему пропал PHP? У тебя почему Битрикс пропал? Потому что он что ли не нужен стал? Так потому что у тебя больше никто не делает свои собственные сайты. То есть раньше как было? Ты компания, тебе надо делать сайт. Ты уверен, что Bтрикс пропал? Ещё как. Я потому что с этим рынком связан очень сильно. То есть BТриx у тебя остался Bтрикс 24. То есть у тебя Bтрикс как компании, которые занимаются продажей битрикса, сопровождением и так далее, это очень-очень маленькая часть их бизнеса. И она ушла. Почему? Потому что если раньше ты открываешь любой корпоративный сайт, это Bitриx, то теперь у тебя любой корпоратив вопер стой, во-первых, всему малому бизнесу у тебя раньше, чего WordPress, PHP, там тра-та-та-та-тата, у тебя сейчас, опять же повторюсь, Тильда, не я не этот не рекламная интеграция, но просто потому что мы сами пользуемся, мы знаем, что весь рынок сидит на Тильде и подобных инструментов, но она просто номер один. То есть, например, Тильда настолько изменила рынок, что у тебя появилось даже понятие профессия Тильда дизайнер. Прямо существует такое понятие, да, и вот мы им пользуемся им услугам. Поэтому любой сайт, на который ты заходишь, если это не Gеткурс, это Тильда, либо опять же, мы берём eко. Я вот, например, в 2007 году интернет-магазины на заказ делал на PHP. Много для всяких разных э ребят, где всё это, это всё теперь тоже на маркетплейсах. Я вот просто к тому, что вот эта штука, она гораздо больше изменила мир и гораздо больше дала. Поэтому получается попытки убрать вообще программирование как таковое работают. Вот именно такие, когда готовятся платформы. А вот то, что ты говоришь, пока ещё мир не видел таких изменений. Вот я, наверное, какую мысль хотел сказать. Я имею в виду, что фундаментально сдвига ещё не было. То есть разработка так или иначе плюс-минус тут чуть лучше, тут инструмент, тут тебе докер дали. Но а пока то, что по-настоящему сработало, это когда, в принципе, уходит IT. Вот его просто нет. У тебя есть платформа, и те именно платформа не техническая, а человеческая, да, и она ушла. Всё, и у тебя как бы просто рынок PHP исчез. У тебя исчез рынок разработки интернет-магазинов на заказ там и так далее. Вот я про что. Смотри, короче, для меня это выглядит так, что у тебя любая технология, там приходят какие-то пионеры, да, вот там, не знаю, копать, короче, какие-то высоко интересные чуваки, которые копают гору вот с помощью молотка. Потом приходит какая-то уже более серьёзная экспедиция, которая копает. Потом приходят люди, которые там разбивают постоянные лагерь, а потом приезжают люди, которые, значит, строят город. Вот. И таунпленеры. И как бы четыре разных типа людей. И у тебя любая технология, она становится в какой-то момент комдити. Когда она становится максимально коммодити, она, ну, как бы инженерия оттуда пропадает, становится, ну, у тебя всё становится на определённые рельсы. Наверное, ты сейчас описал судьбу практически любого любой профессии, где не требуется вот какая-то костомщина, инженерия и тд и тп. Вот. Появляются, не знаю, там что у нас, прости, господи, это самое визуальное программирование какое-нибудь там N8N и тд и тп, наверное. Со временем, со временем всё больше и больше областей и ниш, они будут превращаться вот в такие вот платформы для нетехнических людей. Вот. Но ниша для технических людей, вот, то есть там, где тебе нужна глубокая кастомизация, именно код писать, чтобы что-то что-то поменять. Вот она, ну, гигантская. Я как бы я не думаю, что нас заменят и в обозримом будущем. Вот я считаю, что и - это как это и - это помощник программиста.
такой надо сравнивать не человека и и а человека вместе с и и вот и уже тогда смотреть, стоит ли тебе брать такого работника или нет. Это да. Вообще про эти платформы, есть же целый набор решений, которые идут ещё дальше, которые говорят: "А давайте вообще не будет ничего, мы прямо целый сайт, ты вот прямо генеришь, тебе он деплоится, разрабатывается, lavable, по-моему, и так далее". Ты считаешь это всё игрушки или всё-таки это серьёзный инструмент? Смотри, мне кажется, что сейчас очень многие наелись тем, что вот они по описанию получают сайты и дальше с ним ты ничего делать не можешь. Если ты можешь миру предложить вариант, когда ты быстро сгенерил прототип, а потом этот прототип можешь там шатать туда-сюда, модифицировать, вносить или вносить изменения. Вот. А а лучше, когда не только в прототип, но ещё в существующий проект, вот, то это уже перестают быть игрушками. Как-то так. Ну и, кстати, можешь посмотреть Lava был, по-моему, супер популярен. Lava был там V0 def и тд и тп. Короче, сейчас давай. Так, опять же, мой прогноз, что мы проходим фазу от игрушек в продуктивность. Вот так вот. Ну, ты считаешь, они выживут или им всё-таки придётся открывать коду какой-то доступ становиться инструментом для разработчиков или есть ниша для таких инструментов? Ну, в V0 вполне себе он там открывает доступ к коду, конечно. Да. Просто мне казалось интересно, дойдёт ли всё-таки до точки, когда, ну, у тебя действительно это будет рабочий инструмент и можно будет что-то генерить. Объясню, почему для меня меня это тоже волнует и как-то я с этим сталкиваюсь. Вот у меня есть партнёр по бизнесу, да, казалось, вот мы вместе. Но он не программист, и он отвечает за коммерческую часть, как бы на проекте. Я запродуктовым, за коммерческую. И каждый раз я ему рассказываю, я говорю: "Да всё нормально, не переживай, не заменит" и так далее, потому что он насмотрится, наслушается и говорит: "Кирилл, ну смотри, вот же я говорю". И я такой понимаю, что ну как вот мне объяснить человеку, когда у тебя живой проект, там сервера, инфраструктура и так далее, и ты такой яишке дал возможность что-то там поправить, написать самому миграцию, там запустить её, например, то есть или, например, что джуны не нужны. То есть какое-то восприятие часто такое. Ну, опять же, это как-то вот подаётся в новостях ещё где-то, что джуна как будто только беру, чтобы тупую работу делать. Хорошо, ладно, я вместо джуна вот буду сидеть оперировать пятью этими штуками. Ну, во-первых, я тупой становлюсь. Во-вторых, вообще-то есть задачи, которыми надо заниматься. Да, смотри, давай так. Типа в твоём бизнесе, если что-то идёт не так технической части, кто ответствен и или ты? Ну, понятно, что мы всегда отвечаем, да. Как бы отвечает всегда человек и не отвечает. Вот в чём дело. Так он и не делает. То есть у тебя и - это не не штука, которой ты можешь сказать: "Привет, как дела? на совещание. Так, давай ты вот сейчас это сделаешь. О'кей, договорились. Завтра завтра покажешь. Вот у меня почему-то ощущение, что не технические люди часто себе так это представляют, этот мир. Я говорю сейчас, сейчас, да, они представляют его так, это ещё не так. Степень автономности будет повышаться, как я говорю, да, ну, со временем. Вот, может быть, не не совсем вот как как ты говоришь на совещании, но она будет повышаться, но как бы фишка в том, что конечную ответственность за технический продукт несёт человек. Вот почему его отсюда нельзя исключить. Спрашивать будут с тебя. В этом идея. Но даже в этом случае у тебя не получится иксов, что типа давайте уберём одного только главного оставим, а всех остальных уберём. Нет, конечно, потому что, ну, но скорее всего, как бы давай так, претерпевать изменения программирования будет, будет состав команд будет претерпевать изменения, будет, может быть, будут как бы высокопроизводительные умные специалисты, ну, их станет меньше. Возможно, вполне. Есть обратное мнение. Очень часто, когда технологии становятся более доступные, у тебя врывается ещё больше человек. А я могу усилить это заявление таким. Те люди, кто себя сейчас называют программисты, включая, например, меня, я уверен, что ребята из восьмидесятых, а в нашу сторону бы даже не посмотрели и сказали бы, до чего довели область. Они там не понимают, как, значит, регистры работают, да. Но смотри, типа, и сейчас нужны чуваки, которые понимают, как работают регистры, да? Просто их нужно довольно мало. Они там, ну, у них ниши там сузились, там это имбедут и всё такое вот. Ээ, хотя, может быть, я тут тоже не прав. Может быть, как бы такое количество сейчас стало. Я, кстати, не знаю, может быть, на самом деле программистов, которые знают, как работают регистры и ассамблеры, их стало даже больше, чем сколько, ну, тех, сколько было восьмидесятых, но в процентом отношении от общего абсолютно людей выросло. Да, да, да, да. Их стало меньше. Это правда. Вот. Но как бы я тут, я говорю, мой поинт, он именно в ответственности, потому что типа, ну, ты с и никогда ничего не спросишь. Удивительно, да, что каждый разговор так или иначе к этому сталкивается. То есть в любом случае, что бы не происходило, всё равно будущее только с этим все связывают. И в общем-то никаких альтернатив. Почему есть альтернатива? Вот недавно вышел там Java enhancement JP такой ээ про квантовое шифрование. Вот скоро будут квантовые компьютеры, так что нам пора по ходу немножко по-другому шифровать наши алгоритмы. А ты имеешь, которые очень быстро будут крякать все эти алгоритмы? Да, конечно. Да, да. Вот для меня это всегда какая-то фантастика была. Реально что-то уже происходит? Да, конечно. Вот я же говорю, GP появился. То есть это прямо реальный реальный документ вот типа RFC, только в Джаве. Вот есть, не знаю, что там ещё. Нирочипы. Вот следующая тоже большая революция. О, роботы человекоподобные. Ты знаешь ну сейчас идут мно много споров, кого вот кого первее заменят: массажиста, да, или программиста. Ну, и кажется, что массажисты выживут лучшим. Вот я слышал, что в Кремневой долине там программисты уже своим детям говорят: "Становитесь столярами, там, не знаю, электриками и тд и тп". Врут, наверно. Это всегда здесь актуально было, я тебе хочу сказать. Вон я чувака позвал мне починить. Что-то там с проводом случилось в этой, господи, как посудомойке. Причём это дефект прямо. То есть они мне это сделали за гарантию. Я я его спросил, я говорю: "Слушай, а сколько бы это стоило, если бы я тебя просто так позвал?" Он говорит: "300 баксов, не считай детальки". Я говорю: "Ну зашибись". У чувак не пропадёт, короче говоря. Так вот, э, на самом деле, ээ, чувак, который, ну, как бы чуваков, которые напишет код сейчас, давай так. Вот, э, ишка, которая пишет код, её сделать сильно проще, чем и железный робот, который пойдёт, нальёт чашечку кофе тебе и принесёт. Вот тоже следующая большая революция. Ну, то есть железные роботы. Что ещё? Не знаю. Много чего происходит. Медицине что-то происходит. Не знаю, почему все следуют будущее СИ. Ну, я имею в виду в конечном итоге, что она будет, потому что, я думаю, большой прорыв - это как раз локальный запуск и возможность никуда не ходить в облако, если у тебя всё будет очень быстро работать и модель. А ты имеешь в виду, когда когда когда у тебя появятся на ноутбуке быстрые модели? Вот в это я верю, что да, там, ну, не знаю, пару-тройку лет, наверное, ты будешь независим. Вот. Ну и плюс там опять же твой компьютер, ну, как вот, как ты говоришь, терминалы, да, всё автоматизирует на твоём компьютере, ты будешь только по-английски писать. Вот. Не знаю, к чему это приведёт в итоге. То есть, э, то, что ты сейчас не знаешь ассемблер, насколько тебе мешает программировать? Ну, какой-то ассамблер я тыкал когда-то, да, но да, это, конечно, вообще неважно. Смотрите, немножко отвлечённый вопрос. Мне знаешь, что интересно? А на каких технологиях вы эту штуку пишете? Го, немножко котлина, весь фронт на тейпскрипте, кваркус на котлине, на го. Ну, там понятно, что связи связь всё связывается через grpc внутри. Вот. Ну и всё это развёрнуто в самом Яндекс-облаке, то есть на технологиях облака. Вот. Ну там немножко. То есть вы просто приложение в этом. Мы просто сервис в этом плане, да? Просто сервис, да? Да. А Front TypescriptриP плюс что? Ну, React там. Ну и там собственный фреймворк называется Data UI. Вот он там есть на гитхабе. Как будто мне кто-то про это рассказывал. Всё облако на нём написано индексовое. Серьёзно? Да. Ну там вот, может, слышал гравити такое слово. Вот у них точно. Блин, с кем-то я это обсуждал точно. Я вот сейчас вот не помню уже, но кто-то мне что-то рассказывал. Это на базе чего-то или своя собственная историческая какая-то Не, ну на базе понятно, что там на базе, конечно, там не очень не с нуля это всё писалось, но но воко, оно выглядит так, как выглядит, и компоненты там такие, какие компоненты, потому что есть единый фреймворк на всё облако. И на самом деле даже прикольно в Яндексе юайные команды, да, они вот у нас не кроссфункциальные команды, там фронтендеer, backender менеджер и так далее. То есть UI - это всегда исторически одна команда под одним человеком. Вот. И за счёт этого обеспечивается консистентность юая во всех продуктах облака, инфраструктуры. Вот Source Craft в том числе. Мне кажется, это правильно. Это болезненная всегда тема, да, потому что когда обеспечивает всё это добро. Другой вопрос, что скорость изменений при этом вообще микроскопическая. Плюс вы же всё-таки, ну, давай по чесноку, наверное, не столько вам лет много, чтобы выглядело стрёмно. То есть всё равно это делась на относительно нормальных технологиях, потому что ну тот же самый, сколько реак много лет, да? Потому что я знаю ребят, которые там ещё во времена ГВТ начинали, когда вот им уже всё, они в полной жопе. Ну слушай, ну можно, а ты имеешь в виду, что ребята типа написали весь свой продукт на ГВТ, уже никуда не переехать? Ну там просто нет шансов, да? Ну да, пожалуй, что я соглашусь. Слушай, ну всегда появляется что-то новое. Пока пока всё красиво выглядит. Вот, может быть, когда-нибудь и переедем на новое. Ну зачем? Работает быстро, хорошо. Народу нравится. Вот вы, вот вы, например, используете используете мы мы с поддержкой регулярно переписываемся, какие-то проблемы решаем. Не, нормально жить можно, да, в этом плане всё всё более-менее. Слушай, а скажи тогда, зачем Гошка? Ой, в смысле, Котлин, если есть Гошка. Хороший вопрос. Мы, короче, изначально выбирали между этими самыми языками и выбрали Гошку. У нас были ребята с бэкграунда питона, поэтому они сказали: "Только не питон". Ну, я сам бы не разрешил, конечно. Вот поэтому выбрали Гошку. А потом к нам пришёл один парень, который очень хорошо умеет фигачить на котлине. Вот. И он сказал: "Блин, ребят, вот давайте вот всё, что связано с обсеком, мы будем делать на котлине". Говорит: "Ну как же там, давай всё ного там всё такое". Говорит: "Ну, ребят, вот вы хотите, чтобы я был там X3 продуктивность, да, или X05 продуктивности." Ну, подумали, решили, что это важнее. Вот. Плюс у нас там ещё появился ещё от другой команды, от Снежников появился небольшой модуль на котлине. Короче, вот так потихоньку котлин вполз в нашу жизнь. Мне, знаешь, что напоминает такая маленькая история? Я работал с ребятами, у которых Оракла было очень много, и они хотели перейти на Джаву. И для того, чтобы им легче было переходить на Джаву, в команду, в которой, э, были вот джависты, помещали одного роклиста для того, чтобы он подсказывал, что происходит там. Угадай, к чему это приводило. Он делал так, что затаскивал в оракл всё, что делали джависты для того, чтобы, ну, он же ораклист, и он, соответственно, туда уходил. Поэтому получается, что его добавили для разгрузки Оракла, а он в итоге делал так, что команда писала вся туда, и Java только снаруже просто вызывалась. Вот такие вот весёлые. Ну бы бывает и такое, да. Ну, короче, посмотрим, к чему это приведёт. Это пока очень классный, смелый эксперимент. Не все им довольны, сразу скажу. Ну да, у меня тоже говорю я верю в то, что какой-то своя альтернатива, своё решение, где нужно хранить код. Это очень логичный шаг. Вообще тут никаких вопросов. А дальнейшая история? Ну да, это как вы там будете соревноваться, будем смотреть. Я только просто, чтобы за развитие всего этого добра. А я вот периодически тоже этот копай тыкаю именно на сайте, пытаясь понять, что он вообще может. Я ему говорю: "Ну-ка поменяй мне тут что-нибудь". Он такой: "Я не могу поменять". Просто рекомендации даёт в этом плане. Конечно, те у меня у меня лапки. Дада. Да. Я такой: "Ну о'кей". Вот посмотрим, к чему это придёт. Да, Дим, большое тебе спасибо, что пришёл, поделился своим богатым опытом и раскрыл тайну, так сказать, редакторов с то в Джедуренсе было. Мне супер было интересно всегда эту тему обсудить. Мы на пороге чего-то нового. Кирилл, спасибо огромное, что ты что меня пригласил. По-моему, у меня в первый первый подкаст в жизни или что-то такое. Ну или я уже забыл. Вот. Короче, было супер интересно. Ребят, напишите, что вы об этом думаете. Развитие, так сказать, вот этой всей яишней штуки. Все те проблемы, которые мы сегодня обсуждали с иишками, с редакторами и так далее. Интересен ваш опыт? Один ли я такой с тем, с чем я сталкиваюсь? Любите ли вы или Intelligджи? А, ой, мне кажется, да, это прямо нужно прямо устроить устроить опрос. Кто за Vim, кто за Intelligдже, да, там кто кто кто за Rub, кто за котлин, но им Vim, кстати, вот практика показывает примерно вот мы говорили про Linux, там от 1 до 4% он занимает Вим обычно, сколько я видел во всех таких опросах порядка 7%. Так что мы, в общем-то, не в меньшинстве, мягко говоря. То есть, по-моему, даже, кстати, по списку редакторов там чуть ли не второе или третье место он занимает после войскода и продуктов Jet Brains. Е, я найду где-нибудь, я покажу, да, этот этот списочек. Всем спасибо, всем пока. До новых встреч. Счастливо.