No video

Написал язык программирования с нуля. Как работает компилятор и препроцессор - IT_школьник.

  Рет қаралды 18,111

IT_Школьник

IT_Школьник

Күн бұрын

Сегодня я расскажу как работают языки программирования с точки зрения интерпретаторов, и компиляторов. Вы узнайте как компьютер понимает код, а
в конце я поделюсь тем, как я написал собственный язык программирования. А с вами
IT_школьник, всем приятного просмотра!
ССЫЛКА НА АРХИВ - disk.yandex.ru...
ССЫЛКА НА GCC - www.equation.co...
Архив я выложил на Яндекс Диск лишь по той причине, что это ещё не полная версия, которая будет дорабатываться в дальнейшем. А потом язык скорее всего пойдёт и на мой GitHub.
Небольшая поправка на 4:40 : ENTER - (13)

Пікірлер: 114
@IT_Shkolnik
@IT_Shkolnik 3 жыл бұрын
ССЫЛКА НА АРХИВ - disk.yandex.ru/d/qHIqBk7tJOc4Uw ССЫЛКА НА GCC - www.equation.com/servlet/equation.cmd?fa=fortran
@feviend8265
@feviend8265 2 жыл бұрын
Лучше выкладывать код на github. Там есть и комменты, ветки и всё такое. А в яндекс диске нету
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
@@feviend8265 я уже на гитхаб все выкладываю :)
@yessimovaindira8016
@yessimovaindira8016 Жыл бұрын
Ну Президента туркмении тебе не обогнать. Он единственный кто смог написать нейросеть на html
@timofdev
@timofdev 2 жыл бұрын
Никита, случайно наткнулся на твоё видео и у меня восхищение. Ты огромный молодец!
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Спасибо за приятные слова!
@ExPoSeS2811
@ExPoSeS2811 3 жыл бұрын
Спасибо, я понимал конечно что такое компиляции и интерпретация, но плохо. А теперь ты все разложил, и стало все понятно!
@IT_Shkolnik
@IT_Shkolnik 3 жыл бұрын
Я рад, что вам помогло моё объяснение! И конечно спасибо за комментарий, только так ютуб понимает что мои ролики интересны
@stalker32041
@stalker32041 Жыл бұрын
1:37. Разница между двумя строками в том, что верхняя хардкодится в исходник по адресу, а нижняя подменяет все a, которые появятся дальше по коду на 5.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Немного не так. Под верхнюю выделяется место на стеке как под обычную переменную, только её нельзя менять через её символ. А нижняя хардкодится
@stalker32041
@stalker32041 Жыл бұрын
@@IT_Shkolnik это же препроцессор... он конкретно подменяет во время работы дериктивы и их упоминания на результат. То есть все инклюды буквально компонуют несколько файлов в 1 перед обработкой остальной частью компилятора.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
@@stalker32041 дефайн - да, согласен. Под const память выделяется
@skill_x_8016
@skill_x_8016 2 ай бұрын
Боже мой, парень, ты просто невероятно хорош! Когда смотришь твои видео, понимаешь что нет ничего невозможного) Спасибо тебе огромное и удачи в развитии канала🔥
@GOALACTION
@GOALACTION 3 жыл бұрын
Слушай было достаточно интересно! Продолжай в том же духе!😉
@IT_Shkolnik
@IT_Shkolnik 3 жыл бұрын
Спасибо, друг!
@gn0rltv311
@gn0rltv311 Жыл бұрын
О привет, как поживаешь?
@tolikblik1
@tolikblik1 Жыл бұрын
Супер, шикарно объясняешь!
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Спасибо!
@zx_gamer1381
@zx_gamer1381 Жыл бұрын
Препроцессор не "подключает" библиотеки. Препроцессор обрабатывает макросы. В частности команда #include означает, что препроцессор должен вместо этой строчки вставить содержимое файла. В заголовочных файлах (внезапно!) находятся только заголовки. А непосредственно "подключение" (правильнее сказать "связывание") скомпилированных объектных файлов осуществляет линковщик. P.S. В заголовочных файлах писать код можно, но оправданно оно только в случае написания глобальных шаблонных функций или классов на языке С++.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Ага. И ещё в случае однострочных инлайн функций
@itszzupart6607
@itszzupart6607 Жыл бұрын
Так то по общему определению препроцессор просто обрабатывает текст программы в другой текст программы, заместь тех же инклудов ставит текст заголовка, а заместь названий констант - их значения. Можно вообще в константы целые строки кода записывать насколько я помню
@endyelectrician2491
@endyelectrician2491 Жыл бұрын
Отличная работа 🚀, но кажется точнее будет называть твой "компилятор" транслятором. Бьёрн Страупструп тоже первую рабочую версию языка С++ реализовал как транслятор с С++ на С. Желаю удачи и самое главное - не бросай подобные затеи.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Спасибо большое. Бросать я не собирался, а вот от ютуба немного отошел. Но я возвращаюсь и буду продолжать снимать видео. Замечание про транслятор верное!
@memoryspeak
@memoryspeak Жыл бұрын
​@@IT_Shkolnik возвращайся
@romarom346
@romarom346 Жыл бұрын
Если говорить точнее, Бьярне создал транспайлер, это транслятор, транслирующий один высокоуровневый язык, в другой высокоуровневый язык, либо в самого себя, но потом он создал полноценный отдельный от Си компилятор.
@misterfox3464
@misterfox3464 2 ай бұрын
Скажем так. Реализация и идея хрень. НО! Интеллект - это способность решать не стандартные задачи нестандартно... Мне кажется ты доказал что будь у тебя достаточно времени и знаний ты бы написал намного лучше. Продолжай )
@levovix
@levovix 2 жыл бұрын
1:01 Препроцессор - программа, которая выполняет предобработку кода. Библиотеки подключает, раз уж на то пошло, линковщик, который связывает символы из разных объектных файлов
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Я имел ввиду что в С препроцессор подключает заголовочные файлы с функциями
@CAXAROK2010
@CAXAROK2010 26 күн бұрын
Красавчик
@user-os2fn4jr4d
@user-os2fn4jr4d Ай бұрын
Если ты дальше этим будешь заниматься , тебя ждет большое будущее !
@SerjCrimea
@SerjCrimea Жыл бұрын
У тебя по сути получился интерпретатор. Для компиляции нужно учить Ассемблер. И типа пишешь CLS а в коде Ассемблер, вызываешь очистку экрана. Ну и компилятор Ассемблера, везде участвует, даже в Си и в Си++ ;)
@tailogs5825
@tailogs5825 Жыл бұрын
Если так докапываться, то у него получился транслятор. Но по сути у него смесь транслятор/компилятор, так как в любом случае мы получаем испольняемый файл, которой не нужен интерпретатор (виртуальная машина) для работы.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Со всеми согласен, в моей реализации смесь из транслятора и интерпретатора. А про ассемблер видео дальше будут
@nakidai
@nakidai Жыл бұрын
Если говорить правильно, то не компилятор ассемблера, а а ассемблер :)
@user-fd7bj1rg3y
@user-fd7bj1rg3y Жыл бұрын
Конвертор*
@user-fd7bj1rg3y
@user-fd7bj1rg3y Жыл бұрын
Работа интерпретатора основана на VM
@feviend8265
@feviend8265 2 жыл бұрын
Привет. Крутое видео. Занимаюсь программированием 2 года. Сейчас мне 14. Я делал 2 своих языка программирования которые были компиляторами и переводились в c++ и c#. 2 язык был намного сложнее, там был кроме компилятора еще и лексер который разбивал код на токены и образовывал AST (абстрактное синтаксическое дерево). Hello world на моём 2 языке: main: print("Hello World") end
@lizbertarian
@lizbertarian 2 жыл бұрын
Как ты строил AST? Какой тип парсера использовал (LL или LR)?
@feviend8265
@feviend8265 2 жыл бұрын
@@lizbertarian не знаю что такое LL и LR. Лексер в моём языке это и лексер и парсер вместе. Писал его без кодогенераторов. Использовал рекурсию. Больше не помню потому что это было год назад. Надо смотреть код
@feviend8265
@feviend8265 2 жыл бұрын
@@lizbertarian у тебя есть telegram?
@lizbertarian
@lizbertarian 2 жыл бұрын
@@feviend8265 @ lizzy_weiss
@yzyteam
@yzyteam Жыл бұрын
Обзор сделаешь на свое творение ?
@user33017
@user33017 Жыл бұрын
Ммм за 4 дня сделать свой яп с интерпретатором. Ничего себе. Я ток за минут 10 сделал калькулятор на языке си. До этого 4 года программировал на python. Понял, что задачи, для которых он сделан не подходят для меня. Потом перешёл на c++. Попробовал си. Все мифы, что якобы он очень сложный развеялись. До этого вывел строку на голом железе на fasm. А потом узнал о roadmap'ах и понял, что я нихрена не знаю, пон.😂😂😂
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Ваш комментарий можно использовать как идеальный ответ на "Что такое программирование в двух словах"
@LightSpark75002
@LightSpark75002 3 ай бұрын
Я тоже все время изучал питон, а теперь начал джаву. Я понял что она тоже больше подходит для меня.
@codemonkey2190
@codemonkey2190 2 жыл бұрын
В самом с++ настолько много инструментов и возможностей что сам c++ можно переделать в другой язык.
@mr.efertyon1922
@mr.efertyon1922 6 ай бұрын
если знаешь где найти полную вики со всеми инструментами и возможностями скинь.
@swiftkey1316
@swiftkey1316 Жыл бұрын
Мой язык там работает 1 программа: Code = () String =0 Event =input() Code.append(event) def FileAnalysis() : file=open("main.txt") def FileAnalysis() : File =open("main.txt") print("ошибка в коде") if('form ' (big) ') mainloop #команды языка print("input", programma) это программа выводит, то что в ней написано. IT_школьник пж заметь
@user-us9ym8hc3f
@user-us9ym8hc3f Жыл бұрын
Я так понял ты программируешь на python'e да?
@tailogs5825
@tailogs5825 Жыл бұрын
Блин, хотелось бы поюзать
@shugarok1163
@shugarok1163 11 ай бұрын
я думаю на ассемблер(вместо с) легче было бы переводить там потом все понятно команды идут сразу в проц
@IT_Shkolnik
@IT_Shkolnik 6 ай бұрын
Думаю, особой разницы не сыграло бы, ведь большую часть процессорного времени в обоих случаях будут занимать системные вызовы. Да и Ассемблер я тогда ещё не особо хорошо знал, потому выбор пал именно на Си
@andreysedunov5154
@andreysedunov5154 Жыл бұрын
Привет, я новенький на твоём канале. Расскажи пожалуйста, сколько ты учишь С?
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Привет, спасибо за комментарий. Я учу Си два с половиной года
@4edbark
@4edbark Жыл бұрын
6:53 Да это прям блюпринты в Unreal Engine. Они также работают. А вообще, у меня давно была похожая идея сделать такой компилятор, но как-то руки не доходят.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
С блюпринтами и Unreal Engin'ом я не сильно знаком, но рад что вы нашли такую интересную связь. У меня тоже до некоторых запланированных проектов долго руки не доходят, НО. Здесь просто нужно перебороть самого себя и заняться этим делом. Когда я начинаю что-то делать то всё идёт в гору, но если я только думаю как я это буду делать то я могу потратить много времени впустую. Если вы правда хотите сделать компилятор ( любого уровня ), и у вас есть время на это, то смело делайте, таков мой совет )
@user-no9hq2nu1s
@user-no9hq2nu1s Жыл бұрын
Ну, если делать прям по фен-шую, то генерировать надо не сишный код. Нет смысла спускаться на уровень ассемблера (придется тогда под разные ос и архитектуры практически заново писать), лучше использовать LLVM IR для этого
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Вообще была у меня идея генерировать ассемблер, но на момент создания этого видео я ещё про него почти ничего не знал)
@user-no9hq2nu1s
@user-no9hq2nu1s Жыл бұрын
@@IT_Shkolnik ну, писать компилятор сразу в ассемблер это тяжко не только с точки зрения того, что это язык сложный, а с точки зрения того, что под каждую архитектуру нужно будет писать свой компилятор почти с нуля, а llvm будет низкоуровневой прослойкой.
@mikhailreznichenko8035
@mikhailreznichenko8035 2 жыл бұрын
Сильно!
@artemboiarshinov
@artemboiarshinov 2 жыл бұрын
Ждем ролик о создании современного языка программирования PETOOH
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Спасибо! Вы с GitHub я так понимаю?)
@PaulWide
@PaulWide 2 жыл бұрын
аааахахаххааха
@cordestandoff2358
@cordestandoff2358 2 жыл бұрын
Koo KoO koo kOk kooo
@lq9263
@lq9263 2 жыл бұрын
Твое решение конечно интересно, но если кто то будет пользоваться твоим языком. То пользователю придется понимать ошибки языка C. Так что предлагаю посмотреть в сторону байткод. Работает это очень просто так вот: твоя программа превращает код понятный пользователь в менее понятный для пользователя, и более простой. А потом твоя программа может выполнять этот байткод.
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Спасибо за идею!
@cglike
@cglike 2 жыл бұрын
1:13 это означает только то что препроцессор буквально возьмет все что есть в файле stdio.h и вставит вместо директивы include, и ничего ты тут не подключаешь
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
1. Копирование содержимого из 1 файла в другой называется его «включением» или «подключением». 2. В книге по С Брайана Кернигана и Денниса Ритчи это называется подключением. 3. include переводится как «включить» или «подключить».
@cglike
@cglike 2 жыл бұрын
@@IT_Shkolnik если ты напишешь #include то ты подключишь библиотеку ?
@cglike
@cglike 2 жыл бұрын
@@IT_Shkolnik include это именно "включить"(содержимое) как часть целого. В твоем случае stdio часть стандартной библиотеки а её подключать не надо. Включая заголовочный файл ты лишь копируешь определения функций и структур из этого файла в свой translation unit. + препроцессор в принципе не способен подключать библиотеки, только ctrl+c/ctrl+v
@sentronawer2719
@sentronawer2719 2 жыл бұрын
силен!
@user-vp1xm3wh1f
@user-vp1xm3wh1f 7 ай бұрын
Отлично!
@IT_Shkolnik
@IT_Shkolnik 6 ай бұрын
Спасибо!
@dyze8847
@dyze8847 11 ай бұрын
Написал недавно свой интерпретатор, для выполнения json-файла😂😂 Возможно, это звучит глупо, но это ускоряет написание простых программ))
@IT_Shkolnik
@IT_Shkolnik 6 ай бұрын
Ух ты, наверное классно получилось!
@haxidenti6001
@haxidenti6001 Жыл бұрын
Это не язык программирования а команды. В целом думаешь правильно. Только создавая язык, создавай язык, не его функции. А то не создав язык до конца ты уже создаёшь функции. Они будут потом, сначала создай сам фундамент, а функции придут со временем. Делать язык тупо для команд, то лучше взять какой то пайтон, он же будет лучше чем скачивать твой. Но если всерйоз то сделать свой яп было бы круто и что бы была главное сво идея, зачем кго делаешь. В противном случае язык ради языка - такое
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Я не собирался делать серьёзный ЯП, который будет использоваться людьми по всему миру. Это тестовый язык, чтобы попробовать себя в написании транслятора и реализации
@vincentvince2136
@vincentvince2136 11 ай бұрын
​@@IT_Shkolnik ты написал детское говнище, я таким баловался еще когда начинал свой путь проганья. У тебя нет ничего, из чего обычно делают ЯП, т.е. нет лексера парсера и тд
@user-vs4jn9pr2g
@user-vs4jn9pr2g 2 ай бұрын
А ты хорош
@urson995
@urson995 7 ай бұрын
Очень круто! Но где-то слишком усложнил. В остальном молодец.
@IT_Shkolnik
@IT_Shkolnik 6 ай бұрын
Старался, спасибо!
@PaulWide
@PaulWide 2 жыл бұрын
у тебя it_батя? колись. монтируешь сам?
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Монтирую сам. Батя - хардварщик
@cordestandoff2358
@cordestandoff2358 2 жыл бұрын
@@IT_Shkolnik азахах
@honky-tonk1060
@honky-tonk1060 Жыл бұрын
@@IT_Shkolnik - скажи, ты знаешь такого типа с юзернеймом Кибердед (а зовут его Масалович А.И. ) ? Если да - то что скажешь о нем (охота инсайдов от тех, кто общался с ним вживую ) ,
@feviend8265
@feviend8265 2 жыл бұрын
Сейчас я делаю свою игру на движке unity. Думаю бесполезно делать свой язык программирования, т.к. есть очень много готовых языков. Даже крупной компании jetbrains, было сложно делать язык kotlin. Лучше писать библиотеки для готовых языков (например python). Думаю добавить в свою игру API для написания модов на python
@tailogs5825
@tailogs5825 Жыл бұрын
Ну как прогресс?
@user-vs4jn9pr2g
@user-vs4jn9pr2g 2 ай бұрын
Слушай, а расскажи как собрать установщик под программу
@JohnHiz
@JohnHiz Жыл бұрын
Думаю что язык С не является таким уж низкоуровневым, низкоуровневый скорее Assembler
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Тоже верно. Наверное С - средний уровень. Да и вообще попробовав Ассемблер в первый раз, потом перейдя на Си кажется что как будто за рулем летающей машины с автопилотом
@vincentvince2136
@vincentvince2136 11 ай бұрын
​@@IT_Shkolnik си - высокоуровненвый яп
@egorovsa
@egorovsa 2 жыл бұрын
Чуть чуть медленнее с расстановкой.
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Спасибо за совет
@Phantom-Soft
@Phantom-Soft 8 ай бұрын
4:40 ENTER - (17) ???
@IT_Shkolnik
@IT_Shkolnik 6 ай бұрын
Спасибо за вашу бдительность, исправил в описании
@GELIC
@GELIC 2 жыл бұрын
перекинь свой компилятор на гуглдиск потому что у меня в стране заблокали всё русское😢
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
У меня тоже много что заблокировали
@seekyboi23
@seekyboi23 Жыл бұрын
Езжайте в укр
@addblocker6634
@addblocker6634 Жыл бұрын
​@@seekyboi23 разве это не под запретом? Только при наличии родственников. Я думаю не у каждого есть такая возможность.
@seekyboi23
@seekyboi23 Жыл бұрын
@@addblocker6634 запрет? Родители будут только рады такому событию
@honky-tonk1060
@honky-tonk1060 Жыл бұрын
поставь браузер Опера хоть на компе, хоть на телефоне (там есть встроенный VPN, включи его - и все загрузится/скачается ) ,
@user-ub6cv6nk5u
@user-ub6cv6nk5u Жыл бұрын
Всё круто, но звук ужасный. Купи хороший микрофон.
@IT_Shkolnik
@IT_Shkolnik Жыл бұрын
Рад что вам понравилось видео. Да, я уже подумывал над покупкой микрофона, думаю скоро куплю. В любом случае буду всем делиться в телеграмм канале
@gandromes
@gandromes Жыл бұрын
Получилось мего кал где ты говоришь много воды да и то не правду язык СИ никогда не был низкоуровневым это высокоуровневый яп и точка. Низкоуровневый только языки ассемблера выбираешь любой понравившийся транслятор и погнали. Интерпретируемый язык будет выполнен быстрее в первый раз, а компилятор будет долго компенлировать но после его код будет быстрее поскольку ему не нужно перекомпилировать код. Что ты написал это просто кусок кала на СИ где ты определил транслятор как if else нету никаких оптимизаций бизнес логика и интерфейсы вместе короче получился медленный переводчик встречающихся слов в команды си и это никаких образом языком яп назвать нельзя, для этого надо писать на ассемблере и знать computer science на хорошем уровне. И это не хейт просто мнение, а так ты красава учишь в начале СИ это хотябы нормальный язык, а не всякие новомодеые языки с кучей абстракцей для смузихлебов
@tailogs5825
@tailogs5825 Жыл бұрын
Не сказал бы что язык СИ высокуровневый, даже в википедии и некоторых книгах сказано, что он именно низкоуровневый, так как может работать напрямую с железом. Можно ещё точнее сказать, что он среуровый, между ассемблером и допустим питоном. По компилятор и интерпретатор согласен не полностью. Если виртуальная машина, тобишь интерпретатор будет тяжелым, то он сперва запускается долго, а потом ещё запускает исходник. Но если он написан хорошо, то по скорости после долгой загрузки он может довольно таки быстро запускать программы, которые могут быть близки к скорости компилируемых языков, но по своей природе никогда их не догонят. А компилированный файл может запуститься сразу. Как видишь вместо двух операций как в интерпретируемых языках идет только одна в компилируемом.
@tailogs5825
@tailogs5825 Жыл бұрын
И ещё, для разработчика будет проще писать именно на интерпретируемым языком по многим причинам, например, как ты и сказал, я просто неправильно сперва понял, но это не отменяет сказанные мною слова ранее. Так вот, ты говорил именно про разработку, да, на интерпретируемых языках если интерпретатор работает на фоне, то он быстрее запустить программу, так-как основная часть, тобишь интерпретатор работает, как в то время компилятор только только будет компилировать программу. Но после запуска, скомпилируемая программа будет работать быстрее интерпретируемой. И да, я знаю что VM это разновидность интерпретаторов, навсякий. Буду открыт к критике со стороны и поправке, если я где-либо ошибся
@gandromes
@gandromes Жыл бұрын
@@tailogs5825 Так во первых круто что ты умеешь работать с критикой. Далее язык СИ это сложный высокоуровневый яп. Я не совсем понял аргумент про то что СИ может работать напрямую с железом, любой современный по голу выпуска язык может в той или иной мере это делать даже тот же Js в окружение Node может всё то что и СИ. Только язык ассемблера является низко уровневым, поскольку он имеет возможность напрямую работать с системными вызывами, при этом он самый понятный язык пр и лёгкий в освоении как бы это глупо не звучало для тебя, я имею опыт и помимо своего мнения вижу такое у других. После языка ассемблера были созданы не менее прекрасный паскаль, бейсик, fortran, ada, которые даже по коду они имеет в себе кучу уже написанных декларативных частей, в том то и дело что и низко уровневым языке Ассемблера ты всë пишешь сам. СИ не стоит посередине между python и языком ассемблера скорее ADA
@tailogs5825
@tailogs5825 Жыл бұрын
@@gandromes ​ @user-pk8hj8lp3e Я сам учил множество языков и пробовал писать программы на всех сказанных тобой языках, разве что на ассемблере поюзал на пк, но особо не зашло, так как используя реализацию в виде fasm приходилось работать именно с си функциями, а не напрямую допустим с прерываниями, как в операционной системе ms dos или тем же linux (как я слышал там это возможно) (я там не программировал не на одном языке, но пользовался самой ос). Насчет си, почему ты настолько уверен в том, что он относиться именно к высокоуровевым, если абстркции там поменьше, чем в любом из языков, да и есть множество ресурсов упомянающих его как именно среднеуровневый и низкоуровневый, стоит просто загуглить и все становиться ясно. Но после сказанных тобой слов я задумался и думаю, что все же он больше всего относиться к среднеуровневым. Во всем остальном ты прав, как и в железе, тут я сглупил.
@tailogs5825
@tailogs5825 Жыл бұрын
@@gandromes А, еще забыл упомянуть, на fortran что-то да учил, но особо не пользовался, так как нет надобности в этом. Да и это косается многих языков ... У меня такая проблема, что я постоянно учу языки, чем пишу на них что-либо. Такими темпами я затронул уже больше 40 языков и продолжаю это делать ... У меня просто нет идей для программ, кроме рабочих. А если они появляются, то они слишком сложные, а простое ... ну ты понял. Но как только я выбираю какой-либо язык и убираю другой, то ощущаю фантомную боль и рано или поздно возвращаюсь к изучению языков ... Не знаешь как с этим можно справиться? Я просто устал ...
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 5 МЛН
UNO!
00:18
БРУНО
Рет қаралды 5 МЛН
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Cool Tool SHORTS Netherlands
Рет қаралды 9 МЛН
Unveiling my winning secret to defeating Maxim!😎| Free Fire Official
00:14
Garena Free Fire Global
Рет қаралды 8 МЛН
Создаю свою операционную систему
8:51
Hello World на Ассемблере (x86)
9:34
Псевдо Программист
Рет қаралды 160 М.
DIY COMPUTER from scratch!
25:03
Vectozavr
Рет қаралды 2,2 МЛН
Самое простое объяснение нейросети
16:30
Программный Кот
Рет қаралды 118 М.
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 5 МЛН