Важным элементом использования компьютеров в учебном процессе является программирование. В данной статье проводится обзор возможностей перехода на мультиплатформенные среды программирования с открытым исходным кодом (Open Source) при обучении программированию.
Необходимость перехода на открытое и бесплатное программное обеспечение (ПО) связана с несколькими причинами. Основной является стоимость лицензионного программного обеспечения. Кроме того, в масштабах страны зависеть от одного единственного поставщика программного обеспечения крайне рискованно. В этом плане открытость исходных кодов ПО и возможность их модификации является гарантией того, что монополист не сможет навязывать своё мнение без учёта реальных потребностей потребителей программного обеспечения.
В школах переходу к открытому ПО мешает ряд препятствий. Во-первых, переход на открытую операционную систему (один из вариантов Linux) ведёт к необходимости обучения как обслуживающего персонала, так и пользователей. Во-вторых, замена уже имеющейся предустановленной лицензионной операционной системы на новую, а также установка всех необходимых для учебного процесса программ и проведение всех необходимых настроек является достаточно трудоемким процессом.
В вузах к упомянутым выше трудностям добавляется потребность готовить специалистов, обладающих навыками работы с коммерческим программным обеспечением, наиболее востребованным на месте работы будущего молодого специалиста. А это, как правило, программное обеспечение для платформы MS Windows. Кроме того, у значительного числа преподавателей и студентов дома имеются компьютеры с операционной системой MS Windows и предназначенным для нее ПО. Естественно, что невозможно заставить этих преподавателей и студентов переходить на Linux, и при этом не должно возникать полной несовместимости используемых дома и в вузе программных средств.
В связи с этим в ближайшие годы как в школах, так и в вузах вряд ли произойдет полный переход на открытое ПО. Поэтому обязательным является использование мультиплатформенного ПО, работающего как под Windows, так и под Linux, а также, желательно, под Mac OS, Solaris и другими операционными системами.
Сформулируем требования, которым должна удовлетворять среда для обучения программированию:
*
Мультиплатформенность среды разработки (а значит, и языка программирования) - мотивация приведена выше;
*
Наличие среды разработки как важнейшего элемента современного программирования;
*
Для школ - наличие русскоязычной среды разработки;
*
Среда разработки должна быть с открытым исходным кодом - это
гарантирует независимость от какой-то конкретной фирмы, разрабатывающей
данную среду;
*
Простота использования при обучении программированию;
*
Процедурный язык программирования для изучения основ программирования в школах и обычных вузах;
*
Возможность поэтапного перехода к более профессиональному уровню
программирования с использованием того же языка программирования и той
же среды разработки;
*
Объектный язык для изучения основ программирования в вузах, специализирующихся в области информационных технологий.
Рассмотрим возможность использования в учебном процессе широко распространенных мультиплатформенных языков процедурного программирования:
Язык BASIC, некогда бывший достаточно популярным учебным языком, полностью утратил актуальность. Имеются различные мультиплатформенные интерпретаторы этого языка, но все они работают в режиме командной строки. Нет русскоязычности. Устаревшие среды разработки. BASIC в настоящее время уже не имеет практически ничего общего с языком Visual BASIC.NET, позволяющим перейти к более профессиональному программированию. В связи с этим BASIC и среды разработки для него не удовлетворяют изложенным выше критериям.
Язык PASCAL создавался как язык для обучения принципам структурного программирования, и, с точки зрения автора, таким и остаётся до сих пор. Как учебный язык начального уровня для старших классов школы и младших курсов вузов он пока не имеет альтернатив. Наличие объектного расширения этого языка в виде языка Object PASCAL (среды разработки Delphi, Lazarus) позволяет переходить к изложению объектного программирования. Для разработки программ на языке PASCAL может использоваться как среда с открытым исходным кодом Lazarus (использует компилятор Free PASCAL), так и среда, входящая в состав компилятора Free PASCAL. Также имеется открытый компилятор PASCAL от GNU и ряд других компиляторов. Но наиболее развитыми возможностями обладает Lazarus - интегрированная среда разработки (IDE - Integrated Development Environment) для создания графических и консольных приложений. Является Delphi-подобным окружением. В отличии от Delphi, мультиплатформенная и поддерживает русский язык.
Язык Fortran, долгое время бывший важнейшим языком при обучении программированию в технических вузах и на естественнонаучных факультетах университетов, в значительной мере утратил свои позиции, но до сих пор остаётся достаточно важным языком для обучения программированию в вузах. Из сред разработки с открытым исходным кодом для Fortran можно назвать Eclipse. Для обучения программированию в школе он, конечно, не пригоден.
Язык C является важнейшим языком системного программирования. В связи с этим его изучение обязательно для студентов, изучающих системное программирование. Этот язык может использоваться и при изучении программирования в школе - но, по мнению автора, только в рамках факультатива. Для C имеются открытые среды разработки Eclipse и NetBeans. В версии NetBeans 6.0 работа с C/C++ имела ряд существенных недостатков, о которых автор статьи сообщил разработчикам пакета C/C++ Pack. Соответственно, в версии 6.1, планируемой к выпуску в июне 2008 года, разработчики обещали исправить большинство из этих недостатков. Надо отметить, что внесение этих исправлений было реакцией на критику, прозвучавшую в выступлении автора с данным докладом на конференции «Проблемы внедрения и использования Открытого программного обеспечения в образовательных учреждениях Санкт-Петербурга» 25 января 2008. Поэтому можно надеяться на быстрое совершенствование среды NetBeans и рекомендовать для обучения программированию на C обе среды - как Eclipse, так и NetBeans.
Рассмотрим возможность использования в учебном процессе широко распространенных мультиплатформенных языков объектного программирования:
Object PASCAL - среда Lazarus.
C++ - среды разработки Eclipse и NetBeans.
Java - среды разработки NetBeans и Eclipse.
Остановимся подробнее на описании наиболее важных сред разработки.
Среда Lazarus
Lazarus - быстро развивающаяся среда разработки в стиле Delphi 5 (рис.1), поддерживающая различные диалекты языка PASCAL: Turbo PASCAL, Object PASCAL (Delphi), GNU PASCAL.
В опциях проекта имеется возможность выбирать один из этих диалектов, а также делать ещё много других полезных настроек. Поддерживается русскоязычный интерфейс, но только в приложениях с графическим пользовательским интерфейсом - в случае работы под Windows в консольных приложениях при вводе-выводе текста на русском языке требуется перекодировка из кодировки DOS 866 в кодировку Windows 1251 и обратно. Lazarus, как уже говорилось, является средой с открытыми исходными кодами (www.lazarus.freepascal.org). Загрузить программу можно с сайта http://sourceforge.net/projects/lazarus/ ?в разделе Download ("Загрузить").
Lazarus обладает рядом особенностей, позволяющих считать эту среду пригодной для профессиональной разработки приложений. Например, то, что в ней имеется отладчик (хотя пока и не очень хорошо работающий). А также то, что она поддерживает компиляцию файлов для различных целевых платформ (Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Win32, Win64, WinCE, Darwin) и имеет большое количество других настроек.
Недостатки Lazarus:
- Медленная, по сравнению с Turbo PASCAL и Delphi, компиляция;
- Менее устойчива, чем Delphi 5-7 (бывают зависания и другие проблемы);
- Большой размер скомпилированного исполняемого файла (под Windows XP минимальный размер приложения с графическим интерфейсом 11 Мб);
- отсутствие русскоязычной справочной документации, в том числе контекстной русскоязычной справки (Help);
- отсутствие поддержки русского языка в консольных приложениях.
Выводы по Lazarus
*
Удовлетворяет всем требованиям для использования в школах;
*
Удовлетворяет всем требованиям для использования в вузах;
*
Быстро развивается;
*
Имеет ряд недостатков, основной из которых неустойчивость. Можно надеяться, что он будет в ближайшее время преодолен.
слито с http://www.ipap.ru/pages/literature/articles/monahov
Маладец, что сюда "слил" :)))
был бы очень рад почитать ченить новое...про Лазарус...Или хотя бы перевод ченить связанного с сабжем..для неАнлоЧитающей Аудитории.
Было бы еще классно..нашел какой нить твик..сюда запостил..и себе на память и людям в МосК попадет
З.Ы. без обид, я просто выразил свою мыслю без всяких пОнтов и наездов.
Спасибо
Статья жесть. Выводы убили наповал ;)
Выводы по Lazarus
* Удовлетворяет всем требованиям для использования в школах;
* Удовлетворяет всем требованиям для использования в вузах;
omg!! но ето ИМХО. я не предодаватель, не мне решать
Кстати, может кто чего интересного найдет (и сюда закопипастит %) )
g freepascal ru
Отправить комментарий