Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Классификация языков программирования).pdf
Добавлен: 30.03.2023
Просмотров: 334
Скачиваний: 2
Java помогает решать задачи разработчикам серверных, клиентских и встраиваемых систем. Java используется в веб приложениях, научных проектах, правительственных сайтах, настольных, сетевых, мобильных и корпоративных приложений. Является первым языком для разработки программ на Android.
Java язык активно продвигается компанией Oracle[73]. Java программы можно разделить по сфере применения: Java SE(стандартная версия); Java EE( для бизнес приложений, от SE для веб программирования); Java ME(для мобильных устройств, от SE более короткая).
Примеры программ и сервисов с использования языка программирования Java: Ebay, Amazon, Yahoo, Юлмарт, Однокласники. Java FX - платформа, которая чаще всего используются для программ, работающих с анимацией и мультимедиа, например, при создании игр. JSP - позволяет создавать веб-странички одновременно со статичными элементами (HTML, SVG) и динамичными. Spring - один из самых известных фреймворков для Java. Используется для создания сложных корпоративных приложений и сильно упрощает для программиста работу c JavaEE. Среда разработки для ЯП Java – Java Development Kit (JDK).
Java, это язык высокого уровня; компилированный; объектно-ориентированный язык; платформо-независимый[74]. Высокие языки программирования проще для изучения программистов, например, чем языки низкого программирования Assembler или Си и С++, но менее мощные[75]. Как у любого языка высокого уровня у Java снижена производительность за счет компиляции. А также приложение по очистки памяти снижает производительность.
Впоследствии, многие методы из Java были успешно переняты другими языками, такими как С#, Ruby, Python и прочими.
Минусы: - низкая производительность, как у высокого языка; - высокое потребление памяти.
Плюсы: - простота изучения; - автоматизированное управление памятью; -простые средства создания сетевых приложений; - не зависит от компьютерной архитектуры.
Java язык сегодня является лидером у программистов для разработки современных веб-приложений. Если вы собрались создать масштабируемое мобильное приложение для Android и iOS, будь то смартфон или планшет, то нет ничего лучше, чем Java. Язык программирования Java упрощенный с С++[76].
Предпочтительно выбрать Java если вы разрабатываете: - Android приложение; -Коммерческое программное обеспечение; -ПО для научных вычислений; -ПО для анализа Big Data; -ПО общего назначения или инструменты безопасности; -Серверные программы.
JavaScript
Стоит отметить, что, несмотря на схожесть в названии, JavaScript и Java – это два совершенно разных языка[77]. Главная особенность Java, написать код один раз и использовать его под разные платформы, цель JavaScript языка получение динамичного языка. Он был создан для использования внутри HTML (язык гипертекстовой разметки)[78]. В отличие от Java который компилируется, что снижает производительность, JavaScript полностью интерпретируется «на лету» с помощью движка под браузер который сделал запрос. Выполнения параллельного выполнения последовательности инструкция в JavaScript медленнее чем у Java. В JavaScript отсутствуют классы[79], есть только объекты, наследование может происходить от других объектов напрямую, в противоположность предшественнику. Как скриптовый язык, он ориентирован на повышение гибкости, скорости разработки, локализацию и динамическую (в период выполнения) проверку[80].
Данный язык подойдет тем, кто ориентирован на создание браузеров и скриптов, приложений и дополнений к ним. Если вы планируете создавать собственные сайты, вам также необходимо познакомиться с ним поближе[81]. Сравнительно молодой язык программирования, появился в 1995 году. Данный, объектно-ориентированный, язык понадобиться разработчику для создания вебстраниц, он работает в основных браузерах (Internet Explorer,Google Chrome, Firefox, Opera) как язык сценариев для создания интерактивности сайта[82]. Различные механизмы компоновки могут отображать JavaScript по-разному, что приводит к несогласованности с точки зрения функциональности и интерфейса. Большая часть JavaScript зависит от манипуляции элементами DOM браузеров. И разные браузеры предоставляют разные типы доступа к объектам, в частности Internet Explorer.
Самым большим преимуществом языка является то, что он легкоизучаемый. У него есть специфическое отличие от остальных языков, им не владеет ни одна компания. Для веб-программирования помимо JavaScript языка, потребуется изучение таких зыков как, HTML (язык гипертекстовой разметки; логическая структура веб-страницы) и CSS (формальный язык; описание внешнего вида веб-страницы).
Плюсы: - простота в создании и реализации; - интерпретируется, что освобождает нагрузку на сервер.
Минусы: - может использовать систему пользователя и запустить вредоносный код (например, вирус, шпион и прочее); - могут быть нарушения в отображении интерфейса.
Предпочтительно использовать JavaScript в таких сферах: -Динамические одностраничные приложения (SPA); -Форт-энд приложения (Query, AngularJS, Backbone.js, Ember.js, ReactJS); -Серверные приложения (Node.js, MongoDB, Express.js и так далее); -Мобильные приложения (PhoneGap, Ract Native и т д)[83].
Python
Python – высокоуровневый язык программирования, основная задача которого повысить производительность разработчика, сделать код более простым для человека. Разработка языка началась в 90-е годы и происходит по сей день[84].
Python является приемником Java, С, Lisp, C++ языков программирования. Использует функциональные и объектно-ориентированные принципы программирования[85]. Программы на языке Python предназначены справляться с такими задачами как разработка различных проектов и приложений, анализ и проверка данных, статистика, для обработки больших массивов данных.
Сам по себе язык программирования Python обладает низкой скоростью выполнения задач, если сравнить с Java и C++, но при переводе в байт-код (код С) и использованием виртуальных машин эта проблема решаема.
Язык Python: высокоуровневый, использует структурное, функциональное, императивное и объектно-ориентированное программирование. Использует большие стандартные библиотеки функций[86]. В коде языка нет фигурных скобок, вместо них используется пробелы или табуляция.
Python универсален для многих задач:
- для программирования микроконтроллеров - Micro Python (одноименная плата и язык на котором работает).
-для веб-программирования + фреймворки (готовые конструкции/библиотеки) Django[87], Flask и Tornado;
- для тестирования сайтов автоматическом режиме с помощью Selenium;
- для программирования игр есть Pygame[88] (набор библиотек для игр и приложений) и Kivy(библиотека с открытым кодом для быстрой разработки межплатформенных пользовательских интерфейсов, Linux, Windows, OS X, Android и iOS);
- для работы с 3D моделированием – PyOpenGL (платформо-независимый интерфейс для написания дву- и трехмерной графики);
- для разработки межплатформенных приложений для компьютера - фреймворк PyQt (расширение графического интерфейса; Linux, UNIX, Mac, Windows);
-для обработки изображений разработан Python OpenCV (библиотека алгоритмов компьютерного зрения и обработки изображений с открытым исходным кодом);
-для трейдинга (автоматизации сбора данных на рынке ценных бумаг)
Python используют при написании плагинов к таким известным программам как Blender (ПО для создания трёхмерной графики), Autodesk Maya (редактор трехмерной графики; Windows, Mac, Linux).
Благодаря удобству использования Python язык используется учеными разных отраслей с получением инженерных расчетов, удобных графиков. (Библиотеки NumPy, SciPy, MatPlotLib), а так же для генерации больших списков[89]. Биоинформатиками используется вебсайт со свободным доступом где способ с анализа от Python, помогает обрабатывать данные в области молекулярной биологии.
Модно использовать на Python машинное обучение и нейросети (например, самостоятельное опознавание спама в эл. почте на основании основных слов, используемых в подобных сообщениях).
Существует мнение что Python это аналог С#, но для Linux. Данное мнение возможно при изначальной разработке и было верно, но теперь не является проблемой, перенос с системы Lunix в Windows заключается просто в копировании файлов с одной машины в другую[90]. Для разработки ПО в Windows, дополнительно используется система управления пакетами Pip, для упрощения установки и управлением программными пакетами, иногда идет в комплекте с интерпретатором или со средой разработки. Веб-фреймворк (готовая конструкция) Django (основной принцип отсутствие повторений в коде), на языке Python, используется на известных сайтах YouTube, Google, Mozila[91], Instagram.
Плюсы: - универсальность и разнообразие выполнения задач; -простота изучения; - доступен для большинства популярных платформ. Минусы: - все еще в процессе разработки; - низкая скорость выполнения; - занимает много места; - сложно заставить взаимодействовать с русскими символами.
Objective –C, Swift.
Objective–C - компилируемый язык объектно-ориентированного программирования, основанный на таких языках как Си и парадигм Smalltalk[92], используемый компанией APPLE для своих продуктов. В 2104 году APPLE показала свой новый язык программирования Swift, несмотря на это, все приложения для iOS/Mac до 2014 года написаны на языке Objective–C. При условии разработки или работы с продуктами Apple или приложениями AppStore потребуется знание Objective–C и Swift[93]. При изучении Objective–C языка программирования, поможет знания языков группы Си. Apple допустила совместимость Objective-C внутри проектов, написанных на Swift, что позволит применять отдельные ключевые моменты в новом языке программирования[94].
Минусы Objective-C: -сложный язык к прочтению; -низкая производительность, у Swift выше; - ограничен и создан iOS/Mac.
Плюсы Objective-C: - легко к изучению после группы языков Си; - широкая доступность библиотек с файлами, анимацией, аудио, графикой, фреймворков, игровые движки.
Swift –высокоуровневый язык, наследник идей Objective-C, Rust, Haskell, Ruby, Python, C# и CLU. Swift язык программирования, который прост в изучении, в процессе компиляции предотвращает массу ошибок, чем его предок, этим ускоряет процесс разработки ПО. Основанная задача Swift максимальная простота для разработчиков, язык постоянно обновляется и улучшается. За пять лет с выхода нового языка появилось достаточное количество библиотек и расширений.
Плюсы Swift: - прост к изучению; - совместим с Objective-C; - в Playground есть возможность сразу проверить часть кода на ошибки; - производительность выше, чем Objective-C; - повышена читабельность языка и снижено общее количество кода; -Apple всячески развивает язык и предлагает курсы по изучению.
Минусы Swift: - ограниченность продуктами Apple; - большое количество проектов написаны на Objective-C и переписывать их никто не собирается из-за энергозатратности, это тормозит популяризацию языка.
SQL
Для выборки записей согласно условий, по определённым признакам из больших массивов данных (в основном таблицы), был разработан язык структурированных запросов –SQL[95]. Язык управления данными[96], SQL используется для написания СУБД (система программ для управления базами данных).
Практически в каждой СУБД имеется свой универсальный язык, ориентированный на ее особенности. Сегодня в мире ведущие производители СУБД: Microsoft (SQL Server[97]), IBM (DB2), Oracle, Software AG (Adabas), Informix и Sybase. Их продукты предназначены для совместной параллельной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких серверах. Несмотря на разделение по профилям ведущими производителями, язык SQL стандартизирован международными организациями, что позволяет переносить базу данных с одной СУБД на другую без больших доработок. SQL, структурированный язык программирования с функциональным назначением, позволяет структурировать и записывать данные на диск, а так же считывать данные с диска, использует иерархические структуры. Характерные задачи, которые выполняет язык: создание, изменение, удаление записей и таблиц; поиск, отбор, сортировка среди баз данных[98].