Главное меню

Обзор и сравнение популярных языков программирования PDF Печать E-mail
Автор: Маслова А.С., Некифоров В.А.   
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 5.6, php 7.0) значительно улучшают синтаксис и возможности по сравнению с php 5.0

 получиться менее надежной

—Обширная «стандартная библиотека», с помощью выстроенных функций можно многое сделать, но организована она неудобно и нелогично

 

 

Стек технологии (сопутствующие инструменты) для 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

Плюсы

Особенности (не плюс и не минус)

Минусы

—Легко освоить

—Удобный синтаксис

—Отличный инструмент для решения задач своей области применимости

—Масса полезных фреймворков и библиотек

—Частичная поддержка многопоточности

—Можно значительно ускорить, с использованием Cython

—Низкая производительность

—Неявная типизация

 

Стек технологии для 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

Плюсы

Особенности (не плюс и не минус)

Минусы

—Простой, понятный синтаксис

—Классическое ООП

—Работает на всех операционных системах

—Возможно написание ПО любой сложности, от маленьких утилит до огромных программных комплексов

—Единственный язык для создания приложений под Android

—Разработка подразумевает высокий уровень абстракции

— Код легко поддерживать и развивать, но типовые вещи реализовать довольно сложно

—Строгость, консервативность, отсутствие неявных конструкций, высокая надежность кода, что может означать громоздкость и многословность кода

—Высокий порог вхождения, новичку в программировании будет сложно разобраться

—Для исполнения программ на компьютере/сервере должна быть установлена «Виртуальная машина Java» (JVM)




Стек технологии для 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 – Вывод по основным характеристикам языков

Язык

Простота

Применимость/

Популярность

Зарплаты

HTML, CSS

5/5

3/5

2/5

JavaScript

4/5

5+/5

3/5

PHP

4/5

3/5

4/5

Python

4/5

3/5

4/5

Java

3/5

5/5

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
 
Яндекс.Метрика