Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ. ( КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ).pdf
Добавлен: 31.03.2023
Просмотров: 538
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА 1. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1 Низкоуровневые и высокоуровневые языки программирования
1.2. Языки программирования, основанные на принципе их парадигме
ГЛАВА 2. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА РАЗРАБОТКИ ПРОГРАММ
2.1. Критерии выбора языка программирования
2.2. Сравнение популярных языков программирования
Кроме того, Java — великолепный язык, чтобы полноценно понять программирование: здесь реализованы все принципы ООП, организована работа с памятью и периферией, можно поупражняться с функциональным программированием. Первая версия языка вышла в мае 1995 года. Java используется в Amazon, eBay, LinkedIn и Yahoo!
Простота:
Как было сказано ранее, у Java и C# очень похожий синтаксис — выучил один, почти знаешь другой. Но как и в первом случае, синтаксис сложнее, чем у Ruby и Python.
Популярность:
В мире 3 миллиарда смартфонов на Android — это значит, что Java ещё долго будет востребован. Первый по популярности по версии TIOBE Software.
Универсальность:
Чаще всего используется для enterprise-разработки и Android – приложений [2], [7], [14].
Итак, кратко сделали обзоров самых популярных и востребованных языков по принципу: простота, популярность, универсальность. Разумеется, выбор языка программирования остается за программистом, так как каждый выберет язык, который ему больше нравится или более понятен. Если главная цель программиста - найти высокооплачиваемую работу, то нужно смотреть на соответствующие метрики, которые были представлены ранее и выбирать правильный подход к изучению тех языков программирования, которые актуальны в конкретной области, как бы вам не хотелось использовать понятный и привычный для вас язык у каждой компании свое видение ведения работы.
2.3. Критерии выбора среды разработки и их недостатки
Среда разработки программного обеспечения (ПО) — совокупность программных средств, используемая программистами для разработки программного обеспечения. Простая среда разработки включает в себя редактор текста, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Когда эти компоненты собраны в единый программный комплекс, говорят об интегрированной среде разработки (Integrated development environment- IDE). Такая среда представлена одной программой, не выходя из которой можно производить весь цикл разработки.
В состав комплекса кроме перечисленных выше компонент могут входить средства управления проектами, система управления версиями, разнообразные инструменты для упрощения разработки интерфейса пользователя, стандартные заготовки («мастера»), упрощающие разработку стандартных задач, и др.
Современные среды разработки, поддерживающие объектно-ориентированную разработку ПО, также включают браузер классов, инспектор объектов и диаграмму иерархии классов. Хотя существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования.
Если IDE включает в себя возможность визуального редактирования интерфейса программы, она называется средой визуальной разработки.
IDE (или интегрированная среда разработки) — это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, специально предназначенных для разработки. Эти инструменты обычно включают редактор, предназначенный для работы с кодом. Приведем пример:
- подсветка синтаксиса и автодополнение;
- инструменты сборки, выполнения и отладки;
- определённую форму системы управления версиями [2], [8], [15].
Большинство IDE поддерживают множество языков программирования и имеют много функций, из-за чего могут быть большими, занимать много времени для загрузки и установки и требуют глубоких знаний для правильного использования.
С другой стороны, есть редакторы кода, которые представляют собой текстовый редактор с подсветкой синтаксиса и возможностями форматирования кода. Большинство хороших редакторов кода могут выполнять код и использовать отладчик, а лучшие даже могут взаимодействовать с системами управления версиями. По сравнению с IDE, хороший редактор кода, как правило, легковесней и быстрее, но зачастую ценой меньшей функциональности [15].
Требования для хорошей среды разработки
Рассмотрим, что нам нужно от среды разработки. Набор функций разных сред может отличаться, но есть набор базовых вещей, упрощающих программирование:
- Сохранение файлов. Если IDE или редактор не дают вам возможности сохранить работу и позже всё открыть в том же состоянии, в котором оно было во время закрытия, то не такая уж это и IDE;
- Запуск кода из среды. То же самое, если вам нужно выйти из среды для запуска кода, то это не более, чем простой текстовый редактор;
- поддержка отладки. Возможность пошагово выполнить код является базовой функцией всех IDE и большинства хороших редакторов кода;
- подсветка синтаксиса. Возможность быстро найти ключевые слова, переменные и прочее делает чтение и понимание кода на порядок проще;
- автоматическое форматирование кода. Любой редактор или IDE, который действительно таковым является, распознает двоеточие после while или for выражения и автоматически сделает отступ на следующей строке.
Разумеется, есть множество других функций, от которых вы бы не отказались, но приведённые выше — основные функции, которыми должна обладать хорошая среда разработки [3].
Модель среды разработки (схема функционирования) определяет технологические процессы, совершаемые программистом, включает в себя наборы объектов и цепочки технологических операций. Модель существенно зависит от архитектуры, сложности и масштаба целевого объекта (программного средства), который должен быть получен в итоге. Для каждой категории объекта требуется своя модель, свой набор инструментальных средств [10]. Категории программных средств: простая программа, сложная многокомпонентная программа, программа, работающая с базами данных, распределенная программная система, программа как сервис и др.
Все перечисленные понятия входят в технологию программирования, определяя ее инструментальное обеспечение.
Модель среды можно изобразить в виде диаграммы, на которой отражены основные процессы, объекты, с которыми они работают, а также условия и параметры, влияющие на формирование объектов.
История развития операционных сред непосредственно связана с историей развития вычислительной техники и базового программного обеспечение – операционных систем. Вся история вычислительной насчитывает немногим более 60 лет. 4 декабря 2008 годы было отмечено 60 лет отечественной информатики. Что касается истории программных технологий, то ей всего 25 лет. Именно 1984 года был взят за точку отчета в статье Кристфера Эберта [1]. Сам термин «программная инженерия» стал широко использоваться 20 лет назад.
Кардинальные изменения в сфере технологий были связаны с использованием алфавитно-цифровых, а затем и графических дисплеев, разработкой операционной IBM OS/360, изобретением микропроцессоров, появлению персональных ЭВМ, распространением Интернета.
Изменялся способ общения программиста с ЭВМ. Первые компьютеры вообще не имели базового программного обеспечения. Программа могла вводиться вручную с пульта, а впоследствии с помощью перфолент и перфокарт. Первые терминалы с электронно-лучевыми трубками (дисплеями) были предназначены не для программистов, а для операторов ЭВМ. Программисты работали с ЭВМ опосредовано, сдавая на вычислительный центр колоды перфокарт. Их основным языком описания технологических процессов был язык управления заданиями (в ОС EC – это JCL, Job Control Language) [7].
Оператор ЭВМ – это была отдельная специальность, которая в настоящее время практически не встречается. Оператор выполнял функции управления многозадачной операционной системой, мог влиять на ход выполнения задач, их запуск и завершение, отвечать на запросы, подготавливать устройства ввода-вывода. Понятие операционной среды возникло именно в то время. Под операционной средой понималась совокупность компьютерных программ, обеспечивающая оператору возможность управлять вычислительными процессами и файлами.
Начало 70-х годов – время массового перехода на языки программирования, появление операционных систем первого поколения. По мере возрастания мощности ЭВМ стал возможным коллективный доступ к ее ресурсам, и дисплей стал инструментом программиста [1].
Несмотря на развитие способов общения с ЭВМ для программиста неизменным оставался основной цикл разработки и отладки программ: редактирование программы – компиляция – сборка – выполнение программы – анализ ошибок – редактирование. Этот цикл всегда надо иметь в виду при оценке эффективности операционной среды.
Стоит отметить, что существуют проблемы выбора подходящей среды.
Обычно выбирают ту модель и те языки программирования, которые хорошо знают члены коллектива разработчиков. Выбирать новую технологию, которую предстоит осваивать в процессе разработки – риск провалить проект.
У каждого программиста есть свой взгляд на модель разработки, определяющийся его прошлым опытом, степенью освоения тех или иных инструментальных средств.
Любая среда позволяет производить настройку и адаптацию под те или иные требования: изменение интерфейса, режимов работы, назначения горячих клавиш, установка дополнительных средств («плагинов») и т.п. В арсенале каждого опытного программиста есть свои приемы разработки, собственные вспомогательные средства. Он имеет собственные вкусы и предпочтения. Используя настройки, программист может сделать работу в среде более удобной для себя и, тем самым, более эффективной. Он как бы проецирует свою модель разработки на модель среды. Это особенно важно, когда среди инструментов есть программы с отличающимся интерфейсом (например, разное назначение горячих клавиш) [3].
Программисты практически никогда не используют инструментальное средство на все 100%. Создатели инструментальных средств закладывают, как правило, избыточный набор возможностей. Для начинающих программистов это может составить проблему. Поэтому при обучении желательно использовать простые среды или так их настраивать, чтобы оставалось минимальное необходимое количество режимов и настроек. По мере освоение функциональность может расширяться
Важнейшим элементом в процессе разработки приложения является выбор правильной IDE, зависящий не только от платформы, но и уровня собственной подготовки. Давайте познакомимся с наиболее популярными из них методом «от противного», представляя не столько их преимущества, сколько наиболее часто встречаемые укоры со стороны разработчиков.
Начнём с официальных представителей лидеров мобильного рынка: Windows, Google и Apple.
Visual Studio 2015
Описание: один из старейших программных продуктов для создания как консольных приложений, так и обладающие графическим интерфейсом. Добавление сторонних плагинов позволяет серьёзно расширить функциональность среды, в том числе до кроссплатформенного состояния.
Недостатки: новичку будет просто невозможно самостоятельно разобраться с Visual Studio без прохождения специальных курсов и чтения литературы. Это продукт скорее для опытных разработчиков, обращающих внимание на качество редактора и функции тестирования.
Android Studio
Описание: относительно молодая и стремительно развивающаяся IDE, ориентированная на разработчиков приложений для Android.
Недостатки: скупые возможности персонализации проявляются в редакторе кода и общих настройках. Мелочь, а неприятно.
XCode
Описание: IDE, ориентированная на создание приложений для OS X и iOS. Для использования языков Objective C и Swift на сегодня это лучшее, а для некоторых задач и вовсе единственное решение.
Недостатки: многие разработчики жалуются на стабильность среды, вынуждающую вносить дополнительные изменения в свои проекты после выхода очередной версии. Кроме того, XCode относительно сложная IDE для самопознания новичком. Именно поэтому рекомендуем вам пройти наш бесплатный интенсив по основам языка Swift. На нем мы рассмотрим тонкости работы с этой IDE.
От официальных представителей перейдём к универсальным кроссплатформенным средам разработки:
Xamarin Studio
Описание: популярный инструмент разработки приложений под Windows, Phone, Android и iOS, использующий по сути только один язык — C#. Помимо непосредственно Xamarin Studio вы также можете пользоваться плагином для Visual Studio.
Недостатки: незначительные, но тем не менее регулярные ошибки, как непосредственно в самой IDE, так и в выходном коде. Также, несмотря на репутацию кроссплатформенной среды, портировать уже готовые приложения на Xamarin достаточно затруднительно.
IntelliJ IDEA
Описание: IDE, разработанная компанией JetBrains, позволяющая создавать программы на множестве популярных языков, среди которых Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++.
Недостатки: производительность. Томительное ожидание выполнения компиляции, перекомпиляции, тестирования порой действительно раздражает.
Appcelerator Titanium
Описание: платформа для быстрого создания консольных и графических приложений для всех подручных устройств.
Недостатки: возможности, предоставляемые Appcelerator Titanium имеют и обратную сторону: генерируемые ошибки в коде, искусственные ограничения, недостаточно качественная документация.
Eclipse
Описание: среда разработки, изначально ориентированная на работу с Java, прославилась большим количеством внешних модулей, существенно расширяющих её функциональность (в том числе, это касается количества поддерживаемых языков).
Недостатки: существенная нехватка документации, нет единого сообщества разработчиков.
Netbeans
Описание: мощная IDE для разработки приложений на Java, JavaScript, Python, PHP, C, C++ и даже Ада.
Недостатки: невысокое быстродействие из-за концепции «всё в одном». Некоторые плагины (в том числе для разработки приложений для Android) имеют существенные ограничения функциональности.