Вся суть ассемблера за одно видео

Поделиться
HTML-код
  • Опубликовано: 25 авг 2024
  • erid: 2VtzquZUwQS | Освойте основы Python-разработки на бесплатном курсе от Яндекс Практикума - ya.cc/t/jQUybP...
    Ассемблер не такой и нужный язык. Немножечко, конечно, нужен, но скорее всего не тебе. Сфера использования слишком узкая и вряд ли принесёт пользу. Но не всё так просто, есть одно "но"...
    ---
    Подпишись на наш Telegram Канал 🖤 t.me/extremecode
    The Saga by Karl Casey @ White Bat Audio // • Retro Synthwave - The ...

Комментарии • 746

  • @ExtremeCode
    @ExtremeCode  7 месяцев назад +7

    Методичка по Simple Computer и больше контента в нашей тележке👉 t.me/extremecode
    А для бустеров у нас есть эксклюзивный контент: boosty.to/extremecode

    • @agentofsorros
      @agentofsorros 7 месяцев назад +1

      На это канале два вещателя. Один iPro, а а второго как звать?
      Так вот, я захожу на эхтримкод поржать, хорошо смешить получается у второго.
      А вот АйПро мне нравится его способ донесения теории заговоров, методичек всяких разных.
      Вот был видос с халфлайф на фоне с отличным саундтреком…. Вот хотелось бы побольше АйПро в этом аспекте

    • @LithiumDeuteride-6
      @LithiumDeuteride-6 7 месяцев назад +2

      Сейчас процессоры умеют делать оптимизацию на лету, патамуша х86 это высокоуровневый ЯП. Ты лучше посмотри на кодинг К145ИК13, так сказать прочувствуй что такое дзен.
      В общем, на асме можно кодить потомуша могу и мне нравиться. Ещё для некоторых дисциплин так же необходимо. Ну и самое главное, если умеешь в ассемблер, то твой код на С/С++ будет как правило быстрей, потому что понимаешь во что эти конструкции с компилируются, и какие при этом могут проблемы.
      Погромист который не понимает ассемблер, и вообще плохо соображает как работает ЭВМ, в принципе не умеет в оптимизацию, и не умеет писать быстрый код. Ну только если совсем тупой от тупого.

    • @NETstalker0xFFF
      @NETstalker0xFFF 7 месяцев назад

      ​@agentofsorros , да вот бы вернулась фон халфа, а не петушиный реакт

    • @MihailNesterov-g1p
      @MihailNesterov-g1p 7 месяцев назад +1

      Ты должен был, бороться со злом, а не примкнуть к нему!

    • @user-fh8vy1lx2t
      @user-fh8vy1lx2t 6 месяцев назад +1

      2099 год
      - сколько у тебя оперативки?
      - 64 гига
      - сколько сколько? ты блокнот то запустить можешь?

  • @gjils311
    @gjils311 7 месяцев назад +148

    у меня интересная история знакомства с ассемблером. весной прошлого года в один из туманных, холодных дней я сидел на скамейке в парке, смотрел как течет вода в речке. ко мне подошел мужик лет 45, попросил закурить, с виду был явно не очень трезвый. начал типичный разговор бухого дедка про "потерянное поколение", "молодежь не знает классику", "вот делали же раньше..." и подобное. в какой-то момент спросил чем я хочу заниматься, я ответил мол хочу программистом работать, веб разработчиком, осваиваю реакт и тд. он рассмеялся мне в лицо и ответил что-то типо "это не программирование, оставь версту сайтов для девочек, учи ассемблер и сможешь написать что угодно". оказалось этот дедок уже 20 лет работал с С и был каким-то там лидом в какой-то там компании. он рассказал мне в каких направления двигаться, как искать работу, из каких вузов чаще всего приходят хорошие джуны и закрыл много моих вопросов
    я иногда вспоминаю этот случай и думаю, что я возможно просто в тот момент словил шизу из-за завалов по учебе и прочих неприятностей в жизни. уж слишком в удачное время появился этот мужик и расставил все по местам в моей голове и уж слишком сюрреалистично ощущался этот парк

    • @imyourliver
      @imyourliver 7 месяцев назад +4

      а чо за вузы-то

    • @user-nx4mo9sf9o
      @user-nx4mo9sf9o 7 месяцев назад +15

      ⁠@@imyourliverмгу, бауманка, мирэа, мфти, мтуси. Топ5 по Москве, где дают хорошую базу и джуны оттуда золотые. Это по факту хорошие мидлы по знаниям, но из-за полного непонимания чо-кого в этих ваших больших конторах идут на джунов.

    • @Phund4
      @Phund4 7 месяцев назад

      @@user-nx4mo9sf9o мтуси топ

    • @frogfrogfrog6288
      @frogfrogfrog6288 7 месяцев назад

      @@user-nx4mo9sf9o мирэа АХАХХАХАХАХА

    • @youadiabatic
      @youadiabatic 6 месяцев назад

      @@user-nx4mo9sf9o мгушник, умерь эго плиз, мидлы по знаниям лол)))

  • @undefinedundefined5924
    @undefinedundefined5924 7 месяцев назад +317

    На ♂ASSемблере♂ не пишут, на нём реверсят (база)

    • @askoldmodera
      @askoldmodera 7 месяцев назад +11

      Двачую

    • @darklezz
      @darklezz 7 месяцев назад +4

      факты

    • @user-nx4mo9sf9o
      @user-nx4mo9sf9o 7 месяцев назад +1

      Так.

    • @apristen
      @apristen 7 месяцев назад +1

      сейчас уже даже проги реверсеры научились C выдавать вместо asm'a на выходе, ну такой херовый C конечно но понятнее asm всё равно.

    • @user-nx4mo9sf9o
      @user-nx4mo9sf9o 7 месяцев назад

      @@apristen обфусцированный си хуже асма.

  • @ted_res
    @ted_res 7 месяцев назад +114

    Предлагаю инженерам не учить сопромат, ведь дизайнеры делают проекты намного красивее и быстрее.

  • @ted_res
    @ted_res 7 месяцев назад +10

    А кто будет сами компиляторы создавать без ассемблера, гений? Загрузчик операционной системы не пробовал писать? Эмулятор реального проца написать на другой платформе так, чтобы он не тормозил? Для отладки любого нативного софта может пригодиться. Я в шоке от подачи. Вместо того, чтобы рассказать, где ассемблер нужен, сказать, что это говно, которое нигде не используется...

  • @user-xk2lb2ob8p
    @user-xk2lb2ob8p 7 месяцев назад +103

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

  • @yvnglual
    @yvnglual 7 месяцев назад +104

    теперь видосы по умолчанию в х1.5. Хорош братан, продолжай в том же духе!

    • @vitaliikharutsa859
      @vitaliikharutsa859 7 месяцев назад +8

      А у меня и так стояло 1.5, и я сижу вообще не раздупляю почему так быстро то?

    • @user-cq3jy8vr8h
      @user-cq3jy8vr8h 7 месяцев назад

      Ага)))))

  • @launchtime2776
    @launchtime2776 7 месяцев назад +23

    ЭкстримЦоде, как обычно, забывает о том, что кроме крутых мощных ПК и чуть менее крутых и мощных мобильных устройств есть ещё системы на микроконтроллерах, где важен буквально каждый байт итоговой программы и каждый такт её выполнения (атмега со встроенным клоком 8мгц передает привет)
    А более долгое и дорогое написание кода зачастую окупается экономией на комплектующих в массовом производстве.
    Я уже не говорю про системы, которые должны потреблять единицы - десятки микроамперметр для обеспечения вразумительной автономности

  • @Michaelius1111
    @Michaelius1111 7 месяцев назад +11

    Да, давай, скажи ещё, что питон - лучший ЯП. Я согласен, что изучать ассемблер не особо полезно. Но низкоуровневые языки - то, что должно жить всегда.

  • @george_potoshin
    @george_potoshin 7 месяцев назад +27

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

    • @george5657
      @george5657 7 месяцев назад +2

      Нода топчик, остальное проблемы пингвинов)

    • @TheMrNairo
      @TheMrNairo 4 месяца назад

      Не наоборот и уже заебись

    • @uvwzyx
      @uvwzyx 8 дней назад

      не похуй ли?

  • @IgorYegorkin
    @IgorYegorkin 7 месяцев назад +59

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

    • @alexdeadykhin5203
      @alexdeadykhin5203 7 месяцев назад +3

      Также нужен ибешникам и реверс инженерам

    • @ZuratonE
      @ZuratonE 7 месяцев назад +1

      Во втором случае можно обойтись С.

    • @IgorYegorkin
      @IgorYegorkin 7 месяцев назад +13

      ​@@ZuratonEне обойтись, если прямо командами формируется сигнал на выходе МК - за команды ассемблера отвечаешь ты, а за команды от компилятора C отвечает компилятор, который со временем или в зависимости от настроек может начать делать что-то иначе.
      Ну и если МК очень мелкий и у него всего мало, то опытный человек может впихнуть в него невпихуемое, а компилятор - не всегда это сможет сделать.

    • @user-il4kd9qq3y
      @user-il4kd9qq3y 6 месяцев назад +1

      Для контроллера С - это тема. Я в 1кБ втыкал работу с энкодером, управление адресной светодиодной лентой и вывод на экран на базе TM1637, количества светодиодов в ленте. Ну типа тестер для адресной ленты. На асм тоже самое было бы по объёму памяти.

  • @skiddy-dz1ue
    @skiddy-dz1ue 7 месяцев назад +17

    Актуально, и спасибо за альтернативу, но реверс инженеринг и ИБ посмеялись от души

  • @user-it6fl3xz3q
    @user-it6fl3xz3q 7 месяцев назад +33

    Ассемблер очень пригождается, когда необходимо впихнуть невпихуемое. Как-то раз делал прошивку на х51 семейство микроконтроллеров, так только с помощью ассемблера мне удалось вместить большой функционал, и то память была забита полностью. Ну и конечно, это актуально для тех, кто работает исключительно на отечественной элементной базе, характеристики которой оставляют желать лучшего.

    • @milaro222
      @milaro222 6 месяцев назад

      Сегодня не проблема взять микроконтроллер с достаточным объемом памяти.

    • @MegaVDev
      @MegaVDev 6 месяцев назад +1

      @@milaro222 Это вы про домашние или мелкосерийные поделки. Я в 2006-2009 гг. работал в американской Genesis, мы разрабатывали первый в мире проц для однопроцессорного телевизора. Я занимался программированием звукового тракта. Так вот, звук обрабатывался встроенным DSP с командами VLIW, до 6 команд за такт. А вот FPU не было! И не потому, что не могли, а потому, что при тиражах с сотни миллионов каждый цент на счету! Так что выгоднее нанять программиста, который не боится асма, чем удорожать чип. Тогда много приходилось писать на асме + Си.

    • @artemivanov3841
      @artemivanov3841 6 месяцев назад +3

      @@milaro222 если ты делаешь мигалку светодиодом для себя - да, но если у тебя серия пусть даже на несколько тысяч устройств, то стоимость разработки становится меньше выгоды от более дешевого железа

    • @milaro222
      @milaro222 6 месяцев назад

      @@artemivanov3841 Серия на несколько тысяч устройств никогда не оправдает выбор МК с предельно низким объемом памяти с необходимостью писать на ассемблере, больше денег потратишь на разработку, позже выпустишь продукт, что может тебе стоить вообще не порядки больше.

  • @ShiloXyZ
    @ShiloXyZ 7 месяцев назад +17

    Мне ассемблер нужен для отладки ARM, когда оно валится а ошибку шины приходится изучать сбойное место под луной чтобы понять что у тебя оказывается стек заехал на кучу и поломал там чертовски важный указатель и теперь он указывает вообще в рандомное место и туда происходит переход или типа того.

  • @wevelrashin
    @wevelrashin 7 месяцев назад +13

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

    • @Swyateg
      @Swyateg 4 месяца назад +2

      Экстремум скажет, что такого не бывает, всё есть на уровне повыше.

  • @user-wq5px3xp9m
    @user-wq5px3xp9m 7 месяцев назад +13

    Тут есть ооочень важная оговорка. Не нужно учить асм, но обязательно нужно его потрогать. На том этапе, когда студент учит модель памяти, очень важно бегло пройтись по ассемблеру, в виде 5-10 лабораторных работ, как у нас в вузе. Чтобы он понял, что такое стек-поинтер, регистры, и прочие важные вещи, позволяющие грамотно работать с памятью во всех остальных высокоуровневых языках. Именно ботать асм и стремиться на нём что-то написать - идея, конечно так себе.
    PS: По рукам бы автору надавал, за то что пропагандирует питон как лёгкий язык для новичков XD. Пожалуй это худший язык с которого можно начать свой путь в программировании...

    • @MetaJamm
      @MetaJamm 6 месяцев назад +1

      Муриканские вузы тоже так считают, как и львиная доля людей. На втором месте JS разумеется и по идее он полезнее, но пистон даёт больший простор для направлений деятельности.

    • @xor_ax_ax
      @xor_ax_ax 6 месяцев назад +1

      Да, не больше 8 недель, иначе потом всю жизнь будет кипеть мозг от осознания того, что один оператор на том же питоне по КПД не лучше лампы накаливания, но светит же. Такое же чувство в супермаркете: смотришь на продукты и мысленно видишь, как с них стекает жир и всякие суррогаты, и твой выбор становится все скуднее и однообразнее. И вот ты уже никому не нужный гик, со своим устаревшим мировоззрением о ЗОЖ компьютера.

    • @MetaJamm
      @MetaJamm 6 месяцев назад

      @@xor_ax_ax % энергии затраченой на освещение толи 5 толи 10 от общего энегопотребления(не суть но там мало). Если мы снижаем потребление в половину современными источниками света, то выигрываем аж целых 2%-5% энергии. Окей оптимизируем освещение дальше вкладываемся в НИИ и цепочки производства снижаем энергозатраты на освещение аж на 90% гороодимся, и получаем феерическую выгоду в 1-3% Упс... А оно надо? Все еэти игры в % надо внимательнее считать, иначе какнибудь купишь керамические втулки на велосипед с на 50% меньшим трением))).

  • @qwerty2536
    @qwerty2536 7 месяцев назад +87

    Короче. Если посмотреть все видео экстримцоде, то получается следующее: ассемблер не учи, паттерны не учи, тестирование не нужно, качественный код не нужен. Получается, господа разработчики, нам остается только сидеть и пердеть в лужу 👍

    • @george5657
      @george5657 7 месяцев назад +20

      Самое главное забыл: и получать за это деньги)

    • @alexcorvis3206
      @alexcorvis3206 6 месяцев назад +10

      Согласен. На кой вам качественный код? Индусы же пишут и хорошо😆

    • @nigredo79
      @nigredo79 5 месяцев назад +1

      Он просто устраняет конкурентов

    • @xyzw777
      @xyzw777 5 месяцев назад +8

      @@nigredo79 он не кодер, а хайп блогер. регулярно сталкиваюсь с кодом таких супер "продвинутых" кодеров, после оптимизации "это" работает в 10~1000 раз быстрее и наконец-то начинает выполнять требования бизнеса ради чего и писалось...

    • @FelixX138
      @FelixX138 2 месяца назад

      @@xyzw777 Ты всё равно не будешь писать на Ассамблере , банально потому что это намного медленнее, да и хороший программист может написать плохой код , не стоит забывать что это зависит так же от сроков и заказчика.

  • @user-vk5vy5lq3t
    @user-vk5vy5lq3t 7 месяцев назад +18

    Я подумал что чел ExtrimeCode наконец перестал нести дичь. Но по голосу это похоже другой чел. Всё сходится

  • @flac1482
    @flac1482 7 месяцев назад +43

    Ассемблер не кодерам (в общем понимании) нужен, а тем, кто реверсом занимается

    • @povezlo_nepovezlo
      @povezlo_nepovezlo 7 месяцев назад +15

      И разработчикам этих самых компиляторов, которые "всё лучше тебя" сделают

    • @user-nx4mo9sf9o
      @user-nx4mo9sf9o 7 месяцев назад +13

      Ну как сказать. Еще совсем недавно в 2007-9(не помню точно). Мне пригодился ассемблер, потому что модуль ядра для драйвера сетевой карты у eeepc был с асемблерной вставкой, в которой был баг. А нахер нужен ноут без сетевухи?
      Ну и типа вариантов не много: или фикси сам или жди пока пофиксит производитель драйвера. Я фиксил сам. Наверное я бы и без знания асма бы это пофиксил, но асму меня еще в школе учили(да и до школы, дед всякие приколюхи показывал).
      А еще асм нужен для работы со всякими контроллерами и тд. Короче полезно знать(да и знать там особо нечего, сплошные справочные данные, а принцип прост как апельсин).

  • @maliksurin6908
    @maliksurin6908 3 месяца назад +5

    Мне только кажется, или это видос из раздела "Зачем изучать математику если есть калькулятор"?

    • @user-ze7jv1vw4b
      @user-ze7jv1vw4b Месяц назад

      кажется.. На ассемблере писать нах не надо. Поигрался немного в унике, понял как работает и досвидос.

  • @user-qk5vd7gk2j
    @user-qk5vd7gk2j 5 месяцев назад +3

    Что я понял из видео: ассемблер плох, потому что в рекламной вставке речь была не про ассемблер, а про пайтон.

  • @izby
    @izby 7 месяцев назад +5

    Какая ещё преждевременная оптимизация? У нас уже и над своевременной никто не париться!

  • @haltyhelem105
    @haltyhelem105 7 месяцев назад +6

    я все еще жду тот момент когда наконец то загрузится реакт проект на фоне

  • @evgenyrozhnowsky6572
    @evgenyrozhnowsky6572 6 месяцев назад +12

    На нем не нужно писать, на нем нужно понимать)

  • @user-js5un6dt1t
    @user-js5un6dt1t 7 месяцев назад +5

    Эти знания не бесполезны. Они просто нужны в другой сфере. Допустим когда ты программируешь ту же ардуину на атмега 328 там уже можно обойтись и без знания ассемблера просто кодя на си(именно на с/с++ на на wiring). Но на той же атмега13 или атмега 10 памяти очень мало и поэтому там ассемблер будет очень выгоден по сравнению с си

  • @user-bb4mt7zw3l
    @user-bb4mt7zw3l 7 месяцев назад +38

    Лет 20 назад изучал ассемблер просто так из любопытства, согласен, что никакой необходимости в нем нет сейчас, но я с удовольствием его изучал, было интересно, даже какие-то трюки делал) Я еще всегда был байтодрочером и мне нравилось, что програмка на асме весил несколько сотен байт или пару килобайтов, ощущал через это свою крутость (LOL).

    • @BestMovieActors
      @BestMovieActors 7 месяцев назад +1

      Во времена DOS такие программки было удобно щёлкать.
      Теперь попробуй на ассемблере калькулятора графического написать. За неделю и несколько миллионов строчек кода управишься?

    • @user-bb4mt7zw3l
      @user-bb4mt7zw3l 7 месяцев назад +6

      @@BestMovieActors конешно нет, АСМ не для этого, но при разработке каких-нибудь драйверов он точно пригодится

    • @LithiumDeuteride-6
      @LithiumDeuteride-6 7 месяцев назад +5

      @@BestMovieActors в принципе легко, WInAPI изучил и давай вперёд, чуть сложней чем на С/С++. По крайней мере я эмулятор МК-61 делал на асме, правда потом на С++ переделал, там по проще.

    • @user-xo1gl9gs2i
      @user-xo1gl9gs2i 7 месяцев назад

      @@user-bb4mt7zw3l если напишешь хоть одну вставку в коде драйвера который должен быть заэмбежен на уровне ядра ос тебя сразу же уволят. это грубейшее нарушение, тебе даже ddk не даст такой код собрать

    • @exception05
      @exception05 7 месяцев назад +1

      Ну, на демосцене место АСМу) вообще, демосцена это качественное порно для любителей оптимизаций.

  • @user-gp6ih8zj1e
    @user-gp6ih8zj1e 7 месяцев назад +5

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

  • @hiotv9656
    @hiotv9656 7 месяцев назад +5

    Я не смотрел ещё видео но вангую: ты, мой дорогой друг, не входишь в этот список

  • @LameWacko
    @LameWacko 7 месяцев назад +4

    У некоторых преподов инфаркт случится от заявления, что подавляющему большинству разрабов ассемблер не нужен. На моей памяти ассемблер использовали 2,5 человека для решения проблем с пик и авр микроконтроллерами в каких-то особо задротских случаях.

  • @andriydobrus4722
    @andriydobrus4722 7 месяцев назад +6

    Недавно пришлось кодить эмдед , чип имел всего 64 байта оперативы, да, байта, не килобайта. Вот там ассемблер пришлось вставлять, но 80% на плюсах норм ехало

  • @sawers1374
    @sawers1374 7 месяцев назад +11

    Ассемблер в кайф, можно вот этого вот почаще?!

    • @user-zf5vn2lw8b
      @user-zf5vn2lw8b 6 месяцев назад

      можно машку за ляжку

  • @SSSuzd
    @SSSuzd 7 месяцев назад +9

    Меня вот что больше беспокоит - Почему каждое обновление приложений, в телефоне например, становятся все объемнее? Внешне ничем приложение от предыдущего не отличается. Что это? Оптимизация? Тел через год начинают тормозить ибо не могут быстро переварить ту увеличившуюся простыню кода.
    Жаль я не программист. Но хотелось бы чтоб ктото из знающих эту тему немного расскрыл.
    На старый комп установил winXP. Шустрый, зараза 😅, но старый.

    • @i-am-ultra
      @i-am-ultra 7 месяцев назад +2

      Новые приложения гораздо больше, в них очень много сторонних компонентов. Разработчики допускают ошибки, думая "потом оптимизирую" и используют слишком много всякого говна

    • @SSSuzd
      @SSSuzd 7 месяцев назад +2

      @@i-am-ultra пробовал написать простенькую программу, типа калькулятора. А он в несколько мб весит. В ассемблере если писал, думаю весил бы намного меньше. И я вынужден с вами согласиться, в языках высокого уровня на выхлопе много лишнего. Увы, не стал изучать ассемлер и копаться в коде той програмки дабы узнать правду.

    • @postoronny
      @postoronny 7 месяцев назад

      Потому что это ява ;)

    • @Georgggg
      @Georgggg 7 месяцев назад

      Cumulative patch.
      Ты когда обновление выпускаешь, ты не знаешь какая версия текущая у клиентов, и ты запихиваешь в нее все изменения начиная с какой-то версии, чтобы у всех точно обновилось и ничего не закирпичилось.
      Когда зайдешь на 4pda чтобы поставить root, и охренеешь от того как все на соплях держится что вот для такой версии именно такой файлик нужен, а не другой
      ОЙ ЭТО СТАРАЯ ИНСТРУКЦИЯ НЕ ЧИТАЙТЕ... - тогда и поймешь что скачанные лишние мегабайты стоят того чтобы не проебаться где-то с версиями.

    • @SSSuzd
      @SSSuzd 7 месяцев назад +1

      @@Georgggg ну так, вы про само обновление говорите. Я имел ввиду размер приложения после применения обновления.

  • @user-vg4lp5ox7f
    @user-vg4lp5ox7f 7 месяцев назад +7

    Если мы не знаем то как работает старое как на его улучшить? Я лично хочу заниматься именно этим (писать компиляторы )

  • @DKond75
    @DKond75 6 месяцев назад +3

    Когда я начинал писать программы, то начинал с машинных кодов. Потому что ассемблера на руках не было для того процессора, для которого писал. Код вбивался в отладчике в виде 16 ричных знаков. "Компиляция" - руками по таблицам в книжках, линковка - в тетрадке. Ничо - не помер. И от того что схемотехникой процессоров и периферийных устройств и прочей лабудой позже занимался - тоже не помер, и эта информация не является вредной. Нужно ли это всем сейчас - нет. Пожалуй соглашусь. Как написать на ассемблере игру ААА класса? - ответ никак, понадобятся промежуточные уровни абстракций и их придется писать. Никто же чайной ложкой на даче не копает под картошку...
    Вопрос в другом, насколько Вы контролируете тот продукт, что Вы производите, используя чужие библиотеки и компиляторы? Примерно никак. В среднем современная разработка - магия, написал print(1+1), а как оно вычислилось и вывелось - хер его знает. Ну ок, ок. А автор библиотеки, которой Вы пользуетесь был под эффективным менеджментом, торопился, в ущерб качеству, или осознано закладку в код библиотеки положил. А вы нареактили с этой библиотекой. Чтож потом не удивляйтесь...
    И обрастает это всё входными проверками библиотек и компиляторов на закладки. И процесс разработки превращается в такой адъ, что порой не знаешь что лучше, через ИБ стороннюю либу провести в контур разработки, или свою написать.

  • @user-dp2lk3pu4y
    @user-dp2lk3pu4y 7 месяцев назад +6

    Про асмемблер очень хорошо сказано. А вот то, что автор поставил плюсы и жабу с петухоном в одно предложение - это уже осуждаю (шутка, если что, хотя для меня, как для плюсовика, это не шутка))

  • @user-wg2yh1rw2t
    @user-wg2yh1rw2t 7 месяцев назад +7

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

    • @flac1482
      @flac1482 7 месяцев назад +1

      А я просто кавычки ставлю на цтфках и мне збс

    • @user-wg2yh1rw2t
      @user-wg2yh1rw2t 7 месяцев назад

      Шутки из категории web300?))@@flac1482

    • @2SUB-TV_space
      @2SUB-TV_space 5 месяцев назад

      Почему? Игры для ретро консолей на ASM.

  • @dicktv8810
    @dicktv8810 7 месяцев назад +5

    Ещё ассемблер может быть полезен при написании транслятора или компилятора. Плюс, все низкие языки очень похожи.

  • @t-lore4413
    @t-lore4413 7 месяцев назад +7

    7:50 оооооооо, в прошлом году как раз на курсе архитектура эвм собирали свой виртуальный мини процессор. Полностью с нуля. Довольно интересная штука была. Правда бОльшая часть студентов не справляется и просто покупают работы у старшаков и только 2-3 человека собирают полностью рабочий сами. И я с друзьями единственные из группы кто собрал. Так прикольно потом было, когда всё заработало писать мини программки под него.

    • @hedgehogsch.7270
      @hedgehogsch.7270 7 месяцев назад

      Насколько продвинутый проц собирали? Кэширование щупали?

    • @t-lore4413
      @t-lore4413 7 месяцев назад +5

      Да куда там кэширование щупать))) Только теоретически прошли его принцип работы. Я не знаю как определять продвинутость проца потому, что единственный проц устройство которого я знаю - это мой, мне просто не с чем сравнивать)) Но все-таки кажется, что проц был самый-самый примитивный, второму курсу что-то сложное не получиться дать :) Плюс это еще и не наша главная ветвь обучения была. Проц состоял из операционного автомата (блок регистров, учёт флагов, АЛУ), управляющего автомата(декодер команд, чтобы из микрокода инструкции подгружать) и блока памяти. Там по вариантам надо было несколько команд реализовать, разные типы поддерживаемых операндов и их количество + еще второй алу у некоторых надо было сделать. Конкретно у меня были команды ADD, SUB, SHL, NAND, INC, LD, ST, SHR , JMP, JZ. Плюс пару тестовых программ для проверки работоспособности.

  • @shitposting_box
    @shitposting_box 7 месяцев назад +2

    Вместо споров что лучше - изучить работу компа на низком уровне или забить и радоваться высокоуровневым инструментам, стоило бы рассказывать про разные моменты, которые компиляторы и без человека прекрасно оптимизируют, а где развернут ваш код в парашу, которая жрет памяти как не в себя или выполняется дольше, чем Джордж Мартин пишет книги. Тогда можно будет оптимизировать код, там где это действительно нужно, и не заморачиваться там, где давно все подхвачено дедами

  • @topppkekkk1307
    @topppkekkk1307 7 месяцев назад +2

    Землю крестьянам - это ты как раз таки туда, брат. Вот этого вот давай по-больше.

  • @SlavaBass
    @SlavaBass 7 месяцев назад +2

    Ну вот когда у меня программисты уперлись в уебищную производительность библиотечной функции Фурье преобразования, их спас я написав за пару ночей оптимизированную на асембли нативную библиотеку. А я олдфаг - аккаунт менеджер, который ничего новее плюсов так и не освоил. Шах и мат совремменные кодеры.

  • @mamont0207
    @mamont0207 7 месяцев назад +3

    Как человек с 12 годами опыта работы на всякоразном низкоуровневом от С и плюсов до древних версий CUDA заявляю: вам asm на**й не нужен. Иногда полезно уметь читать асм для анализа и дебага, но за годы работы системщиком или ембеддедщиком вы лайкли ни строчки не напишите на асме. Компилер напишет лучше, кроме тех случаев когда у вас есть надежные аргументы уровня диссертации. Понимание архитектуры полезно… но только если вы пишете критичный к производительности лоу-левел

  • @igorchesnokov482
    @igorchesnokov482 7 месяцев назад +12

    Когда-то без ассемблера было не реально обойтись. Например, на ZX Spectrum - там по ощущениям Бейсик раз в 20 тормознее. Поэтому, чтобы использовать всю мощь процессора было нужно говорить с ним напрямую. Сейчас-же это почти никому не нужно. И знание ассемблера нужно только для того, чтобы разобраться в чужой программе, не имеея ее исходников. Ну, чтобы, например, отучить игру от стима :) или улучшить графику до 4к и выше у старых игр.

    • @cafedead
      @cafedead 7 месяцев назад +5

      Ну во времена Спектрума тоже можно было написать программу на встроенном Бейсике, или Си, и с помощью компилятора превратить ее непосредственно в машинные коды, и получить достаточно хорошую производительность. Знание ассемблера сегодня нужно, чтобы писать производительный код на любом языке, т.к. у вас есть понимание, во что ваш код превращается. Иными словами, чтобы стать программистом более высокого качества. Если у вас нет такой цели, то вам это знание не нужно.

    • @kostya48i57
      @kostya48i57 7 месяцев назад +1

      ​@@cafedead о, опять свидетели производительного кода
      господин мертвое кафе, чтобы писать хороший производительный код нужно знать примерно дохреналион контекста языка/оси/компилятора/среды/сетей/архитектуры проекта
      и знаете, вот знание ассемблер как-то не очень хорошо помогает, когда весь код занят банальными сисколлами и расходами с ними связанными
      сказки про то, что мол вот, знаешь ассемблер - значит знаешь все, далеко нерелевантны
      недавно мой коллега, который разрабатывает довольно высоконагруженную часть kv хранилища, написал поиск ключа в хэштаблице в питоне за линию
      при этом этот же человек половину ядра перехерачил, чтобы к нам неблокирующие дескрипторы завести
      про людей пишущих на интерпретируемых, или боже упаси на языках которых исполняет JVM, там вообще этот ассемблер не уперся никуда, там нужно знать еще как под капотом эта JVM работает и какой GC лучше использовать.
      не нужно в текуище время знание ассемблера 99% программистам, а те, кто этот производительный код будут писать (не дай бог), то они должны знать еще гораздо кучу более важных вещей, чем ваш этот ассемблер поганый

    • @cafedead
      @cafedead 7 месяцев назад +1

      @@kostya48i57 А писать как-то без вот этого гонора вас учили? Пишите пожалуйста незнакомым людям вежливо.
      "чтобы писать хороший производительный код нужно знать примерно дохреналион контекста языка/оси/компилятора/среды/сетей/архитектуры проекта"
      Ну может быть нужно, а может быть и нет. Вы ничем это свое балабольство не подтвердили. это для вас всего дохреналион того, чего вы не знаете, вот вы и предполагаете что это все то, чего нужно знать... Вы это себе вообразили от незнания предмета. Называйте это своими именами, пожалуйста.
      "и знаете, вот знание ассемблер как-то не очень хорошо помогает, когда весь код занят банальными сисколлами и расходами с ними связанными"
      Не помогает, потому что вы ничего не знаете ни про ассемблер, ни все весь некий "дохреналион". Ну вот я конкретный пример в комментариях под видео привел, когда Соер, не понимая сути конструкции switch/case, написал менее производительное решение FizzBuzz. Он знает ассемблер, но не вполне понимает. Как и вы, он не может связать код, который он пишет на языке высокого уровня, с тем, что исполняется на уровне процессора. Нет у него этой связи в голове, как и у вас. Ну а мне понимание ассемблера помогло написать более адекватный и производительный код решения этой задачи, производительнее Соера, и производительнее решения от chatGPT. Может просто ваше понимание ассемблера плохое, как и у Соера?! И причем тут в решении этой конкретной задачи "дохреналион контекста языка/оси/компилятора/среды/сетей/архитектуры проекта"? Правильно. Вообще не при чем. Это просто ваше балабольство ни о чем.
      "сказки про то, что мол вот, знаешь ассемблер - значит знаешь все, далеко нерелевантны
      недавно мой коллега..."
      Это вот ваш пример нерелевантен. Какой коллега? Что написал? Как написал? К чему эта чушь здесь?! Сказки рассказываете здесь вы. Раз уж вы мне смеете подобное заявлять, держите и в ответку аналогичное обращение. Я тоже так умею, не вы один.
      "про людей пишущих на интерпретируемых, или боже упаси на языках которых исполняет JVM, там вообще этот ассемблер не уперся никуда, там нужно знать еще как под капотом эта JVM работает и какой GC лучше использовать."
      Я конкретный пример с Соером и Javascriptом привел. Конкретный пример. Имеем там конкретный результат. С пониманием работы switch/case - результат один, без понимания вариант Соера - результат другой. Что еще не понятно?
      "не нужно в текуище время знание ассемблера 99% программистам, а те, кто этот производительный код будут писать (не дай бог), то они должны знать еще гораздо кучу более важных вещей, чем ваш этот ассемблер поганый"
      Малолетние оценки того, в чем вы не смыслите. Желаю удачи с этим вашим мнением.

    • @2SUB-TV_space
      @2SUB-TV_space 5 месяцев назад

      Почему? Игры для ретро консолей на ASM.

    • @2SUB-TV_space
      @2SUB-TV_space 5 месяцев назад

      @@kostya48i57 Может это зависть?

  • @fakt7814
    @fakt7814 7 месяцев назад +3

    Писать на ассемблере самому действительно не нужно в большинстве случаев, Си во всем лучше и компиляторы есть под каждую платформу. А почитывать код который выдает компилятор стоит. Чтобы учитывать кэши, конвейер инструкций и другие особенности современных процессоров писать на ассемблере необязательно, основные на этом оптимизации делают разницу между 15 фпс и 60 в батлфилде. Преждевременная оптимизация это плохо, эту цитату любят использовать современные погромисты на жс как оправдание чтобы не заниматься оптимизацией вообще. Хотя эта цитата естественно не про это, а банально про то, что нужно использовать профайлеры. То, что красильщикам кнопок не нужно знать как работает процессор, и даже как работают типы и сборщик мусора в используемом ими языке, многое говорит о красильщиках кнопок, а не о программировании. Потом эти люди говорят про вузы, что там не учат современному программированию, мол где же новомодные жс фреймворки, зачем вы нам рассказываете про процессор, хотя высшее образование и готовить должно по идее инженеров, а не красильщиков.

  • @user-tt3mw3un8q
    @user-tt3mw3un8q 7 месяцев назад +2

    Питон сам по себе уникальный ЯП, для первого обучения он не подходить, не все основы в нем собраны, не все подробно объясняет синтаксис, допустим как в плюсах, ибо там всё подробно все скобочки и т.д. это не значит что их надо выучить или знать, но после изучения на плюсах массивов, процедур циклов и т.д. на др. ЯП будет проще. А учитывая что питон и так завален болванчиками, то делать там сейчас особо нечего, да и не особо он связан так программированием, больше с математикой. Но о практичном применении Асм я молчу, драйвера за тебя никто не напишет, человек всегда будет лучше писать код, чем компиляторы, другой вопрос, сколько это времени. Железяки более производительные, это не значит что нужно засирать их ресурсы. В одну кучу сложил плюсы джаву? Зачем, на плюсах ты не сможешь прогать микроконтроллеры и драйвера так как на Асм, в джава вообще так без доступа к памяти

  • @oHazzeo
    @oHazzeo 7 месяцев назад +14

    Давайте признаем, что С++ и Ассемблер - достаточно, чтобы переписать код вселенной. На Асме задаем правила и физические законы, а на плюсах пишем планетки там, черные дыры, с помощью Qt делаем это все красивым.
    И на системном уровне запрещаем делать сайтики.
    Поэтому JS-никам придется учить Асм, чтобы красить кнопочки и попивать смузи.

    • @Swyateg
      @Swyateg 4 месяца назад

      Есть Веб асм

  • @dontseetome5232
    @dontseetome5232 6 месяцев назад +1

    Иногда полезно посмотреть, как компилятор интерпретировал твой код. Иногда можно увидеть очень тупые ошибки в результате работы компилятора и исправить их. Но это, только если ты понимаешь ассемблер.

  • @bootstrapers
    @bootstrapers 5 месяцев назад +2

    Дело говорит чел. Сам ниасилил, другим помог
    ниасилить. В этом несомненно есть плюс - вафельные мальчонки с маками, рисующие формочки думают что они программисты, а хардкорные ребята нагибают всех и в кс, и в айти, потому что умеют в этот самый ваш оссемблер. Лайк, ска, раунд.

  • @antonybond
    @antonybond 7 месяцев назад +34

    Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого почаще?

    • @user-zf5vn2lw8b
      @user-zf5vn2lw8b 6 месяцев назад

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

  • @const8576
    @const8576 7 месяцев назад +12

    Ассемблер каждому прогеру действительно не нужен, но какое-то представление об архитектуре эвм иметь всё же нужно. Не говорю, что надо прям до байта всякие FAT таблицы разбирать, но как минимум знания о том как процессы и потоки работают и про всякие штуки типа API ОС, сетевые сокеты и виртуальная память надо хотя бы знать что они есть и зачем нужны. Новичков, понятно, этим всем лучше особо не пугать, но начиная с какого-то уровня про это странно не знать.
    Ну и некоторые идеи типо конвееризации и квантования сами по себе могут быть полезны как своего рода паттерны, так что тоже не помешает пожалуй
    А так, братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик!

    • @user-zf5vn2lw8b
      @user-zf5vn2lw8b 6 месяцев назад +1

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

    • @Vlad464646
      @Vlad464646 6 месяцев назад

      @@user-zf5vn2lw8b протри резинкой контакты оператоса -_-

  • @ikositetrachoir958
    @ikositetrachoir958 7 месяцев назад +4

    Автор забыл учесть, что активное применение ассемблера имеется -- это обратная разработка.

  • @ktoetosdelal-37
    @ktoetosdelal-37 7 месяцев назад +18

    Говорить что компилятор оптимизирует код лучше чем программист, и то что низкоуровневый код нигде не нужен может только фронтендер на питухоне 😄

    • @jusie
      @jusie 7 месяцев назад

      Ну вообще-то он прав. За счет статических анализаторов можно выкинуть кучу ненужного из кода, что человек бы сам никогда не делал, т.к. лень и долго.

    • @segeus
      @segeus 7 месяцев назад

      Подскажите пожалуйста на каком железе Вы работаете и в каких проектах, если Вам необходимо делать ассемблерные вставки или вообще писать весь проект на ассемблере.
      Почему не хватает производительности например того же Си?

    • @postoronny
      @postoronny 7 месяцев назад +3

      ​@@segeus , вопрос не ко мне, но как вариант...
      Я работаю на винде и занимаюсь обработкой звука в реальном (близком к реальному) времени ;)
      P.S. Сей у меня нет. Но есть встроенный ассемблер в Делфи.

    • @ktoetosdelal-37
      @ktoetosdelal-37 7 месяцев назад +3

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

    • @kostya48i57
      @kostya48i57 7 месяцев назад +1

      @@ktoetosdelal-37 я конечно дико извиняюсь, но что не так со скомплированными циклами?)

  • @anonsd5521
    @anonsd5521 4 месяца назад +2

    Смысл изучать ассемблер прост - любовь к своему делу. У истинного программиста нет цели, есть только путь. Изучение ассемблере просто развязывает руки программистам, даёт более глубокое понимание того, чем именно он занимается. Я думаю в наше время уже не актуально задаваться вопросом "А зачем ассемблер". Люди всё ещё учат скретч и делфи, что я считаю ещё более бессмысленным чем, учить ассемблер. На нём просто приятно писать, это уникальный опыт, который дарят многие эзотерические языки, только появившийся естественным путем. Программист банально должен уметь писать на разных "типах" языков, а языки ассемблера имеют уникальную сигнатуру, которую увы в наше время мало где встретишь. Касательно разделения труда, это всё конечно весело, но какой смысл заниматься IT, если ты ограничен в своей сфере деятельности? Так это превращает в работу, а не личную человеческую страсть. Если ты относишься к программированию исключительно как к способу заработка: Смело иди в веб, делай верстку сайта и зарабатывай, это не трудно, но если тобой движет сама философия программирования, то твой путь тернист и лежит с верхних уровней всё ниже и ниже, через сотни прожженных нервов и ебичества с компилятором, в конце пути тебя ждет финальный вид программы - исполняемый файл, который прочесть в таком виде, в котором он есть уже мало кто сможет. Обычно путь программиста кончается как-раз на ассемблере, это полностью ритуальный обряд, полное понимание того, какой путь проходит программа от написания до компоновки. P.S. Я знаю, что Ассемблер и Язык Ассемблера - разные вещи, но раз в видео на это забили, позволю себе забить тоже.

  • @thexsvv
    @thexsvv 7 месяцев назад +5

    1. как все сказали ассемблер сейчас нужен для ревёрса. 2. а я вот хочу свой язык написать, я буду его как компилировать? конвертировать в c++? конечно же я возьму ассемблер

    • @EgorFrade
      @EgorFrade 7 месяцев назад

      llvm

    • @iamdozerq
      @iamdozerq 7 месяцев назад

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

    • @artemivanov3841
      @artemivanov3841 6 месяцев назад +1

      Очень много новых языков используют llvm в качестве бекенда

    • @thexsvv
      @thexsvv 6 месяцев назад

      @@artemivanov3841 да и прогресс людей пойдёт лестницей вниз. Разве не интереснее самому изучить ассемблер, архитектуры и написать компилятор с парсером языка?

    • @nonvexillum
      @nonvexillum 4 дня назад

      ​@@iamdozerq Вот из за таких гениев компьютеры пиздец мощные, а программы пиздец тормозные! Хорошую VM написать полбеды

  • @andreymalov9602
    @andreymalov9602 7 месяцев назад +2

    Чувакам, которые работают со встроенными системами, на АВР каком нибудь, асм тоже может вполне пригодиться. Ну и чистый С тоже знать очень небесполезно

  • @SCXBelka
    @SCXBelka 7 месяцев назад +2

    Видео актуально. Сам изучаю все низа программирования и компьютерных технологий. В ассемблер лезть пока не хочу, но видеть дело не за горами.
    Чисто моё желание изучить как всё устроено, я не могу сидеть и красить кнопки, не зная как это происходит. Думаю данное веяние к низкому программированию обусловлен уж высокой языковой абстракцией и люди имеющие аналитический склад ума, задающие вопросы "откуда", "почему", "зачем" теряются во всем этом и им нужен первоисточник всего этого компьютерного.

  • @JohnSmith-tk2wp
    @JohnSmith-tk2wp 6 месяцев назад +2

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

  • @user-zx1ct5eg2w
    @user-zx1ct5eg2w 7 месяцев назад +2

    С одной стороны ты прав: обычному формошлёпщику действительно не нужны низкоуровневые знания. Но с другой, когда моя программа на Расте весит 350 килобайт и запускается на всём от 11 винды до древней XP, а аналогичная по функционалу прога, без внешних зависимостей написанная на современном дотнете весит в десятки раз больше и капризничает даже при запуске её на семёрке.....
    А если я хочу, чтобы моя софтинка реально работала везде, я должен либо упороться в старые версии фреймворка, либо собрать прогу со всем рантаймом на борту, и тогда она сразу подрастёт с полутора мегабайт до примерно 65 в лучшем случае.
    Ну и вот эти все "поставь нашу игру, а вместе с ней поставь три фреймворка, четыре рантайма и ещё джаву пожалуйста"... Я конечно сильно перегибаю сейчас, но тенденция именно вот такая.
    Напомню, что андроид версии 4 спокойно чувствовал себя на 4 гигах оперативной памяти, а сейчас 8 гигов считается таким средним сегментов. На топовые телефоны ставят 12. И видеть, как система сразу после перезагрузки изволит откушать три гига, когда запущен только сраный лаунчер.....

    • @MungorTV
      @MungorTV 7 месяцев назад +2

      Только программа формошлепщика приносит 350кк вечнозеленых в год, а твоя весит 350 кб. Не нужно подменять понятия и цели: если цель - что-то наклепать на коленке по приколу, то можно делать что угодно и как угодно, если цель - удовлетворить потребности клиента и извлечь прибыль, то нужно разрабатывать максимально быстро, просто, поддерживаемо, с ДОСТАТОЧНЫМ уровнем производительности. Потому что докинуть лишний кластер - дешевле дополнительных пары месяцев работы целой команды.

    • @user-zx1ct5eg2w
      @user-zx1ct5eg2w 7 месяцев назад +1

      @MungorTV вот поэтому мой респект эплу. они до сих пор держатся за нативный код и не плодят виртуальные машины и рантаймы, что заставляет разрабов как никак думать о качестве кода и не деградировать до псевдокодеров с мышкой вместо клавы.

    • @mrxprojects
      @mrxprojects 7 месяцев назад +1

      Мой Андроид позволяет откушать 7 гигов оперы сразу после перезагрузки смартфона. Да Винда сейчас и то меньше памяти жрёт...

    • @pavelmolchanov7156
      @pavelmolchanov7156 6 месяцев назад

      ​@@user-zx1ct5eg2wкакой респект эпплу, если у них плохая обратная совместимость ?

  • @sashabyglak80
    @sashabyglak80 7 месяцев назад +2

    Самое прикольное, что ассемблер был стандартизирован в 1985 и стандарт был отозван в 2001, но его до сих пор можно купить.
    Ассемблер в основном используется когда нету другого выбора (например ядро ОС) или необходимо что-то оптимизировать (например facebook в свой библиотеке folly сделали кастомный memcpy /facebook/folly/blob/main/folly/memcpy.S ).
    В основном нету необходимости напрямую использовать ассемблер, т.к. есть intrinsics (это как обычные функции, но компилятор заменяет их на инструкции, а не вызов функции), есть assumption, по типу assume атрибута, которые подсказывают компилятору, что делает компилируемый код, есть выравнивание (alignment) структур данных, чтобы улучшить взаимодействие с кэшем процессора и чтобы улучшить генерацию инструкций компилятором, и есть флаги компиляции говорящие генерировать более производительные инструкции под более специфичные машины.

    • @user-zf5vn2lw8b
      @user-zf5vn2lw8b 6 месяцев назад

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

  • @ahoh1993
    @ahoh1993 7 месяцев назад +3

    Assembler как латынь. Однако его полезно знать для Reverse инженерии ПО

  • @startuf2513
    @startuf2513 4 месяца назад +1

    братан, харош, давай-давай, вперед, контент в кайф, можно еще, вообще красавчик!

  • @GrnWolf
    @GrnWolf 6 месяцев назад +2

    По своему опыту скажу, что обогнать C++ компилятор вставками на Asm'е крайне трудно. В Asm'е есть смысл для задействования MMX/SSE, но задача должна максимально подходить под эти наборы инструкций, иначе преимущество сведётся к нулю (а, скорее всего, к минусу) из-за подготовки (упаковки/распаковки) данных под эти инструкции.

  • @alexperemey6046
    @alexperemey6046 7 месяцев назад +33

    Хороший программист - это программист, который знает абстракцию на 1 уровень ниже, чем ему это требуется в повседневной работе.
    В этой одной фразе больше смысла, чем во всем ролике. С чем и откланяюсь.

    • @nikolaifedorov685
      @nikolaifedorov685 7 месяцев назад

      Это бред

    • @cafedead
      @cafedead 7 месяцев назад

      @@nikolaifedorov685Твой код - это бред.

    • @const8576
      @const8576 7 месяцев назад +1

      На 1 уровень ниже для среднего разработчика стоит ОС (если не считать транслятор языка). Про неё действительно какие-то вещи нужно знать, например, без знаний о работе процессов, потоков и механизмов синхронизации может быть тяжко, если придётся параллельный код писать. Тут с вами трудно не согласиться.
      Но в ролике больше про ассемблер говорится и про тезис, что "не знаешь ассемблер - не программист". И тут уже с тем что сказано в ролике трудно не согласиться: ассемблер - лишь инструмент, и если разработчик им не пользуется, то и знать этот инструмент необязательно. Более того, знание ассемблера само по себе и не даёт знания "на 1 уровень абстракции ниже".
      На самом деле действительно раздражает подобный снобизм (в ВУЗе навидался этого), так что автора лично я полностью поддерживаю в данном вопросе.

    • @cafedead
      @cafedead 7 месяцев назад

      @@const8576 знание ассемблера дает понимание на два уровня абстракции ниже. Верхний - это наш код на интерпретируемом языке программирования, уровень ниже - байт-код, в который это все транслируется, и уровень ниже - это ассемблер, в который был скомпилирован си-шный исходник интерпретатора. Знание ассемблера даст вам примерное понимание того, во что превратится в конечном итоге ваш исходный код на языке высокого уровня. Незнание - не даст. Ну поддерживайте автора, на здоровье. Оставайтесь плохим программистом, на здоровье. Зачем вам вообще ВУЗ? Вы не цените данные вам знания. Я вот, например, не учился в ВУЗе на программиста, и все это был вынужден сам изучить, потому что мне было это интересно. И как я должен воспринимать написанное вами здесь?

    • @cafedead
      @cafedead 7 месяцев назад

      @@const8576 код ОС стоит на том же уровне абстракции, что и код интерпретатора, исполняемый в этой ОС. Абстракции - это вообще не о том. Абстракции - это вот интерпретируемый байт-код, работающий с кучей и стеком, ниже - ассемблер, ниже - логические элементы процессора, ниже транзисторы процессора, с помощью которых эти логические элементы собраны. Вам ВУЗ ничего не дал. Ничего не понимаете.

  • @Urgen.G
    @Urgen.G 7 месяцев назад +4

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

  • @user-jf5rd9oy4n
    @user-jf5rd9oy4n 7 месяцев назад +5

    Какой ещё эмулятор? Я в универе на голом процессоре запускал машинный код, вбивая адреса на инструкции ПЗУ

    • @YangiyerBola
      @YangiyerBola 7 месяцев назад +2

      процессор наверно с 3 ножками?

  • @EgorFrade
    @EgorFrade 7 месяцев назад +3

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

  • @unixux
    @unixux 6 месяцев назад +2

    Оптимизация которую мы заслужили

  • @olegbelous3543
    @olegbelous3543 7 месяцев назад +2

    Ага, вы просто не видели "программистов" на 1Сочке которые не в состоянии подключить монитор и вилку питания 220V в розетку. Зато носят гордое звание "программисты". Высокий уровень это конечно хорошо, но о том как всё работает хотя бы надо иметь представление. А то получается, так (придуманный грубый аналог) чувак работает врачём и выписывает лекарства направо и налево, что-то там советует и не дай бог лезет скальпелем в тело, а сам понятия не имеет ни о биологи, ни о химических процессах которые происходят в организме, ни в чём короче. Есть такое понятие "база". И сейчас, так как IT - это модно-молодежно, индустрию и наводнили дилетанты, которые прошли курсы по той же 1Сочке, а как элементарно работает ПК понятия не имеют! Ну правильно есть же высокий уровень, нахер парится об оптимизации и написании качественного кода.

  • @asmlearn
    @asmlearn 7 месяцев назад +2

    обалдел с того что плюсы ни с того ни с сего стали высокоуровневыми

    • @Swyateg
      @Swyateg 4 месяца назад

      Оговорочка) Повыше типа

  • @shoopdawhoop
    @shoopdawhoop 6 месяцев назад +12

    Вообще, именно из-за того, что нынешнее поколение программистов напрочь забивает на оптимизацию, мы имеем веб-интерфейсы и браузеры, которые умудряются лагать даже на RTX4090Ti+Ryzen 5950, а также игры (даже не обязательно Triple-A) весом по 150 гигабайт, да и рабочие пакеты типа Адобе стремительно "жиреют". Не в последнюю очередь ещё и потому что модным становится всюду прикручивать нейросети, модели к которым весят по несколько гб сами по себе. И это при том, что в каком-нибудь 2012 можно было иметь диск C размером 40 гб и установить туда: Автокад, 3дмакс, Cinema4D, Maya, весь Adobe Master Collection, весь MS Office, FL Studio, Cubase 5, маткад, матлаб, ещё кучу всякой повседневной мелочи вроде кодеков, и ещё место останется на сохранёнки. В конце концов, производители жёстких дисков и всё более и более мощного железа тоже в доле...

    • @user-en9jc4qy7z
      @user-en9jc4qy7z 6 месяцев назад +4

      Я считаю, что в будущем врубится конкуренция: найдутся люди, которые сделают правильный софт вместо этого всё более рукожопого. И тупые раздолбаи пойдут на дно.
      Чем больше времени деградации происходит, тем больше потенциал к радикальным изменениям.

    • @shoopdawhoop
      @shoopdawhoop 6 месяцев назад

      @@user-en9jc4qy7z Современный положняк очень надёжно поддерживается кризисом производства и перепотребления, а горящие дедлайны, не позволяющие доделать всё по-человечески, подкидывает сама индустрия. На Медиуме ещё в 2016 вышла хорошая статья с заголовком "Почему мой телефон не обновится до нового андроЕда?", с тех пор особо ничего не поменялось, разве что усугубилось. У меня от покойного бати остался xiaomi redmi 6a, на котором особо ничего тяжёлого не установлено, он просто обновился с 10 оболочки до 11, и даже на лаунчере он умудряется на ровном месте стопориться секунд на 10 после разблокировки (особенно первые минуты после запуска), иногда вешается на чёрном экране пока не перезагрузишь, блютуз выключить надёжно нельзя - через пару минут сам включится, и так далее.

    • @Swyateg
      @Swyateg 4 месяца назад

      И корридорные игрулечки с минимальном функционалом и графикой 2012 года требуют именной такой конфигурации

    • @user-yo1im2ur3j
      @user-yo1im2ur3j Месяц назад

      @@user-en9jc4qy7z, верить в конкуренцию - это всё равно, что верить в Санта-Клауса.

  • @Student-gj1fo
    @Student-gj1fo 2 месяца назад +2

    Винить ассемблер в том, что он слишком низкоуровневые - как-то странно

  • @bakaguy
    @bakaguy 7 месяцев назад +1

    Только что посмотрел видос «ХУДШИЙ язык для новичков» а тут на 2 минуте уже автор рекомендует Питон

  • @user-cc1hn8dv8x
    @user-cc1hn8dv8x 6 месяцев назад +1

    Ассемблер помогает разобраться в вещах, которые еще не совсем довели до идела: JIT, например.
    В книжке Кокосы очень много вставок ассемблера, но он преподаётся не как знание, а как способ передать ключевую идею - например, что стракты JIT старается запихнуть в регистры или сейфпоинты
    Важен сам концепт: например, автовекторизация вычислений, какие подсказки нужно в хотпасах давай житу, как в принципе устроен процесс в ОС - что такое VAS, почему стек ограничен, почему фрагментация LOH вредна или как избегать полной сборки мусора
    И то. Ассемблер это только полбеды: есть lock free, есть хеши, есть асинхронность, есть векторизация - темы, не менее важные, чем ассемблер
    Потому и получается, что важна концепция/идея чего-либо, а не средство ее реализации - ассемблер, например.
    В общем оно нужно профессионалам, а в работе кроме байтоебства, ты не будешь это применять больше чем в 98% случаев

  • @Crazmuss
    @Crazmuss 7 месяцев назад +2

    Да, зачем этот асемблер шмасемблер, пишешь запрос для чатгпт чтобы написал тебе программу, тяп ляп и в продакшен!

  • @user-rf3ky5ir5y
    @user-rf3ky5ir5y 6 месяцев назад +1

    Ассемблер бывает необходим для низкоуровневой инициализации. При взаимодействии с периферией может возникнуть необходимость вставки пустых инструкций. Процессор может иметь расширение инструкций не поддерживаемых компилятором. Так же на нем реализуют функции деления, умножения, и всего того что не поддерживает компилятор непосредственно, и процессор посредством соответствующих инструкций. Так же он бывает необходим при отладке приложений. Вопрос актуальности ассемблера возникает только у тех, кто не копается с железом непосредственно. Ассемблер не устарел, и его, в общем, ни чем и не заменили. Он не золото и не говно, он составная часть. До сих пор можно попросить си компилятор сгенерировать ассемблерный файл, и это порой бывает просто необходимо.

  • @gustaugutter9477
    @gustaugutter9477 7 месяцев назад +12

    Согласись, что без байтодрочеров все давно пошло бы по одному месту. Даже в ААА проекте жытыа из-за дырявого подхода "все уже давно за вас придумали" написали какую-то хуйню, которая грузилась миллион лет, пока не нашелся человек, которого это заебало и не исправил.
    Парируй

    • @FelixX138
      @FelixX138 2 месяца назад

      Что парировать? Вот это - пгарпгрпипиэди ?

  • @RenegatN
    @RenegatN 6 месяцев назад +1

    Скажи это реверс-инженерам!
    Я на Task-Based CTF участвовал в качестве реверсера. Там без ассемблера никак. Знаю я его на среднем уровне. FPU и MMX еще пойму, но с SSE уже никак.
    По своему опыту могу сказать, что знание ассемблера может пригодиться при разработке на языке С. Привет тем, кто пишет на оном код для микроконтроллеров
    В частности у меня был случай: код, скомпилированный под MinGW крашился. Причиной была локальная переменная большого объема, она просто продавливала стек. Знания ассемблера тут очень помогли.
    P.S. Я еще временами балуюсь отучением программ от жадности. Причем для меня результат имеет второстепенное значение, больше интересно как реализовано. Вот тут без асмы делать нечего

  • @Monstr518
    @Monstr518 7 месяцев назад +2

    Спортивный интерес должен возникать и к ассемблеру.

  • @D0ct0rDTV
    @D0ct0rDTV 6 месяцев назад +1

    С ростом популярности RISC-V среди программистов микроконтроллеров востребованность ассемблера тоже будет расти

  • @user-tg1tz9db4c
    @user-tg1tz9db4c 6 месяцев назад +2

    Tempesta Torries на тебя нет, он бы пояснил тебе за ASSAMBLER😄

  • @user-uo3ls3je7l
    @user-uo3ls3je7l 7 месяцев назад +1

    Братан, хорош, давай - давай, вперед, контент вообще в кайф, можно еще? Вообще красавчик!

  • @Drochuk
    @Drochuk 7 месяцев назад +2

    ассамблер надо учить для общего развития

    • @Swyateg
      @Swyateg 4 месяца назад

      Для общего развития надо решать математику, незамутнённую переменными, текстовые задачи, это для взрослого человека тяжело и правда развивает, а язык программирования для общего учить бесполезно

  • @XaOcWAR
    @XaOcWAR 6 месяцев назад +1

    Врачам так-же необязательно знать как работает организм, они же лечат как - определяют болезни по симптомам и назначают лекарства или вмешательсво.
    Так-что врачам, как и программистам нужно знать симптомы и назначаемое лечение(API) а не принцип работы организма и возникновение болезней(Ассемблер и архитектура)
    Ну вот и подводя писю к носу, становится понятным: озвученная автором тенденция является истиной только потому, что бизнесу нужны кодящие люди и много, в результате низкоквалифицированные спецы пользуются спросом так-как способны решать задачи на прикладном уровне. Но абсолютно всегда такие "спецы" будут иметь более низкий приоритет перед людьми с академическими знаниями по предмету. Есть конечно исключения, но и эти самые исключения не застрахованы от тупых ошибок связанных с незнанием процессов которые протекают для них в "черной коробке". Ассемблер обязателен к изучению, кодить на нем вам может и не нужно, но знания некоторых принципов освобождает от знания множества фактов.

  • @waitmar2124
    @waitmar2124 7 месяцев назад +290

    Понимание ассемблера даёт понимание того, как работают языки программирования. Это называется общее развитие, человек в целом становится умней, когда понимает как оно работает на низком уровне.

    • @wandhvh
      @wandhvh 7 месяцев назад +53

      Для автора которому CRUD делать на работе достаточно и фронтедерам чтобы центрировать див, это не нужно) Они считают это бесполезным знанием, современное айти, не удивляйся, работа ради денег

    • @nikolaifedorov685
      @nikolaifedorov685 7 месяцев назад +23

      Утверждение есть, а вот доказательства не привели

    • @Andrey_Fedorov
      @Andrey_Fedorov 7 месяцев назад +22

      Приведите пример как знание ассемблера поможет понимать питон???
      PS люблю кодить для stm32, понимаю процессы и архитектуру, и даже тут не вижу смысла в знании ассемблера….

    • @dosymep
      @dosymep 7 месяцев назад +8

      особенно для интерпритируемых языков, либо для языков с JIT компиляцией это поможет, за 20ю уровнями абстракции до ассемблера :)

    • @hardline_fc
      @hardline_fc 7 месяцев назад

      Смотри развитие человека и профессиональное развитие разные вещи.
      Сам то ненавижу фронтэндеров, но придется дефать ибо ты свои личные нолайферские предпочтения проектируешь на других и вставляешь как эталон.
      Лет 6 назад я думал что рофл, что в айти только девственные додики работают, лол как же ошибался. Вот из-за такого большинства абсолютно не интересных отбросов знание низкоуровщины стало популярным.
      Заметь что это профильное знание, ты просто знаешь что-то больше в своей работе.
      А про развитие не надо тут чесать, развитие мерится айкю, а у нолайфера который умеет только кодить + куколдить, айкю не может быть даже двузначным.
      Нихрена вы себя возомнили, все прям важные профессоры ядерной физики.
      Псевдоразвитые, вы даже с вилкой и ножом пользоваться не умеете. Про чистить зубы, или купаться хотя бы раз день чтобы калом не воняло - до свидания.
      Про литературу и книги вообще стоит говорить, или тебе надо конспект в Википедии надо прочитать?
      Ты и все остальные просто третисортные биомасса которым нужно внимание.
      Нихрена накопилось у меня.

  • @forest_1771
    @forest_1771 7 месяцев назад +15

    Фронтенд на питухоне? Окей, забайтил на коммент

    • @user-tq9bu6ki2h
      @user-tq9bu6ki2h 7 месяцев назад

      Это вполне норм, если тебе нужно за пол дня запилить какую-то служебную тулзу с веб-интерфейсом.

    • @BestMovieActors
      @BestMovieActors 7 месяцев назад

      Ты ещё ПеХаПешников не видел!

    • @forest_1771
      @forest_1771 7 месяцев назад

      @@user-tq9bu6ki2h ну так веб интерфейс пишется не на питухоне

    • @Maks115
      @Maks115 7 месяцев назад

      @@BestMovieActors А что с ними не так ?

    • @user-kg5sg6rx6e
      @user-kg5sg6rx6e 7 месяцев назад

      Какая питухон, я на расте фронт пишу

  • @astralfoxy1787
    @astralfoxy1787 7 месяцев назад +2

    Я бы никогда не подумал, что кто-то может понять выражение "ПРЕЖДЕВРЕМЕННАЯ ОПТИМИЗАЦИЯ" как "отказ от оптимизации". Дядя, ты ГЕНИЙ.

    • @MungorTV
      @MungorTV 7 месяцев назад

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

    • @astralfoxy1787
      @astralfoxy1787 7 месяцев назад

      @@MungorTV Еб**ь, СВИДЕТЕЛЬ БИЗНЕСА.

  • @HiHi-le3ev
    @HiHi-le3ev Месяц назад

    Почему знать ассемблер. 1. Оптимизировать код сделать его быстрее . 2. Посмотреть действительно ли код отрабатывает так как нужно. 3. Ты можешь модернизировать чужие программы. 4. Это интересно. 5. Пригодиться для безопасников ну или на обратной стороне (темной)

  • @electrosheeps6718
    @electrosheeps6718 4 месяца назад +3

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

  • @user-ww1rd7xe1u
    @user-ww1rd7xe1u 7 месяцев назад +2

    Спасибо, Класс, контент огонь, давай еще этого, почаще!) Век живите - век учитесь..)

  • @grv379
    @grv379 7 месяцев назад +1

    Сделал свитч после 7 лет дотнета (микросервисы, домейн дривен дизайн (вау, как сложно), куча синьоров, рассуждающих про дизайн классов и имена переменных) в хардкорный С++ бекенд и счастлив, что теперь знаю про иерархию кешей, векторные инструкции и еще много чего и предела там нет !

    • @user-zf5vn2lw8b
      @user-zf5vn2lw8b 6 месяцев назад

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

  • @user-rb7zq5bd7f
    @user-rb7zq5bd7f 7 месяцев назад +1

    гении что пишут про реверс инженеринг, вы серьёзно?
    ко ко ко автор забыл про реверс, суть же не про то, что ассемблер не нужен совсем, он не нужен условному фронтендеру который одибелел от марджин лефт 10рх

  • @kardanium
    @kardanium 6 месяцев назад

    Знание ассемблера необходимо только в нескольких случаях:
    1. Если ты разработчик драйверов, микропрограмм и операционных систем. Это позволит облегчить отладку.
    2. Если ты занимаешься реверс-инжинирингом.
    3. Высокопроизводительные вычисления, когда от железа нужно выжать максимум за счёт нестандартного применения инструкций процессора.
    Во всех остальных случаях он не нужен, но знать его не помешает. Случаи в жизни бывают разными.

  • @user-hb2yk3zn3s
    @user-hb2yk3zn3s 2 месяца назад +1

    Скажи это пентестерам, которые на работе с памятью специализируются ...

  • @kosmokotek
    @kosmokotek 6 месяцев назад +1

    а потом такие погромисты пишут калькулятор,который тормозит на четырех ядрах и восьми гигах оперативы...

  • @someoneunknown8222
    @someoneunknown8222 4 месяца назад +1

    Спасибо, чел. Благодаря тебе я понял, что занимаюсь на работе полной ерундой. Ведь перформанс энжиниринг - это всего лишь определение сложности алгоритма и примерного количества тактов процессорного времени на его выполнение, основой чего является знание в какие ассемблерные инструкции алгоритм транслируется. Абсолютно ненужное знание, ведь компиляторы прекрасно оптимизируют алгоритмы с факториальной сложностью в константную.
    Пойду лучше писать фронтенд на пайтоне.

  • @apkawa
    @apkawa 3 месяца назад +1

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

    • @apkawa
      @apkawa 3 месяца назад

      Грядут новые законы физики, архитектору надо знать базу

  • @user-nx8lm9em5u
    @user-nx8lm9em5u 2 месяца назад

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

  • @sergheik9582
    @sergheik9582 7 месяцев назад +2

    Пониимание ассемблера в первую очередь нужно для понимания самой сути программирования
    В первую очередь это банально " чистый код " когда ты знаешь как твой код компилируется ты уже понимаешь какие правильно конструкции/операторы использовать, банальное использование функций и указателей .
    Во вторых это это трезвая оценка сил того или иного языка ЯП , что бы не плодить Костыли ! Из за того что ты не знаешь что твой язык может а что не может,
    Ну и в третьих это быть душнилой и на любом интерьвью грузить тех кто пытается тебя завалить!
    Ну и Естественно Ассемблер может все ! А ваш ЯП? Может все? Не думаю

  • @artemdrem8530
    @artemdrem8530 7 месяцев назад +2

    Это первое видео которое не вставило...

  • @pamparam3495
    @pamparam3495 7 месяцев назад +2

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