Файл: «Современные языки программирования»(Введение в языки программирования ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 25

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Язык Python является, пожалуй, самым простым в изучении и самым приятным в использовании из языков программирования, получивших широкое распространение. Программный код на языке Python легко читать и писать, и, будучи лаконичным, он не выглядит загадочным.[20] Python – очень выразительный язык, позволяющий уместить приложение в меньшее количество строк, чем на это потребовалось бы в других языках, таких как C++ или Java.

Python является кроссплатформенным языком: обычно одна и та же программа на языке Python может запускаться и в Windows, и в UNIX подобных системах, таких как Linux, BSD и MacOS, для чего достаточно просто скопировать файл или файлы, составляющие программу, на нужный компьютер; при этом даже не потребуется выполнять «сборку», или компилирование программы. Конечно, можно написать на языке Python программу, которая будет использовать некоторые характерные особенности конкретной операционной системы, но такая необходимость возникает крайне редко, т.к. практически вся стандартная библиотека языка Python и большинство библиотек сторонних производителей обеспечивают полную кроссплатформенность.

Python может использоваться для программирования в процедурном, в объектно-ориентированном и, в меньшей степени, в функциональном стиле программирования, хотя в глубине души Python – объектно-ориентированный язык программирования.

print("Hello, World!")

Листинг 5. Вывод строки "Hello, World!" на языке программирования Python

1.4.6 Язык программирования PHP

PHP – язык сценариев, интерпретируемый на стороне сервера. Это значит, что вы должны написать PHP-код, выгрузить его на веб-сервер и запустить с помощью интерпретатора.[21] PHP, обычно, используют с веб-серверами, такими как Apache или nginx для поддержки динамического контента. Также, язык PHP используется для создания мощных приложений, которые могут запускаться из командной строки. PHP прост для освоения, и при этом способен удовлетворить запросы профессиональных программистов.

Язык PHP переживает ренессанс. Он эволюционирует в современный язык сценариев со многими полезными свойствами, таким как трейты (traits), замыкания и встроенное кэширование байт-кода, пространства имен. PHP-разработчики все чаще используют небольшие специализированные компоненты и все реже монолитные фреймворки. Composer (Менеджер зависимостей) внес революционные изменения в построение PHP-приложений. Он дал возможность взаимодействовать PHP-компоненты между собой, которые больше всего соответствуют нуждам приложений. Без предложенных сообществом стандартов и их курирования со стороны PHP Framework Interop Group совместимость компонентов была бы невозможной.


<?php
echo "Hello, World!";
?>

Листинг 6. Вывод строки "Hello, World!" на языке программирования PHP

1.4.7 Язык программирования JavaScript

JavaScript был представлен в 1995 году как способ добавлять программы на веб-странницы в браузере Netscape Navigator.[22] За это время язык смог прижиться во все основные графические браузеры. С тех пор появилась возможность проявить себя в современных веб-приложениях, таких как браузерные емеил-клиенты, карты и социальные сети. Так же без его участия не обходятся и более традиционные сайты для обеспечения интерактивности.

JavaScript не имеет отношения к языку Java. Имя было выбрано по маркетинговым соображениям. В то время язык Java широко распространялся и набирал немалую популярность.

После того, как язык вышел за пределы Netscape, был составлен документ, описывающий работу языка, чтобы разные программы, заявляющие о его поддержке, работали одинаково. Он называется стандарт ECMAScript по имени организации ECMA.[23]

Вышло несколько версий языка JavaScript. ECMAScript 3 являлась доминирующей версией во время восхода языка в 2000-2010 гг. Готовилась невероятная 4-я версия, суть которой было добавление нескольких радикальных улучшений и расширений языка. Но по политическим причинам изменения популярного языка сделалось очень сложным, из-за чего работа была прекращена в 2008. Вместо неё вышла менее амбициозная 5-я версия в 2009. Сейчас большинство браузеров поддерживает именно её.

JavaScript имеет в своем арсенале не только поддержку браузеров, но и базы данных типа MongoDB и CouchDB которые используют его в качестве скриптового языка и языка запросов. Также имеется несколько платформ для настольных компьютеров и серверов, наиболее известная из которых Node.js, которая предоставляют мощное окружение для программирования не используя браузер.

<script type="application/javascript">

alert('Hello, World!');

</script>

Листинг 7. Вывод строки "Hello, World!" на языке программирования JavaScript

1.4.8 Язык программирования R

R – одно из наиболее популярных современных программных средств для анализа данных и их визуализации.[24] Это бесплатная программа с открытым кодом, предназначенная для операционных систем Windows, Mac OS X и Linux.

R применяется там, где есть необходимость в обработке данных. Подразумевается не только статика, но и таблицы сопряженности, графики, а также продвинутое математическое моделирование. R также может быть использован вместо коммерческих программ анализа на уровне MATLAB или Octave. Также естественен тот факт, что вычислительная мощь R лучше всего проявляется при статическом анализе, к примеру, от вычисления средних величин до вейвлет-преобразований временных рядов.


R весьма востребованный язык. Сложно найти американский или западноевропейский университеты, где бы не использовался R. Многие серьёзные компании устанавливают R для своей работы.[25]

print("Hello, World!")

Листинг 8. Вывод строки "Hello, World!" на языке программирования R

У каждого языка программирования своя история создания, свои разработчики – каждый предполагает свои классификации, парадигмы, возможности и превосходства. Но несмотря на это, их движет лишь одно – решение всё новых задач и продвижение прогресса эволюции программирования.

Несмотря на это, для того, чтобы разобраться в изобилии различных характеристик, не стоит забывать и об основах: с чего всё зародилось и к чему это привело, а также предлагает задуматься, что будет дальше.

Глава 2. Анализ инструментов разработки

2.1 Рынок востребованности языков

Ни для кого не секрет, что из года в год ведутся споры о том, какой язык программирования лучше. Несмотря на это, большинство признают тот факт, что нельзя говорить о таком понятии как «лучший язык программирования». Какие-то более популярные, какие-то – нет. При этом изучая один язык программирования, появляется нужда в другом, связанным с ним в ключе технологий.

Но есть ли возможность определить, какие языки сейчас популярны, а на какие не стоит обращать внимание, хотя бы на сегодняшний день? Для этого, ряд организаций ведут собственные рейтинги, основываясь на различные источники данных: форумы, вакансии в разделе программирования, упоминания в социальных сетях, опросы, репозитории кода. Возьмем за основу рейтинг за 2016 год для анализа данного вопроса.

2.1.1 RedMonk

Данная аналитическая компания регулярно публикует собственные рейтинги языков программирования. Они строятся на основе крупнейшего веб-сервиса GitHub и популярной системы вопросов и ответов о программировании Stack Overflow. Лидерами здесь являются JavaScript, Java, PHP и Python.[26]

Рисунок 1. Рейтинг отношения языков программирования между платформами Stack Overflow и GitHub

JavaScript сохранил лидерство, ровно как и Java с PHP на своих втором и третьем месте соответственно. Историческое изменение рейтинга с 2012 года можно посмотреть на следующем графике, из которого видно, что ТОП-10 в принципе не слишком подвержен серьёзным изменениям.[27]


Рисунок 2. Рейтинг языков программирования во временном графике по версии RedMonk

2.1.2 IEEE Spectrum

IEEE Spectrum является ежемесячным журналом, издаваемым Институтом инженеров электротехники и электроники. Летом 2016 года он опубликовал журнал с рейтингом популярности языков программирования. Лидером здесь является Си, следом Java, Python и С++.[28]

Здесь довольно необычным является выход R на пятое место. Объяснение этому простое – этот язык востребован в системах обработки больших объемов данных. Соответственно, растет количество запросов на Stack Overflow. Также, на GitHub появилось сразу 62 тысячи новых репозиториев. В научно-исследовательских публикациях появилось много вакансий и упоминаний этого языка.

Рисунок 3. Рейтинг языков программирования по версии IEEE

Для создания рейтингов специалисты IEEE используют 12 различных метрик из 10 источников. Основой является поиск результатов по типичным запросам, в ряде популярных сайтов. Учитываются и материалы, которые выдаются в поисковой выдаче Google, данные Google Trends, упоминания в социальных сетях.

2.1.3 TIOBE

Компания TIOBE Software, в момент публикации своего рейтинга, отмечает рост популярности ассемблера. Согласно этому рейтингу язык ассемблера демонстрирует устойчивый рост в рейтинге самых популярных языков программирования. Он вернулся в десятку, опередив даже таких «монстров», как Ruby, Visual Basic, Swift и R. Кроме того, он значительно превзошёл узкоспециализированные языки вроде MATLAB и Groovy. Единственное разумное объяснение, по их мнению, заключается в том, что речь идёт о разработке очень маленьких устройств, которых при этом становится всё больше. Даже при программировании электронных зубных щёток и кофе-машин сегодня используется язык ассемблера, говорится в примечании к рейтингу.[29]

Рисунок 4. Рейтинг языков программирования по версии TIOBE

Также в 2016 г. самым популярным языком программирования был признан Go, разработанный Google. Данный язык программирования набрал 2,16% за год и уверенно обогнал своих ближайших конкурентов: Dart (+ 0,95%) и Perl (+ 0,91%). Основными факторами успеха Go является его доступность для обучения и общая применимость, кроме того Go имеет встроенную поддержку для параллельного программирования. Все больше и больше клиентов компании TIOBE внедряют именно этот язык программирования.


TIOBE ранжирует языки, основываясь на данных поисковых запросов, и выкладывает статистику ежемесячно, в том числе в наглядном представлении.[30]

2.2 Языки программирования и технологии

Индустрия разработки ПО движется вперед. Каждый год происходят релизы многих ныне известных языков программирования, инструментов и фреймворков, которые помогают в работе.

2.2.1 Чат-боты

Чат-бот – это некий помощник, который общается с нами посредством текстовых сообщений. Чат-бот понимает, что вы пытаетесь сказать, и отвечает вам или даже сразу же выполняет требуемое от него действие.

Огромное количество времени, которое люди проводят, набирая текст в различных мессенджерах (будь то ВКонтакте, Facebook и т.п.) делает эти самые мессенджеры быстро растущим сегментом на рынке приложений. Люди используют их не только для дружеских переписок, но и в интересах развития бизнеса. Также быстрое развитие технологий искусственного интеллекта и машинного обучения позволяет современным чат-ботам вести себя максимально приближённо к тому, как ведут себя люди.

Современные чат-боты, помимо текста, умеют демонстрировать всевозможные полезные функции, например, выдача карточек, картинок, ссылок, форм по запросу пользователя. Данная возможность позволяет использовать их для совершенно разных целей, таких как помощь в совершении покупок, сервис обратной связи, новости, игры и многое другое.

Рисунок 5. Пример работы чат-бота

Для разработки подобных ботов используются всевозможные фреймворки и сервисы, которые могут помочь. Однако, чтобы понять, как именно они работают, нужно погрузиться немного глубже.

2.2.2 Машинное обучение

Машинное обучение заключается в извлечении знаний из данных. Это научная область, находящаяся на пересечении статистики, искусственного интеллекта и компьютерных наук и также известная как прогнозная аналитика или статистическое обучение. В последние годы применение методов машинного обучения в повседневной жизни стало обыденным явлением. Многие современные веб-сайты и устройства используют алгоритмы машинного обучения, начиная с автоматических рекомендаций по просмотру фильмов, заказа еды или покупки продуктов, и заканчивая персонализированными онлайн-радиотрансляциями и распознаванием друзей на фотографиях. Когда вы видите сложный сайт типа Facebook, Amazon или Netflix, то весьма вероятно, что каждый раздел сайта содержит несколько моделей машинного обучения.