Как компьютер понимает код: про компиляцию и интерпретацию
Вставка
- Опубліковано 27 вер 2024
- Онлайн-курс "Python Advanced. Продвинутый курс":
👉 wiki.merionet....
О чем задумался, лягушонок? Не о том ли как компьютеры понимают код, который пишут программисты? Как удачно, ведь мы как раз хотели об этом рассказать! В этом видео ты узнаешь что такое ассемблер, компиляция и интерпретация.
Merion Academy - платформа доступного IT образования ❤️
wiki.merionet....
Наш Telegram канал:
t.me/it_knowle...
Креатив и анимация:
/ cine.vibe
#development #compiler #interpretation
Онлайн-курс "Python Advanced. Продвинутый курс":
wiki.merionet.ru/merion-academy/courses/python-advanced-prodvinutyj-kurs/?YT&
Все участники команды этого канала просто молодцы! Мемы, озвучка и монтаж на божественном уровне =)
Спасибо за добрые слова)
Область приминения полноценного ассемблера сильно сужается - так, как раньше, на нём уже никто не пишет. Чаще приминяется подход с разделением ответственностей, когда исходная логика описывается на языке по типу Си, прогоняется через "так себе" компилятор под специфичную платформу, а готовый ассемблерный код правится ручками в случае каких-то особых требований. В случае с гигантами типа gcc или msvc, там вообще надо сильно постараться, чтобы ручной код обогнал компиляторный, а не наоборот.
Так же стоит учитывать приминимость его знаний при отладке или оптимизации некоторых вещей - если, к примеру, создаётся какой-нибудь сложный контейнер, со своей логикой, полезно посмотреть во что превращается эта самая логика по итогу.
Если брать пример с драйверами - честно говоря очень давно не видел, чтобы производители оборудования оставляли исходники своих драйверов на ассемблере, чаще на Си или вообще Си++. Сейчас почти любой микроконтроллер, любого устройства умнее, быстрее и располагает большей памятью, нежели космические шатлы 70х, поэтому реальным подсчётом байтов люди давно перестали заниматься.
Если брать во внимение реверс инжиниринг - тут так же как и с остальным по, давно существуют неплохие декомпиляторы и деобфускаторы, которые сделают за вас 70% работы. Но тут уже без ручного ассемблера точно не обойтись.
Ну и нельзя опускать соревновательную ветку, когда люди умещают в пару килобайт целые сцены, видео, игры или вирусы)
Согласен,я далеко не эксперт и пока только на втором курсе,будущий инженер автоматизированных систем(типа робототехник),и то что я вижу и слышу в этой сфере...Си,ардуино и графические программы делают всё, ассемблер давно нигде в таком плане не используется, ну я не встречал 🤷
На ассемблере пишутся курсачи в вузах, в которых 30 лет не обновляли программу обучения)
Но это в рамках шуток, а так для многих низкоуровневых задач: микроконтроллеры, драйвера, ядра ОС, ну и для реверс инжиниринга
Ядра ОС и драйвера - это Си.(Да и микроконтроллеры тоже)
@@darkemperorchik а загрузщики на assembler
Я стал обворожительнее на 1,46%❤
Подтверждаем!🥰
Ассемблер нужно учить для реверс-инжиниринга
Если знаешь ассембли, любой софт для тебя становится open source
Ассемблер используют в программировании микроконтроллеров. ATmega например.
Я C++
В принципе для всего низкоуровневого, дрова тоже на ассемблере пишутся(ну не только на нем конечно же).
@@PSP-uf5fwсейчас уже дрова на сиськах большинство
@@relax_FM_1 главное чтоб не на письках
Это просто Божественный канал 😇 Спасибо за труды! ✊
Вам спасибо за приятные слова! Если подпишитесь, поставите лайк и покажете это видео друзьям, мы станем чуточку счастливее 🙂
Асемблер - микроконтроллеры,загрузчики,системы(например колибри)ревёрс инженеринг
6:48 урааа, мерион упомянули C#!
Про него обязательно будет отдельный видос!
Третий видос подряд смотрю на канале. Красавцы. Отличная подача казалось бы сложных тем
8:16 в операционных системах и для компиляции кода программ
в дополнение к комментаторам. ассемблер есть в программах, которым важно быстро и минималистично и с минимумом ошибок взаимодействовать с железом. ядро линукс, научный софт(в медицине, проектировке сооружений) - в таких программах небольшая часть кода на ассемблере
Проделали классную работу! Спасибо большое, очень полезно!
Ребят, ну круто! Вы единственные, кто может так хорошо преподносить материал да еще и с юмором! Успехов вам! Жду новые видео)
Вам спасибо за приятные слова! Если подпишитесь, поставите лайк и покажете это видео друзьям, мы станем чуточку счастливее 🙂
@@merionacademyесли верить словам из вашего видео теперь я стал на 1,46 % обворожительней 😉❤
Ну, если по честному, и вы до просмотра нашего видео были очень обворожительны!
На асме пишутся драйвера и ядра для операционнок, ну и подобный код для прямой работы с железом.
Ну в общем низкоуровневый софт
Я как то писал на ассемблере. В основном до чих пор для чпу машин станков, либл микроконтроллеров. 😅 легущонок в ит 10 лет но по прежнему смотрит вас.
вы такие суперские, я вас люблю, спасибо
А мы - вас 🖤
Я в восторге от подачи матерала!
а мы в восторге от вас и того как вы оформляете подписку на наш канал 😁
Слышал, что Ассемблер используется в автомобильной тематике(Приборные панели, ЭБУ)
Ассемблер сейчас используется в реверс-инжениринге :)
Ассемблер используется в любой оси) да и вообще асемб базированный батя всех языков, его хотяб в общих чертах знать нада
С++ быстрее Пайтона... С++ - компилируемый. Пайтон - интерпретированный
Ассемблер используется в компиляции. Ассемблер, он как промежуточный язык компиляции, Сначала из СИ Шарп в Ассемблер, потом только в машинный. Вот так вот😊
Спасибо, очень понятно
Круто!
2 раза сегодня скомпилировал с разницей в несколько часов.
Ребятки, спасибо за классные видео. А можно ли сделать видосик на тему Service Mesh Control Plane?
В ассемблер как раз и компилируется/интерпретируется исполняемый код
Cisco свою IOS на ассемблере пишет до сих пор по-моему пишет
Assembler используется в программирование микроконтроллеров.
Написать Hello World и показывать всем какой ассемблер сложный
Ассемблер использует для проверки виртуализации в гипервизорах и для загрузщиков систем
Ну асм сейчас актуален для реверса и взлома, все таки под микропроцессоры сейчас почти всё на C
Можете снять видео как работает браузер
Ассемблер используют для написания драйверов, просто в некоторых высокоуровневых языках программирования нет аналогов инструкций - например in-записать в порт, out-считать из порта, int - вызвать программное прерывания и т.п. Приходится использовать ассемблерные вставки. По поводу интерпретируемых языков скажу, что их придумали для того, чтобы было легче воровать исходный код, не надо заморачиваться с дизассемблированием.
Лучше как всегда
Ждём видео про шарпы)))
Подпишитесь, чтоб не пропустить)
Компилирую по разному. В основном пропорционально выходу ваших видео...
а вы хорош)
Молю, сделайте видео про chat GPT и вообще про нейросети!
Все будет, надеюсь вы подписались чтобы не пропустить
@@merionacademy конечно)
асемблер используется для linux и unix системах
и всё?
Ждём про язык Rust
Очень классный видео но пожалуйста объясните немного медленнее,🙏
Поставьте скорость поменьше просто)
Голос искажается и это мягко говоря не комфортно 😔, а сколько стоит ваш курс про Пайтон? Еслт я полный 0 могу научиться?
Без понятие, может вы скажите где и как?
Можете объяснить, в чём прикол с отключением js на 2:18?
Неа, не можем!
@@merionacademy 🥺
Вот такие пироги😊
6:15 компилируется? Не интерпретируется?
146% хороший ролик, например
CIL ХОЧУ
Моя пепе и моя любить смотреть мерион академию.
🐸♥️
Я пишу на Ассемблере свою OS
я компилирую по 2-3 раза в день🥸
🥸
Я работаю на php и мне норм) 😅
респект вам!)
Кто пишет на C# ставьте лайк
Поставили!
Ассемблеры используется для написания ОС
Сколько раз в день компилируешь...
Это как понять? Это личный вопрос?
Это обычный вопрос о компиляции 🤔Сколько раз в день вы компилируете свой код?
@@merionacademy Я пишу на интерпретируемых языках 😁
Ещё один автор, который не знает, что язык ассемблера это не ассемблер =/
второй
😢
Кто поставил 29 дизлайков признайтесь
Я
Тут пишут, про работу с реверс-инжинирингом и работы с микроконтроллерами(наверное, современными), но должен сказать, что ассемблер, скорее всего ещё и используется для старых микроконтроллеров, для тех-же автоматических гаражных дверей. Задача программиста подружить старый код с новыми девайсами и привести систему в современный, совместимый вид.
для микроконтроллеров щас чаще используют с/с++ ибо если слишком много логики то задолбаешься писать всё на ассемблере
Ассемблер используют для написания драйверов
Ассемблер используют в концлагерях для пыток
8:20 на нём создаются новые языки
Я заядлый компилятор
Ну вроде на asambler пишут драйвера
В скорпионе 🤣🤣🤣
Божественная подача
0:41 - транзистори это двери которые открывают путь к "бинарным командам"
Я делаю операционную систему на ассемблере
как назовёте?
гитхаб давай
@@merionacademySabiOS
ну, реверс инженерия точно, ядра и драйвера возможно, но не обязательно, в современном мире программирования
7:40 нет, не любой язык может быть скомпилирован. Чистую компиляцию допускает только язык Си. С другой стороны, никакой язык, поддерживающий функцию eval, нельзя скопилировать никак, ибо он требует наличие интерпретатора всегда.
Как раз еды нагрел. Спасибо)
Приятного аппетита!
Практика показывает, что как инженеры лучше те спецы, которые начинали с древних языков, потом перешли на С и пользуются asm. Благодаря ним держится вся отрасль, все движки и все самое сложное написано именно ими для остальных специалистов уровня "по кнопочкам", которым остается только на нужные кнопочки нажимать, почти как операторам.
Если вы говорите про свою практику, не могли бы вы рассказать о своем профессиональном пути? А лучше скинуть ссылку на свой LinkedIn, чтобы люди, читающие ваш комментарий смогли убедиться, что вашему опыту можно доверять.
Я компилирую больше раз в день, чем раньше, потому что опять начал учиться программированию.
Ассемблер используется на МКС
3:20 😂 это я
А резве С++ не создает также промежуточный промежуточный код ?
Ну, есть так называемые объектные файлы, да это промежуточная ступень, но всё равно потом превращается в машинные инструкции.
Объектные файлы создают лексер и парсер вродею а потом компилятся
Спасибо, и Вам везде золотого сечения)
мне интересно до assembler какой язык программирования сущестовавл и как его создали если язык программирования до этого не было?
До ассемблера существовали перфокарты (такие картонные карточки с пробитыми в определенном порядке дырками), на которых были нанесены риски по которым в компьютер отправлялись или считывались двоичные матрицы (коды), проводились операции вычисления и записи. Потом перфокарты заменили клавиатурой, где каждая кнопка равна определенной команде. Далее эту "клавиатуру" просто записали в память процессора, которая и поныне зовётся регистром. Каждая внешняя команда имеет определенный символ (регистр), который вызывается из прошитой памяти и таким образом проводятся нужные операции вычисления.
2 раза
Клаассс!!! Спасибо☺️
Кошмар.
👍
Компилировали компилировали, да не выкомпилировали
всей командой теперь сидим и пробуем повторить, пока не получилось
спасибо за видео!!!
Дизлайк за хейт пиццы с ананасами
😑
Дорогие Авторы канала, вы вызываете восторг и лёгкую зависть!
В каждом ролике на эту тему одно и то же. Все говорят, что Цпу получает команду и из нее решает на какой из транзисторов отправить сигнал.
А как цпу определает, на какой из транзисторов отправить сигнал? Почему ни где об этом не говорят
На ассемблере драйверы некоторые пишут, так ведь?
я ждал это видео 6 лет, наконец-то
Дрова на ассемблере пишут
Тяга превратить любую тему в сплошную хохму - это уже какой-то отдельный вид невроза или разрушающей зависимости. В погоне за популярностью авторы видео готовы её искать даже у таких хохмоголиков. Они лайкают, смотрят, благодарят за приятные минутки, а вот для нормальных зрителей никакой пользы от таких мемоблевотных видео нет. Хотя они и сняты не для этого.
Знаете, несмотря на то что вы перенасытили свой комментарий нелицеприятными словами, постановкой "диагнозов", унижениями и прочими выпадами, мы ответим вам:
Мы искренне верим, что юмор и эмоции сильно упрощают восприятие новой информации. Работает это довольно просто: когда вы испытываете эмоции, ваш организм вырабатывает нейромедиатор ацетилхолин, который помогает поддерживать внимание, а также связан с памятью и способностью к обучению, действуя в нейронах больших полушарий и гиппокампа. Именно поэтому мы эмоционально окрашиваем наши видео для людей. И знаете, это работает :)
@@merionacademy Нет, это не работает. Серьёзный ролик эффективнее для понимания (а текст ещё эффективнее), но на серьёзных роликах не сделать просмотров. Поэтому вы развлекаете зрителей на предложенную им тему. Не работает это из-за того, что зритель вместо концетрации на сути постоянно отвлекается на мельтешение придурковатых вставок. Вы смешиваете материал со ржакой и тем самым убиваете его. Это очень старый приём, которым ещё Рабле развлекался. На невроз не обижайтесь - это общая проблема. Вместо описанного вами механизма подкрепления на самом деле работает другой - разлагающий и опустошающий: смена кадров и хохмы приносят быстрое удовольствие, вызывают выделение дешёвых гормонов счастья. С неврозом сегодня так и борются: отвлекают себя чем-то простым и быстрым, защищаются непрерывной хохмой.
Мы вам привели биологический механизм, действие которого является неоспоримым. У нас сотни тысяч счастливых зрителей, которые, улыбнувшись, полностью усвоили нужный им материал и ждут новые ролики. С уважением относимся к тому, что бывают исключения и наш формат может вам не подходить. Совершенно не расстроимся, если не увидим вас в числе наших подписчиков! Желаем удачи с поиском подходящего вам контента!
А где c#?
Про него скоро расскажем!
asm не нужен, когда есть C
Мені викладач з Основи Програмної Інженерії казав, що на Ассемблері пишуть драйвери. І взагалі типу: Вчи Ассемблер, будеш дрова писати, і гроші лопатою грести
дрова уже на C)
@@ill4374 🥲
Спасибо вам❤
Вам спасибо! Если подпишитесь, поставите лайк и покажете это видео друзьям, мы станем чуточку счастливее 🙂
⁵⁵²
Вот такие пироги
Угощайтесь и подписывайтесь)
Полагаю, Assемблер используется для создания компиляторов/интерпретаторов?
Это популярное ошибочное предположение 😏 Для создания компилятора используется тот же язык, который он будет компилировать, либо другой высокоуровневый язык 🤓Естественно, самую первую версию компилятора придётся написать на другом языке, для которого уже существует компилятор или интерпретатор, но совсем не обязательно использовать для этого ассемблер, когда мы имеем множество мощных высокоуровневых языков. После этого компилятор может быть переписан на новом языке и собирать себя сам. Это называется bootstrapping 📝
Си
Си плюс плюс
Ахаха я поржал😂