Файл: Классификация языков программирования высокого уровня.pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

19. JavaScript — мультипарадигмальный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией языка ECMAScript (стандарт ECMA-262).

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

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

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

20. Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Название языка официально расшифровывается как Practical Extraction and Report Language («практический язык для извлечения данных и составления отчётов»), а в шутку — как Pathologically Eclectic Rubbish Lister («патологически эклектичный перечислитель мусора»); разработчики языка не считают его название акронимом. Первоначально название состояло из пяти символов и в таком виде в точности совпадало с английским словом pearl («жемчужина»). Но затем стало известно, что такой язык существует (см. PEARL (англ.)), и букву «a» убрали. Символом языка Perl является верблюд — не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.

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

21. C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров компании Microsoft под руководством Андерса Хейлсберга и Скотта Вильтаумота как язык разработки приложений для платформы Microsoft .NET Framework. Впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.


Переняв многое от своих предшественников — языков C++, Pascal, Модула, Smalltalk и, в особенности, Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

22. Visual Basic .NET (VB.NET) — объектно-ориентированный язык программирования, который можно рассматривать как очередной виток эволюции Visual Basic (VB), реализованный на платформе Microsoft .NET. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0). Развитие проектов старых версий (*.vbp) возможно только после предварительной конвертации их в формат VB.NET специальным мастером (Migration Wizard); однако, как правило, после конвертации требуется существенная ручная доработка текстов.

23. Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.

Первые версии языка созданы в 2003 году коллективом лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерски, язык реализован для платформ Java и Java Script. По мнению Джеймса Стрэчена, создателя языка программирования Groovy, Scala может стать преемником языка Java.

24. Transact-SQL (T-SQL) — процедурное расширение языка SQL, созданное компанией Microsoft (для Microsoft SQL Server) и Sybase (для Sybase ASE).

SQL был расширен такими дополнительными возможностями как:

управляющие операторы,

локальные и глобальные переменные,

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

поддержка аутентификации Microsoft Windows.

Язык Transact-SQL является ключом к использованию MS SQL Server. Все приложения, взаимодействующие с экземпляром MS SQL Server, независимо от их реализации и пользовательского интерфейса, отправляют серверу инструкции Transact-SQL.

25. D (Ди) — мультипарадигмальный компилируемый язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Начиная с 2006 года соавтором также является Андрей Александреску. Изначально D был задуман как реинжиниринг языка C++, однако, несмотря на значительное влияние С++, не является его вариантом. Также язык испытал влияние концепций из языков программирования Python, Ruby, C#, Java, Eiffel.

При создании языка D была сделана попытка соединить производительность компилируемых языков программирования с безопасностью и выразительностью динамических.


Стабильная версия компилятора 1.0 вышла 2 января 2007.

Следующая версия компилятора 2.0 (последняя на сегодняшний день мажорная версия) начала развитие 17 июня 2007 года и развивается и по сей день.

D доступен для операционных систем Windows, Linux, Mac OS, FreeBSD. Ведётся работа по портированию на Android.

26. Скретч (англ. Scratch) — визуальная событийно-ориентированная среда программирования, созданная для детей и подростков. Название произошло от слова scratching — техники, используемой хип-хоп-диджеями, которые крутят виниловые пластинки вперед-назад руками для того, чтобы смешивать музыкальные темы.

Скретч создан как продолжение идей языка Лого и конструктора Лего. Скретч 1.4 был написан на языке Squeak, Скретч 2.0 и 3.0 ориентированы на работу онлайн. Скретч 2.0 был переписан на Flash и ActionScript. Скретч 3.0 (текущая версия) является улучшенной версией Скретч 2.0 и сделана на HTML5, используя движок WebGL, что даёт ему возможность работать на мобильных устройствах и планшетах. Скретч разрабатывается небольшой командой программистов для детей в Массачусетском технологическом институте. Текущая версия — Скретч 3.0, выпущена в январе 2019 года. В 2008 году Скретч был портирован для микроконтроллерного модуля Arduino. Проект носит название S4A.

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

27.Go (часто также Golang) — компилируемый многопоточный язык программирования, разработанный внутри компании Google. Разработка Go началась в сентябре 2007 года, его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон, занимавшиеся до этого проектом разработки операционной системы Inferno. Официально язык был представлен в ноябре 2009 года. На данный момент поддержка официального компилятора, разрабатываемого создателями языка, осуществляется для операционных систем FreeBSD, OpenBSD, Linux, macOS, Windows, DragonFly BSD, Plan 9, Solaris, Android, AIX. Также Go поддерживается набором компиляторов gcc, существует несколько независимых реализаций. Ведётся разработка второй версии языка.

28. Dart — язык программирования, созданный Google. Dart позиционируется в качестве замены/альтернативы Java Script. Один из разработчиков языка Марк Миллер (Mark S. Miller) написал, что Java Script «имеет фундаментальные изъяны» («Javascript has fundamental flaws…»), которые невозможно исправить. Поэтому и был создан Dart.

Первая общедоступная информация об этом языке программирования появилась 12 сентября 2011 года на конференции разработчиков Goto. 10 октября 2011 была проведена официальная презентация языка Google Dart.


Задачи, поставленные перед разработчиками языка:

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

Сделать язык похожим на существующие для упрощения обучения

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

Изначально было предложено два способа исполнения Dart-программ: с использованием виртуальной машины (в поддерживающих язык браузерах) или с промежуточной трансляцией в java script (универсальный).

15 ноября 2013 года Google выпустили первую стабильную версию своего языка программирования — Dart SDK 1.0 .

4 июля 2014 года ECMA одобрили первую редакцию стандарта языка, стандарт получил название ECMA-408.

29. Swift — открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и macOS. Swift работает с фреймворками Cocoa и Cocoa Touch и совместим с основной кодовой базой Apple, написанной на Objective-C. Swift задумывался как более лёгкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objective-C[7]. Программы на Swift компилируются при помощи LLVM, входящей в интегрированную среду разработки Xcode 6 и выше. Swift может использовать рантайм Objective-C, что делает возможным использование обоих языков (а также С) в рамках одной программы.

Заключение

ЯВУ — объемная и многофункциональная область знаний. Для подробной классификации каждого языка, а так же выбора параметров может уйти колоссальное количество времени.

Основной целью моей работы было создание таблицы классификаций по парадигмам. Для этого были рассмотрены семантика ЯВУ, парадигмы и стили с последующим их кратким разбором, и представлена хронология выбранных языков с краткими их характеристиками.

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


  1. Библиография

С.З. Свердлов Языки программирования и методы трансляции / С.З. Свердлов. - М.: У. П., 2007. - С. 299

А.Л. Марченко Введение в программирование / А.Л. Марченко. - М.: У. П., 2005. - С. 135

А.С. Камкин Введение в формальные методы верификации / Камкин А.С. - М.: У. П, 2018. - С. 36-45

А.С. Камкин Введение в формальные методы верификации / Камкин А.С. - М.: У. П, 2018. - С. 102-103

Н. В. Макарова В.Б. Волков Информатика / Макарова Н.В. Волков В.Б. - М.: У.П., 2018 — С. 554-557

Проект центра верификации OC Linux Теоретическое введение [http://astraver.linuxtesting.org/ ]

А.С. Камкин Введение в формальные методы верификации / Камкин А.С. - М.: У. П, 2018. - С.36

А.С. Камкин Введение в формальные методы верификации / Камкин А.С. - М.: У. П, 2018. - С.38

Введение в теорию программирования. Функциональный подход. Вступительная лекция [https://www.intuit.ru/studies/courses/39/39/info]

С. А. Орлов Теория и практика языков программирования / Орлов С.А. - М.: У.П.,2013 — С. 189

Т. Пратт, М. Зелковец Языки программирования разработка и реализация 4е издание / Пратт Т., Зелковец М. - М.: У.П. 2002 — С. 322

Р.В. Себеста Основные концепции языков программирования / Себеста Р.В. - М.: У.П. 2001 — С. 123

Т. Пратт, М. Зелковец Языки программирования разработка и реализация 4е издание / Пратт Т., Зелковец М. - М.: У.П. 2002 — С. 322

А. Сериков. Основы функционального программирования / Сериков А. - М.: У.П. - Лекция 15

Л. В. Городняя , Парадигмы программирования / Городняя Л. В. - М.: У.П. - С. 12

Белов М.П. Основы алгоритмизации в информационных системах / М.П. Белов. - М.: Учебное пособие, 2003. - С. 25.

Д. Мигинский Аспектно — ориентированное программирование / Мигинский Д. - М.: У.П. - С. 3

Е. Милош , С. Джорупбеков Парадигмы программирования / Милош Е., Джорупбеков С. - М.: У.П. -2009

Л. В. Городняя Парадигмы программирования / Городняя Л. В. - М.: У.П. - 2015 - С. 67

Т.Н. Глебова, Н.А Зайцева Информатика / Глебова Т.Н., Зайцева Н.А. - М.: У.П. - 2011 — С. 18

И.Г. Головин, И.А. Волкова Языки и методы программирования / Головин И.Г., И.А. Волкова — М.: У.П. -2012 — С 8

В.Д. Бердоносов, А. А. Животова Объектно — ориентированное программирование / Бердоносов В.Д., Животова А.А — М.: У.П. - 2015 — С. 18

В.Э. Вольфенгаген Комбинаторная логика в программировании / Вольфенгаген В.Э. - М.: У.П. - 2000

D.Crockford Javascript the good parts / Crockford D. - М.: У.П. - 2012 — С.39

М.В. Голуб Ленивые вычисления в системе компьютерной алгебры / Голуб М.В. - М.: У.П. - 2014

МУСТ Модели и средства моделирования для многопроцессорных вычислительных машин — М.:У.П.-Лекция 1 — С. 2