Беседы о программировании
Не знаю, как вы, а я надеюсь когда-нибудь выйти на пенсию - а это значит, что должно появиться новое поколение программистов, чтобы я мог брать напрокат машины, заказывать билеты на самолет и покупать рождественские подарки, пользуясь телефоном и каталогом Land’s End. Поэтому я с радостью делаю все возможное для популяризации проводимых Ассоциацией по вычислительной технике Международных соревнований по коллективному программированию - финал этого года состоится 17 февраля в Филадельфии, а в онлайновом режиме пройдут состязания, открытые для всех.
Хотя все решается в последние два дня, на самом деле соревнования идут много месяцев и охватывают весь мир. Региональные туры проходят ежегодно в октябре, в прошлом году в них участвовало 780 команд с шести континентов.
Учитывая размах состязаний, найти к чему придраться легко, особенно если осознать, что они не помогают оценить эффект от обучения или повышение производительности при использовании лучших из доступных языков. Например, Ada, Eiffel, LISP и REXX не применяются вовсе. В состязаниях также не допускается использование языков, с помощью которых многие программисты обеспечивают себе безбедное существование, - Кобола и Фортрана, а ведь на них написаны программы, управляющие нашей жизнью.
Поскольку спонсором состязаний является Microsoft - она даже оплачивает финалистам проезд и выделяет более $30 000 на стипендии для победителей, - неудивительно, что выбор (если это слово здесь подходит) состоит из Microsoft Visual С++, Quick Pascal и (с этого года) Visual Basic. Впрочем, здесь есть и положительный момент. Финалисты в своих работах смогут опираться на сервис самой новой операционной системы, даже если это все еще не получившая широкого распространения Windows NT.
В целом можно только восхищаться той полномасштабной кампанией в средствах массовой информации, которую проводит Microsoft, чтобы найти и привлечь к работе тех, кто лучше всех в мире способен решать проблемы. В прошлый раз я сравнивал жизнь программиста с моей прошлой работой в крупной нефтяной компании. Microsoft, как и Exxon, понимает: для того чтобы найти нечто редкое, бесценное и незаменимое, можно отдать все.
Что делает Microsoft? Если говорить об обеспечении, то существует Developer Curriculum Project (учебный курс программирования), согласно которому учебные материалы более чем 200 школ совместно используются через World-Wide Web - не только на уроках информатики, но и при изучении некоторых тем в математике, естественных и технических науках. Базовая страница этого проекта - http://msdeved.isu.edu/ms. Если вы хотите, чтобы учителя рассматривали Visual Basic как язык обучения, дайте им возможность использовать его в процессе работы, быстро подключаясь к материалам других преподавателей.
Хорошо ли это при нынешнем состоянии дел? Здесь надо уточнить вопрос: хорошо по сравнению с чем? Да, я предпочел бы, чтобы следующее поколение программистов решало проблемы при помощи более тонкого инструмента, требующего более высокого уровня абстрактного мышления, - такого, который позволил бы лучше применять свои навыки в разнообразных компьютерных средах.
Однако я готов приветствовать обучение при помощи Visual Basic, если это альтернатива отсутствию программного обучения вообще, а для многих школ, даже таких, где есть много компьютеров и уровень учеников выше среднего, это кажется нормой.
Кстати, а как насчет вашего умения решать хитрые проблемы при помощи оригинального кода? В этом году PC Week во второй раз поможет ассоциации в организации онлайновых предварительных состязаний по коллективному программированию. В следующих статьях я расскажу об этом подробнее.
Питер Коффи