Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Средства разработки программ).pdf
Добавлен: 25.04.2023
Просмотров: 190
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Классификация языков программирования
1.1 Понятие языка программирования
1.2 История возникновения языков программирования
1.3 Классификация современных используемых языков программирования
1.4 Применение языков программирования в различных сферах
1.5 По каким причинам языки оказываются полезными или бесполезными
Глава 2. Критерии выбора среды и языка разработки программ
2.1 Средства разработки программ. Понятие среды
2.5 Выбор интегрированной среды
2.5.1 Базовые интегрированные среды для разработки мобильных приложений
2.5.2 Базовые интегрированные среды для разработки десктопного программного обеспечения
XCode
Претенциозно названная производителем «светом во тьме», эта ИСР ориентирована на создание приложений для ОС X и iOS. Если портативные устройства на Android занимают ориентировочно половину рынка, то на различные мобильные устройства iOS приходится оставшаяся половина (за небольшими исключениями: не следует забывать о системах линейки WinPhone и мелких внутренних ОС). XCode считается наилучшим выбором среды для использования языков Objective C и совсем молодого Swift. Подчеркивается, что для некоторых задач XCode – это на сегодняшний день единственное решение. Однако есть претензии со стороны разработчиков: они указывают на стабильность среды, вынуждающую вносить дополнительные изменения в свои проекты после выхода очередной версии. К тому же XCode считается относительно сложной средой: как и Visual Studio, она требует от молодого программиста прохождение отдельных курсов и покупки специализированной литературы. [39]
Все вышеперечисленные среды были разработаны официальными представителями. Следует уделить внимание универсальным кроссплатформенным средам разработки.
Xamarin Studio
Xamarin Studio признается одним из наиболее популярных инструментов разработки приложений. Эта среда позволяет при использовании только языка C# разрабатывать приложения под операционные системы WindowsPhone, Android, Mac и iOS. Предусмотрен плагин для Visual Studio. Нельзя не упомянуть о недостатках: разработчики испытывают трудности с портированием на Xamarin уже готовых приложений (то есть утверждаемая кроссплатформенность становится сомнительной); также отмечаются хотя и мелкие, но систематически появляющиеся ошибки в самой среде и в выходном коде. [37]
IntelliJ IDEA
Эта среда была разработана компанией JetBrains. Производитель утверждает, что она позволяет создавать программы на множестве популярных языков (Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++ и прочие). Несмотря на кажущуюся универсальность, пользователи также имеют претензии к этому продукту, который не отличается высокой производительностью (учитывая его плавающую, но немалую цену, эта черта не радует покупателей). Время компиляции, перекомпиляции и тестирования затянуто по сравнению с другими интегрированными средами. [31]
Appcelerator Titanium
Это условно-бесплатная интегрированная среда, выпущенная компанией Axway для быстрого создания консольных и графических приложений. Утверждается, что в Appcelerator Titanium можно написать приложение для любого мобильного устройства. Однако широчайшие возможности этой ИСР, как отзываются пользователи, имеют и обратную сторону: среда искусственно ограничивает разработку и генерирует ошибки в коде. Также есть жалобы на низкое качество документации. [27]
Eclipse
Eclipse Foundation выпускал эту интегрированную среду разработки, ориентируя ее на работу с Java. Со временем Eclipse стала кроссплатформенной, позволяя разрабатывать программное обеспечение на множестве языков, и обзавелась огромным количеством внешних модулей, существенно расширяющих её функциональность. Но с тех пор как фирма IBM «выпустила» среду «на волю» (изначально эта ИСР разрабатывалась как замена IBM VisualAge; потом IBM сделала исходный код открытым и передала развитие ИСР внешнему сообществу), не изменились два существенных минуса данной среды: отсутствие единого сообщества разработчиков и ощутимая нехватка документации. [30]
Netbeans
Считается мощнейшей интегрированной средой разработки и позволяет писать приложения на Java, JavaScript, Python, PHP, C, C++ и даже на Ada. При спонсировании проекта компанией Oracle и фондом Apache разработка ведется энтузиастами, которые выбрали в качестве основной концепции подход «все сразу». Эта же концепция обусловила главный минус Netbeans: ее невысокое быстродействие. Пользователи также упоминают, что некоторые плагины (в особенности для разработки приложений для Android) имеют существенные ограничения функциональности. [33]
PhoneGap
Работающий на лицензии Apache продукт корпорации Adobe является не самой обычной средой разработки кроссплатформенных приложений: эта ИСР отличается от прочих, не требуя знания языков, которые в сообществе программистов считаются «родными». То есть, если разработчик намеревается создать приложение для Android, ему не нужно знание языка Java. Используется JavaScript в связке с HTML5 и CSS3. Сама идея нецелевой среды разработки порождает очевидный минус этой оболочки: ее функциональность признается существенно ограниченной. [34]
2.5.2 Базовые интегрированные среды для разработки десктопного программного обеспечения
Согласно данным отчета аналитической компании Gartner, количество используемых в мире персональных компьютеров превысило отметку в 1 млрд штук еще в 2008 году. [21] Более актуальная информация не может не привлекать внимание – так, уважаемый отраслевой источник T_ADVISER приводит следующие данные: «В январе 2018 года аналитическая компания Gartner подвела итоги ушедшего года на мировом рынке персональных компьютеров. Согласно предварительной оценке специалистов, производители выпустили в 2017-м свыше 262,5 млн устройств, включая настольные ПК, ноутбуки, ультрапортативные ПК премиум-класса и гибридные устройства на базе Windows». [22] Все эти устройства применяются повсеместно: в рабочих, учебных, развлекательных целях. Пользователь или работодатель пользователя сам выбирает необходимый пакет программ, требуемый для вышеуказанных целей. Сложно на первый взгляд оценить количество программ, помогающих пользователям решать каждодневные задачи: будь то программа для построения мышиных моделей (применяемая в фармакологической отрасли), программа для создания и редакции научных текстов или помогающая расслабиться после рабочего дня игра в жанре «шутер», пользователь в большинстве случаев будет иметь выбор из нескольких приложений, а не один-единственный вариант.
Количество интегрированных сред разработки хотя и проще подсчитать, но их разнообразие все равно может озадачить начинающего (да и опытного) специалиста. Отталкиваться от языка программирования также трудоемко: на данный момент их существует более 500. Чтобы упростить выбор молодым программистам или тем, кто хочет ими стать, отраслевые издания создают списки наиболее популярных и востребованных языков. Так, каждую весну выходит сводный рейтинг популярности языков программирования от шведско-германского разработчика Стефана Нильсена. Он собирает статистику на основе изучения вакансий на сайтах-агрегаторах уже 18 лет. И большинство западных программистов ориентируются на результаты его исследований. [23]
Так, Нильсен приводит количество запросов в тысячах по тому или иному языку в разные периоды времени (перевод интернет-издания tproger.ru):
Или более показательная сводка на март 2018 г.:
К сожалению, даже если сократить выбор языков до самых распространенных, то количество интегрированных сред разработки при этом не сокращается (хотя из списка уходят малораспространенные языки, на которых пишут преимущественно любители истории).
Для облегчения работы отрасль позволяет в режиме онлайн найти рейтинг популярных интегрированных сред разработки на текущий год. Если разбирать вопрос со средами для разработки десктопных программ при помощи наиболее известных ИСР, то есть возможность сократить выбор, что, несомненно, очень поможет начинающему специалисту.
Microsoft Visual Studio
Уже упоминавшаяся среда Visual Studio позволяет создавать программы, ориентированные преимущественно под Windows. Она применяется для создания консольных приложений или приложений, обладающих графическим интерфейсом. Для Visual Studio разработано изрядное количество сторонних плагинов: их добавление позволяет заметно расширить функциональность среды (вплоть до кроссплатформенного состояния). Минусы уже перечислялись: для запуска среды требуются значительные ресурсы. К тому же ее цена варьируется от 699 до 2900 долларов США. Зато она позволяет создавать буквально все: от мобильного приложения-калькулятора до видеоигр. [38]
Netbeans
Это название также уже знакомо. Netbeans позволяет редактировать существующие десктопные проекты или создавать новые, обладает интуитивно понятным интерфейсом и преимущественно использует Java, хотя и дает возможность установки пакетов с поддержками других языков. [33]
PyCharm
Не очень дорогая ИСР от той же компании, которая подарила миру рассмотренную выше среду IntelliJ IDEA (которая, кстати, годится и для корпоративных решений, а не только для мобильных приложений). По названию пользователь может без труда догадаться, что «родным» языком этой оболочки может считаться Python. Среда позволяет писать программы на Windows, Linux и Mac OS, поддерживая языки Coffee Script, CSS, Cython, HTML, JavaScript, Node.js, TypeScript и, разумеется, Python. Пользователи отзываются об этой среде как о лучшей для программистов Python, хотя и не без минусов: она содержит некоторые ошибки вроде неработающего автозаполнения. [35]
Eclipse
Еще одно уже знакомое название: среда позволяет писать программы и графические интерфейсы на C, C++, Java, Perl, PHP, Python, Ruby и других языках. К тому же открытый исходный код этой интегрированной оболочки хотя и пугает молодых программистов, но дает обширные возможности по усовершенствованию и персонализации среды. [30]
Code::Blocks
Очень известная ИСР, отличающаяся простым интерфейсом, совместимая с Linux, Mac и Windows. Новички очень любят эту среду разработки в силу простоты ее освоения и пригодности для совместной работы. Однако она написана на C++, что не может не сказаться на ее ограниченном функционале: эта среда считается «компактной» и потому совершенно не подходит для крупных проектов. [29]
Aptana Studio 3
Aptana считается наиболее мощной интегрированной средой разработки с открытым исходным кодом, а третья версия еще и улучшена по сравнению с предыдущими. Используется преимущественно для разработки веб-приложений, поддерживает HTML5, CSS3, JavaScript, Ruby, Rails, PHP и Python. Однако мощность подразумевает некоторую медлительность работы, и многие профессиональные программисты не очень любят Aptana Studio, предпочитая ей более быстрые и мощные HTML-среды. [28]
XCode
Уже рассмотренная среда пригодна не только для разработки приложений под iPhone, но также и является отличным набором инструментов для создания любых приложений под iPad и Mac. Такая среда имеет свои ограничения: она не работает без компьютера производства Apple, а для загрузки любого приложения в Apple Store необходимо иметь дорогостоящую лицензию разработчика. [39]
RubyMine
Еще один продукт от хорошо знакомой компании Jetbrains. Это кроссплатформенная интегрированная среда разработки, позволяющая пользователю писать на CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby и Rails, Ruby и SASS. Она даже поддерживает разработку под iOS. Однако такая мультифункциональность требует определенной мощности: компьютер для работы должен иметь как минимум 4 ГБ оперативной памяти, что весьма существенно. [36]
Komodo
Производитель заявляет эту ИСР как «Одна среда для всех ваших языков», а пользователи хвалят удобный интерфейс для расширенного редактирования и множество мелких функций, повышающих удобство среды. Бесплатная ознакомительная версия, разумеется, имеет уменьшенный диапазон функций, однако владельцы полной версии утверждают, что эта ИСР абсолютно безгрешна. Вероятно, именно это общественное мнение сделало Komodo одной из популярнейших интегрированных сред для веб-разработки. Также Komodo позволяет писать мобильные приложения. [32]
Обилие интегрированных сред может поставить в тупик любого начинающего программиста, однако выбор не составит труда для человека, владеющего профессиональным опытом в сфере разработки.
Что касается начинающих специалистов, то следует руководствоваться несколькими принципами:
- Любая среда разработки поддерживает определенные языки программирования.
- Любая среда разработки обязательно поддерживает работу под определенные операционные системы.
- Любая среда разработки требует вложений – или инвестиций в обучение (финансовых и временных), или инвестиций в приобретение (от минимальных до достаточно весомых).
- Сообщества программистов постоянно публикуют подробные сводные таблицы, дающие представление о средах для определенных языков программирования, а также обсуждают плюсы и минусы конкретных сред. Эта информация свободна для распространения и пригодна для использования любым специалистом любого уровня.
При использовании всех вышеперечисленных принципов выбор интегрированной среды разработки займет некоторое время, однако не будет сложным даже для новичков.
Заключение
Хотя программирование и не является профессией, которая развивалась в течение веков, именно оно помогает форсировать развитие цифрового общества и служить целям всеобщей цифровизации.
Поскольку цифровизация ускоряет техническое развитие общества, она ставит новые задачи, которые предстоит решать при использовании аппаратного и программного обеспечения. Поскольку не всегда новые аппаратные или программные задачи могут быть решены старыми программными средствами, для решения таких задач требуется изобретать новые программные средства. Программирование как отрасль попадает в замкнутый круг: когда поставленная задача решена, на ее месте появляются новые задачи, требующие решения. Поэтому развитие средств программирования (языков и сред разработки) – неизбежный процесс.