I23: A. S. Medvednikov | The V Programming Language - simple, fast, safe, compiled, Open Source

  Рет қаралды 9,466

Yegor Bugayenko

Yegor Bugayenko

Күн бұрын

Пікірлер: 118
@yegor256
@yegor256 7 ай бұрын
Подпишись, будь среди лучших! t.me/yegor256news
@vremennonado
@vremennonado 7 ай бұрын
Жалко, что Александр так и не ответил толком, как он учился (в его случае самообучался), что именно делал на работе, как вообще докатился до жизни такой. А в целом супер-гость, конечно, и отличное интервью. Егору большой респект, помимо всего прочего, за то, что всегда внимательно слушает ответы, не останавливает и не перебивает, не пытается умничать типа "да я сам в теме, у меня вон свой язык тоже есть, я тоже крутой". Тактично, корректно , отличные вопросы. Резкий контраст в этом плане на фоне, например, АйТиБороды - пару интервью у него смотрел, тяжело далось.
@VLang
@VLang 7 ай бұрын
Первый ЯП написал в 13 лет по книге земляка Сергея Свердлова "Языки программирования и методы трансляции". В 2012 устроился вебдевом, в 2014 написал архитектуру стартапа с нуля на Go, тогда ещё новом и малоизвестном языке. Язык понравился своей простотой, но многого не хватало. Поэтому в 2018 написал свой язык V, в 2019 переписал его на самом себе и заопенсорсил.
@vremennonado
@vremennonado 7 ай бұрын
@@VLang полистал книгу, фактически это добротный ВУЗовский учебник. В13 лет такое осилить и что-то своё работающее сделать - это, конечно, мощно) Я, по-моему, ещё в трансформеров в этом возрасте играл
@VLang
@VLang 7 ай бұрын
@@vremennonado да, много вузовской математики я не понимал тогда, но код был прост. Надо будет выложить на гитхаб мой ЯП, который я написал по этой книге :) Книга хорошая, жаль не было AST. Но в те времена писали однопроходные компиляторы, думаю из-за этого.
@grosspavel
@grosspavel 7 ай бұрын
Супер интервью. Спасибо. Идеи и путь развития языка очень правильные. Уже пробую 👍
@ТимурГарифулин-ш5з
@ТимурГарифулин-ш5з 7 ай бұрын
Очень интересное интервью, однозначно лайк!
@TemLetom
@TemLetom 7 ай бұрын
Очень крутое интервью. Спасибо! Simplicity is the ultimate sophistication.
@diyorbek5664
@diyorbek5664 7 ай бұрын
Интервью получилось крутым, спасибо!
@sergei_vasilenko
@sergei_vasilenko 6 ай бұрын
спасибо за интервью, очень понравилось. Буду следить за языком и ОС
@Belton1111
@Belton1111 7 ай бұрын
Спасибо. Отличное интервью, крутой гость.
@plasticsurgeon5062
@plasticsurgeon5062 7 ай бұрын
Nice interview. Keep up the work, Alex!
@albertabdullin7635
@albertabdullin7635 7 ай бұрын
крутой парень. Видно, что в голове порядок. Егор, когда кто-то будет доказывать, что он сеньор, скинь ему ссылку на это интервью)
@Anton-nq8po
@Anton-nq8po 7 ай бұрын
По критериям Егора минимум мидл
@cyberbiosecurity
@cyberbiosecurity 7 ай бұрын
спасибо, ОЧЕНЬ интересная беседа.
@vladimirmigalkin9464
@vladimirmigalkin9464 7 ай бұрын
Как обыно интересно. Спасибо Егор.
@nick322
@nick322 7 ай бұрын
Я под впечатлением. Спасибо!
@vacsa
@vacsa 7 ай бұрын
Simple but not easy! Отличный гость, без фона, понтов, бороды, смузи и прочей шелухи современного "набивания репутации и раздувания щек"- пришёл, увидел, победил!
@Vitalik1223
@Vitalik1223 7 ай бұрын
Прекрасное интервью, легко прям прошло, спасибо!
@apollon4eg
@apollon4eg 7 ай бұрын
Спасибо, было интересно, нам нужно больше интервью 😀
@t0digital
@t0digital 7 ай бұрын
Спасибо за интересное интервью! Смотрел со включенными субтитрами (не всегда разбирал слова Александра) и обратил внимание на то, какие качественные субтитры, со знаками препинания и правильными словами. Где их готовили? Ютуб пока так не умеет.
@VLang
@VLang 7 ай бұрын
На последующих интервью буду с более хорошими микро/камерой и буду более внятно говорить :)
@yegor256
@yegor256 7 ай бұрын
это мы ручками, с вниманием к каждому слову!
@t0digital
@t0digital 7 ай бұрын
@@yegor256 воу! Огромное уважение вам. Пожалуй, тоже стоит так делать.
@t0digital
@t0digital 7 ай бұрын
@@VLang если нужна консультация по этому вопросу - с удовольствием!
@Pablo_Str
@Pablo_Str 7 ай бұрын
Очень позитивный и интересный собеседник! Жаль звук не очень.
@awakeyprime5196
@awakeyprime5196 6 ай бұрын
95% того что говорит гость не понятно, но через экран передается то насколько он хорошо в этом разбирается, буквально дышит этим, и это завораживает :)
@alexjohnson5893
@alexjohnson5893 7 ай бұрын
Автору языка V большое спасибо. Желаю, чтобы язык реально "выстрельнул"!
@yegor256
@yegor256 7 ай бұрын
мне кажется, он уже выстрельнул)
@neophron197
@neophron197 7 ай бұрын
@@yegor256 щас время такое, нужно что-то русское)
@OCTAGRAM
@OCTAGRAM 7 ай бұрын
16:23 «Очень сильно настраиваемый» Garbage Collector в Java как переключить в режим подсчёта ссылок? В Objective-C 2.0 такое переключение было доступно.
@VLang
@VLang 7 ай бұрын
Ну в яве он всё-таки tracing, а не rc. Совсем другой тип. В objc как раз используется rc, tracing нет. По моему опыту tracing в большинстве ситуаций лучше, но не всегда. Было бы достаточно просто добавить шестой способ mem management в V (rc) для тех, кому он нужен.
@OCTAGRAM
@OCTAGRAM 7 ай бұрын
@@VLang ARC суть один из способов сделать GC. Тот, кто запускает Яву, лучше знает, какой он хочет GC, и один из вариантов должен быть ARC. Используя Javolution, можно получить ARC, ну а почему-то в generic JVM нет. В Objective-C не было TGC, потом его добавили, потом выпилили.
@OCTAGRAM
@OCTAGRAM 7 ай бұрын
@@VLang И я ещё подумал. А это шестой ли способ? Или это всё же разновидность gc. Может быть, не считать его отдельным способом, может быть, не разделять так уж сильно. Использовать одну и ту же пометку, но авторы могли бы оставлять предупреждения, что в их коде есть барон Мюнхгаузен, вытаскивающий себя за волосы из болота, и для утопления барона нужна именно трассирующая разновидность сборщика мусора. И если нигде в библиотеках нет баронов, то библиотеки можно собирать и так, и этак. С другой стороны, есть персистентные структуры данных с копированием при записи, с копированием пути, и у них подсчёт ссылок может давать преимущества настолько мощные, что надо считать ссылки даже при управлении памятью трассирующим сборщиком мусора. Но сразу вопрос, а если мы точно знаем момент потери актуальности, то как можно устоять от соблазна тут же и убить. Если трассирующая сборка мусора без компактификации, то хочется сразу и убить.
@VLang
@VLang 7 ай бұрын
@@OCTAGRAM tracing gc & rc слишком разные, чтобы объединять их. Но это моё мнение. Сейчас до сих пор идут обсуждения на эту тему.
@OCTAGRAM
@OCTAGRAM 7 ай бұрын
@@VLang В тот период, когда в Objective-C 2.0 было возможно и то, и другое, они не разделялись синтаксически. Были только в Mach-O флаги выбора режима. В Modula-2+ были переходы между ARC и TGC. В RemObjects Oxygene на многих платформах, к сожалению, применяют TGC. На JVM и CLI, конечно, понятно, что это выбор против воли программиста, но в RemObjects Oxygene и натив, к сожалению, так сделали. За исключением макос. На макосе бэкенд Noughat использует родной для макоса подсчёт ссылок. Там TGC нет. А транслируется с одних и тех же исходников. Можно ещё Cyclone вспомнить. Там ARC и TGC вводились как специальные регионы. Были регионы с ограниченным временем жизни, а были два глобальных региона. В Cyclone регионы параметризуют struct, а внутри struct регионы-параметры специализируют те или иные указатели. Через разную параметризацию можно переключать способ обработки.
@olekollo7875
@olekollo7875 6 ай бұрын
13:58 хотелось бы чтобы в VPM был поиск по ключевым словам и как-то упорядочить название пакетов а то в названиях как-то беда кто во что гаразд...
@pant9r
@pant9r 7 ай бұрын
Читаешь issues на GitHub - и все как говорил Егор про хейтеров в opensource. Интересно было бы послушать как Александр будучи единоличным создателем выдерживает этот напор от критиков. Про volt еще интересно подробнее услышать, также про то, почему название языка звучит как Vi, а Volt как Vault 😅
@MatthewJankins
@MatthewJankins 5 ай бұрын
Критика частично оправдана как я понимаю из-за того что было несколько обещаний в начале которые не были сдержаны насчет того же GC например. Хотя обороты хейта не оправданы в целом конечно
@AT-gg2xp
@AT-gg2xp 7 ай бұрын
Сорян, если комментарий продублируется, походу гугл его дропает из-за ссылки. Спасибо Егору и гостю за интервью! Круто было бы вторую часть увидеть. Хорошо бы Эндрю Келли позвать на интервью. Есть ли статьи про "кишки" V? Интересно было бы про трансляцию. Есть мнение, что ни в одном из ЯП работа с ошибками не сделана прям идеально (ссылку попробую ниже оставить). Были ли амбиции задизайнить что-то идеальное?
@vadima8602
@vadima8602 7 ай бұрын
Конечно было бы еще интересно пораспрашивать про конкретные фичи, например channel как они реализованы? Как только в язык добовляется concurrency, многое может поменяться. Ведь хотят делать эффективный язык, значит нужно хорошо использовать ресурсы всех ядер, однопоточные программы писать можно на любом языке достаточно быстрые. Посмотрим 🧐
@Ddiidev
@Ddiidev 7 ай бұрын
🇧🇷 Eu trabalho com C# a 6 anos, porém a dois anos que meu github está cheio de código V, estou amando a simplicidade que se consegue iniciar um projeto e ainda manter o sistema saudável.
@VLang
@VLang 7 ай бұрын
Glad you like the language!
@manOfPlanetEarth
@manOfPlanetEarth 7 ай бұрын
@@VLang я что-то так и не понял, как язык-то появился. ты написал транслятор с Go на С, а V как появился???🤔
@manOfPlanetEarth
@manOfPlanetEarth 7 ай бұрын
@@VLang 2:30 "добавлю многопоточности" а куда ее добавлять? в транслятор? бессмыслица какая-то. и я в принципе не понимаю, как можно куда-то просто добавить многопоточности: например, в джаве чтобы понастоящему разобраться с многопоточностью, надо жизнь потратить - и это как пользователь☝🏼 а ведь кто-то эту систему разработал!
@manOfPlanetEarth
@manOfPlanetEarth 7 ай бұрын
@@VLang ты столько языков перечислил за выпуск - ты их все знаешь???? вообще твой бэкграунд в выпуске совершенно не раскрыт: чему и сколько времени ты самообучался и чем занимался на работе? такое ощущение, что ты просто с детства изучал разные языки как они работают на самом деле и сравнивал их. сколько тебе лет?🤔
@manOfPlanetEarth
@manOfPlanetEarth 7 ай бұрын
@@VLang 27:00 а куда движутся эти три ОС?
@АлмазИлалетдинов-м3х
@АлмазИлалетдинов-м3х 7 ай бұрын
Ждем выпуск про eolang)
@yegor256
@yegor256 7 ай бұрын
надо до V еще очень далеко) но мы стараемся!
@VLADrusLV55
@VLADrusLV55 7 ай бұрын
Вообще интересные направления в плане новых, простых языков, V, Nim, Zig (это то что только я знаю), но я так понимаю для них самое главное не уйти в бесконечное добавление фич и оставаться лаконичным. Может действительно нам больше нужен V lang 1.0, а не Python 4.0 с кучей кода разного качества и ужасным легаси. А на V lang переписать только самые нужные программы.
@VLang
@VLang 7 ай бұрын
Языков нового поколения (такой компилируемый Питон) типа Nim и V действительно много, но только V фокусируется на простоте. Из всех языков я бы ещё выделил Go как простой. Все остальные так любят добавлять всё новые и новые фичи, и многие до сих пор имеют ООП... :)
@DekaSoft
@DekaSoft 7 ай бұрын
​@@VLangа что такого плохого в ООП?
@artyomby4125
@artyomby4125 7 ай бұрын
@@VLang я б сказал ооп имеет их 😆 жаль только, что из всех один go пока ворвался в продакшены серьезные и то не без огромной помощи Гугла в пропихивании как только можно
@VLang
@VLang 7 ай бұрын
@@DekaSoft он элементарно не нужен. Все задачи достигаются без него без проблем. Лишь усложняет код значительно. У Егора на канале есть видео про это.
@DekaSoft
@DekaSoft 7 ай бұрын
@@VLang то, что без него можно обойтись - бесспорно. Как, на мой взгляд, и то, что во многих задачах ООП - это то, что доктор прописал. Видео Егора про ООП специально нашел и посмотрел - вообще не впечатлило. Такое ощущение, что он не до конца понимает суть ООП, при всем уважении.
@ИванБабенко-щ9т
@ИванБабенко-щ9т 7 ай бұрын
Это брат папича?)
@VLang
@VLang 7 ай бұрын
roflanZdarova
@nucluster
@nucluster 7 ай бұрын
Посмотрел на одном дыхании. Просто удивительно что кто-то пилит новый язык, когда есть уже зоопарк монстров индустрии.
@victorshagin5680
@victorshagin5680 6 ай бұрын
Здравствуйте Александр что думаете о статье "V Language Review (2022)"
@alexandermedvednikov2558
@alexandermedvednikov2558 6 ай бұрын
Старые баги в тайп чекере, которые давно были пофикшены. Можете проверить на online playground.
@Jonstonrich
@Jonstonrich 7 ай бұрын
Создание подобного языка - это как собрать вертолет в гараже. Все аплодируют до первого полета.
@yegor256
@yegor256 7 ай бұрын
вроде бы первый полет уже давно случился, и все продолжают аплодировать
@Jonstonrich
@Jonstonrich 7 ай бұрын
@@yegor256 на самом деле надо признать, чел крут!
@ВладиславГришин-ш7ш
@ВладиславГришин-ш7ш 7 ай бұрын
ЯП nelua тоже в Си код свой переделывает
@crutchmaster9637
@crutchmaster9637 7 ай бұрын
Были бы еще именованные параметры по дефолту (если их больше 1), чтобы не было необходимости лезть в сигнатуру и чтобы при изменении/добавлении параметров ничего не ломалось. А еще бы деструктивное присваивание, передачу параметров, мммм.
@VLang
@VLang 7 ай бұрын
именованные параметры можно сделать через @[params] структуры. Будет абсолютно то же самое: foo(bar:2, baz: 3).
@olekollo7875
@olekollo7875 6 ай бұрын
когда планируется стабильная версия?
@alexandermedvednikov2558
@alexandermedvednikov2558 6 ай бұрын
"When it's done"
@crutchmaster9637
@crutchmaster9637 7 ай бұрын
Интересный язык. Кастомные атрибуты только как делать я не понял из доки.
@VLang
@VLang 7 ай бұрын
пока никак, сделаем это скоро
@watermelon0guy
@watermelon0guy 6 ай бұрын
Появилось желание дипломной проект писать не на Rust, а V :D Но надо конечно обдумать это решение
@alexandermedvednikov2558
@alexandermedvednikov2558 6 ай бұрын
Это хорошая идея. Язык очень хорош для академки. Успешно используется профессором Computer Science в его курсе в Georgia University.
@watermelon0guy
@watermelon0guy 6 ай бұрын
@@alexandermedvednikov2558 работа не сколько академическая, сколько прикладная. Реконструкция поверхности по изображениям с нескольких камер. И всё это в динамике, чтобы отслеживать деформацию. Сам я не механик(область математики) :), а как раз программист, которого взяли на эту кафедру делать проект Но язык выглядит очень привлекательно И всё таки используя Rust, можно получить какой то опыт, который востребован в коммерческих проектах. Про V я пока такого сказать не могу
@crutchmaster9637
@crutchmaster9637 7 ай бұрын
На первый взгляд выглядит это все как язык, на котором можно писать, когда надо что-то написать на си и не отстрелить себе яйца.
@RomanShchekin
@RomanShchekin 7 ай бұрын
Наверное имелось в виду "компилируемый", а не "скомпилированный" 🤨
@VLang
@VLang 7 ай бұрын
да) калька с английского compiled, оба слова в него переводятся
@ВладиславГришин-ш7ш
@ВладиславГришин-ш7ш 7 ай бұрын
сокеты и libuv в нем есть или что то своё?
@VLang
@VLang 7 ай бұрын
сокеты есть, включая websockets
@ВладиславГришин-ш7ш
@ВладиславГришин-ш7ш 7 ай бұрын
@@VLang спасибо за ответ. а libuv или подобная (event loop, epoll) либа ? ffi ? и еще вопрос - допустим нужно хранить миллиард-полтора не больших строк, которые должны быть проиндексированы строкой из 11-12 цифр. nosql DB занимает много оперативы для миллиарда записей!!! Затем по такой структуре, нужно делать быстрый поиск строк, в несколько потоков. С использованием чего реализовать такое хранилище на V? производительность нужна более 60000 rps на чтение, чтобы было быстрее чем redis. web framework V потянет более 60000 rps - простые выборки (или записи) из nosql DB?
@СтаниславЧуриков-н5щ
@СтаниславЧуриков-н5щ 7 ай бұрын
Такой молодой а сколько мозгов, молодец!!!
@VLang
@VLang 7 ай бұрын
31 уж, почти пенсионер в IT :)
@СтаниславЧуриков-н5щ
@СтаниславЧуриков-н5щ 7 ай бұрын
@@VLang ого,а в 60 он будет grannyIT!?))))
@crutchmaster9637
@crutchmaster9637 7 ай бұрын
52:10 true fukkin story
@Izopropilen
@Izopropilen 2 ай бұрын
Вроде толковый парень, и подход серьезный (потому что после хакер-ньюза можно подумать что V это что-то на уровне BolgenOS). Но...что имеем: по сути Го с добавленными фичами и вездесущими mut'ами по всему коду, опять же GC (при чем хороший будет потом, а пока "good enough"), скорось тоже явно не сишная, скорее приближающаяся к Go. Мне кажется, четкого виденья нет, все как-то по инерции движется. Вот взять того же Руфуса(или как там его) который Nim делает, жесткий дядька, готов глотки грызть за каждую фичу, чтобы все было как положено (в его понимании) потому что человек по уму все продумывал изначально. А тут "ну добавим это, или это, а это вот уберем, может быть, а может быть и нет". Я считаю дебильной повсеместную претензию к новым языкам типа "а какая у вас киллерфича", но причина существования языка должна быть. А тут получается что в идеале это будет Go с энумами, самтайпами и мутами вместо var. Ну такое...
@BumatuHe
@BumatuHe 7 ай бұрын
Как в джазе только девушки - И вообще я не девушка.... Ну у каждого свои недостатки...
@dimitrobest5293
@dimitrobest5293 7 ай бұрын
я би порекомендовал Александру вийти на связь с англоязичними блогерами которие на своих каналах проводят онлайн интервью с лайв кодингом алгоритмами, все как положено, єто как раз дало би ему возможность попрактиковаться в плане навика интервюирования и поспособствовало популяризации язика. он даже может предложить писать решение алгоритма задачи на язике V. Ну и заголовки видео типа "Interview with V language creator" уже весьма кликабельни)
@VLang
@VLang 7 ай бұрын
Скоро будет интервью с американским подкастом.
@VLang
@VLang 7 ай бұрын
@ortsaslan Спасибо! Звук исправлю :)
@GrampusLee
@GrampusLee 6 ай бұрын
V一定会取得成功
@pin689
@pin689 7 ай бұрын
В "простом" языке аж 5 0_0 способов управления памятью. 5 ! Разве это просто
@VLang
@VLang 7 ай бұрын
По умолчанию GC, самый простой из возможных. Устроит 95% пользователей. Те 5%, кому нужны другие варианты, имеют возможность их использовать :)
@LANg.gg8
@LANg.gg8 7 ай бұрын
Язык будет популярный если его купит гугл или тесла какая нибудь. То есть иммиграция на запад и только в таком случае может быть он выедет. По принципу того же Котлина. Но если автор будет сидеть в изоляции от цивилизованного общества, тогда вся его работа и талант будут просто напрасными.
@yegor256
@yegor256 7 ай бұрын
на сколько я знаю, автор не живет в РФ
@ВладимирЧескидов
@ВладимирЧескидов 7 ай бұрын
И тут у семи восьмых человечества появились вопросы к автору комментария, считающему их нецивилизованными. Цивилизация - это принцип на котором строится и стоит государство. На Земле несколько цивилизаций и они с вами не согласны считать, что у них нет государств
@user-fg6ng7ej6w
@user-fg6ng7ej6w 7 ай бұрын
спасибо! отличная беседа.
@yegor256
@yegor256 7 ай бұрын
мы старались
LLVM в GPU компиляторах/Стандарты С++ (часть 2)
1:01:29
Истовый Инженер
Рет қаралды 9 М.
Антон Полухин - Грязные C++ трюки из userver и Boost
1:00:00
C++ Russia — Конференция по разработке на Cpp
Рет қаралды 6 М.
Hare Programming Language
1:39:25
Tsoding Daily
Рет қаралды 57 М.
Как делают и зарабатывают на Open Source
23:00
Senior Software Vlogger
Рет қаралды 91 М.