Неотъемлемая часть современных ЭВМ – системы программного обеспечения, являющиеся логическим продолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферу их использования. Система программного обеспечения, являясь посредником между человеком и техническими устройствами машины, автоматизирует выполнение тех или иных функций в зависимости от профиля специалистов и режимов их взаимодействия с ЭВМ.
26 октября 2021 Фёдоров Константин Владимирович
Содержимое публикации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М.Е. ЕВСЕВЬЕВА»
Кафедра информатики и вычислительной техники
ПОНЯТИЕ СРЕДЫ (СИСТЕМЫ) ПРОГРАММИРОВАНИЯ
Автор работы ____________________________________________ К. В. Фёдоров
Направление подготовки 44.03.05 Педагогическое образование (с двумя профилями подготовки)
Профиль Информатика. Математика
канд. физ.-мат. наук, доцент _________________________ Т. В. Кормилицына
8 класс. Урок: Компоненты интегрированной среды разработки программ
В пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие систем программирования. К сегодняшнему дню насчитывают несколько поколений систем программирования. Каждое из последующих поколений по своей функциональной мощности качественно отличается от предыдущего.
С появлением персональных компьютеров системы стали составными частями интегрированных сред разработки. Появились системы, применяемые в различных офисных программах. В настоящее время системы программирования применяются в самых различных областях человеческой деятельности, таких как научные вычисления, системное программирование, обработка информации, искусственный интеллект, издательская деятельность, удаленная обработка информации, описание документов.
С течением времени одни системы развивались, приобретали новые черты и остались востребованы, другие утратили свою актуальность и сегодня представляют в лучшем случае чисто теоретический интерес.
Цель работы – описать системы программирования и основные компоненты среды программирования.
1. Системы программирования как неотъемлемая часть ЭВМ
1.1 Определение системы программирования
Неотъемлемая часть современных ЭВМ – системы программного обеспечения, являющиеся логическим продолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферу их использования. Система программного обеспечения, являясь посредником между человеком и техническими устройствами машины, автоматизирует выполнение тех или иных функций в зависимости от профиля специалистов и режимов их взаимодействия с ЭВМ. Основное назначение программного обеспечения – повышение эффективности труда пользователя, а также увеличение пропускной способности ЭВМ посредством сокращения времени и затрат на подготовку и выполнение программ. Программное обеспечение ЭВМ можно подразделить на общее и специальное программное обеспечение.
Общее программное обеспечение реализует функции, связанные с работой ЭВМ, и включает в себя системы программирования, операционные системы, комплекс программ технического обслуживания. Специальное программное обеспечение включает в себя пакеты прикладных программ, которые проблемно ориентированы на решение вполне определенного класса задач.
Как устроен процесс разработки? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains
Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ (2, 569). Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд, и предоставляют им возможность использовать специальные языки более высокого уровня. Для каждого из таких языков, называемых входными или исходными, система программирования имеет программу, осуществляющую автоматический перевод (трансляцию) текстов программы с входного языка на язык машины. Обычно система программирования содержит описания применяемых языков программирования, программы-трансляторы с этих языков, а также развитую библиотеку стандартных подпрограмм. Важно различать язык программирования и реализацию языка.
Язык программирования – это набор правил, определяющих систему записей, составляющих программу, синтаксис и семантику используемых грамматических конструкций. Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.
Среда программирования – это набор инструментов, которые используются для преобразования символов в выполнимые вычисления.
Среда программирования это совокупность программ, обеспечивающих технологический цикл разработки программ: анализ, спецификация,проектирование, кодирование (редактирование, компиляция, компоновка), тестирование, отладка.
1.2 Классификация систем программирования
По набору входных языков различают системы программирования одно- и многоязыковые. Отличительная черта многоязыковых систем состоит в том, что отдельные части программы можно составлять на разных языках и с помощью специальных обрабатывающих программ объединять их в готовую для исполнения на ЭВМ программу.
По структуре, уровню формализации входного языка и целевому назначению различают системы программирования машинно-ориентированные и машинно-независимые.
Машинно-ориентированные системы программирования имеют входной язык, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно-ориентированные системы позволяют использовать все возможности и особенности машинно-зависимых языков:
высокое качество создаваемых программ;
возможность использования конкретных аппаратных ресурсов;
предсказуемость объектного кода и заказов памяти;
для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;
низкая скорость программирования;
невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.
Машинно-независимые системы программирования – это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ.
В таких системах программы, составляемые языках, имеющих название высокоуровневых языков программирования, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка (задачи, сегменты, блоки и т.д.). Операторы языка описывают действия, которые должна выполнять система после трансляции программы на машинном языке. Таким образом, командные последовательности (процедуры, подпрограммы), часто используемые в машинных программах, представлены в высокоуровневых языках отдельными операторами. Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма.
1.3 Средства создания программ
В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты.
1.Текстовый редактор. Так как текст программы записывается с помощью ключевых слов, обычно происходящих от слов английского языка, и набора стандартных символов для записи всевозможных операций, то формировать этот текст можно в любом редакторе, получая в итоге текстовый файл с исходным текстом программы. Лучше использовать специализированные редакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для всех популярных языков и дополнительно могут автоматически проверять правильность синтаксиса программы непосредственно во время ее ввода.
2. Исходный текст с помощью программы-компилятора переводится в машинный код. Исходный текст программы состоит, как правило, из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем требуется объединить в одно целое. Кроме того, системы программирования, как правило, включают в себя библиотеки стандартных подпрограмм (имеют расширение .LIB). Стандартные подпрограммы имеют единую форму обращения, что создает возможности автоматического включения таких подпрограмм в вызывающую программу и настройки их параметров.
3. Объектный код модулей и подключенные к нему стандартные функции обрабатывает специальная программа – редактор связей. Данная программа объединяет объектные коды с учетом требований операционной системы и формирует на выходе работоспособное приложение – исполнимый код для конкретной платформы. Исполнимый код это законченная программа, которую можно запустить на любом компьютер, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .exe или .com.
4. В современных системах программирования имеется еще один компонент –отладчик, который позволяет анализировать работу программы во время ее исполнения. С его помощью можно последовательно выполнять отдельные операторы исходного текста последовательно, наблюдая при этом, как меняются значения различных переменных.
5. В последние несколько лет в программировании (особенно для операционной среды Windows) наметился так называемый визуальный подход. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, свойства и поведение которых настраиваются с помощью специальных редакторов. Таким образом, происходит переход от языков программирования системного уровня к языкам сценариев.
1.4. Основные компоненты среды программирования
Рассмотрев несколько интернет источников, я поняла, что на разных сайтах выделяют разное количество основных компонентов среды программирования, но все они не менее важны. Проанализировав, я выделил:
Редактор – это средство для создания и изменения исходных файлов, которые содержат написанную на языке программирования программу.
Он выполняется с помощью редактора программ, который напоминает нам обычный текстовый редактор, такой как блокнот, word и т.д. Программист набирает в этом редакторе свою программу на С++ и, если это необходимо, вносит в нее различные изменения или исправления. Одним словом, работает с кодом программы как с обычным текстом.
Транслятор (компилятор) – транслирует символы из исходного файла в объектный модуль, который содержит команды в машинном коде для конкретного компьютера.
На этом этапе компилятором проверяется текст программы на наличие синтаксических ошибок и затем, если все хорошо, текст программы с подстановками, сделанными на предыдущем этапе, преобразуется в машинный код (код на языке, уже непосредственно понятный компьютеру)
Интерпретатор– выполняет исходный код программы в отличие от компилятора, переводящего исходный файл в объектный.
Компоновщик (редактор связей) – собирает объектные файлы программы и формирует исполняемый файл (разрешая внешние ссылки между объектными файлами).
Программы на С++ обычно содержат ссылки на функции, определенные где-либо вне самой программы, например, в стандартных библиотеках или в личных библиотеках групп программистов, работающих над данным проектом. Объектный код, созданный компилятором, обычно содержит «дыры» из-за этих отсутствующих частей. Компоновщик связывает объектный код с кодами отсутствующих функций, чтобы создать исполняемый загрузочный модуль (без пропущенных частей). Получаем в итоге файл с расширением .exe (для Windows), либо .out (для Linux).
Отладчик– это средство, которое дает возможность программисту управлять выполнением программы на уровне отдельных операторов для диагностики ошибок. Позволяет выполнять пошаговую трассировку (пошаговое выполнение программы с остановками на каждой команде или строке), отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т.д.
2. Современные системы программирования. Microsoft Visual Basic
Microsoft Visual Basic — средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бейсик, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.
Visual Basic считается хорошим средством быстрой разработки прототипов программы, для разработки приложений баз данных и вообще для компонентного способа создания программ, работающих под управлением операционных систем семейства Microsoft Windows.
Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3 — VB3. Окончательное признание как полноценного средства программирования для Windows — при выходе версии 5 — VB5. Версию VB6, входящую в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом. После этого разработчики из Microsoft существенно изменили направление развития данной технологии.
Visual Basic .NET не позволяет программировать по-старому, ибо, по сути, является совершенно другим языком, таким же, как и любой другой язык программирования для платформы .NET. Индивидуальность языка, так же как и его преимущества (простота, скромность создания программ, лёгкость использования готовых компонент) при использовании в среде .NET не имеют такого значения, как раньше — всё сосредоточено на возможностях самой системы .NET, на её библиотеке классов. Поэтому сегодня нужно говорить о классическом Visual Basic, его диалектах Visual Basic for Applications (VBA) и Visual Basic Scripting Edition (VBScript) и о языке для платформы (4, 467) .NET — Visual Basic .NET. Основные разновидности Visual Basic:
1) Классический Visual Basic (версии 5-6).Этот язык очень сильно привязан к своей среде разработки и к операционной системе Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающая подсказка при наборе текста программы (Intellisense). Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе.
2) Visual Basic for Applications (VBA) Это средство программирования, практически ничем не отличающееся от классического Visual Basic, которое предназначено для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office. Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов.
3) Visual Basic Scripting Edition (VBScript).Скриптовый язык, являющийся несколько усечённой версией обычного Visual Basic. Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer.
Высокая скорость создания приложений с графическим интерфейсом для MS Windows.
Простой синтаксис, позволяющий очень быстро освоить язык.
Возможность как компиляции в машинный код, так и интерпретации во время отладки.
Поддержка операционных систем только семейства Windows и Mac OS X (Исключение — VB1 for DOS).
Отсутствие механизма наследования объектов. Существующие в языке наследование, позволяет наследовать только интерфейсы объектов, а не их самих. Таким образом, в унаследованном классе должны быть явно переписаны все функции базового класса. Также в унаследованном классе невозможно добавление каких-либо методов, присущих только данному классу, то есть если абстрактный базовый класс содержит только два метода, то и производный класс содержит только два метода, не более и не менее того.
Требует установленных DLL для работы программы
Сегодня имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы. Наиболее популярны следующие визуальные среды быстрого проектирования:
Из универсальных языков программирования сегодня наиболее популярны следующие:
Бейсик (Basic) – для освоения требует начальной подготовки (общеобразовательные школы)
Паскаль (Pascal) – требует специальной подготовки (школы с углубленным изучением предмета и общетехнические вузы)
Си++ (C++), Ява (Java) – требуют профессиональной подготовки (специализированные средние и высшие учебные заведения)
Именно эти системы и языки программирования в дальнейшем будут определять развитие информатики.
Источник: www.art-talant.org
Основные составляющие среды разработки программ
Среда разработки программного обеспечения (англ. IDE, Integrated development environment) — это система программных средств, используемая программистами для разработки программного обеспечения.
Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО.
Рассмотрим подробнее наиболее общие составляющие сред программирования.
Текстовый редактор или редактор исходного кода ориентирован на работу с последовательностью символов в текстовых файлах. Редакторы исходного кода имеют некоторые возможности, упрощающие и ускоряющие написание и изменение кода, такие как подсветка синтаксиса, автодополнение, проверка правильности расстановки скобок, контекстная помощь по коду и многие другие. Такие редакторы предоставляют удобный способ для запуска компилятора, интерпретатора, отладчика или других программ необходимых в процессе разработки программного обеспечения. Несмотря на то, что многие текстовые редакторы могут быть использованы для редактирования исходного кода, если они не имеют расширенных возможностей, автоматизирующих или упрощающих ввод и модификацию кода, то они не могут называться «редакторами исходного кода», а просто являются «текстовыми редакторами, которые также могут быть использованы для редактирования исходного кода».
Компилятор — программа или техническое средство, выполняющее компиляцию. Большинство компиляторов переводит программу с некоторого высокоуровневого языка программирования в машинный код, который может быть непосредственно выполнен центральным процессором. Как правило, этот код также ориентирован на исполнение в среде конкретной операционной системы, поскольку использует предоставляемые ею возможности (системные вызовы, библиотеки функций). Архитектура (набор программно- аппаратных средств), для которой производится компиляция, называется целевой машиной.
Интерпретатор — вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы или запроса (в отличие от компилятора, транслирующего всю программу без её выполнения).
Отладчик (debugger) является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе. Отладчик позволяет пошагово выполнять программу с остановками на каждой команде или строке (трассировку), отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т. д.
Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования — как например, Visual Basic.
Примеры сред разработки — NetBeans, Eclipse, Sun Studio, Turbo Pascal, Borland C++, GNU toolchain, DrPython, Borland Delphi, PascalABC.NET, Dev-C++, Lazarus, KDevelop, QDevelop, QNX Momentics IDE, XCode.
Рассмотрим основные из этих сред подробнее.
Borland Delphi — это интегрированная среда разработки ПО фирмы Borland. Delphi является средой RAD (от англ. rapid application development — быстрая разработка приложений). Поддерживаются следующие языки программирования: Delphi, Delphi .NET,C++ и C#. Среда разработана в соответствии с концепцией визуального программирования. Библиотека визуальных объектов «Borland» получила название Visual Component Library (VCL).
В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP, предназначенную для разработки веб-приложений на языке программирования PHP. Теперь Delphi ориентирована не только на Object Pascal.
Lazarus — Delphi — подобная среда разработки на языке ObjectPascal. Lazarus изначально создавался Delphi подобным, поэтому интерфейс полностью копирует интерфейс Delphi. Среда состоит из нескольких окон: основное окно с меню и палитрой компонентов, инспектор объектов, окно с выводом о результатах компиляции, редактор кода, редактор форм — полная аналогия Delphi.
Так же стоит отметить кроссплатформенность среды: на сайте разработчика можно загрузить установочные пакеты для windows и linux платформ. Одной из особенностью компилятора Free Pascal является возможность кросскомпилляции: работая в linux можно без труда собрать приложение для платформы windows. Lazarus спроектирован так, что бы не зависеть от конкретной библиотеки. При пересборке среды можно указать и выбрать используемую библиотеку, на данный момент доступен вариант GTK+, кроме того разработчиками идут работы по добавлению библиотеки QT.
C++ Builder — среда быстрой разработки (RAD), выпускаемая компанией CodeGear, дочерней фирмой компании Embarcadero (ранее Borland). Предназначена для написания программ на языке программирования C++. C++ Builder объединяет Библиотеку визуальных компонентов и среду программирования (IDE), написанную на Delphi с компилятором C++. Цикл разработки аналогичен Delphi, но с существенными улучшениями, добавленными в C++ Builder. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.
C++ Builder содержит инструменты, которые позволяют осуществлять настоящую визуальную разработку Windows- приложений методом drag-and-drop, упрощая программирование благодаря WYSIWYG редактору интерфейса, встроенному в его среду разработки.
Eclipse — свободный фреймворк для разработки модульных кроссплатформенных приложений (разрабатывается и поддерживается Eclipse Foundation). Изначально проект разрабатывался в IBM как корпоративный стандарт IDE для разработки на разных языках под платформы IBM. Потом проект был переименован в Eclipse и предоставлен для дальнейшего развития сообществу.
Eclipse — в первую очередь полноценная Java IDE, нацеленная на групповую разработку, снабжённая средствами для работы с системами контроля версий (поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN модулей, существует поддержка VSS и других). В силу бесплатности и высокого качества во многих организациях Eclipse — корпоративный стандарт для разработки приложений.
Второе назначение Eclipse — служить платформой для разработки новых расширений (чем и завоевал популярность — любой разработчик может расширить Eclipse своими модулями). Таковыми стали C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, COBOL, FORTRAN, PHP средства от различных разработчиков. Множество расширений дополняет Eclipse менеджерами для работы с базами данных, серверами приложений и др.
KDevelop — свободная среда разработки программного обеспечения для UNIX-подобных операционных систем. Проект стартовал в 1998 году. KDevelop распространяется согласно GNU General Public License.
KDevelop не включает в свой состав компилятор; вместо этого он использует GNU Compiler Collection (или любой другой компилятор) для создания исполняемого кода. Текущая версия поддерживает большое количество языков программирования, таких как Ада, Bash, Си, Cи++, Фортран, Java, Pascal, Perl, PHP, Python, Ruby и SQL.
Xcode от Apple — это набор утилит для написания приложений под Mac OS X. Xcode 3.0 распространяется бесплатно вместе с Mac OS X 10.5, хотя и не устанавливается по умолчанию. Основным приложением пакета является встроенная среда разработки, которая также называтся Xcode. Помимо этого, пакет Xcode включает в себя большую часть документации 5 разработчика от Apple и Interface Builder — приложение, использующееся для создания графических интерфейсов.
Пакет Xcode включает в себя измененную версию свободного набора компиляторов GNU Compiler Collection (GCC, apple-darwin9-gcc-4.0.1) и поддерживает языки C, C++, ObjectiveC, Objective-C++, Java, AppleScript, Python и Ruby с различными моделями программирования, включая (но не ограничиваясь) Cocoa, Carbon и Java. Сторонними разработчиками реализована поддержка GNU Pascal, Free Pascal, Ada, C#, Perl, Haskell и D.
Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы. Среда визуальной разработки — среда разработки программного обеспечения, в которой наиболее распространенные блоки программного кода представлены в виде графических объектов. Применяются в основном для создания прикладных программ и разработки графического интерфейса пользователя (GUI).
Среда визуальной разработки имеют свои достоинства и недостатки.
— стандартизация внешнего вида программ.
— как правило, привязка к конкретной среде разработки связанное с проблематичностью перехода на другую среду разработки;
— затруднённое использование нестандартных компонентов;
— наличие недокументированных особенностей компонент.
Следует учитывать, что некоторые визуальные среды разработки имеют собственный формат хранения проекта и при переходе на другую среду может возникнуть непереносимость свойств проекта и некоторых частей проекта, таких, как собственные библиотеки используемой среды разработки.
Так же следует учитывать некоторые изменения которые могут вносится в язык программирования, конкретный пример — 6 среда разработки Delphi (по сути это уже новый язык программирования). Среду разработки, как и язык программирования следует выбирать на этапе проектирования ПО. Правильно спроектированное ПО должно учитывать развитие и внедрение новых технологий, поэтому перенос разработки такого ПО в другую среду разработки не должен представлять трудностей.
Источник: studbooks.net
Популярные среды разработки
В последние годы повысился интерес к концепции того, где среда разработки программного обеспечения выступает как целостный, унифицированный каркас сервисов, поддерживающих большинство (или все) этапы создания и обслуживания программного обеспечения (ПО). Разработка ПО — это процесс, при котором автономное или отдельное ПО создается с использованием определенного языка программирования. Он включает в себя написание серии взаимосвязанного программного кода, который обеспечивает функциональность разработанного ПО.
Интегрированные среды созданы для работы с конкретными платформами приложений и устранения барьеров, связанных с жизненным циклом разработки ПО. Они используются в командах разработчиков для создания нового ПО и сервисов. Среды разработки программ предназначены для программирования кода и имеют встроенные функции, которые знают, как работает платформа и как использовать ее функции посредством автоматической компиляции кода, его отладки или интеллектуального завершения.
Концепция среды особенно полезна, когда одно и то же приложение развернуто в разных средах. Чтобы улучшить, исправить или изменить поведение приложения, разработчики вносят изменения в его код (или в его конфигурацию). Если название среды, где эти изменения были первоначально сделаны, является средой разработки, а та среда, где конечные пользователи фактически используют приложение называется производственной средой, то в типичной архитектуре создания ПО эти среды являются не только отдельными, но также могут форсировать несколько этапов между ними. Обновления программ по очереди развертываются в каждой среде, чтобы упростить управление поэтапным выпуском, где на каждом этапе ПО тестируется и откатывается на случай, если что-то пойдет не так.
Качественный продукт в категории среды для разработки ПО должен:
- Обеспечить возможности программирования через текстовый редактор.
- Создавать интеграцию хотя бы с одной платформой без отдельного плагина.
- Предоставить интерфейс прикладного программирования; обеспечить компиляцию, отладку, управление версиями, предложения кода для конкретной платформы.
- С развитием технологий и повышением ожиданий пользователей, функциональность среды, скорее всего, изменится. Коллекция программных инструментов для разработчиков значительно расширилась с 1990-х годов.
Следующие четыре категории представляют тенденции, которые оказывают значительное влияние на среды, т.е. на их пользовательские интерфейсы, инструменты и архитектуры:
- Ориентированные на язык среды. Эти типы сред разрабатываются вокруг одного языка, предлагая набор инструментов, подходящий для этого конкретного языка. Они очень интерактивны и предоставляют ограниченную поддержку для программирования в целом. Cedar для Mesa, Rational Environment для Ada, Interlisp для Lisp и Smalltalk для Smalltalk, — вот некоторые распространенные примеры сред, ориентированных на язык.
- Структурно-ориентированные среды. Эти типы сред включают методы, позволяющие пользователям напрямую манипулировать структурами. Эти методы не зависят от языка, что вызвало концепцию генераторов для сред.
- Среды инструментария. Эти типы сред предлагают набор инструментов, которые включают независимую от языка поддержку задач программирования, включая контроль версий и управление конфигурацией.
- Основанные на методах. Эти типы сред включают поддержку широкого спектра подпрограмм, участвующих в процессе разработки. Это включает в себя такие задачи, как управление командой и проектом. Они также имеют инструменты для определенных спецификаций и методов проектирования.
Обзор платформ, наиболее соответствующих требуемым характеристикам:
IntelliJ IDEA.
Это мощная и эргономичная среда для веб, корпоративной и мобильной разработки Java. Она обеспечивает высококлассную поддержку и повышает производительность разработок на Java, Scala и Groovy, со всеми новейшими технологиями и инфраструктурами.
Microsoft Xamarin. Эта среда использует Visual Studio Tools для создания мобильных приложений. Платформа предлагает массу функций, включая редактирование кода, рефакторинг, отладку, тестирование и публикацию в облаке.
Славится наиболее благоприятной платформой для разработки Java, но также довольно хорошо работает с C/C ++ IDE и PHP. Здесь можно объединить языковую поддержку и другие функции.
Это платформа для Python, разработанная JetBrains. PyCharm создан для профессиональных разработчиков Python и имеет множество функций для работы с большими базами кода: навигацию по коду, автоматический рефакторинг и другие инструменты повышения производительности в едином унифицированном интерфейсе.
Google Flutter.
Работает с существующим кодом, используется разработчиками и организациями по всему миру, является бесплатным и открытым исходным кодом. Некоторые из девелоперских компаний, в настоящее время использующих Flutter, включают Groupon, eBay, Alibaba Group и Capital One. Google использовал Flutter для работы с объявлениями Google и такими интеллектуальными дисплеями, как Google Home Hub. Эта платформа предоставляет пользователям все, что им нужно для создания кроссплатформенных приложений, таких как готовые виджеты, механизм рендеринга, API тестирования и интеграции.
Это среда с использованием JavaScript: на стороне клиента, на стороне сервера и для мобильных устройств. Дополнительные преимущества: экономия времени на автоматизацию рутинных задач, обнаружение и исправление ошибок, использование интеллектуального поддона.
IDE NetBeans.
Это более умный способ кодирования. Здесь можно быстро и легко разрабатывать на Java, PHP, C/C ++ и не только.
Представляет принципиально новый способ проектирования и создания ПО. Swift — это инновационный новый язык программирования для Cocoa Touch, который в сочетании с инструментами Xcode дает новый опыт программирования. Оперативный рендеринг в Interface Builder отображает рукописный код пользовательского интерфейса на холсте дизайна, мгновенно отражая вводимые в код изменения.
Syncfusion Essential Studio Enterprise Edition
представляет собой набор из более чем 1600 программных компонентов и сред для разработки. Его управление интерфейсом спроектировано так, чтобы быть гибким и оптимизированным для высокой производительности.
Современные кроссплатформенные инструменты разработки являются одной из многих тенденций развития, которые облегчают жизнь разработчикам и пользователям. Благодаря средам разработки, таким как Microsoft Xamarin или Google Flutter, разработчики могут создавать приложения, которые работают практически на всех основных настольных и мобильных платформах. И в отличие от кроссплатформенных инструментов разработки прошлого, эти новые технологии могут в полной мере использовать собственные API и пользовательские интерфейсы, создавая приложения, которые ведут себя естественным образом не жертвуя производительностью.
Источник: wadline.ru