Как компьютер понимает код: про компиляцию и интерпретацию

Поділитися
Вставка
  • Опубліковано 19 лис 2023
  • Онлайн-курс "Python Advanced. Продвинутый курс":
    👉 wiki.merionet.ru/merion-acade...
    О чем задумался, лягушонок? Не о том ли как компьютеры понимают код, который пишут программисты? Как удачно, ведь мы как раз хотели об этом рассказать! В этом видео ты узнаешь что такое ассемблер, компиляция и интерпретация.
    Merion Academy - платформа доступного IT образования ❤️
    wiki.merionet.ru/merion-academy
    Наш Telegram канал:
    t.me/it_knowledge_base
    Креатив и анимация:
    / cine.vibe
    #development #compiler #interpretation

КОМЕНТАРІ • 141

  • @merionacademy
    @merionacademy  5 місяців тому +1

    Онлайн-курс "Python Advanced. Продвинутый курс":
    wiki.merionet.ru/merion-academy/courses/python-advanced-prodvinutyj-kurs/?YT&

  • @pansangg_
    @pansangg_ 6 місяців тому +120

    Все участники команды этого канала просто молодцы! Мемы, озвучка и монтаж на божественном уровне =)

    • @merionacademy
      @merionacademy  6 місяців тому +1

      Спасибо за добрые слова)

  • @052vladimir
    @052vladimir 5 місяців тому +19

    На ассемблере пишутся курсачи в вузах, в которых 30 лет не обновляли программу обучения)
    Но это в рамках шуток, а так для многих низкоуровневых задач: микроконтроллеры, драйвера, ядра ОС, ну и для реверс инжиниринга

  • @Young.Sideways
    @Young.Sideways 6 місяців тому +54

    Область приминения полноценного ассемблера сильно сужается - так, как раньше, на нём уже никто не пишет. Чаще приминяется подход с разделением ответственностей, когда исходная логика описывается на языке по типу Си, прогоняется через "так себе" компилятор под специфичную платформу, а готовый ассемблерный код правится ручками в случае каких-то особых требований. В случае с гигантами типа gcc или msvc, там вообще надо сильно постараться, чтобы ручной код обогнал компиляторный, а не наоборот.
    Так же стоит учитывать приминимость его знаний при отладке или оптимизации некоторых вещей - если, к примеру, создаётся какой-нибудь сложный контейнер, со своей логикой, полезно посмотреть во что превращается эта самая логика по итогу.
    Если брать пример с драйверами - честно говоря очень давно не видел, чтобы производители оборудования оставляли исходники своих драйверов на ассемблере, чаще на Си или вообще Си++. Сейчас почти любой микроконтроллер, любого устройства умнее, быстрее и располагает большей памятью, нежели космические шатлы 70х, поэтому реальным подсчётом байтов люди давно перестали заниматься.
    Если брать во внимение реверс инжиниринг - тут так же как и с остальным по, давно существуют неплохие декомпиляторы и деобфускаторы, которые сделают за вас 70% работы. Но тут уже без ручного ассемблера точно не обойтись.
    Ну и нельзя опускать соревновательную ветку, когда люди умещают в пару килобайт целые сцены, видео, игры или вирусы)

    • @georgemikava7459
      @georgemikava7459 6 місяців тому

      Согласен,я далеко не эксперт и пока только на втором курсе,будущий инженер автоматизированных систем(типа робототехник),и то что я вижу и слышу в этой сфере...Си,ардуино и графические программы делают всё, ассемблер давно нигде в таком плане не используется, ну я не встречал 🤷

  • @zholdin
    @zholdin 6 місяців тому +41

    Я стал обворожительнее на 1,46%❤

  • @megamarkum
    @megamarkum 6 місяців тому +35

    Ассемблер нужно учить для реверс-инжиниринга

    • @Green_haze
      @Green_haze 6 місяців тому +37

      Если знаешь ассембли, любой софт для тебя становится open source

  • @user-uj6gt2mb1c
    @user-uj6gt2mb1c 6 місяців тому +24

    Ассемблер используют в программировании микроконтроллеров. ATmega например.

    • @THEBIGMISHA_OFFICIAL
      @THEBIGMISHA_OFFICIAL 6 місяців тому +1

      Я C++

    • @PSP-uf5fw
      @PSP-uf5fw 6 місяців тому +3

      В принципе для всего низкоуровневого, дрова тоже на ассемблере пишутся(ну не только на нем конечно же).

    • @relax_FM_1
      @relax_FM_1 6 місяців тому

      @@PSP-uf5fwсейчас уже дрова на сиськах большинство

    • @PSP-uf5fw
      @PSP-uf5fw 6 місяців тому +4

      @@relax_FM_1 главное чтоб не на письках

  • @dm8380
    @dm8380 6 місяців тому +4

    6:48 урааа, мерион упомянули C#!

    • @merionacademy
      @merionacademy  6 місяців тому +2

      Про него обязательно будет отдельный видос!

  • @Partizag
    @Partizag 6 місяців тому +9

    Тут пишут, про работу с реверс-инжинирингом и работы с микроконтроллерами(наверное, современными), но должен сказать, что ассемблер, скорее всего ещё и используется для старых микроконтроллеров, для тех-же автоматических гаражных дверей. Задача программиста подружить старый код с новыми девайсами и привести систему в современный, совместимый вид.

    • @yan_it
      @yan_it 6 місяців тому

      для микроконтроллеров щас чаще используют с/с++ ибо если слишком много логики то задолбаешься писать всё на ассемблере

  • @userKR74
    @userKR74 6 місяців тому +6

    я ждал это видео 6 лет, наконец-то

  • @Shade063
    @Shade063 6 місяців тому +11

    Это просто Божественный канал 😇 Спасибо за труды! ✊

    • @merionacademy
      @merionacademy  6 місяців тому +1

      Вам спасибо за приятные слова! Если подпишитесь, поставите лайк и покажете это видео друзьям, мы станем чуточку счастливее 🙂

  • @podskazkin
    @podskazkin 4 місяці тому +1

    Третий видос подряд смотрю на канале. Красавцы. Отличная подача казалось бы сложных тем

  • @1L0veGNU
    @1L0veGNU 6 місяців тому +6

    Асемблер - микроконтроллеры,загрузчики,системы(например колибри)ревёрс инженеринг

  • @kaliber_6049
    @kaliber_6049 6 місяців тому +5

    Ребят, ну круто! Вы единственные, кто может так хорошо преподносить материал да еще и с юмором! Успехов вам! Жду новые видео)

    • @merionacademy
      @merionacademy  6 місяців тому

      Вам спасибо за приятные слова! Если подпишитесь, поставите лайк и покажете это видео друзьям, мы станем чуточку счастливее 🙂

    • @kaliber_6049
      @kaliber_6049 6 місяців тому

      @@merionacademyесли верить словам из вашего видео теперь я стал на 1,46 % обворожительней 😉❤

    • @merionacademy
      @merionacademy  6 місяців тому

      Ну, если по честному, и вы до просмотра нашего видео были очень обворожительны!

  • @imyourliver
    @imyourliver 4 місяці тому +2

    вы такие суперские, я вас люблю, спасибо

  • @user-sp9gh1sj7c
    @user-sp9gh1sj7c 5 місяців тому +1

    Проделали классную работу! Спасибо большое, очень полезно!

  • @fallenull
    @fallenull 6 місяців тому +2

    в дополнение к комментаторам. ассемблер есть в программах, которым важно быстро и минималистично и с минимумом ошибок взаимодействовать с железом. ядро линукс, научный софт(в медицине, проектировке сооружений) - в таких программах небольшая часть кода на ассемблере

  • @user-xc8dn1wz7t
    @user-xc8dn1wz7t 6 місяців тому +5

    Божественная подача

  • @daniilkams
    @daniilkams 6 місяців тому +2

    8:16 в операционных системах и для компиляции кода программ

  • @user-be7xc9uy6c
    @user-be7xc9uy6c 6 місяців тому +1

    Спасибо, и Вам везде золотого сечения)

  • @RumEvo
    @RumEvo 6 місяців тому +2

    Слышал, что Ассемблер используется в автомобильной тематике(Приборные панели, ЭБУ)

  • @leomysky
    @leomysky 3 місяці тому +1

    Спасибо, очень понятно
    Круто!

  • @CaXaPHblN_HerP
    @CaXaPHblN_HerP 6 місяців тому +2

    В ассемблер как раз и компилируется/интерпретируется исполняемый код

  • @romandonw
    @romandonw 6 місяців тому +3

    На асме пишутся драйвера и ядра для операционнок, ну и подобный код для прямой работы с железом.

    • @romandonw
      @romandonw 6 місяців тому +2

      Ну в общем низкоуровневый софт

  • @mikhailsartakov4750
    @mikhailsartakov4750 4 місяці тому +1

    Ассемблер сейчас используется в реверс-инжениринге :)

  • @karengrigoryan7937
    @karengrigoryan7937 5 місяців тому +1

    0:41 - транзистори это двери которые открывают путь к "бинарным командам"

  • @vikont1911
    @vikont1911 6 місяців тому +2

    Я в восторге от подачи матерала!

    • @merionacademy
      @merionacademy  6 місяців тому +1

      а мы в восторге от вас и того как вы оформляете подписку на наш канал 😁

  • @user-sx3ev2iz7h
    @user-sx3ev2iz7h 6 місяців тому +1

    Ребятки, спасибо за классные видео. А можно ли сделать видосик на тему Service Mesh Control Plane?

  • @ainurlatipov546
    @ainurlatipov546 6 місяців тому +2

    Лучше как всегда

  • @Aleksandr37rus
    @Aleksandr37rus 6 місяців тому +2

    Я как то писал на ассемблере. В основном до чих пор для чпу машин станков, либл микроконтроллеров. 😅 легущонок в ит 10 лет но по прежнему смотрит вас.

  • @jallyn8806
    @jallyn8806 6 місяців тому +2

    Ассемблер используется в компиляции. Ассемблер, он как промежуточный язык компиляции, Сначала из СИ Шарп в Ассемблер, потом только в машинный. Вот так вот😊

  • @antegros
    @antegros 5 місяців тому +1

    Практика показывает, что как инженеры лучше те спецы, которые начинали с древних языков, потом перешли на С и пользуются asm. Благодаря ним держится вся отрасль, все движки и все самое сложное написано именно ими для остальных специалистов уровня "по кнопочкам", которым остается только на нужные кнопочки нажимать, почти как операторам.

    • @merionacademy
      @merionacademy  5 місяців тому

      Если вы говорите про свою практику, не могли бы вы рассказать о своем профессиональном пути? А лучше скинуть ссылку на свой LinkedIn, чтобы люди, читающие ваш комментарий смогли убедиться, что вашему опыту можно доверять.

  • @xakuro24xakk41
    @xakuro24xakk41 6 місяців тому +1

    спасибо за видео!!!

  • @RuslanNumber1
    @RuslanNumber1 6 місяців тому +3

    2 раза сегодня скомпилировал с разницей в несколько часов.

  • @milordplus
    @milordplus 6 місяців тому +1

    Клаассс!!! Спасибо☺️

  • @svetogor777
    @svetogor777 6 місяців тому +3

    Ассемблер используют для написания драйверов

  • @wuzi200Z
    @wuzi200Z 6 місяців тому +4

    Ассемблер используется в любой оси) да и вообще асемб базированный батя всех языков, его хотяб в общих чертах знать нада

  • @solodivls
    @solodivls 5 місяців тому +1

    8:20 на нём создаются новые языки

  • @AlexS-hn5fj
    @AlexS-hn5fj 6 місяців тому +1

    Assembler используется в программирование микроконтроллеров.

  • @M1ke.123
    @M1ke.123 6 місяців тому +1

    Спасибо вам❤

    • @merionacademy
      @merionacademy  6 місяців тому +1

      Вам спасибо! Если подпишитесь, поставите лайк и покажете это видео друзьям, мы станем чуточку счастливее 🙂

  • @still_alive02
    @still_alive02 6 місяців тому +1

    Ну асм сейчас актуален для реверса и взлома, все таки под микропроцессоры сейчас почти всё на C

  • @alekseibestuzhev8434
    @alekseibestuzhev8434 6 місяців тому +2

    Как раз еды нагрел. Спасибо)

    • @merionacademy
      @merionacademy  6 місяців тому +1

      Приятного аппетита!

  • @Interview_Bites
    @Interview_Bites 6 місяців тому +1

    Можете снять видео как работает браузер

  • @SsergeySav
    @SsergeySav 5 місяців тому +1

    Cisco свою IOS на ассемблере пишет до сих пор по-моему пишет

  • @argenalmaz8424
    @argenalmaz8424 6 місяців тому +1

    мне интересно до assembler какой язык программирования сущестовавл и как его создали если язык программирования до этого не было?

    • @SergiyRadonezhski
      @SergiyRadonezhski 6 місяців тому +6

      До ассемблера существовали перфокарты (такие картонные карточки с пробитыми в определенном порядке дырками), на которых были нанесены риски по которым в компьютер отправлялись или считывались двоичные матрицы (коды), проводились операции вычисления и записи. Потом перфокарты заменили клавиатурой, где каждая кнопка равна определенной команде. Далее эту "клавиатуру" просто записали в память процессора, которая и поныне зовётся регистром. Каждая внешняя команда имеет определенный символ (регистр), который вызывается из прошитой памяти и таким образом проводятся нужные операции вычисления.

  • @phir9255
    @phir9255 6 місяців тому +1

    Я компилирую больше раз в день, чем раньше, потому что опять начал учиться программированию.

  • @lampoomilk
    @lampoomilk 6 місяців тому +1

    Ну вроде на asambler пишут драйвера

  • @SudoStdUser
    @SudoStdUser 3 місяці тому +1

    Легухи требуют CIL ( 6:50 )

  • @lamina_cursor
    @lamina_cursor 6 місяців тому +2

    А резве С++ не создает также промежуточный промежуточный код ?

    • @romandonw
      @romandonw 6 місяців тому

      Ну, есть так называемые объектные файлы, да это промежуточная ступень, но всё равно потом превращается в машинные инструкции.

    • @romandonw
      @romandonw 6 місяців тому

      Объектные файлы создают лексер и парсер вродею а потом компилятся

  • @Hadagan_man
    @Hadagan_man 6 місяців тому +2

    Компилирую по разному. В основном пропорционально выходу ваших видео...

  • @nerassstraivaisya
    @nerassstraivaisya 6 місяців тому +1

    Вот такие пироги😊

  • @kranger8109
    @kranger8109 6 місяців тому +1

    👍

  • @Blondguy12
    @Blondguy12 6 місяців тому +1

    Молю, сделайте видео про chat GPT и вообще про нейросети!

    • @merionacademy
      @merionacademy  6 місяців тому +1

      Все будет, надеюсь вы подписались чтобы не пропустить

    • @Blondguy12
      @Blondguy12 6 місяців тому

      @@merionacademy конечно)

  • @Stor_Man
    @Stor_Man 6 місяців тому +2

    Ждём видео про шарпы)))

    • @merionacademy
      @merionacademy  6 місяців тому

      Подпишитесь, чтоб не пропустить)

  • @user-yf1cg1it3d
    @user-yf1cg1it3d 6 місяців тому +1

    асемблер используется для linux и unix системах

  • @kiwees7322
    @kiwees7322 6 місяців тому +1

    Ждём про язык Rust

  • @hellotoyou14
    @hellotoyou14 6 місяців тому +1

    ну, реверс инженерия точно, ядра и драйвера возможно, но не обязательно, в современном мире программирования

  • @mahmutizturganov2457
    @mahmutizturganov2457 6 місяців тому +1

    Очень классный видео но пожалуйста объясните немного медленнее,🙏

    • @merionacademy
      @merionacademy  6 місяців тому

      Поставьте скорость поменьше просто)

    • @mahmutizturganov2457
      @mahmutizturganov2457 6 місяців тому

      Голос искажается и это мягко говоря не комфортно 😔, а сколько стоит ваш курс про Пайтон? Еслт я полный 0 могу научиться?

  • @eeqquuiilliibbrriiuumm
    @eeqquuiilliibbrriiuumm 5 місяців тому +1

    В скорпионе 🤣🤣🤣

  • @eus4376
    @eus4376 6 місяців тому +1

    146% хороший ролик, например

  • @pinman8917
    @pinman8917 6 місяців тому +1

    Можете объяснить, в чём прикол с отключением js на 2:18?

  • @smaginaleksei
    @smaginaleksei 6 місяців тому

    На ассемблере драйверы некоторые пишут, так ведь?

  • @slimmatherz4164
    @slimmatherz4164 6 місяців тому

    Моя пепе и моя любить смотреть мерион академию.

  • @YARCHE-sz2nz
    @YARCHE-sz2nz 5 місяців тому

    6:15 компилируется? Не интерпретируется?

  • @porohmega
    @porohmega 6 місяців тому +1

    Я заядлый компилятор

  • @ianval1657
    @ianval1657 6 місяців тому

    Вот такие пироги

    • @merionacademy
      @merionacademy  6 місяців тому

      Угощайтесь и подписывайтесь)

  • @Parabellum_
    @Parabellum_ 6 місяців тому +1

    Полагаю, Assемблер используется для создания компиляторов/интерпретаторов?

    • @SalatikInMyHead
      @SalatikInMyHead 6 місяців тому

      Это популярное ошибочное предположение 😏 Для создания компилятора используется тот же язык, который он будет компилировать, либо другой высокоуровневый язык 🤓Естественно, самую первую версию компилятора придётся написать на другом языке, для которого уже существует компилятор или интерпретатор, но совсем не обязательно использовать для этого ассемблер, когда мы имеем множество мощных высокоуровневых языков. После этого компилятор может быть переписан на новом языке и собирать себя сам. Это называется bootstrapping 📝

  • @YEGKAMAL
    @YEGKAMAL 2 місяці тому +2

    Я делаю операционную систему на ассемблере

    • @merionacademy
      @merionacademy  2 місяці тому +1

      как назовёте?

    • @roiii111
      @roiii111 12 днів тому

      гитхаб давай

    • @YEGKAMAL
      @YEGKAMAL 12 днів тому +2

      @@merionacademySabiOS

  • @VaeV1ct1s
    @VaeV1ct1s 6 місяців тому

    В каждом ролике на эту тему одно и то же. Все говорят, что Цпу получает команду и из нее решает на какой из транзисторов отправить сигнал.
    А как цпу определает, на какой из транзисторов отправить сигнал? Почему ни где об этом не говорят

  • @_jrs456
    @_jrs456 6 місяців тому +2

    CIL ХОЧУ

  • @kirill_e1439
    @kirill_e1439 6 місяців тому

    2 раза

  • @dosball
    @dosball 6 місяців тому +1

    я компилирую по 2-3 раза в день🥸

  • @user-bu7on1we6t
    @user-bu7on1we6t 6 місяців тому +1

    Я работаю на php и мне норм) 😅

  • @joeharvelle6891
    @joeharvelle6891 2 місяці тому

    С++ быстрее Пайтона... С++ - компилируемый. Пайтон - интерпретированный

  • @ill4374
    @ill4374 6 місяців тому

    asm не нужен, когда есть C

  • @fkodkfdsffjksdjf2916
    @fkodkfdsffjksdjf2916 6 місяців тому

    А где c#?

    • @merionacademy
      @merionacademy  6 місяців тому

      Про него скоро расскажем!

  • @VolodymyrZel
    @VolodymyrZel 6 місяців тому

    Мені викладач з Основи Програмної Інженерії казав, що на Ассемблері пишуть драйвери. І взагалі типу: Вчи Ассемблер, будеш дрова писати, і гроші лопатою грести

    • @ill4374
      @ill4374 6 місяців тому

      дрова уже на C)

    • @VolodymyrZel
      @VolodymyrZel 6 місяців тому

      @@ill4374 🥲

  • @aaliboyev
    @aaliboyev 6 місяців тому

    Сколько раз в день компилируешь...
    Это как понять? Это личный вопрос?

    • @merionacademy
      @merionacademy  6 місяців тому

      Это обычный вопрос о компиляции 🤔Сколько раз в день вы компилируете свой код?

    • @aaliboyev
      @aaliboyev 6 місяців тому +1

      @@merionacademy Я пишу на интерпретируемых языках 😁

  • @SudoStdUser
    @SudoStdUser 6 місяців тому +1

    5ч назад

  • @mikhailkhanov9840
    @mikhailkhanov9840 6 місяців тому

    Компилировали компилировали, да не выкомпилировали

    • @merionacademy
      @merionacademy  6 місяців тому

      всей командой теперь сидим и пробуем повторить, пока не получилось

  • @vontar91
    @vontar91 18 днів тому +1

    Ассемблер используют в концлагерях для пыток

  • @romandonw
    @romandonw 6 місяців тому +2

    Кто пишет на C# ставьте лайк

  • @weamigo
    @weamigo 6 місяців тому +1

    Ассемблеры используется для написания ОС

  • @xakuro24xakk41
    @xakuro24xakk41 6 місяців тому

    второй

    • @jdk_h
      @jdk_h 6 місяців тому

      😢

  • @user-zy7ug4sl6z
    @user-zy7ug4sl6z 6 місяців тому

    ⁵⁵²

  • @user-xv1kc7dl3g
    @user-xv1kc7dl3g 6 місяців тому

    Дрова на ассемблере пишут

  • @TheEZIC
    @TheEZIC 6 місяців тому

    Дизлайк за хейт пиццы с ананасами

  • @aaliboyev
    @aaliboyev 6 місяців тому

    Кто поставил 29 дизлайков признайтесь

  • @marilexultra
    @marilexultra 6 місяців тому

    Кошмар.

  • @user-ly3sw9yc4l
    @user-ly3sw9yc4l 6 місяців тому

    Си
    Си плюс плюс
    Ахаха я поржал😂