Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ ( КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 28.03.2023
Просмотров: 189
Скачиваний: 2
СОДЕРЖАНИЕ
2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
2.1. Машинно – ориентированные языки
2.2.1. Проблемно – ориентированные языки
3.9.1. Замечание по проекту языка Си++
СРЕДЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ОРИЕНТИРОВАННЫЕ НА ПРОЦЕССЫ.
Рассмотрим каждую среду разработки по отдельности
4.3. Komodo или ActiveStateKomodo
АНАЛИЗ СРЕД РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ЯЗЫКЕ С++
4.2. Geany
Также интегрированная среда разработки ПО. Поддерживается на ОС Linux, а также на Mac Os и на Windows. Работает с тридцатью двумя языками (также и с русским языком). В составе Geany отсутствует компилятор. Компилятор можно установить как дополнение. Поддерживает достаточно много языков программирования, среди которых присутствуют классический С. С++ и С#.
Пример работы в среде Geany, на Linux OS:
Достоинства: Простота и удобность, подсветка исходного кода, возможность подключать дополнения.
Недостатки: Не включает в свой состав компилятор.
Среда распространена во многих странах (Более чем в тридцати).
4.3. Komodo или ActiveStateKomodo
Была написана на JavaScript, XUL, Python. Интерфейс данной среды только на aнглийском языке. Рaботает нa теx жe опeрационных систeмах как Geany: на Os Linux, Windоws и Mac Os.
Поддерживает десять языков программирования, среди которые присутствуют: PHP, Ruby, HTML5.
Логотип Komodo:
Пример разработки в среде Komodo:
Достоинства: Дополнение Code Explorer позволяет просматривать объектное дерево скрипта или библиотеки, среда является кроссплатформенной, удобный отладчик с возможностью удаленной отладки, возможность настроить интерфейс среды «под себя».
Недостатки: Высокая стоимость, поддерживает мало языков программирования, сильно загружает компьютер (а именно оперативную память), является сложным для понимания.
Распространена в основном в англоговорящих странах.
4.4. Kylix
Интегрированная среда. Функционирует на OS Linux. Работает с С, С++ и ObjectPascal.
В данной среде есть возможность писать приложения веб-служб.
Kylix выпускался в трёх пакетах. Эти пакеты: Enterprise Edition — включал в себя сто девяносто компонентов (являлся самым большим и самим дорогим пакетом программы); Professional Edition (более дешевый вариант, который включал в себя около 165 компонентов); Open Edition — бесплатный пакет программы, содержащий в себе 75 компонентов, в нём отсутствует средства для работы с базами данных.
Обновленная версия Kylix 2, в отличии от Kylix работала гораздо быстрее. Например, Kylix 1 осуществлял сортировку пузырьком массива из 115 элементов полторы минуты, Kylix 2 — одну секунду.
В 2002 году данную среду разработки прекратил поддерживать разработчик.
Пример разработки в среде Kylix:
Достоинства: Удобен в переносе написанного с одной операционной системы на другую.
Недостатки: Данная среда больше не поддерживается разработчиком.
Распространена в основном в Европейских странах и США, из-за того что разработчик (Borland) перестал поддерживать Kylix — становится всё менее популярной и не востребованной.
4.5. Netbeans
Интегрированная среда разработки ПО. Была реализована на программном языке Java. Эта среда разработки высокого качества. Умеет работать на нескольких операционных системах, то есть является кроссплатформенной. Работает более чем с пятью программными языками.
Пример разработки в среде NetBeans:
Достоинства: Является бесплатной, присутствует система контроля версий, подсветка синтаксиса, возможно переименовывать переменную/класс одним кликом, в том случае если вручную переименовывать слишком долго (автоматизированное переименование), имеется возможность форматирования кода по CodeStyle, разработчиком среда постоянно совершенствуется, улучшается.
Недостатки: Временами в среде разработки возникают проблемы с кодировкой, долгий запуск программы.
Распространена во многих странах, в силу того что является удобной и бесплатной.
4.6. Eclipse
Ещё одна интегрированная среда разработки ПО. Написана на языке Java в две тысячи третьем году. Также является кроссплатформенной. За счёт присоединяемых к этой среде дополнений — имеется возможность создавать программные продукты более чем на пяти языках программного кода.
Пример разработки программы в IDE Eclipse:
Достоинства: Постоянное обновление версий среды разработки, поддержка многих языков (в том числе и русского), является бесплатной, поддержка многих языков программирования, среда имеет промышленный уровень, является гибкой — то есть легко настраивается как под любую платформу, так и под любого пользователя.
Недостатки: Сильно загружает оперативную память компьютера, долго запускается, однако, если компьютер достаточно мощный — данная проблема легко решаема.
АНАЛИЗ СРЕД РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ЯЗЫКЕ С++
На сегодняшний день C++ является одним из самых востребованных языком программирования на рынке и важным критерием при приёме программистов в IT компанию.
Для взаимодействия с этим языком используются специальные IDE, или интегрированная среда разработки (англ. Integrated Development Environment) – система программных средств, используемая программистами для разработки программного обеспечения. Сегодня их существует огромное множество, у всех есть свои особенности и недостатки. Целью статьи является сравнение некоторых из них по выбранным критериям и выбор лучших.
Для сравнения были выбраны следующие интегрированные среды разработки:
- Visual Studio 2015 от Microsoft.
- Dev C++ от Bloodshed Software.
- C++ Builder от Embarcadero Technologies.
- Eclipse C/C++ Development Tools от Eclipse Foundation.
- CodeLite от Eran Ifrah.
- NetBeans от NetBeans Community.
Все средства были установлены и протестированы.
5.1 Visual Studio 2015
Интегрированная среда разработки обладает большим числом инструментов и функций: может создавать как приложения в консоли, так и программы с графическим интерфейсом, и даже с помощью технологии Windows Forms. Хотя и работает с полным функционалом сразу после установки, но при отказе одного из компонентов перестаёт работать весь продукт. Удобный интерфейс и лёгкость в понимании работы продукта. Единственная сложность это создание графического интерфейса программы, которая требует дополнительной настройки. Программное обеспечение обладает всем набором функций, необходимым программисту, при желании можно установить дополнительные компоненты. Постоянно обновляется и поддерживается разработчиком, но не обладает свойством портативности и требует установки. К тому же полная версия требует покупки, но и бесплатной версии хватает для нужд начинающего и среднего уровня программистов. Также, бесплатная версия запрещает коммерческое написанных в ней программ. Работает только под OC Windows.
5.2 Dev C++
Интегрированная среда разработки обладает следующими возможностями: поддержка GNU Compiler Collection, втроеннная отладка, менеджер проекта, подсветка кода, просмотрщик классов, автозавершение кода, список функций, поддержка профилей, быстрое создание Windows-приложений, консольных программ, статичных библиотек и библиотеки динамической компоновки, поддержка шаблонов, позволяющих создавать свои типы проектов, создание makefile’а, редактирование и компиляция файлов ресурсов, менеджер инструментов, поддержка печати, средства поиска/замены, поддержка системы одновременных версий. Не требует установки дополнительного программного обеспечения, компилятор встроен. Хорошая среда разработки с большим функционалом и маленьким размером, может быть хорошим выбором как для новичка, так и для профессиональных программистов. Работает только под Windows.
5.3 C++ Builder
Интегрированная среда разработки обладает огромным числом функций: собственный компилятор, поддержка баз данных, поддержка технологии Windows Forms, объекты модулей данных, открытые инструменты интерфейса программирования приложений и т.д. Подойдёт программистам любого уровня, но лучше для новичков, так как, в отличие от Visual Studio, создание приложений с графическим интерфейсом здесь сделать намного легче. Постоянно обновляется и поддерживается разработчиком. Требует установки и покупки, но существует пробная 30-дневная версия.
5.4 Eclipse C/C++ Development Tools
Обладает следующими функциями: плагины, рефакторинг, автоподстановка любых идентификаторов, встроенная поддержка Doxygen, возможность отладки через GNU Debugger, подсветка синтаксиса, сворачивание кода, ссылочная навигация по коду (гипертекстовые ссылки), создание и управление проектами для различных инструментальных средств, стандартная make сборка, визуальные средcтва отладки. Дополнительно требует установку компилятора, без которого интегрированная среда разработки работать не будет. Компилятора в комплекте нет. Также требует наличие Java. Отличное программное обеспечегте для любого уровня умений программиста. Понятный интерфейс и возможность расширения функций с помощью плагинов делает его очень лёгким для освоения и очень эффективным. Сложностью является только установка компилятора. Периодические обновления и полная поддержка пользователей. Выпускается только в виде портативной версии. Бесплатен и работает под различными операционными системами: Windows/Linux/Mac OS X.
5.5 Code:: Blocks
Доступны следующие функции: подсветка кода, сворачивание кода C++ и расширяемый язык разметки, автозавершение кода, просмотрщик классов, быстрая система сборки, поддержка параллельных сборок, импорт проектов Microsoft Visual Studio, импорт проектов Dev-C++, поддержка дебагеров GNU Debugger и Microsoft Constant Data Base. Хотя и обладает понятным интерфейсом и хорошим инструментарием, но новые версии выходят очень редко (раз в год), причём ошибки в коде не подсвечиваются и их надо искать вручную. Полностью бесплатен и обладает портативной версией. Продукт разрабатывается под Windows, Mac OS X и Linux.
5.6 NetBeans
Обладает теми же возможностями и инструментами, что доступны и в Eclipse C/C++ Development Tools. Как и рассмотренная уже Eclipse C/C++ Development Tools, среда разработки NetBeans написана на языке Java (соответственно так же требует установленной виртуальной машины Java). Но, в отличие, от Eclipse требует установки. Бесплатен и доступен для систем FreeBSD/Linux/Mac OS X/OpenSolaris/Solaris/Windows.
Анализ источников [1-4] позволил определить следующие критерии:
- Функциональность – возможности программного обеспечения для реализации требуемых задач, инструментарий и разнообразность встроенных функций.
- Надежность – способность программного обеспечения работать без ошибок и отказа компонентов на протяжении всего срока экплуатации или времени, требуемого для решения поставленных задач.
- Удобство использования – простота интерфейса программного обеспечения и лёгкость в освоении работы с ним.
- Эффективность – способность программного обеспечения выполнять поставленные задачи сохраняя общую производительность, не перегружая систему в которой оно установлено.
- Удобство сопровождения – поддержка программного обеспечения разработчиком, включающая в себя создание новых версий продукта и поддержку пользователей.
- Портативность – способность программного обеспечения работать в различных операционных системах, а также возможность его переноса в другую систему без потери в функционале.
- 7. Доступность – лёгкость в получении программного обеспечения (доступность источника для скачивания, цена продукта).
6. ЗАКЛЮЧЕНИЕ.
Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ. Поверьте мне это не сарказм вы только посмотрите как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: «языки программирования "высочайшего" уровня». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где нибудь в Запорожье, Амстердаме, Токио или Иерусалиме, перед стареньким 133MHz горбится молодой, никем не признанный специалист и разрабатывает новейшую систему искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с машиной на ТЫ.
Размышляя над этим, хочется верить в прогресс науки и техники, в высоко - компьютеризированное будущее человечества, как единственного существа на планете, пусть и не использующего один, определенный разговорный язык, но способного так быстро прогрессировать и развивать свой интеллект, что и перехода от многоязыковой системы к всеобщему пониманию долго ждать не придется.
Завершить свой труд хорошо бы на такой оптимистичной ноте, но нет, напоследок хочется процитировать человека, фрагменты работы которого, в виде информации о языке Си, вам уже попадались на страницах этого текста:
Единственный способ изучать новый язык программирования – писать на нём программы.
Брайэн Керниган
7. БИБЛИОГРАФИЯ
1) “LEX - генератор программ лексического анализа”
Давидов Михаил Изгияевич; Антонов Вадим Геннадьевич
МОСКВА – 1985;
2) "BASIC Face-off", Justin J.Crom,
PC Tech Journal, September 1987, p.136
Перевод: Лопухов В.Н. (Интегратор Promt98);