Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Средства разработки программ).pdf
Добавлен: 25.04.2023
Просмотров: 180
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Классификация языков программирования
1.1 Понятие языка программирования
1.2 История возникновения языков программирования
1.3 Классификация современных используемых языков программирования
1.4 Применение языков программирования в различных сферах
1.5 По каким причинам языки оказываются полезными или бесполезными
Глава 2. Критерии выбора среды и языка разработки программ
2.1 Средства разработки программ. Понятие среды
2.5 Выбор интегрированной среды
2.5.1 Базовые интегрированные среды для разработки мобильных приложений
2.5.2 Базовые интегрированные среды для разработки десктопного программного обеспечения
На этапе синтаксического анализа производится рассмотрение полученных лексем с целью получения семантически ясных синтаксических единиц, которые впоследствии обрабатываются семантическим анализатором. Например, в качестве синтаксических единиц выступают выражения, объявление, оператор языка программирования, вызов функции. [2]
На этапе семантического анализа производится обработка синтаксических единиц и создание промежуточного кода. В зависимости от наличия или отсутствия фазы оптимизации итогом семантического анализа может стать оптимизируемый далее промежуточный код или же готовый объектный модуль. [2]
К числу задач, решаемых семантическим анализатором, относятся следующие:
- обнаружение ошибок времени компиляции;
- заполнение таблицы символов, созданной на этапе лексического анализа, конкретными значениями, определяющими дополнительную информацию о каждом элементе таблицы;
- замена макросов их определениями;
- выполнение директив времени компиляции.
Как макрос определяется некоторый предварительно определенный код, на этапе компиляции вставляющийся в программу во всех местах указания вызова данного макроса. [16]
На фазе синтеза программы производится следующее:
- генерация кода;
- редактирование связей. [2]
Процесс генерации кода состоит из преобразования промежуточного (или оптимизированного) кода в объектный. При этом в зависимости от языка программирования получаемый объектный код может быть представлен в выполнимой форме или как объектный модуль, подлежащий дальнейшей обработке редактором связей. [2]
Следует заметить, что процесс генерации кода – это облигаторная часть фазы синтеза программы. Необходимость выполнения редактора связей зависит уже от взятого языка программирования. Принимается во внимание, что в условиях практики термин «генерация кода» нередко применяют ко всем действиям фазы синтеза программы, ведущим к получению выполнимой формы.
Редактор связей приводит в соответствие адреса фрагментов кода, расположенных в отдельных объектных модулях: определяются адреса вызываемых внешних функций, адреса внешних переменных, адреса функций и методов каждого модуля. Для редактирования адресов редактор связей использует специальные таблицы загрузчика, создаваемые на этапе трансляции. После обработки объектных модулей редактором связей генерируется выполнимая форма программы. [2]
2.4 Интегрированная среда
Интегрированная среда разработки, ИСP (англ. IDE, Integrated development environment), также иногда называемая единой средой разработки (ЕСР), определяется как комплекс программных средств, используемый программистами для разработки программного обеспечения.
Среда разработки включает в себя следующие составные части:
- текстовый редактор,
- компилятор и/или интерпретатор,
- средства автоматизации сборки,
- отладчик. [47]
В некоторых случаях среда разработки включает в себя средства для интеграции с системами управления версиями и различные инструменты для упрощения конструирования графического интерфейса пользователя. Кроме того, значительная часть актуальных сред разработки содержит браузер классов, инспектор объектов и диаграмму иерархии классов для применения при объектно-ориентированной разработке программного обеспечения. Несмотря на существование ИСР, предназначенных для нескольких языков программирования (Eclipse, Microsoft Visual Studio, NetBeans), среда обычно предназначается для одного определенного языка программирования: только для Visual Basic, Delphi и прочих. [47]
Частным случаем интегрированных сред разработки являются среды визуальной разработки, дающие пользователю возможность визуально редактировать интерфейс создаваемой программы.
Интегрированные среды разработки создавались с целью максимизации эффективности работы разработчика программного обеспечения благодаря тесно связанным компонентам с интуитивно понятными и несложными пользовательскими интерфейсами. Такая конструкция дает программисту возможность совершать наименьшее количество действий для переключения разных режимов, в отличие от дискретных программ разработки. Впрочем, поскольку такая среда считается сложным программным комплексом, то лишь после продолжительного обучения среда разработки будет способна ускорить процесс разработки ПО на должном уровне.
Традиционно интегрированная среда выступает в роли единственной программы, где проводится полный цикл разработки. Она в большинстве случаев включает в себя большое количество функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель среды разработки заключается в абстрагировании конфигурации для объединения утилиты командной строки в едином модуле, который, в свою очередь, дает возможность сократить временные затраты на изучение языка программирования и повысить производительность программиста, работающего над задачей. Также признается, что тяжелая интеграция задач разработки имеет возможность в будущем повысить производительность. В частности, интегрированная среда разработки позволяет проверить код и тем гарантировать мгновенную обратную связь и сообщить разработчику о наличии синтаксических ошибок. В то время как основная масса нынешних ИСР представляет собой графические системы, они применялись задолго до возникновения систем управления окнами (например, реализованные в Microsoft Windows для *nix-систем). Они базировались на тексте и позволяли использовать функциональные или горячие клавиши, для того чтобы реализовать решение различных задач (как например Turbo Pascal). Эксплуатация интегрированных сред для разработки программного обеспечения считается антонимичной технологии, согласно которой применяются несвязанные инструменты, такие как vi (текстовый редактор), GCC (компилятор) и т. п. [9]
Интегрированные среды разработки нередко предоставляют пользователям возможность делать пометки в комментариях в исходном тексте программ, тем самым отмечая места, требующие редакции или обращения внимания в будущем (например TODO). При дальнейшей работе такие пометки-комментарии могут выделяться редакторами (vim, emacs, встроенный Visual Studio) или использоваться с целью организации совместной работы с построением тегов и задач (например в IntelliJ). Стандартом оформления кода считается использование комментариев с TODO на Object Pascal или Delphi. Корпорация Microsoft в руководстве по Visual Studio рекомендует использовать тег TODO (наравне с HACK, UNDONE) для следующих пометок:
- добавление новых функций;
- уже известные проблемы, которые позже нужно устранить;
- классы, предполагаемые к реализации;
- места размещения кода обработчиков ошибок;
- напоминания о необходимости переработки неудачного участка кода. [26]
На практике под интегрированной средой разработки понимается совокупность программных средств, поддерживающая все этапы разработки программного обеспечения: от написания исходного текста до компиляции и отладки программы, обеспечивающая простое и быстрое взаимодействие с другими инструментальными средствами (программным отладчиком-симулятором, внутрисхемным эмулятором, эмулятором ПЗУ и программатором). [47]
Иногда начинающие программисты относят интегрированные среды к числу средств отладки. Это неверное мнение. Отладка является только одним из свойств интегрированных сред.
При традиционном подходе начальный этап написания программы строится следующим образом:
- Исходный текст набирается при помощи какого-либо текстового редактора.
- По завершении набора работа с текстовым редактором прекращается и запускается кросс-компилятор (компилятор, производящий исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор). [15]
- Как правило, написанная программа содержит синтаксические ошибки, о которых компилятор сообщает на консоль оператора.
- В текстовом редакторе следует найти и устранить выявленные компилятором ошибки. [3]
Приведенный цикл повторяется до достижения необходимого результата. Если программа объемная или, например, подвергается модернизации, то даже начальный этап требует от программиста много сил и времени. После начального этапа требуется отладка программы, и после работы с редактором и компилятором (кросскомпилятором) нужна работа с эмулятором или симулятором, за работой которого было бы не лишним следить прямо по тексту программы в текстовом редакторе. [17]
Интегрированные оболочки разработки позволяют избавиться от большого объема однообразных действий, непревзойденно повышая эффективность процесса разработки и отладки. Такие средства в условиях современной разработки называются средствами, реализованными по технологии RAD [19], то есть одновременно сочетающими в себе высокую скорость разработки, низкую стоимость работы (сравнительно) и высокое качество получаемого продукта.
Каковы преимущества работы в интегрированной среде для программиста?
- Возможность применения встроенного многофайлового текстового редактора, нацеленного на работу с исходными текстами программ;
- Возможность применения автодиагностики ошибок, обнаруженных при компиляции, при выводе отображения исходного текста программы, доступного для редактирования, выводящейся параллельно с диагностикой в многооконном режиме;
- Возможность одновременной работы над несколькими проектами. Диспетчер проектов позволяет применять любой проект как шаблон для нового проекта;
- Минимальное количество перекомпиляции – перекомпилируются лишь уже редактировавшиеся модули;
- Возможность загрузки отлаживаемой программы в имеющиеся средства отладки, работа с ними без выхода из оболочки;
- Возможность подключения к оболочке фактически любых программных средств. [17]
На текущем этапе развития программирования функции интегрированных сред разработки стали привычной принадлежностью программных интерфейсов эмуляторов и отладчиков-симуляторов.
Подобные функциональные возможности в сочетании с дружественным интерфейсом могут значительно повысить скорость разработки программ, в особенности для микроконтроллеров и процессоров диджитализации сигналов, представляющих собой трудозатратные и труднообозримые процессы. Поскольку растущие запросы сфер деятельности, в которых применяется программирование, сейчас в 100 % случаев подразумевают оперативную работу и быструю разработку программного обеспечения, не имеет смысла рассматривать неинтегрированные среды: их применение в условиях текущего времени не является разумным.
2.5 Выбор интегрированной среды
Наиважнейшим элементом процесса разработки приложения представляется выбор правильной интегрированной среды разработки, который зависит одновременно и от технической платформы, и от уровня подготовки специалиста-программиста. Следует подробнее рассмотреть несколько стандартных для отрасли оболочек, чтобы разобраться в их особенностях.
2.5.1 Базовые интегрированные среды для разработки мобильных приложений
По свидетельству информационного агентства We Are Social, количество пользователей сети Интернет в мире прирастает преимущественно за счет владельцев мобильных устройств. Многие домохозяйства – например, в Соединенных Штатах Америки – вообще не владеют персональными компьютерами, а в Интернет выходят исключительно со смартфонов и планшетных ПК. [24]
Это значит, что немалую долю современной разработки программ занимает написание приложений для мобильных устройств. Поскольку рынок должен быть ориентирован на потребителя, сложно переоценить для пользователя важность хорошо разработанных мобильных приложений.
Visual Studio 2015
Visual Studio является одним из известнейших и наиболее заслуженных программных продуктов. В случае с мобильными приложениями это средство для создания приложений для WinPhone. Несмотря на повсеместную распространенность Visual Studio, этот продукт считается пригодным преимущественно для опытных разработчиков в силу обилия неструктурированной информации в общем доступе. Программист уровня «новичок» будет вынужден вложиться в курсы по изучению Visual Studio и обзавестись соответствующей справочной литературой. Однако пользователи отмечают качественный редактор и идеально работающие функции тестирования этой среды. [38]
Android Studio
Android Studio считается сравнительно новой интегрированной средой разработки. Он ориентирован на разработчиков приложений для системы Android (Android Developers). Поскольку, по оценкам специалистов-аналитиков из международно-признанного бюро Kantar Worldpanel ComTech, больше половины рынка мобильных устройств занимают устройства на ОС Android, сложно переоценить важность среды разработки, нацеленной н нужды едва ли не половины всех мобильных устройств в мире. [25] Обладает эта оболочка и недостатками, которые внезапно оказываются прямо противоположны недостаткам самой ОС Android: общие настройки ИСР и ее персонализация признаются пользователями как «бедные, скупые, укороченные». Если вспомнить, что сама ОС Android удивительно индивидуально адаптивна и очень дружественна для пользователя, остается надеяться, что в будущем эта «бедность» будет как-то исправлена. [40]