Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Усилители интеллекта: теории, эксперименты, технологии


Усилители интеллекта: конструкторы алгоритмов 5

Уважаемые любители интеллектуальных программ!

Дорога в мир программирования состоит из нескольких шагов, и на каждом из них могут пригодиться усилители интеллекта, называемые интегрированными средами разработки (IDE = Integrated development environment).
В освоении алгоритмического мышления нам помогал ДРАКОН.
В блочной сборке программ - HiAsm.
В освоении языка кодов мы познакомились со структурой простейшей программы "Hello, World!" на нескольких языках и подошли к решению тестовой задачи - созданию майевтической машины, т.е. эвристического вопросника с выводом результатов работы в текстовый файл.

Теперь испытаем, чем нам могут помочь разные IDE.

Самое простое решение дает HiAsm - ведь он пишет код автоматически. Достаточно взять из набора элементов заготовку простейшего редактора Memo, внести в него исходный набор строк вопросника (через редактор строк, вызываемый двойным кликом на элементе), потом подключить кнопки открытия и сохранения файлов (способ подключения можно заимствовать из схем более продвинутых редакторов), разместить эти кнопки и задать размеры окна в редакторе формы, нажать запуск - и ехе-файл машины готов! Вся работа занимает при некотором навыке не более 10 минут.
Конечно. майевтическая машина получилась аскетичной, без красивостей, но для работы вполне достаточно. Да и размер ее скромный - 37 Кб.

Следующий кандидат в помощники - PascalABC.NET. Выбор вызван несколькими причинами. Это единственная классическая IDE, разработанная в России, - значит, никаких проблем с кодировками. Она сочетает простоту Паскаля и мощь платформы .NET. Программа компилируется в один единственный файл, что облегчает понимание логики. В дистрибутив входят подробная справочная система и курс обучения, весьма удобные для новичков.
Когда Вы инсталлируете IDE, то в папке C:\Program Files появится папка PascalABC.NET с IDE, а в корневом каталоге C:\ папка PABCWork.NET с примерами кодов (Samples) и программами, выполняемыми без связи с IDE (Output).
Идем в C:\PABCWork.NET\Samples\NETLibraries\System.Windows.Forms\TextEditor\TextEditor.pas и открываем нужную нам заготовку кода редактора. Код этот сопровожден комментариями, так что понять его несложно. Чтобы редактор сразу открывался с текстом вопросника, меняем последний прокомментированный абзац на строчку OpenFile('Hegel.txt'); (спасибо successful за подсказку) и в папки с TextEditor и Output добавляем файл с заранее составленным текстом вопросника Hegel.txt. Почему в две? Да первая нужна, когда мы выполняем программу в IDE, а вторая - при автономной работе редактора.
Итак, в результате у нас 2 файла общим объемом 27 Кб - меньше, чем у HiAsm (37 Кб), - однако эта версия машины нуждается в библиотеках .NET. Если те не установлены заранее, то машина работать не будет. И оперативной памяти она занимает в 4 раза больше: Диспетчер задач показывает, что машина от HiAsm берет себе 1,3 Мб, а машина от PascalABC.NET более 5 Мб.

Следующий помощник - швейцарский BlackBox (ЧерныйЯщик), русифицированный и поддерживаемый в России компанией "Метасистемы" (г. Орел). Этот изящный фреймворк был разработан давно, более 10 лет назад, и имел блестящие перспективы, но уступил гигантам софт-бизнеса из-за того, что идеи и ведущие разработчики были растащены Microsoft и IBM для своих проектов - .NET и Java, самых популярных на настоящий момент. Тем не менее BlackBox, хоть и отстал в интерфейсе от могучих конкурентов, продолжает существовать и развиваться; потенциал его не исчерпан.  Сторонники его утверждают, что это очень простая, быстрая, компактная и мощная IDE от лучших в мире асов программирования, да еще бесплатная... Пусть интерфейс получаемых программ скромен, зато в преподавании, науке, где это не так существенно, BlackBox нет равных. Да и в создании коммерческого ПО на .NET и Java иногда потихоньку используют BlackBox, чтобы получить конкурентные преимущества...
Но вернемся к нашей тестовой задаче. В отличие от многих других IDE ЧерныйЯщик не только помогает собирать программы, но и является средой для их выполнения. Поскольку сам он чрезвычайно компактен, это не создает особых проблем. Для решения задачи достаточно убрать лишние компоненты BlackBox (спасибо И.Ермакову за совет), набрать текст вопросника, внести небольшие поправки в загрузочный Config.ocf (Е.Темиргалеев подсказал поправки, спасибо) - и решение готово. Оно заметно больше, чем у предшественников (1,7 против 0,03 Мб), да и оперативной памяти занимает аж 9,5 Мб, - но что такое 10 Мб при гигабайтных стандартах современных компьютеров..., а качество форматирования текста, как Вы далее сможете убедиться, намного выше.

Последний кандидат в нашем обзоре простых русскоязычных IDE - Dev-C++, интегрированная среда для программирования на языках С и C++. Несмотря на то, что эти языки клянут все кто ни попадя за сложность и запутанность, они относятся к категории промышленных, т.е. тех, на которых:

  • пишется основная масса программ,

  • знание которых требуется при приеме на работу,

  • квалификация в которых определяет уровень Вашей зарплаты. 

Отсюда и интерес к их освоению. К примеру, на студенческом сайте были выложены дистрибутивы вышеупомянутых IDE. За месяц  PascalABC.NET скачали 5, BlackBox 7, а Dev-C++ 27 (!) раз.
Эта IDE быстро привела к заготовке простейшего редактора и его воплощению в автономном файле. (В скобках заметим, что хотя интерфейс Dev-C++ и русифицирован, с кириллицей внутри программ могут быть проблемы). Идем в меню Файл/Открыть проект или файл, находим в папке программы Examples/FileEditor 6 файлов проекта простейшего текстового редактора. Открытие файла проекта FileEditor.dev и его последующее выполнение (меню Выполнить/Выполнить) порождает в той же папке exe-файл редактора.  Полученный файл вместе с текстом вопросника "весит" 33 Кб. При запуске такая майевтическая машина занимает 6 Мб оперативной памяти.

Что получается в итоге?

Сравнение 4 простых IDE выявило двух лидеров:

  • самый быстрый и аскетичный результат дал HiAsm (32,5 Кб)

  • самый красивый и сложный - BlackBox (774 Кб)

Скачать эти машины можно со странички
http://subscribe.ru/group/programmyi-pomogayuschie-dumat-sochinyat-fantazirovat/8171/
(Если Вас смущает авторизация, введите при регистрации любой почтовый адрес и свой пароль для входа в группу,
а отписаться от группы можно будет одним щелчком мышки)

 

В следующем выпуске мы попробуем решить ту же задачу в больших и сложных средах программирования.

* * *

Под занавес - история о компьютерном мышлении:

Беседуют два программиста.
- Чем программер отличается от обычного смертного?
- А тем, что в состоянии ответить на вопрос, в котором уже заключен ответ.
- Это как же?
- Hу, например, ответь на вопрос: сколько будет 2х2=4 ?
- Естественно - TRUE !

* * *

Вот и всё... Вопросы и замечания mailto:feod@narod.ru

До новых встреч!
Юлий Феодоритов
 


В избранное