Файл: Классификация языков программирования. (История развития языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 304

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Поддержка сообщества – это вики-сайты, форумы, учебные руководства и готовые дополнительные библиотеки, развивающие язык. Современные разработчики редко работают автономно, для решения типовых задач все чаще используются готовые решения в виде подключаемых библиотек, что сокращает время на изучение документации в поисках подсказки в написании алгоритма, выполняющего требующуюся для реализации алгоритма операцию с данными. Если у языка много сторонников, это увеличивает шансы того, что ранее кто-нибудь сталкивался с аналогичной задачей и уже написал об этом на вики-сайте или на форуме, написал код реализующий данный функционал. [8]

3.2. Выбор среды разработки программ

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

При выборе среды разработки информационной системы нужно придерживаться нескольким моментам:

-среда должна являться средой визуальной разработки (т.е. в процессе создания программы будет видно, как она будет выглядеть во время выполнения);

-должна быть реализована поддержка объектно-ориентированного стиля программирования (например, наследование, полиморфизм);

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

-невысокие требования среды и создаваемой программы к ресурсам аппаратных средств, если такие ограничения присутствуют в конечной среде применения создаваемого ПО;

-должна быть предусмотрена возможность использования стандартных компонентов при создании интерфейса;

-должно быть предусмотрено наличие библиотек для работы с графикой;

-программа должна быть создана с использованием визуальных компонентов для интерфейса;

-разрабатываемый программный продукт должен быть надёжным (должна быть предусмотрена обработка исключительных ситуаций, возникающих при неправильной работе программы).


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

Любая современная среда разработки позволяет производить настройку и адаптацию под те или иные требования: изменение интерфейса, режимов работы, назначения горячих клавиш, установка дополнительных средств («плагинов») и т.п. В арсенале каждого опытного программиста должны быть свои приемы разработки, собственные вспомогательные средства. Он имеет собственные вкусы и предпочтения. Используя настройки, программист может сделать работу в среде более удобной для себя и, тем самым, более эффективной.

Создатели инструментальных средств закладывают, как правило, избыточный набор возможностей и программисты практически никогда не используют инструментальное средство на все 100%.

Обычно среда разработки ПО предназначена для разработки только на одном языке программирования. А такая среда разработки как интегрированная, предоставляет право выбрать создателю программы язык программирования для разработки, удобный разработчику (из поддерживаемых данной средой языков). Примером тому служат: Visual Studio, Komodo, Kylix, NetBeans, Eclipse.

Данные среды разработки программного обеспечения (или подобные) можно осуществлять весь цикл разработки программного обеспечения. Но есть также интегрированные среды, которые предназначены для одного программного языка. Например такая среда как Visual Basic, являющаяся частью программного комплекса Office от компании Microsoft.

Для больших (или командных) проектов в среду разработки должны быть включены файловый менеджер, интегрированная среда разработки программного обеспечения, Система Управления БД (включающая инструмент отчётов таких как Crystal Reports Windows Forms Viewer и Crystal Reports Engine [4]), система отчетов о процессе разработки, журнал изменений для контроля версий продукта, а также интеграция с внешними системами контроля версий и система планирования разработки представляющая собой техническое задание на разработку разложенное на временную шкалу, разделенное по блокам на участников команды и определяющую последовательность создания и взаимосвязь модулей (частей) будущего программного продукта.

Интегрированные среды разработки удобны для командных проектов, постольку в таких средах можно производить весь цикл создания программного обеспечения.

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


Выводы

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

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

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

При выборе языка программирования стоит опираться на несколько факторов. Немаловажным из них являются навыки команды разработки, если она уже сформирована или продукт создается устоявшимся коллективом, как внутренний проект или делается для внешнего заказчика, организацией занимающейся разработкой программного обеспечения. Вторым весомым фактором являются требования к безопасности и отказоустойчивости приложения, для специфических устройств, устройств повышенной опасности, медицинских аппаратов, контроллеров устройств входящих в состав центров обработки материалов высокой точности, военной и космической промышленности больше подходят низкоуровневые языки, их узкая применимость и совместимость с небольшим количеством устройств, играет в данном случае положительную роль, повышая эффективность использования ресурсов и безопасность. Это увеличивает срок разработки ПО, предъявляет высокие требования к знаниям команды в предметной области, но обеспечивает необходимую надежность. В случае же когда приложение выполняет роль средства обмена информации, передачи и обработки данных, в том числе не требующих высокой точности результатов, становится возможным использование высокоуровневых языков. Дополнительными факторами в выборе языка программирования могут быть требования обеспечения совместимости со сторонним программным обеспечением, необходимость в наличии интерфейсов взаимодействия с внешними устройствами, другим программным обеспечением и требование функционирования разрабатываемого ПО на определенных аппаратных платформах, сложность возлагаемых на ПО вычислений, специфичность данных передаваемых на обработку приложению и необходимость соединения с внешними базами данных для получения данных и сохранения результатов обработки данных. Немаловажную роль в выборе языка программирования играет область применения ПО, современные языки программирования зачастую ориентированы на создание ПО определенного типа, имеют встроенные средства для реализации конкретных задач. Часть из них предназначены для создания WEB-приложений, не взаимодействующих с аппаратной частью вычислительных систем, это может в свою очередь обеспечивать дополнительную безопасность данных. К таким языкам можно отнести PHP, Python, JavaScript. В противовес им существуют языки, на которых удобнее разрабатывать программное обеспечение, используемое непосредственно на рабочих станциях в качестве прикладных программ, или ПО микроконтроллеров. В данном случае мы говорим о языках С и его потомках, Pascal, Basic и других подобных. На стыке этих областей можно выделить отдельным пунктом язык программирования Java и его виртуальную машину, как средство взаимодействия онлайн интерфейсов, сетевого оборудования, мобильных устройств и аппаратного обеспечения устройств, на которых выполняется данное ПО и прочего программного обеспечения, в том числе с WEB-приложениями. Данный язык очень часто применяется для проверки подлинности данных и идентификации пользователя со стороны клиентской машины в банковских программных продуктах и системах обмена защищенной информацией или информацией, требующей подтверждения «электронной подписью».


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

Существуют так же обратные специфические ситуации, когда выбор среды стоит на первом месте перед выбором языка разработки, такое происходит, когда набор всего необходимого функционала, необходимого для реализации конкретного проекта, присутствует только в одной среде разработки, в таком случае выбор языка определяется автоматически если данная среда предназначена для разработки на конкретном языке, либо выбор ведется из поддерживаемых средой языков в случае, если среда является универсальной. К таким средам относятся Visual Studio, NetBeans, IntelliJ IDEA. Дополнительным фактором в выборе среды является конечная платформа для которой создается ПО, так как на одних и тех же языках программирования создаются программные продукты для различных операционных систем, аппаратных платформ и мобильных устройств, а среды разработки, обеспечивающие максимальную совместимость с конечными платформами, могут быть разными.

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