Файл: Обзор языков программирования высокого уровня (ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 24.04.2023
Просмотров: 330
Скачиваний: 1
Рассмотрим отдельно данные по GitHub [18].
Разработка платформы GitHub началась 19 октября 2007 года. Сайт был запущен в апреле 2008 года Томом Престоном-Вернером , Крисом Ванстратом и PJ Hyett после того, как он был выпущен на несколько месяцев ранее как бета-релиз.
Проекты в GitHub можно получить и обработать с помощью стандартного интерфейса командной строки Git, и все стандартные команды Git работают с ним. GitHub также позволяет зарегистрированным и незарегистрированным пользователям просматривать общедоступные репозитории на сайте. Несколько настольных клиентов и плагинов Git также были созданы GitHub и другими третьими сторонами, которые интегрируются с платформой.
На сайте предусмотрены функции, связанные с социальной сетью, такие как каналы, последователи, вики (с использованием программного обеспечения wiki под названием Gollum ) и график социальной сети для отображения того, как разработчики работают над своими версиями («вилки») репозитория и какой fork (и это вилка) новейший.
Пользователь должен создать учетную запись для внесения контента на сайт, но публичные репозитории могут просматриваться и загружаться кем угодно. С зарегистрированной учетной записью пользователя пользователи могут вести обсуждения, управлять репозиториями, отправлять вклады в хранилища других и просматривать изменения в коде .
Программное обеспечение, которое запускает 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 [1]
(см. так же 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. Популярный язык Python
Этот язык программирования не похож на такие привычные языки как C, Pascal, Basic, Java, но пользуется высокой популярностью среди программистов и не только. Что в нем такого необычного?
Python - это язык программирования с несколькими парадигмами [3]. Объектно-ориентированное программирование и структурированное программирование полностью поддерживаются, и многие его функции поддерживают функциональное программирование и аспектно-ориентированное программирование (в том числе метапрограммирование и метаобъекты). Многие другие парадигмы поддерживаются через расширения, включая дизайн по контракту и логическое программирование [3, 6].
Python использует динамическую типизацию и комбинацию подсчета ссылок и сборщика мусора, определяющего цикл, для управления памятью. Он также имеет динамическое разрешение имен (последнее связывание), которое связывает имена методов и переменных во время выполнения программы.
Python предлагает некоторую поддержку функционального программирования в традиции Lisp. Он имеет filter(), map() и reduce() функции; список понятий, словарей и множеств; и выражения генератора. Стандартная библиотека имеет два модуля (itertools и functools), которые реализуют функциональные инструменты, заимствованные у Haskell и Standard ML.
Основная философия языка обобщается в документе «Дзен Питона» [6, 7], который включает афоризмы, такие как:
- Красивое лучше, чем уродливое
- Явный лучше, чем неявный
- Простой лучше, чем сложный
- Комплекс лучше, чем сложный
- Показатели удобочитаемости
Вместо того, чтобы встроить все свои функции в свой ядро, Python был разработан так, чтобы быть очень расширяемым. Эта компактная модульность сделала ее особенно популярной как средство добавления программируемых интерфейсов к существующим приложениям. Идея Ван Россума о небольшом базовом языке с большой стандартной библиотекой и легко расширяемым интерпретатором проистекала из его разочарования с ABC, который придерживался противоположного подхода.