Должен ли программист разбираться в архитектуре компьютера? Разработчик под ником Voider уверен, что да: в блоге на dev.to он объяснил, почему.
Я считаю, что успех во многом зависит от двух вещей: от того, как вы видите мир и насколько вы его понимаете. То же самое можно сказать и о программной инженерии, где главное — это архитектура ЭВМ. Если вы понимаете ее достаточно хорошо, вам будет намного проще освоиться и разобраться в профессии.
Согласно «Википедии»:
Архитектура компьютера — набор типов данных, операций и характеристик каждого отдельно взятого уровня.
Архитектура описывает общую модель компьютера. Аспекты реализации — например, технология, применяемая при реализации памяти, не являются частью архитектуры.
Короче говоря, архитектура ЭВМ — это, по сути, набор правил, контролирующих взаимодействие аппаратного и программного обеспечений.
Например, большинство пилотов «Формулы-1» знают устройство двигателя своего болида настолько хорошо, что могут обнаружить проблему до того, как это сделают инженеры.
Они также разбираются в физике и аэродинамике. Это позволяет им давать точные инструкции механикам на пит-стопе, чтобы те, например, отрегулировали «нос» или колеса, правильное расположение которых может привести к победе.
Причем тут архитектура ЭВМ? Принцип тот же. Когда вы расширите знания о разработке программного обеспечения (ПО), то поймете, как справляться с проблемами и эффективнее добиваться того, что вам нужно.
Прогнозирование ветвлений: допустим, вы едете в поезде и подъезжаете к железнодорожному узлу, ваша задача как машиниста — следить за дорогой.
Вы должны выбрать сторону, но не знаете, куда дальше ехать. 50 на 50: либо вы выберете правильный путь, либо нет. Если действия окажутся верными — продолжите движение, в противном случае вернетесь назад и выберете правильный путь. И так постоянно, каждый раз, когда вы будете подъезжать к железнодорожному узлу.
Рассмотрим оператор if
. На уровне процессора — это инструкция ветвления:
Теперь вы видите ветку, но не знаете, куда идти. Чтобы определить верный путь, нужно двигать, но:
Что делать? Наблюдать. Если процесс чаще идет влево — двигаться влево, если процесс идет вправо — двигать вправо, если процесс чередуется, то следует делать так же.
Изучайте компьютерную архитектуру и растите как инженер-программист!
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…