Файл: Современные языки программирования (определение основных тенденций развития языков программирования).pdf

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

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

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

Добавлен: 06.04.2023

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

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

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

Программное обеспечение, которое запускает GitHub, было написано с использованием Ruby on Rails и Erlang разработчиками GitHub, Inc. Wanstrath, Hyett и Preston-Werner. GitHub в основном используется для кода.

Помимо исходного кода , GitHub поддерживает следующие форматы и функции:

Документация, включая автоматически отображаемые файлы README в различных форматах файлов, похожих на Markdown (см. Файлы README в GitHub)

Отслеживание ошибок (включая запросы функций) с надписями, вехами, правопреемниками и поисковой системой

Wikis

Вытягивать запросы с просмотром кода и комментариями

История фиксации

Графики: импульс, вкладчики, фиксации, частота кода, перфокарта, сеть, участники

Каталог интеграций

Унифицированные и разделенные разности

Уведомления по электронной почте

Возможность подписывать кого-то на уведомления, указав их.

Эможи

Страницы GitHub: небольшие сайты могут размещаться из публичных репозиториев на GitHub. Формат URL - https: // имя пользователя .github.io. Вложенные списки задач в файлах

Визуализация геопространственных данных

3D-файлы рендеринга, которые можно просмотреть с помощью нового интегрированного средства просмотра STL-файлов, которое отображает файлы на «трехмерном холсте». Зритель работает от WebGL и Three.js .

Собственный формат PSD для Photoshop можно просмотреть и сравнить с предыдущими версиями того же файла.

Просмотр PDF-документов

Предупреждения о безопасности известных общих уязвимостей и рисков в разных пакетах

Лицензирование репозиториев

Условия обслуживания GitHub не требуют публичных программных проектов, размещенных на GitHub, для соответствия определению Open Source. По этой причине очень важно, чтобы пользователи и разработчики намеревались использовать часть программного обеспечения, найденного в GitHub, для чтения лицензии на программное обеспечение в репозитории (обычно в файле верхнего уровня, называемом «LICENSE», «LICENSE.txt» или аналогично), чтобы определить, удовлетворяет ли он их потребностям. В Условиях обслуживания говорится: «Если вы публично просматриваете свои репозитории, вы соглашаетесь разрешать другим просматривать и форкировать свои репозитории».

GitHub Inc. - это веб- хостинг для контроля версий с использованием Git . Он в основном используется для компьютерного кода . Он предлагает все распределенное управление версии и источник управления кодом функциональности (SCM) в Git, а также добавить свои собственные функции. Он обеспечивает контроль доступа и несколько функций совместной работы, таких как отслеживание ошибок , запросы функций , управление задачами и вики для каждого проекта.


GitHub предлагает планы как для частных репозиториев, так и для бесплатных учетных записей , которые обычно используются для размещения проектов с открытым исходным кодом. По состоянию на июнь 2018 года GitHub сообщает, что у него более 28 миллионов пользователей и 57 миллионов репозиториев (в том числе 28 миллионов общедоступных репозиториев), что делает его крупнейшим в мире источником исходного кода.

4 июня 2018 года Microsoft объявила о достижении соглашения о приобретении GitHub за 7,5 млрд. Долл. США. Ожидается, что покупка завершится к концу года.

15 самых популярных языков программирования по версии GitHub [10]

(см. так же https://habr.com/post/310262/).

Рисунок 2. ТОП языков программирования по версии GitHub


Рассмотрим только пять первых.

№. 5 - PHP - это скриптовый язык, используемый для быстрого создания динамических веб-страниц. Отличный вариант для разработчиков frontend и backend, поддерживается веб-гигантами, как WordPress и Facebook. PHP позволяет развернуть быстро и просто веб-приложения и запускать веб-сайты с повторяющиеся задачими сервера (например, обновления ленты новостей). Есть с открытым исходным кодом и очень популярен среди стартапов, агентств, медиа и электронной торговли, людей, которые часто нанимают новых веб-разработчиков.

№. 4 - Ruby: простой, читаемый язык программирования, ориентированный на разработку веб-приложений. Разработанная Yukihiro Matsumto в 1995 году, Ruby framework использовалась для разработки Github, Scribd, Yammer, Shopify и Groupon. Ruby сочетает в себе некоторые функции Lisp, Pearl и Eiffel. Ruby имеет хороший рынок труда, и разработчики имеют достойный заработок.

№. 3 - Python: Язык относительно новый, по сравнению с некоторыми другими языками, в этом списке. Python очень легко изучается и является языком динамичным и универсальным. Хотя это самый популярный язык в фоновом режиме, с ним вы можете делать почти все, что угодно. Разработанный, чтобы быть легко читаемым, простым и, что более важно, забавный, это новый любимый язык разработчиков во всех областях промышленности. Python-это основной язык для начинающих. Является гибким и чрезвычайно мощным, и, самое главное, имеет очень светлое будущее.

№. 2 - Java: Java был разработан Джеймсом Гослингом в 1990 году на Sun Microsystems. Java также увеличивает шансы на C ++. Одной из особенностей Java является то, что это первый объектно-ориентированный язык программирования. Java был разработан в соответствии с принципом WORA (Write Once Run Anywhere или "Write Code Once, Run It it"). Это переносимость Java. Вам нужно только скомпилировать исходный код в Java один раз, а затем запустить его на любой машине с установленной JVM (Java Virtual Machine), а затем использовать его.


№. 1 - JavaScript: Язык интерфейса, используемый для создания и разработки веб-сайтов, настольных приложений и игр. JavaScript работает во всех браузерах, и может функционировать с программами, которые не найти в Интернете. Поддерживает стили программирования, функциональные и объектно-ориентированные, и в основном - это подход к построению пользовательских интерфейсов, и веб-сайты / приложения / игры выглядят очень хорошими. Разобраться в JavaScript - это важно, даже если вы ориентируетесь на развитие сервера. Компоненты, структуры данных и алгоритмы JavaScript применяются практически на любом другом языке.

2.2. Эзотерические языки программирования

Эзотерический язык программирования [11] (иногда сокращается до esolang ) является языком программирования, предназначенный для тестирования границ разработки языка компьютерного программирования, как доказательство концепции, как программное обеспечение - искусство, как взлом интерфейса на другом языке (в частности, функциональное программирование или процедурное программирование языки), или как шутка. Использование эзотерики отличает эти языки от языков программирования, с которым работают разработчики для написания программного обеспечения. Обычно создатели esolang не предполагают, что язык используется для основного программирования, хотя некоторые эзотерические функции, такие как visuospatial syntax, вдохновили практическое применение в искусстве. Такие языки часто популярны среди хакеров и любителей.

Юзабилити редко является целью для эзотерических программистов языка программирования - часто это совершенно наоборот. Их обычной целью является удаление или замена обычных языковых функций при сохранении языка, который является Turing-complete.

Самый ранний, и все же канонический пример эзотерического языка был INTERCAL, разработанный в 1972 году Доном Вудсом и Джеймсом М. Лионом, с заявленным намерением отличаться от любого другого языка программирования, с которым были знакомы авторы. Он пародировал элементы общепринятых языков программирования, такиех как Fortran , COBOL и язык ассемблера.

В течение многих лет INTERCAL был представлен только бумажными копиями руководства INTERCAL. Возрождение языка в 1990 году как реализация в C под Unix стимулировало волну интереса к намеренному дизайну эзотерических компьютерных языков.


В 1993 году Wouter van Oortmerssen создал FALSE, небольшой ориентированный на стек язык программирования, с синтаксисом, разработанным для того, чтобы сделать код по своей сути непонятным, запутанным и нечитаемым. Он также имеет компилятор всего 1024 байта.  Это вдохновило Urban Müller на создание еще более маленького языка, ныне известный как «brainfuck - позорный мозговой упадок», который состоит всего из восьми признанных персонажей. Наряду с Befunge Криса Прессе (например, FALSE, но с двумерным указателем инструкции), brainfuck теперь является одним из лучших поддерживаемых эзотерических языков программирования. Это канонические примеры минимальных трюков Тьюринга и ненужных запутанных языковых особенностей. Brainfuck связан с семейством машин Тьюринга P.

Дадим описание некоторых из них.

Brainfuck

Brainfuck разработан для экстремального минимализма и приводит к запутанному коду с программами, содержащими только восемь различных символов.Следующая программа выводит «Hello World!»:

++++++++++ [ > +++++++ > ++++++++++ > +++ <<< - ] > ++ . > + . +++++++

.. +++ . > ++ . << +++++++++++++++ . > . +++ . ------ . -------- . > + .

.Gertrude

.Гертруда названа в честь Гертруды Штайн и был спроектирован (Герсон Курз), чтобы позволить программам смутно напоминать ее стихи.

Трава.

Grass - это функциональный язык программирования, который использует только символы «W», «w» и «v». Таким образом, программы в Траве, как говорят, выглядят как трава ASCII . Трава имеет официальную спецификацию, которая основана на нетипизированном лямбда-исчислении и машине SECD.  Траву не следует путать с GRASS, другим языком программирования.

Piet - это язык, разработанный Дэвидом Морганом-Мар, чьи программы представляют собой растровые изображения, которые выглядят как абстрактное искусство. Компиляция ориентируется на «указатель», который перемещается по изображению, от одной непрерывной цветной области до следующей (рис.3). Процедуры выполняются, когда указатель выходит из региона.

Рисунок 3. Программа Piet, которая печатает «Piet»,

Шекспир.

Шекспир предназначен для того, чтобы программы выглядели как шекспировские пьесы. Например, следующий оператор объявляет точку в программе, которая может быть достигнута с помощью оператора GOTO:

Акт I: оскорбления и лесть Гамлета.

2.3. Современные тенденции развития языков


Развитие языка программирования продолжается, как в промышленности, так и в исследованиях. Некоторые из последних тенденций включают:

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

Создает поддержку параллельного и распределенного программирования.

Механизмы для добавления проверки безопасности и надежности на язык: расширенная статическая проверка, зависимая типизация, управление потоком информации, статическая безопасность потоков .

Альтернативные механизмы для компоновки и модульности: миксины, черты, стили, делегаты, аспекты.

Разработка программного обеспечения на основе компонентов.

Метапрограммирование, отражение или доступ к абстрактному синтаксическому дереву

AOP или Aspect Oriented Programming, позволяющие разработчикам вставлять код в другой модуль или класс в «точки соединения»,

Языки домена и генерация кода

XML для графического интерфейса ( XUL , XAML )

Повышенный интерес к распределению и мобильности.

Интеграция с базами данных, включая XML и реляционные базы данных.

Открытый исходный код как философия развития для языков, включая сборник компиляторов GNU и языки, такие как Python , Ruby и Scala .

Массивно параллельные языки для кодирования 2000 процессоров графических процессоров и суперкомпьютерных массивов, включая OpenCL

Ранние исследования (как еще не реализуемые) квантовых компьютерных языков программирования

Больше интереса к языкам визуального программирования, таким как Scratch.

Остановимся на мнение GitHub.

Каждая команда на GitHub Enterprise создает программное обеспечение, но более половины из них кодируют для других отраслей—от финансов до розничной торговли. Эта десятка представлена на рис. 4 [10].

Рисунок 4. Основные области приложения по версии GitHub

Из этой диаграммы видно, что с большим опережением превалируют разработки для Интернета.

Быстрый рост Интернета в середине 1990-х годов создавал новые возможности для новых языков [8]. Perl , первоначально инструмент для сценариев Unix, впервые выпущенный в 1987 году, стал распространенным явлением на динамичных веб-сайтах . Java стал использоваться для серверного программирования, а байт-коды виртуальных машин снова стали популярными в коммерческих настройках с их обещанием «Напиши один раз, бегите куда угодно» (UCSD Pascal был популярен в начале 1980-х годов). Эти разработки не были принципиально новыми, скорее они были уточнениями многих существующих языков и парадигм (хотя их синтаксис часто основывался на семействе языков программирования C).