Главная страница проекта ИНФОРМАТИКА-21

Наука Школе

Коротко о проекте ИНФОРМАТИКА-21

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

 

Главная страница проекта ИНФОРМАТИКА-21

Наука Школе