ПЗ (1204320), страница 4
Текст из файла (страница 4)
– унифицированный доступ к базам данных;
– поддержка обобщений;
– поддержка лямбд, замыканий, встроенные возможности функционального программирования.
Из недостатков можно выделить низкую производительность программ по сравнению с другими языками и сложную отладку приложений (зависит от IDE).
-
Python
Python – это интерпретируемый алгоритмический объектно-ориентированный язык со строгой динамической типизацией [16].
Для многих основное преимущество языка Python заключается в удобочитаемости, ясности и более высоком качестве, отличающими его от других инструментов в мире языков сценариев. Программный код на языке Python читается легче, а значит, многократное его использование и обслуживание выполняется гораздо проще, чем использование программного кода на других языках сценариев. Единообразие оформления программного кода на языке Python облегчает его понимание даже для тех, кто не участвовал в его создании. Кроме того, Python поддерживает самые современные механизмы многократного использования программного кода, каким является объектно-ориентированное программирование (ООП) [17].
По сравнению с компилирующими или строго типизированными языками, такими как C, C++ и Java, Python во много раз повышает производительность труда разработчика. Объем программного кода на языке Python обычно составляет треть или даже пятую часть эквивалентного программного кода на языке C++ или Java. Это означает меньший объем ввода с клавиатуры, меньшее количество времени на отладку и меньший объем трудозатратна сопровождение. Кроме того, программы на языке Python запускаются сразу же, минуя длительные этапы компиляции и связывания, необходимые в некоторых других языках программирования, что еще больше увеличивает производительность труда программиста [18].
Большая часть программ на языке Python выполняется без изменений на всех основных платформах. Перенос программного кода из операционной системы Linux в Windows обычно заключается в простом копировании файлов программ с одной машины на другую. Более того, Python предоставляет массу возможностей по созданию переносимых графических интерфейсов, программ доступа к базам данных, веб-приложений и многих других типов программ. Даже интерфейсы операционных систем, включая способ запуска программ и обработку каталогов, в языке Python реализованы переносимым способом.
В составе Python поставляется большое число собранных и переносимых функциональных возможностей, известных как стандартная библиотека. Эта библиотека предоставляет массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Кроме того, Python допускает расширение как за счет ваших собственных библиотек, так и за счет библиотек, созданных сторонними разработчиками. Из числа сторонних разработок можно назвать инструменты создания веб-сайтов, программирование математических вычислений, доступ к последовательному порту, разработку игровых программ и многое другое. Например, расширение NumPy позиционируется как свободный и более мощный эквивалент системы программирования математических вычислений Mathlab.
Сценарии Python легко могут взаимодействовать с другими частями приложения благодаря различным механизмам интеграции. Эта интеграция позволяет использовать Python для настройки и расширения функциональных возможностей программных продуктов. На сегодняшний день программный код на языке Python имеет возможность вызывать функции из библиотек на языке C/C++, сам вызываться из программ, написанных на языке C/C++, интегрироваться с программными компонентами на языке Java, взаимодействовать с такими платформами, как COM и .NET, и производить обмен данными через последовательный порт или по сети с помощью таких протоколов, как SOAP, XML-RPC и CORBA.
Недостатком данного языка является более низкая производительность по сравнению с С/С++ языками. Связано это с тем что программный код, как и в языке Java транслируется в байт-код.
-
Ruby
Ruby – это чрезвычайно мощный, динамический, чисто объектно-ориентированный язык, при разработке которого основное внимание было уделено удобству программирования на нём. Многие удачные идеи, использованные ранее в таких языках, как Perl, Python, Smalltalk, LISP и некоторых других, в Ruby удалось гармонично объединить. Благодаря этому язык легко изучать, на нём очень легко и приятно писать программы, а в уже написанные программы легко вносить необходимые изменения [19].
Ruby является одним из самых молодых языков современного промышленного программирования. Первая версия интерпретатора была обнародована создателем языка, японским программистом Юкихиро Мацумото (Yukihiro Matsumoto) в 1995 году.
Преимущества Ruby:
– открытая разработка;
– работает на многих платформах;
– может внедряться в HTML-разметку;
– относится к языкам программирования сверхвысокого уровня (VHLL), то есть обладает высоким уровнем абстракции и предметным подходом в реализации алгоритмов;
– реализует концептуально чистую объектно-ориентированную парадигму;
– предоставляет продвинутые методы манипуляции строками и текстом;
– легко интегрирует в свои программы высокопроизводительные серверы баз данных (DB2, MySQL, Oracle и Sybase);
– благодаря VHLL программы на Ruby хорошо масштабируются и легко сопровождаются;
– простой и чистый синтаксис значительно облегчает программистам первые шаги в обучении этому языку;
– имеется простой программный интерфейс для создания многопоточных приложений;
– имеет продвинутые средства для работы с массивами;
– возможности языка можно расширить при помощи библиотек, написанных на C или Ruby;
– зарезервированные слова могут являться идентификаторами, если это не создаёт неоднозначности для парсера;
– дополнительные возможности для обеспечения безопасности;
– встроенный отладчик.
Недостатки Ruby:
– обучение языку является трудоёмким процессом;
– слабая информационная база;
– Ruby относительно медленно разрабатывается и развивается.
-
С++
Язык C++ появился в начале 80-х годов. Созданный Бьерном Страуструпом с первоначальной целью избавить себя и своих друзей от программирования на ассемблере, Си или различных других языках высокого уровня [11].
По мнению автора языка, различие между идеологией Си и C++ заключается примерно в следующем: программа на Си отражает «способ мышления» процессора, а C++ – способ мышления программиста. Отвечая требованиям современного программирования, C++ делает акцент на разработке новых типов данных наиболее полно соответствующих концепциям выбранной области знаний и задачам приложения. Класс является ключевым понятием C++. Описание класса содержит описание данных, требующихся для представления объектов этого типа и набор операций для работы с подобными объектами.
В отличие от традиционных структур Си и Паскаля, членами класса являются не только данные, но и функции. Функции – члены класса имеют привилегированный доступ к данным внутри объектов этого класса и обеспечивают интерфейс между этими объектами и остальной программой. При дальнейшей работе совершенно не обязательно помнить о внутренней структуре класса и механизме работы встроенных функций. В этом смысле класс подобен электрическому прибору – мало кто знает о его устройстве, но все знают, как им пользоваться [12].
Язык С++ является средством объектного программирования, наилучшей методики проектирования и реализации программ, которая заменила традиционное процедурное программирование. Главной целью создателя языка доктора Бьерна Страустрапа было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.
Абстракция, реализация, наследование и полиморфизм являются необходимыми свойствами, которыми обладает язык С++, благодаря чему он не только универсален, как и язык Си, но и является объектным языком [13-15].
Преимущества: объектно-ориентированный язык, строго стандартизирован, обладает масштабируемостью, шаблонами и возможностью работать с памятью на низком уровне.
Недостаток: сложен для изучения, примитивный препроцессор, наличие труднораспознаваемых ошибок.
Вывод
В выборе языка программирования отдаётся предпочтение С++ из-за наличия стандартизации, кроссплатформенности и мощности программ, созданных на нём.
-
Выбор IDE
Интегрированная среда разработки (IDE – англ. Integrated Development Environment) – комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).
Среда разработки включает в себя:
– текстовый редактор;
– компилятор и/или интерпретатор;
– средства автоматизации сборки;
– отладчик.
Разнообразие IDE позволяет выбрать подходящую под особые цели среду тем самым упростить или специализировать разработку ПО.
-
NetBean
IDE NetBeans позволяет быстро и легко разрабатывать настольные, мобильные и веб-приложения Java, а также приложения HTML5 с использованием технологий HTML, JavaScript и CSS. IDE также предоставляет многофункциональные наборы средств для разработчиков PHP и C/C++. Это бесплатное ПО с открытым исходным кодом, которое имеет большое сообщество пользователей и разработчиков по всему миру.
IDE NetBeans обеспечивает превосходную поддержку для разработчиков на C/C++ и PHP, предоставляя исчерпывающий набор редакторов и инструментов для соответствующих платформ и технологий. Кроме того, в IDE имеются редакторы и инструменты для XML, HTML, PHP, Groovy, Javadoc, JavaScript и JSP.
C помощью редакторов и функций перетаскивания в среде IDE можно быстро и эффективно разрабатывать графические интерфейсы для приложений Java SE, HTML5, Java EE, PHP, C/C++ и Java ME [26].
NetBeans GUI Builder автоматически обрабатывает правильные интервалы между строками и выравнивание для приложений Java SE, поддерживая редактирование внутри строки. Конструктор графического интерфейса настолько интуитивен и прост в использовании, что его применяли в качестве живого прототипа для графических интерфейсов во время демонстраций для клиентов.
Плюсами данной IDE можно считать её мощность, бесплатность (CDDP, GPL, LGPL лицензии) и простоту создания дизайна интерфейса. Из минусов стоит отметить то что данная среда больше направлена на язык Java и не имеет встроенных компиляторов.
-
Qt
Qt (кьют) – кроссплатформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python, Ruby, Java, PHP и другие.
Qt позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования [24].
Отличительная особенность Qt от других библиотек – использование Meta Object Compiler (MOC) – предварительной системы обработки исходного кода. MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.
Qt позволяет создавать собственные плагины и размещать их непосредственно в панели визуального редактора. Также существует возможность расширения привычной функциональности виджетов, связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна.
Начиная с версии 4.5.0 в комплект Qt включена среда разработки «Qt Creator», которая включает в себя редактор кода, справку, графические средства и возможность отладки приложений. Она может использовать GCC или Microsoft VC++ в качестве компилятора и GDB в качестве отладчика. Для Windows версий библиотека комплектуется компилятором, заголовочными и объектными файлами MinGW [25].
Плюсы: Бесплатность (лицензия GPL), удобная и избыточная справка, удобный редактор создания интерфейса (Qt Creator), слоты и сигналы, возможность статической сборки, подключения Git хранилища и расширенная настройка компилятора.
Минусы: ресурсоёмкость и зависимость от встроенных в Qt библиотек (приложение возрастает в размере).
-
Visual Studio
Среда разработки Visual Studio представляет собой полный набор средств разработки для создания веб-приложений ASP.NET, XML (веб-службы), настольных приложений и мобильных приложений. Visual Basic, Visual C# и Visual C++ используют единую IDE, которая позволяет совместно использовать средства и упрощает создание решений на базе нескольких языков. Кроме того, в этих языках используются функциональные возможности платформы .NET Framework, которая позволяет получить доступ к ключевым технологиям, упрощающим разработку веб-приложений ASP и XML.















