Ассемблер: свежий взгляд. Что думают об этом профессионалы?

Xakep, номер #045, стр. 045-026-4


- Тебя действительно можно считать отцом проекта "masm32"?

- Я создал этот проект в 1998 году, когда программирование на ассемблере начало постепенно умирать, а кодеры, интересующиеся асмом, не знали, как его изучить. Сам я принадлежу поколению, которое использовало ассемблер в случаях, когда спотыкались C, Basic и Pascal. Я хотел, чтобы мои знания, а также навыки сотен других программистов, не пропали даром, а перешли молодому поколению.

- Долго создавалась первая версия твоего пакета?

- Несколько месяцев.

- Ты сам задел животрепещущий для нас вопрос о судьбе ассемблера. Твое мнение: в современном мире С++ и Java ему есть место?

- Я придерживаюсь мнения, что у каждого языка есть свои плюсы. Что касается Java, то она свое уже отслужила: слишком маленькая скорость и куча ограничений. Напротив, С++ позволяет создавать наиболее оптимальный код. Низкоуровневые языки, как С и ассемблер, имеют значительное преимущество в скорости и размере кода, но их использование требует отточенных навыков. Современные разработчики ПО считают, что каждый пользователь имеет доступ к наиболее продвинутому компьютерному железу, в этом они очень сильно заблуждаются! Статистика показывает, что средний компьютер по всему миру это Pentium 133 МГц + 32 Мб RAM + Win95 + VGA монитор + 1 Гб винчестер. Программисты, способные писать на языках низкого уровня, могут создавать ПО, не требующее супержелеза, которое многие себе просто не могут позволить.

- Так программисты на ассемблере нужны сегодня?

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

- Ну ладно. А сам-то ты используешь асм в работе?

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

- Ну и, наверно, твой любимый пакет это masm32 :)?

- Конечно :). MASM32 хорошо работает и содержит в себе кучу нужных утилит, которые не поставляются отдельно вместе с компиляторами.

- Можешь объяснить, какова роль Microsoft в создании твоего пакета?

- MASM32 это проект, разработанный совместно с Iczelion для того, чтобы кодеры по всему миру могли изучать ассемблер. Его основная цель - дать возможность молодым кодерам создавать любые приложения, которые предыдущее поколение (наше ;)) делало запросто. Создание проекта стало возможно потому, что Microsoft лицензировала ML.EXE (компилятор - прим. автора) и LINK.EXE (линкер, или упаковщик - прим. автора) в win98 DDK. Таким образом, их можно было использовать для разработки не только драйверов, но и приложений. Это было на руку и Microsoft, и программистам, которые были заинтересованы в создании низкоуровневого кода для x86 процессоров под платформу Windows. То есть и программисты, и Microsoft выиграли от лицензионного соглашения в win98 DDK.

- Стив, спасибо! Напоследок - хочешь что-нибудь сказать нашим читателям?

Назад на стр. 045-026-3  Содержание  Вперед на стр. 045-026-5