Библиографическое описание:

Карасева Л. М. Использование свободного программного обеспечения в техническом вузе [Текст] // Технические науки: традиции и инновации: материалы междунар. науч. конф. (г. Челябинск, январь 2012 г.). — Челябинск: Два комсомольца, 2012. — С. 160-162.

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

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

Кроме того, у значительного числа преподавателей и студентов дома имеются компьютеры с операционной системой MS Windows и предназначенным для нее ПО. Естественно, что невозможно заставить этих пользователей переходить на открытую операционную систему, но при этом не должно возникать полной несовместимости используемых дома и в вузе программных средств.

Поэтому обязательным является использование мультиплатформенного ПО, работающего как под Windows, так и под другими операционными системами, способного заменить проприетарные аналоги.

Чаще всего изучение объектно-ориентированного программирования осуществлялось с помощью интегрированной среды разработки приложений Delphi, ориентированных на работу в Windows. Но из-за большой стоимости его лицензионного пакета даже для образовательных учреждений и появления в мире OpenSource разработок в этой области можно рассмотреть возможность перехода на кроссплатформенную среду разработки приложений Lazarus.

Lazarus — свободная среда разработки программного обеспечения для компилятора Free Pascal Compiler с добавлением Интегрированной Среды Разработки (IDE), которая переведена на различные языки, в том числе на русский. Он распространяется на условиях GNU General Public License, а значительная часть библиотек, в том числе LCL — на условиях GNU Lesser General Public License.

Важным преимуществом Lazarus является современный оконный интерфейс. Поскольку пользователи уже привыкли к внешнему виду, продиктованному операционной системой Windows [4].

Подобно Delphi, Lazarus является средой RAD (от англ. rapid application development — быстрая разработка приложений), позволяющей быстро создавать пользовательский интерфейс и является многоцелевым инструментом программирования, то есть может создавать программы различных типов, включая консольные приложения, динамически-подгружаемые библиотеки (DLL), GUI приложения.

Пункты меню изобилуют всевозможными настройками среды, а также оставшимися в наследство настройками командной строки компилятора, что позволяет производить тонкую настройку всех этапов компиляции и сборки проекта.

IDE Lazarus включает в себя подсветку синтаксиса, редактор кода и визуальный проектировщик форм, а также библиотеку компонентов, которая очень хорошо совместима с Библиотекой Визуальных Компонентов Delphi (VCL). По количеству компонентов Lazarus пока уступает Delphi. Тем не менее, имеется основной набор компонентов, а также компоненты для связи с базами данных. Библиотека визуальных компонентов Lazarus (LCL) включает эквиваленты для большинства элементов управления из VCL, например, формы, кнопки, текстовые поля и так далее, которые используются для создания приложений, имеющих графический интерфейс (GUI). Кроме того, имеется возможность преобразования проектов Delphi в проекты Lazarus.

В отличие от Delphi, Lazarus является кроссплатформенной средой. Поддерживаются такие ОС, как GNU/Linux, Microsoft Windows, Mac OS X, FreeBSD, WinCE. В отличие от Java, .Net и т.п. Lazarus создаёт не промежуточный, а машинный код. Такой код не нуждается в интерпретаторе и работает в десять раз быстрее, чем промежуточный код [4].

Но это преимущество так же является и его основным недостатком. Так как программы на Lazarus переводятся в машинный код, то необходимо каждый раз компилировать программу для различных операционных систем. При стандартных настройках скомпилированный файл имеет очень большой размер, так как включает отладочную информацию. Размеры разрабатываемых приложений также велики. В первую очередь это связано с особенностью компилятора FreePascal, который не поддерживает работу динамических библиотек. А потому должен включать в себя все используемые пакеты. То же самое касается и собственно среды разработки, которую необходимо пересобирать каждый раз при добавлении нового пакета [1].

Учебные заведения технической направленности также не могут обойтись без систем автоматизированного проектирования (САПР), производства и расчетов. И так как некоторые задачи вообще невозможно решить без помощи компьютера, то без математических пакетов не обойтись. Более того, к системам символьной математики сегодня прибегают даже теоретики, например для проверки своих гипотез.

Современные математические пакеты можно использовать и как обычный калькулятор, и как средства для упрощения выражений при решении каких-либо задач, и как генератор графики или даже звука.

Отметим только, что спектр задач, решаемых подобными системами, очень широк:

  • проведение математических исследований, требующих вычислений и аналитических выкладок;

  • разработка и анализ алгоритмов;

  • математическое моделирование и компьютерный эксперимент;

  • анализ и обработка данных;

  • визуализация, научная и инженерная графика;

  • разработка графических и расчетных приложений [5].

Примерами и первооткрывателями здесь являются Maple, Mathcad и Matlab.

Но, несмотря на все положительное, что могут дать эти замечательные математические пакеты, есть один большой минус в этих системах – это деньги, которые необходимо платить, чтобы получить доступ ко всем их возможностям. Но приобрести полный пакет всего необходимого лицензионного программного обеспечения может себе позволить не каждое высшее учебное заведение, не говоря уже об обычных физических лицах.

И здесь на помощь образовательным учреждениям и студентам приходят свободно распространяемые программные продукты, например, Scilab и Maxima, которые можно рассматривать как альтернативы Matlab, Maple или Mathcad.

Scilab - пакет прикладных математических программ, предоставляющий мощное открытое окружение для инженерных (технических) и научных расчётов. Он содержит сотни математических функций, и есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня. Продукт был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.

В системе доступно множество инструментов:

  • 2D и 3D графики, анимация;

  • линейная алгебра, разреженные матрицы;

  • полиномиальные и рациональные функции;

  • интерполяция, аппроксимация;

  • симуляция: решение ОДУ и ДУ;

  • Scicos: гибрид системы моделирования динамических систем и симуляции;

  • дифференциальные и не дифференциальные оптимизации;

  • обработка сигналов;

  • параллельная работа;

  • статистика;

  • работа с компьютерной алгеброй;

  • интерфейс к Fortran, C, C++, Java, LabVIEW.

Scilab имеет схожий с Matlab язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab.

Он позволяет работать с элементарными и большим числом специальных функций, имеет мощные средства работы с матрицами, полиномами, производить численные вычисления и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками [2].

Maxima — свободная система компьютерной алгебры, написанная на языке Common Lisp.

Математический пакет имеет широчайший набор средств для проведения аналитических вычислений, численных вычислений и построения графиков. По набору возможностей система близка к таким коммерческим системам как Maple и Mathematica.

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

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

С самого начала Maxima развивалась прагматически. В результате получилась программа, довольно простая в освоении и использовании людьми даже без специальной подготовки. Кроме того, пакет имеет несколько оболочек, лучшей из которых является wxMaxima. Ну а продвинутые пользователи, несомненно, оценят тесную интеграцию Maxima с языком Lisp, на котором система реализована.

Maxima отлично документирована - объемное справочное руководство описывает практически все встроенные функции системы. Это руководство интегрировано в программу в виде онлайнового справочника, оснащенного средствами поиска. Не прерывая работы с Maxima, можно легко найти необходимый справочный материал [5].

Еще раз отметим, что Scilab и Maxima работают не только на персональных компьютерах, оснащенных популярными операционными системами Windows, но и под управлением операционных системы Linux, UNIX, Mac OS. Они давно знакомы пользователям и широко распространены на всех платформах — от наладонника до суперкомпьютера [3].

Итак, рассмотренное выше приложение Lazarus может использоваться при обучении программно-ориентированному программированию, а Scilab и Maxima удобны в освоении и применении, охватывают практически все области математики и инженерных расчетов, что позволяет использовать их при решении различных задач науки, техники и образования.

В последнее время появилось достаточное количество документации по IDE Lazarus, Maxima и Scilab на русском языке в виде статей в сети Интернет, а так же и в печатных изданиях, что способствует его лучшему внедрению в образовательный процесс.

В заключение следует отметить, что свободное ПО, рассматриваемое в статье, является результатом коллективного труда программистов, работа над которым продолжается по сей день. Кроме того, оно обладает кроссплатформенностью и ведет к снижению материальных затрат, что делает его вполне способным конкурировать со своими коммерческими аналогами.


Литература:

  1. Free Pascal и Lazarus: Учебник по программированию / Е.Р. Алексеев, О.В.Чеснокова, Т. В.Кучер - М.: ALT Linux, 2010. _ 438 с. : ил.

  2. Алексеев Е. Р. Scilab: Решение инженерных и математических задач / Е.Р. Алексеев, О.В. Чеснокова, Е.А. Рудченко. - М.: ALT Linux ; БИНОМ. Лаборатория знаний, 2008. - 260 с.

  3. Житников В. Компьютеры, математика и свобода // Компьютерра, №16 (636) 26 апреля 2006 г.

  4. Рудюк С.А. Lazarus - кроссплатформенный Delphi. Программирование для свободных людей. 2006. [Электронный ресурс]. Режим доступа: http://www.realcoding.net/articles/lazarus-delphi-kross-platformennyi-programmirovanie-dlya-svobodnykh-lyudei.html.

  5. Татарников О. Обзор программ для символьной математики // КомпьютерПресс №7, 2006.

Обсуждение

Социальные комментарии Cackle