Наука — Школе |
Программирование как искусство конструктивного мышления становится для самых разных профессий — физиков, химиков, инженеров, экономистов, лингвистов ... — столь же необходимым инструментом, каким давно является математика:
Выделение "вечных" основ алгоритмического мышления и программирования и их систематическое преподавание (подобно тому, как это имеет место с математикой) будущим гражданам информационного общества становится первоочередной задачей. |
В отличие от
математики программирование реализуется в конкретных технологических "рамках",
задаваемых языком программирования. Эти "рамки" критически важны в
первоначальном обучении, т.к. решением задачи здесь является артефакт (текст
программы), форма которого (визуальная структура текста) должна быть связана
с его смыслом и способом построения, так что исключительно важную роль
играют внешние аспекты языка
программирования — выразительность и ясность синтаксиса (ведь 1/3 мозга
занимается обработкой зрительной информации), а также устойчивость к
случайным синтаксическим ошибкам программиста (неизбежным при итерационном
построении программ). Важнейшей вехой в этом отношении стал проект Оберон, подытоживший тридцатилетние исследования Н.Вирта по практическому построению языков программирования универсального назначения. (Здесь и ниже не делается различия между вариантами Оберона — Оберон, Оберон-2, Компонентный Паскаль — т.к. все они весьма близки друг другу; в дальнейшем будем называть эту группу языков Оберон/Компонентный Паскаль или просто Оберон.) В Обероне рациональное ядро средств программирования представлено в исключительно тщательно спроектированном, синтаксически простом, но весьма мощном языке программирования — прямом наследнике широко известных Паскаля и Модулы-2. Более того, Оберон/Компонентный Паскаль создан с учетом сложившихся методологий систематического программирования (Э.Дейкстра и др.). Проект Оберон оказывает мощное влияние на мировую индустрию программирования: оно прослеживается в мега-проектах Java и .NET корпораций Sun и Microsoft (в Sun изучили коды Оберона еще в 1991 г., задолго до объявления Java, а по сущностным характеристикам языки Java и C# ближе к Оберону, чем к своим синтаксическим предшественникам). Это позволяет говорить о формировании под влиянием Оберона стандартной парадигмы программирования. По крайней мере в технологическом аспекте, значение Оберона для программирования можно сравнивать со значением евклидовых "Начал" для классической математики. |
В России и на
пост-советском пространстве наблюдается уникальное сочетание двух взаимосвязанных факторов:
Это могло бы служить опорой для сравнительно безболезненного создания эффективной системы обучения современному программированию на ключевых уровнях — в средней школе и на младших курсах университетов, — системы, представляющей собой такой же фундамент для овладения искусством конструирования программ, какой уже имеется для математики:
|
Практичность такой схемы
обеспечивается следующими качествами Оберона/Компонентного Паскаля:
Имеется русифицированная версия одного из вариантов Оберона (Компонентного Паскаля), созданная специально для данного проекта учениками Н.Вирта (перевод сообщений компилятора, документации и т.п. осуществляется российскими участниками проекта). Соответствующая среда разработки называется Блэкбокс (BlackBox Component Builder; среда работает под MS Windows и MacOS с версией для Linux в перспективе). Использование среды разработки с сообщениями компилятора и т.п. на русском языке существенно облегчает преподавание программирования в школах. |
Возникновение подобной
системы обучения программированию помогло бы углубить и закрепить наметившуюся специализацию
российских программистов на сложных, математически-насыщенных задачах.
Со
временем такого рода проекты будут приобретать все большее значение
(как это видно уже сейчас, например, в связи с развитием технологий
беспроводного Интернета; см. также
Российский центр разработки ПО корпорации
Intel в Нижнем Новгороде).
Показательно также постоянное присутствие российских команд среди
медалистов студенческих Чемпионатов мира по программированию (предлагаемые
там задачи имеют характер математико-алгоритмических головоломок); например,
в 2003 г. среди четырех золотых медалистов было сразу две российские команды
(МГУ и С.-Пб. Институт точной механики и оптики).
Такая специализация в мировом разделении труда имела бы стратегическое значение. |
По указанным причинам
естественно возник интерес к Оберону как правопреемнику Паскаля в научном, образовательном и
профессиональном программистском сообществах на пост-советском пространстве:
Таким образом, в России и на пост-советском пространстве существует значительное число серьезных специалистов, по-достоинству оценивших возможности Оберона/Компонентного Паскаля для практического программирования, научных исследований и, что в конечном счете важнее всего, для преподавания. Помочь реализоваться этому интересу в практическом плане — одна из целей нашего проекта. |
Наука — Школе |