- Ремесло программирования стало таким же
необходимым для физиков, химиков, экономистов, лингвистов,
... как и математика.

- Наблюдается практически полное невежество
студентов, приступающих к научной работе, в отношении грамотного программирования.

- Ремеслу грамотного программирования специалистов-непрограммистов
(физиков и т.д.) почти никто не учит — ни в школах, ни в
вузах. Мало кто из преподавателей представляет себе, что это такое.
Причина —
бурное развитие информационных технологий, за которым образовательная
система не поспевает (как, впрочем, и большинство "профессионалов").

- Грамотное программирование — это
вовсе не
знание несущественных деталей ассемблера,
Дельфи, С и т.п., и не ловкость в отлаживании
как попало спроектированного кода, и тем более не умение
напичкать программу сомнительными трюками (сколько бы ни потребовалось для
этого комбинаторного остроумия).
Грамотное программирование — это умение выстраивать
ясный, компактный, верифицируемый код методом
пошаговой детализации "сверху
вниз", отталкиваясь от пред- и пост-условий и продуманных интерфейсов для
проектируемых модулей и процедур.
|
- К счастью, в обучении грамотному программированию есть на что ориентироваться —
есть свой аналог евклидовых "Начал". Это
система Оберон лауреата
Тьюринговской премии и автора Паскаля Никлауса Вирта
и его учеников (для простоты здесь не делается различия
между различными версиями системы: Обероном,
Обероном-2 и
т.п.).

- В рамках проекта Оберон было выделено
компактное рациональное ядро конструктов программирования (в том числе
объектных), необходимое и достаточное для
максимально эффективной реализации программных
проектов любой сложности.

- Это ядро блестяще воплощено в языке
и системе программирования Оберон. Оберон — прямой наследник легендарных Паскаля и Модулы-2.
Внешне язык прост:
формальное описание синтаксиса укладывается в одну страницу, и ни хитроумных,
ни остромодных средств язык не содержит.
Но эта простота обманчива: она достигнута благодаря уникальному
по точности дизайну, позволяющему без
ограничений комбинировать базовые конструкты,
не теряя интеллектуального контроля за
создаваемыми программами и структурами данных. Именно в
этой точной простоте дизайна заключена мощь Оберона как инструмента
интеллектуального творчества.
|
- Ключевые идеи системы Оберон (парадоксальное на
первый взгляд сочетание строгой статической типизации
переменных и автоматического управления
памятью; отказ от множественного наследования;
динамическая загрузка независимо создаваемых
модулей) приняты в стратегических мега-проектах
Java и .NET корпораций Sun и Microsoft. Это обстоятельство
знаменует собой достижение информационной индустрией
консенсуса относительно базового набора средств
процедурного программирования общего назначения — стандартной
парадигмы программирования.

- Главным мотивом принятия "стандартной
парадигмы" стал очевидный (в разы) скачок
производительности программистов и еще больший скачок в
надежности программ при использовании новых языков этой
категории.
|
-
Усилиями учеников Н.Вирта
технологии Оберона-2 переносятся на наиболее
популярные платформы (Microsoft Windows, Apple Mac OS,
...). Чтобы
точнее выразить сущность языка и
преемственность с широко известным Паскалем,
язык получил название Компонентный Паскаль (Component
Pascal), а система программирования — BlackBox
Component Builder (Блэкбокс).
- В профессиональной системе Блэкбокс
органично сочетаются
качества, обычно считающиеся несовместимыми:

— простота, ясность и читабельность
языка программирования;
— быстрый компилятор, генерирующий код, по эффективности не уступающий Модуле-2
и C;
— безопасность автоматического
управления памятью;
— гибкость и эффективность цикла
разработки, обычно характерные
только для интерпретирующих сред;
— легкость визуального построения
диалогов — как в системах Дельфи и
Visual Basic;
— мощная компонентная библиотека (component framework) c
поддержкой составных документов, способных взаимодействовать с пользователем.
(Подробнее см. здесь.)
Благодаря ультрасовременному
компонентному дизайну система Блэкбокс
оказалась, несмотря на всю профессиональную мощь,
удивительно нетребовательной к системным
ресурсам (дистрибуция 6MB, занимает на диске 20MB в максимальной
конфигурации,
прекрасно работает под управлением MS Windows 3.1+Win32s на Intel 486/66MHz/8MB).
- Стабильность и надежность системы и компилятора являются легендарными.

- Предоставляются бесплатные полностью функциональные "образовательная" и "shareware"
версии Блэкбокса.
|
- Оберон/Компонентный Паскаль остается наболее точным выражением
"стандартной парадигмы". Он лишен подводных камней, чрезмерной
усложненности и экспериментаторства языков Java и C#. Его простота
обеспечивает ему роль "наибольшего общего делителя" языков "стандартной
парадигмы". Переход на них с Компонентного Паскаля носит не
концептуальный, а в основном технический характер (изучение особенностей
синтаксиса, "подводных камней" и т.п.).

- В высшей степени читабельный, тщательно
проработанный синтаксис
Оберона/Компонентного Паскаля обеспечивает максимальную устойчивость к
программистским ошибкам, в этом
отношении оставляя далеко позади С/С++.

- Эти качества ставят Оберон/Компонентный
Паскаль вне всякой конкуренции для
систематического обучения программированию.
|
- По эффективности кода Оберон/Компонентный
Паскаль не уступает Модуле-2 и С и превосходит С++ и тем более Java.

- В поддержке больших проектов Оберон/Компонентный Паскаль
намного
превосходит С/С++ благодаря настоящей модульности, строгому
статическому контролю интерфейсов и устранению архаического шага статического редактирования внешних связей модулей
(linking).

- Эти качества ставят Оберон/Компонентный
Паскаль вне всякой конкуренции в плане эффективности
работы программистов — особенно
"непрофессионалов", которые в последнюю
очередь могут позволить себе непроизводительные потери времени на
интеллектуальную борьбу с неадекватными инструментами.
|
- Блэкбокс, спроектированный в стране с 4
официальными языками и изначально
ориентированный на поддержку разноязычных
пользователей, допускает простую русификацию
(не только меню, но и сообщений компилятора и
т.п.).
|
- Бесплатный, простой, нетребовательный к
системным ресурсам, допускающий практически полную
русификацию, бескомпромиссно современный Блэкбокс
— идеальная платформа для серьезного
преподавания современного
программирования в российских школах и вузах и
давно нужная замена архаичным QBasic'у, Турбо
Паскалю и Дельфи.

-
Кроме того, Блэкбокс — уникальная среда для разработки
научно-инженерных приложений, предоставляющая средства интерактивной
графики и средства для надежной и эффективной работы с динамическими
структурами данных без потери эффективности в традиционных численных
расчетах.
|