Должен ли программист разбираться в архитектуре компьютера? Разработчик под ником Voider уверен, что да: в блоге на dev.to он объяснил, почему.
Я считаю, что успех во многом зависит от двух вещей: от того, как вы видите мир и насколько вы его понимаете. То же самое можно сказать и о программной инженерии, где главное — это архитектура ЭВМ. Если вы понимаете ее достаточно хорошо, вам будет намного проще освоиться и разобраться в профессии.
Согласно «Википедии»:
Архитектура компьютера — набор типов данных, операций и характеристик каждого отдельно взятого уровня.
Архитектура описывает общую модель компьютера. Аспекты реализации — например, технология, применяемая при реализации памяти, не являются частью архитектуры.
Короче говоря, архитектура ЭВМ — это, по сути, набор правил, контролирующих взаимодействие аппаратного и программного обеспечений.
Например, большинство пилотов «Формулы-1» знают устройство двигателя своего болида настолько хорошо, что могут обнаружить проблему до того, как это сделают инженеры.
Они также разбираются в физике и аэродинамике. Это позволяет им давать точные инструкции механикам на пит-стопе, чтобы те, например, отрегулировали «нос» или колеса, правильное расположение которых может привести к победе.
Причем тут архитектура ЭВМ? Принцип тот же. Когда вы расширите знания о разработке программного обеспечения (ПО), то поймете, как справляться с проблемами и эффективнее добиваться того, что вам нужно.
Прогнозирование ветвлений: допустим, вы едете в поезде и подъезжаете к железнодорожному узлу, ваша задача как машиниста — следить за дорогой.
Вы должны выбрать сторону, но не знаете, куда дальше ехать. 50 на 50: либо вы выберете правильный путь, либо нет. Если действия окажутся верными — продолжите движение, в противном случае вернетесь назад и выберете правильный путь. И так постоянно, каждый раз, когда вы будете подъезжать к железнодорожному узлу.
Рассмотрим оператор if
. На уровне процессора — это инструкция ветвления:
Теперь вы видите ветку, но не знаете, куда идти. Чтобы определить верный путь, нужно двигать, но:
Что делать? Наблюдать. Если процесс чаще идет влево — двигаться влево, если процесс идет вправо — двигать вправо, если процесс чередуется, то следует делать так же.
Изучайте компьютерную архитектуру и растите как инженер-программист!
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…