Ассемблер: свежий взгляд. Что думают об этом профессионалы?
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. - Стив, спасибо! Напоследок - хочешь что-нибудь сказать нашим читателям? |