Файл: Обзор языков программирования высокого уровня (Виды языков программирования).pdf

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

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

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

Добавлен: 01.04.2023

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

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

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

Получившийся язык уже перестал быть просто дополненной версией классического C и был переименован из C с классами в «C++». Его первый коммерческий выпуск состоялся в октябре 1985 года.

PASCAL

Язык Паскаль был разработан в 1970 г. Никлаусом Виртом в качестве учебного языка для того, чтобы учить студентов программированию. Он воплотил в себе все идеологические аспекты структурного программирования, не смешанные с техническими вещами.

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

В настоящее время «Pascal» является одним из самых развитых языков программирования.

В последнее время повсеместно используется расширенный вариант языка «Pascal», который называется «Turbo Pascal» и имеет больше возможностей в сравнении с утвержденным стандартом языка.[7]

В 1986 году фирма Apple разработала расширенную версию языка Паскаль, получив в результате Object Pascal. Он был разработан группой Ларри Теслера, который консультировался с создателем - Никлаусом Виртом.

Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования*. Паскаль был одним из первых подобных языков, в этом его уникальность.

SIMULA

Название расшифровывается как (SIMUlation LAnguage). Языку более
50-ти лет. Первая версия, известная как Simula I, появилась в 1964 — 1965 годах. Авторы языка — норвежские ученые Кристен Нюгор и Оле-Йохан Даль.

Уже в 1967 году вышла версия Simula-67, которую называют сейчас просто Simula. В нашей стране первую версию языка запускали на компьютере Урал-16.

Это первый язык программирования, включающий в себя классы и объекты*. Из этого языка выросло современное ООП* в том виде, в котором мы его используем сейчас. Это язык для имитационного моделирования реальности. Разработчики новых языков программирования в качестве примера использовали язык Simula при добавлении механизмов объектно-ориентированного программирования в свой язык.

SMALLTALK

Это динамически типизированный, объектно-ориентированный язык программирования, разработанный в Xerox PARC*, разработчики: Алан Кэй, Дэн Инголс, Тед Кахлер, Адель Голдберг. Был разработан в 1970-х годах.

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


  1. Smalltalk представил миру виртуальную машину (VM)*, которая позволяет программному обеспечению быть независимым от платформы.
  2. В Smalltalk появилась первая современная среда разработки (IDE), которая включала текстовый редактор, браузер системы и классов, инспектор объектов и свойств и отладчик. Это привело к возникновению многих IDE, которые сегодня используют разработчики, такие как Visual Studio, Xcode и IntelliJ IDEA.
  3. Smalltalk был первым языком, поддерживающим «живое» программирование и усовершенствованные методы отладки*, такие как проверка и изменение кода в момент работы.
  4. Smalltalk представил миру концепцию MVC (Model-View-Controller).[8]

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

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

LISP (ЛИСП)

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

Английское название этого языка – LISP является аббревиатурой выражения LISt Processing (обработка списков). Понятие “список” оказалось очень емким. В виде списков удобно представлять алгебраические выражения, графы, элементы конечных групп, множества, правила вывода и многие другие сложные объекты. Списки являются наиболее гибкой формой представления информации в памяти компьютеров.

Рассмотрим ключевые особенности:

  1. Формы представления программ и обрабатываемых данных в LISP идентичны и являются списочными структурами. В связи с этим, открывается несколько возможностей: обработка программой других программ и универсальности самого синтаксиса.
  2. Реализация списков позволяет не задумываться об управлении памятью, резервировании, и освобождение ячеек происходит динамически.
  3. Существование LISP-машин – вычислительных машин, архитектура которых оптимизирована для эффективного выполнения программ на языке LISP. LISP-машины не слишком распространены, по некоторым данным их количество во всем мире не превышает 10000.

SML

Функциональный язык программирования общего назначения, разработанный Робином Милнером в конце 70-ых.

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

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

Наиболее важные характеристики:

  1. Является функциональным языком программирования. Функции могут передаваться в качестве аргументов, вырабатываться в качестве результата и храниться в переменных.
  2. SML является интерактивным языком. Каждое введенное предложение анализируется, компилируется и исполняется, и значение, полученное в результате исполнения предложения, вместе с его типом выдается пользователю.
  3. SML является строго типизированным языком*. Каждое допустимое выражение имеет тип, который автоматически определяется.
  4. SML содержит средства разбиения программ на модули, обеспечивающие возможность разработки больших программ по частям.

1.4 Ключевые определения

  • Компилируемый язык - язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл с особым заголовком и/или расширением для последующей идентификации этого файла, как исполняемого операционной системой.
  • Типизируемый язык - приём, широко используемый в языках программирования, при котором переменная, параметр подпрограммы, возвращаемое значение функции связываются с типом в момент объявления, и тип не может быть изменён позже.
  • Интегрированная среда - комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).
  • Структурное программирование - парадигма программирования, в основе которой лежит представление программы в виде иерархической структуры блоков. Концептуализирована в конце 1960-х — начале 1970-х годов на фундаменте теоремы Бёма - Якопини, математически обосновывающей возможность структурной организации программ.
  • Объекты в программировании - некоторая сущность в цифровом пространстве, обладающая определённым состоянием и поведением, имеющая определенные свойства и операции над ними. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение объекта.
  • Классы в программировании - это элемент ПО, описывающий абстрактный тип данных и его частичную или полную реализацию.
  • ООП (Объе́ктно-ориенти́рованное программи́рование) - методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
  • Xerox PARC - научно-исследовательский центр, основанный по настоянию главного научного сотрудника фирмы Xerox Джека Голдмана в 1970 году. В 2002 году PARC становится отдельной компанией.
  • Виртуальная Мишина (VM) - это компьютерная программа, которая представляет имитацию оборудования для операционной системы, работающей как внутрисистемный процесс. Виртуальные машины полезны для тестирования или развёртывания нескольких независимых операционных систем на одном физическом компьютере.
  • Отладка программы - этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.

Глава 2. Эпоха Объектно - Ориентированного программирования

С 70-х гг. были заложены основы объектно-ориентированного программирования (ООП), которое возникло как последствие развития процедурного программирования, при котором данные и подпрограммы их обработки формально не были связаны.

ООП (Объе́ктно-ориенти́рованное программи́рование) - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.

Главные характеристики ООП

  • Класс – модель ещё не существующего объекта. Фактически он является схемой объекта, описывая его устройство.
  • Объект – экземпляр класса, сущность в адресном пространстве вычислительной системы, которая появляется при создании экземпляра класса.
  • Абстракция – присвоение объекту характеристик, четко определяющих его границы, которые отличают его от всех других объектов. Основной идеей является отделение способа использования составных объектов данных от деталей их реализации в виде более простых объектов.
  • Инкапсуляция – объединение свойств (данных) и методов (подпрограмм) в классе для того, чтобы скрыть данные объекта от остальной программы и обеспечить целостность и независимость объекта (изменение свойств объекта возможно только через специальные методы класса).
  • Наследование – механизм языка, который позволяет описать новый класс на основе уже существующего класса (или классов) с добавлением новых свойств и методов.
  • Полиморфизм – свойство системы использовать объекты с одинаковым интерфейсом без получения информации о его типе и внутренней структуре.

2.1 Основные языки, которые поддерживают концепцию ООП

  1. Ada
  2. Delphi
  3. Java
  4. Java Script
  5. Objective-C
  6. Python
  7. Ruby
  8. Swift
  9. C++

ADA

Язык программирования, созданный в 1979—1980 годах в ходе проекта Министерства обороны США, целью которого являлась разработка единого языка программирования для встроенных систем. Под системами, прежде всего, имелись ввиду бортовые системы управления военными объектами.

DELPHI

Императивный, структурированный, объектно-ориентированный, высокоуровневый язык программирования со строгой статической типизацией переменных. Основная область использования — написание прикладного программного обеспечения. Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux.


JAVA

Объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (ОАК) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания приложений и серверного программного обеспечения.

Язык Java особенно удобен для написания интернет-приложений, но область его применения этим не ограничивается. Появление Java стало коренным переломом в программировании, поскольку изменило наше представление о форме и назначении программ. В настоящее время программист не может считать себя профессионалом, если он не умеет писать программы на Java. [9]

JAVA SCRIPT

Появился в 1995 году, разработчик - Брендан Эйх.

Когда JavaScript создавался, у него было другое имя – «LiveScript». Однако, язык Java был очень популярен в то время, и это повлияло на решение позиционировать JavaScript как «младшего брата» Java, это решение было полезным маркетинговым ходом.

Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся ECMAScript, и сейчас не имеет никакого отношения к Java.

OBJECTIVE-C

Компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си. В частности, объектная модель построена в стиле Smalltalk — то есть объектам посылаются сообщения.

Язык Objective-C является надмножеством языка Си, поэтому Си-код полностью понятен компилятору Objective-C.

PYTHON

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

RUBY

Был создан в 1995 г., автор - Юкихиро Мацумо́то.

Ruby — интерпретируемый, объектно-ориентированный язык программирования с четкой динамической типизацией. Он сочетает в себе Perl-подобный синтаксис с объектно-ориентированным подходом. Также некоторые черты заимствованы из языков программирования Python, Lisp. Кроссплатформенная реализация интерпретатора языка Ruby распространяется на условиях открытого программного обеспечения. Код, написанный на Ruby, может быть понятен даже человеку, который не разбирается в программировании.