Обзор и сравнение популярных языков программирования |
Автор: Маслова А.С., Некифоров В.А. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
19.05.2020 11:37 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ОБЗОР И СРАВНЕНИЕ ПОПУЛЯРНЫХ
ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Маслова Анастасия Сергеевна, студент 2 курса
магистратуры ФГБОУ ВО «НИУ
«МЭИ» в г. Смоленске, Россия Некифоров Владимир Анатольевич, науч. рук.,
канд. тех. наук, доц. ФГБОУ ВО «НИУ «МЭИ» в г. Смоленске,
Россия Технологии HTML и CSS хоть и не являются полноценными языками
программирования, но их популярность и применимость в настоящее время не
ставится под сомнение. Данные технологии предназначены для создания простых не
интерактивных web-страниц [2]. Изучение технологий HTML и CSS можно
использовать как начальный этап для ознакомления с программированием в целом. Простота и структурированность данных технологий является
главным плюсом при их выборе, как для начинающего программиста, так и для
ведущего программиста, т.к. языки являются общеиспользуемыми и программист рано
или поздно столкнется с ними в работе. JavaScript (JS) – на данный момент один из самых быстроразвивающихся и набирающих популярность языков программирования [3]. Применить JS в разработке очень велика: от интерактивных web-страниц до мультиплатформенных мобильных или desktop приложений, а также серверные приложения. Достоинства и недостатки JS приведены в таблице 1. Таблица 1 – Плюсы и минусы языка программирования
JavaScript
Неприменимость для создания сложного ПО на JS исходит от
особенности слабой типизации. Если в случае с проблемой на частном сайте
компании убытки будут малыми и произвести доработку можно легко, то в случае с
серьезным коммерческим ПО, данная проблема окажется гораздо весомее. Несмотря на то, что мобильные приложения можно легко
запрограммировать на JS, большинство крупных компаний чаще выбираю в качестве
средства разработки языки Java, Objective-C, Swift и др., что также
обуславливается слабой типизацией языка, которая может повлиять на стабильность
работы программы и ее надежность. Стек технологии (сопутствующие инструменты) для JS: 1) Редактор кода или IDE: Notepad++, Sublime Text, WebStorm/ 2) Отладчик: Chrome WebInspector (DevTools), Firebug. 3) Среда исполнения для серверного ПО: NodeJS + менеджер
проектов npm. 4) Средства для разработки desktop-приложений: Electron,
AppJS, NwJS (Node-Webkit), Windows8+. 5) Фреймворки для web-разработки: jQuery, AngularJS, ReactJS,
BackBone, Ember, Metror и др. 6) JSON – самый популярный формат передачи структурированных
данных. 7) MongoDB – документо-ориентированная база данных, позволяет
создавать js-процедуры. PHP является одним из самых популярных языков для серверной
web-разработки (около 80% сайтов сети интернет написано на нем) [4]. Широкое
использование данного языка обуславливается его применимостью. PHP используется
в системах управления контентом (CMS-системы, например: Bitrix, Joomla), также
на нем запрограммированы различные конструкторы сайтов (Например: Wix,
SquareSpace). Данный язык используется не только для мелких проектов, но также
на нем написаны ВКонтакте, Wikipedia, Badoo и многие другие. Главное применение
языка разработки PHP заключается в создании серверных приложений, скриптов,
утилит, но не подходит для создания настольных и мобильных приложений.
Достоинства и недостатки PHP приведены в таблице 2. Таблица 2 – Плюсы и минусы языка программирования PHP
Стек технологии (сопутствующие инструменты) для PHP: 1) Текстовый редактор или IDE: Notepad++, Sublime Text, Atom,
PhpStorm. 2) Сервера баз данных: Mysql, PostgreSQL. 3) No-SQL хранилища: Memcached, Redis, MongoDB. 4) Отладчик: XDebug, Профайлер: XHProf. 5) Фреймворки: Symphony, Yii, Laravel, Zend, Silex, Lumen,
Slim и др. 6) Менеджер пакетов: Composer. Python – популярный язык для web-разработки и анализа данных
[5]. Применяется в следующих областях: разработка web-сайтов и web-сервисов,
разработка скриптов и утилит, анализ данных, машинное обучение, нейросети.
Достоинства и недостатки Python приведены в таблице 3. Таблица 3 – Плюсы и минусы языка программирования
Python
Стек технологии для Python: 1) IDE: Pycharm. 2) Cython-синтаксис: для написания компилируемого кода. 3) Для анализа данных: iPhyton/Jupiter, Anaconda,
Mathplotlib, Nampy, Pyspark. 4) Для машинного обучения, нейросетей: Scilit_learn, Keras,
Tensorflow. 5) Для web–разработки: Django, Tornado, Flask. 6) Менеджер зависимостей: pip, conda. Java – консервативный и надежный язык для разработки под
любые платформы. Применение языка в следующих областях: desktop-приложения,
приложения для Android, серверные программы, сложное ПО (промышленные и
банковские системы) [1]. Достоинства и недостатки Java приведены в таблице 4. Таблица 4 – Плюсы и минусы языка программирования Java
Стек технологии для Java: 1) IDE: Eclipse, Netbeans, IntelliJIDEA, AndroidStudio. 2) JVM – Java Virtual Machine, среда выполнения кода. 3) Популярные фреймворки: Spring, Swing, Hibernate, RxJava. 4) Android–фреймворки: OrmLite, RoboSpice, Picasso, Retrofit,
Butterknife. 5) Android-инструменты: Android SDK, Android Emulator, ADB. 6) Базы данных: Oracle, Mysql, MSSql, и любые другие (JDBC). 7) Менеджер зависимостей/система сборки: Gradle, Ant, Maven. Подводя итоги обзора языков программирования, можно составить
следующую сводную таблицу по основным характеристикам, таблица 5. В качестве
шкалы оценки была принята пятибалльная система оценивания, а сами оценки были
выставлены путем анализа вышеописанных объективных плюсов и минусов
рассмотренных языков программирования. Таблица 5 – Вывод по основным характеристикам языков
Литература 1. Где используется Java? 10 проектов,
за которые ее можно полюбить // Javarush - онлайн-курс обучения
программированию на Java. URL:
https://javarush.ru/groups/posts/gde-ispolzuetsya-java (дата обращения: 12.05.2020).
2. Курс «Знакомство с HTML и CSS» //
HTML Academy: интерактивные онлайн-курсы по HTML, CSS и JavaScript. URL:
https://htmlacademy.ru/courses/basic-html-css (дата обращения: 12.05.2020). 3. Современный учебник JavaScript // URL
https://learn.javascript.ru/ (дата обращения: 12.05.2020). 4. Учим PHP «с нуля»: тренировочный
режим // WebForMySelf - публикация тематических материалов по веб-разработке и
сайтостроению. URL:
https://webformyself.com/uchim-php-s-nulya-trenirovochnyj-rezhim/ (дата
обращения: 12.05.2020). 5. BeginnersGuide // Официальный сайт
Python.org. URL: https://wiki.python.org/moin/BeginnersGuide (дата обращения:
12.05.2020). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Обновлено 19.05.2020 11:48 |