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

แชร์
ฝัง
  • เผยแพร่เมื่อ 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

ความคิดเห็น • 142

  • @merionacademy
    @merionacademy  6 หลายเดือนก่อน +1

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

  • @pansangg_
    @pansangg_ 7 หลายเดือนก่อน +122

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

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

  • @052vladimir
    @052vladimir 5 หลายเดือนก่อน +20

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

  • @Young.Sideways
    @Young.Sideways 7 หลายเดือนก่อน +56

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

    • @georgemikava7459
      @georgemikava7459 6 หลายเดือนก่อน

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

  • @zholdin
    @zholdin 7 หลายเดือนก่อน +42

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +3

      Подтверждаем!🥰

  • @megamarkum
    @megamarkum 7 หลายเดือนก่อน +36

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

    • @Green_haze
      @Green_haze 7 หลายเดือนก่อน +37

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

  • @user-uj6gt2mb1c
    @user-uj6gt2mb1c 7 หลายเดือนก่อน +25

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

    • @THEBIGMISHA_OFFICIAL
      @THEBIGMISHA_OFFICIAL 7 หลายเดือนก่อน +1

      Я C++

    • @PSP-uf5fw
      @PSP-uf5fw 7 หลายเดือนก่อน +3

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

    • @relax_FM_1
      @relax_FM_1 7 หลายเดือนก่อน

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

    • @PSP-uf5fw
      @PSP-uf5fw 7 หลายเดือนก่อน +4

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

  • @userKR74
    @userKR74 7 หลายเดือนก่อน +6

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

  • @Shade063
    @Shade063 7 หลายเดือนก่อน +11

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

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

  • @Partizag
    @Partizag 7 หลายเดือนก่อน +9

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

    • @yan_it
      @yan_it 6 หลายเดือนก่อน

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

  • @podskazkin
    @podskazkin 5 หลายเดือนก่อน +1

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

  • @1L0veGNU
    @1L0veGNU 7 หลายเดือนก่อน +6

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

  • @user-sp9gh1sj7c
    @user-sp9gh1sj7c 5 หลายเดือนก่อน +1

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

  • @dm8380
    @dm8380 7 หลายเดือนก่อน +4

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +2

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

  • @user-xc8dn1wz7t
    @user-xc8dn1wz7t 7 หลายเดือนก่อน +5

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

  • @user-be7xc9uy6c
    @user-be7xc9uy6c 7 หลายเดือนก่อน +1

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

  • @imyourliver
    @imyourliver 5 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  5 หลายเดือนก่อน

      А мы - вас 🖤

  • @kaliber_6049
    @kaliber_6049 7 หลายเดือนก่อน +5

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

    • @kaliber_6049
      @kaliber_6049 7 หลายเดือนก่อน

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

  • @fallenull
    @fallenull 7 หลายเดือนก่อน +2

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

  • @leomysky
    @leomysky 4 หลายเดือนก่อน +1

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

  • @milordplus
    @milordplus 7 หลายเดือนก่อน +1

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

  • @ainurlatipov546
    @ainurlatipov546 7 หลายเดือนก่อน +2

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

  • @xakuro24xakk41
    @xakuro24xakk41 7 หลายเดือนก่อน +1

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

  • @vikont1911
    @vikont1911 7 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

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

  • @karengrigoryan7937
    @karengrigoryan7937 6 หลายเดือนก่อน +1

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

  • @daniilkams
    @daniilkams 7 หลายเดือนก่อน +2

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

  • @antegros
    @antegros 6 หลายเดือนก่อน +1

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

    • @merionacademy
      @merionacademy  6 หลายเดือนก่อน

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

  • @Aleksandr37rus
    @Aleksandr37rus 7 หลายเดือนก่อน +2

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

  • @jallyn8806
    @jallyn8806 7 หลายเดือนก่อน +2

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

  • @RumEvo
    @RumEvo 6 หลายเดือนก่อน +2

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

  • @M1ke.123
    @M1ke.123 7 หลายเดือนก่อน +1

    Спасибо вам❤

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

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

  • @mikhailsartakov4750
    @mikhailsartakov4750 4 หลายเดือนก่อน +1

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

  • @user-sx3ev2iz7h
    @user-sx3ev2iz7h 6 หลายเดือนก่อน +1

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

  • @wuzi200Z
    @wuzi200Z 7 หลายเดือนก่อน +4

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

  • @RuslanNumber1
    @RuslanNumber1 7 หลายเดือนก่อน +3

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

  • @romandonw
    @romandonw 7 หลายเดือนก่อน +3

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

    • @romandonw
      @romandonw 7 หลายเดือนก่อน +2

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

  • @svetogor777
    @svetogor777 7 หลายเดือนก่อน +3

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

  • @alekseibestuzhev8434
    @alekseibestuzhev8434 7 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

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

  • @CaXaPHblN_HerP
    @CaXaPHblN_HerP 7 หลายเดือนก่อน +2

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

  • @solodivls
    @solodivls 5 หลายเดือนก่อน +1

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

  • @AlexS-hn5fj
    @AlexS-hn5fj 7 หลายเดือนก่อน +1

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

  • @still_alive02
    @still_alive02 7 หลายเดือนก่อน +1

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

  • @SudoStdUser
    @SudoStdUser 4 หลายเดือนก่อน +1

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

  • @phir9255
    @phir9255 6 หลายเดือนก่อน +1

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

  • @Hadagan_man
    @Hadagan_man 7 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

      а вы хорош)

  • @nerassstraivaisya
    @nerassstraivaisya 7 หลายเดือนก่อน +1

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

  • @Blondguy12
    @Blondguy12 7 หลายเดือนก่อน +1

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน +1

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

    • @Blondguy12
      @Blondguy12 7 หลายเดือนก่อน

      @@merionacademy конечно)

  • @Interview_Bites
    @Interview_Bites 6 หลายเดือนก่อน +1

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

  • @kranger8109
    @kranger8109 7 หลายเดือนก่อน +1

    👍

  • @mahmutizturganov2457
    @mahmutizturganov2457 7 หลายเดือนก่อน +1

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

    • @mahmutizturganov2457
      @mahmutizturganov2457 7 หลายเดือนก่อน

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

  • @hellotoyou14
    @hellotoyou14 7 หลายเดือนก่อน +1

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

  • @kiwees7322
    @kiwees7322 7 หลายเดือนก่อน +1

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

  • @eeqquuiilliibbrriiuumm
    @eeqquuiilliibbrriiuumm 6 หลายเดือนก่อน +1

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

  • @SsergeySav
    @SsergeySav 6 หลายเดือนก่อน +1

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

  • @eus4376
    @eus4376 7 หลายเดือนก่อน +1

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

  • @user-yf1cg1it3d
    @user-yf1cg1it3d 7 หลายเดือนก่อน +1

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

  • @lampoomilk
    @lampoomilk 6 หลายเดือนก่อน +1

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

  • @octaedr
    @octaedr 14 วันที่ผ่านมา

    Ассемблер используется на МКС

  • @argenalmaz8424
    @argenalmaz8424 7 หลายเดือนก่อน +1

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

    • @SergiyRadonezhski
      @SergiyRadonezhski 7 หลายเดือนก่อน +6

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

  • @slimmatherz4164
    @slimmatherz4164 7 หลายเดือนก่อน

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

  • @porohmega
    @porohmega 6 หลายเดือนก่อน +1

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

  • @Stor_Man
    @Stor_Man 7 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

  • @_jrs456
    @_jrs456 7 หลายเดือนก่อน +2

    CIL ХОЧУ

  • @lamina_cursor
    @lamina_cursor 7 หลายเดือนก่อน +2

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

    • @romandonw
      @romandonw 7 หลายเดือนก่อน

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

    • @romandonw
      @romandonw 7 หลายเดือนก่อน

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

  • @ianval1657
    @ianval1657 7 หลายเดือนก่อน

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

  • @yar4e_diary
    @yar4e_diary 6 หลายเดือนก่อน

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

  • @YEGKAMAL
    @YEGKAMAL 2 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  2 หลายเดือนก่อน +1

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

    • @roiii111
      @roiii111 หลายเดือนก่อน

      гитхаб давай

    • @YEGKAMAL
      @YEGKAMAL หลายเดือนก่อน +2

      @@merionacademySabiOS

  • @user-bu7on1we6t
    @user-bu7on1we6t 7 หลายเดือนก่อน +1

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

      респект вам!)

  • @dosball
    @dosball 7 หลายเดือนก่อน +1

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

  • @pinman8917
    @pinman8917 7 หลายเดือนก่อน +1

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

      Неа, не можем!

    • @pinman8917
      @pinman8917 7 หลายเดือนก่อน

      @@merionacademy 🥺

  • @smaginaleksei
    @smaginaleksei 7 หลายเดือนก่อน

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

  • @VaeV1ct1s
    @VaeV1ct1s 6 หลายเดือนก่อน

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

  • @VolodymyrZel
    @VolodymyrZel 7 หลายเดือนก่อน

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

    • @ill4374
      @ill4374 6 หลายเดือนก่อน

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

    • @VolodymyrZel
      @VolodymyrZel 6 หลายเดือนก่อน

      @@ill4374 🥲

  • @kirill_e1439
    @kirill_e1439 7 หลายเดือนก่อน

    2 раза

  • @joeharvelle6891
    @joeharvelle6891 3 หลายเดือนก่อน

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

  • @SudoStdUser
    @SudoStdUser 7 หลายเดือนก่อน +1

    5ч назад

  • @ill4374
    @ill4374 6 หลายเดือนก่อน

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

  • @mikhailkhanov9840
    @mikhailkhanov9840 7 หลายเดือนก่อน

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

  • @vontar91
    @vontar91 หลายเดือนก่อน +1

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

  • @romandonw
    @romandonw 7 หลายเดือนก่อน +2

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

      Поставили!

  • @Parabellum_
    @Parabellum_ 7 หลายเดือนก่อน +1

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

    • @SalatikInMyHead
      @SalatikInMyHead 7 หลายเดือนก่อน

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

  • @xakuro24xakk41
    @xakuro24xakk41 7 หลายเดือนก่อน

    второй

    • @jdk_h
      @jdk_h 7 หลายเดือนก่อน

      😢

  • @aaliboyev
    @aaliboyev 7 หลายเดือนก่อน

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

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

    • @aaliboyev
      @aaliboyev 7 หลายเดือนก่อน +1

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

  • @fkodkfdsffjksdjf2916
    @fkodkfdsffjksdjf2916 7 หลายเดือนก่อน

    А где c#?

    • @merionacademy
      @merionacademy  7 หลายเดือนก่อน

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

  • @weamigo
    @weamigo 7 หลายเดือนก่อน +1

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

  • @user-zy7ug4sl6z
    @user-zy7ug4sl6z 7 หลายเดือนก่อน

    ⁵⁵²

  • @user-xv1kc7dl3g
    @user-xv1kc7dl3g 7 หลายเดือนก่อน

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

  • @TheEZIC
    @TheEZIC 7 หลายเดือนก่อน

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

  • @aaliboyev
    @aaliboyev 7 หลายเดือนก่อน

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

    • @Shprotec
      @Shprotec 2 หลายเดือนก่อน

      Я

  • @marilexultra
    @marilexultra 7 หลายเดือนก่อน

    Кошмар.

  • @user-ly3sw9yc4l
    @user-ly3sw9yc4l 6 หลายเดือนก่อน

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