Но во время откровенной дискуссии о будущем программирования, состоявшейся на прошедшей в Лос-Анджелесе конференции Professional Developers Conference, ведущие разработчики самой корпорации высказались в поддержку методов старой школы создания программного обеспечения.
«Я готов драться с каждым, кто попытается удалить мой текстовый редактор», — заявил Дон Бокс, ведущий инженер Microsoft.
«Хотят ли люди программировать, рисуя картинки? Думаю, да, — продолжал Бокс, работающий в Microsoft над созданием декларативных языков и инструментальных средств. — Но если вы посмотрите, как программирую я сам, то увидите, что я пишу текст. И, как мне представляется, мы напрасно так легкомысленно относимся к утрате старых навыков».
«Среды визуального программирования удобны, когда бесполезны, но неудобны, когда они могли бы быть полезны, — заметил Джеффри Сновер, еще один ведущий инженер Microsoft и автор PowerShell, инструмента создания скриптов для Windows. — Если у вас на экране есть пять объектов, их еще можно ‘переварить’ в текст. Но когда таких объектов становится 500, визуальное программирование оказывается совершенно бесполезным. При увеличении какого-то одного объекта теряется весь контекст».
«Несмотря на то что визуальному программированию научиться проще и оно помогает разработчикам писать более производительно, с ним проще всего впасть в самообман», — считает Батлер Лэмпсон, заслуженный сотрудник Microsoft. Например, по его словам, никто даже не может толком объяснить, что такое UML-диаграмма.
Лэмпсон за свой вклад в программную инженерию получил в 1992 году премию Тьюринга, присуждаемую Association for Computing Machinery, и является соавтором девяти языков программирования.
Microsoft довольно поздно начала поддерживать Unified Modeling Language. Эта возможность появится только в следующей версии Visual Studio 2010, которая должна быть выпущена в будущем году. Помимо средств визуального программирования и UML, Microsoft поддерживает использование управляемого кода посредством своей технологии Common Language Runtime. Управляемый код работает внутри виртуальной машины. Как утверждают сторонники этой технологии, он упрощает и убыстряет написание программ и отличается большей защищенностью. «Управляемый код позволяет разработчикам делать вещи, выходящие за рамки их компетенции, — заметил Сновер. — Управляемый код — своего рода тормоза с антиблокировочной системой».
Как в шутку предположил Сновер, программирование становится настолько абстрактным, что разработчикам вскоре придется использовать игровой контроллер с датчиками движения, разрабатываемый в Microsoft в рамках проекта Project Natal, для того чтобы писать программы путем интерпретации танцевальных па.
Другие авторитетные программисты, такие как Херб Саттер, главный архитектор языка программирования C++/CLI, предсказывают, что написание кода, работающего на «голом железе», может вновь в скором времени войти в моду, едва производители полупроводниковых компонентов столкнутся с невозможностью поддерживать наращивание скоростей процессоров нынешними темпами.
Кроме того, как заметил Саттер, программистам приходится начинать писать приложения, оптимизированные для параллельного выполнения на ПК с многоядерными процессорами, появившимися в последние несколько лет.
Однако сначала, как заметил Бартон Смит, технический специалист Microsoft и эксперт по языкам параллельного программирования, необходимо серьезно усовершенствовать языки программирования с учетом многоядерности. «Сейчас для создания программ, рассчитанных на многоядерные архитектуры, мы имеем в своем распоряжении языки программирования довольно низкого уровня. Они не отличаюстя большой производительностью и требуют серьезного внимания и усилий от разработчиков», — сказал Смит.
По его прогнозам, пройдет еще немало времени, прежде чем параллельное программирование станет массовым. «Из-за наклонности программировать последовательно мы сможем развить в себе уверенные навыки параллельного программирования лет через 12», — заявил он.