Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ.(Компьютерные языки программирования).pdf
Добавлен: 28.03.2023
Просмотров: 511
Скачиваний: 6
СОДЕРЖАНИЕ
Глава 1. Компьютерные языки программирования
1.1 Классификация по поддерживаемым методологиям
1.2 Классификация по принадлежности к семействам
1.3 Классификация по ориентации на предметные области
1.4 Классификация по степени абстракции от аппаратуры
1.5 Парадигмы программирования
Глава 2. Объектно-ориентированные языки. Основы объектно-ориентированного программирования
2.5 Объектно-ориентированные языки
Глава 3 Обоснование выбора языка программирования и критерии
Введение
Информационные технологии занимают все более значимую роль в человеческом обществе. Они проникли во все сферы деятельности. Для обслуживания общественных потребностей в автоматизации труда, хранения данных, связи и др. развиваются языки программирования. Если раньше языки программирования использовались лишь для создания программ для автоматизации вычислительных процессов, то на сегодняшний день они используются для решения более разнообразных задач.
Изучение истории языков программирования, их разнообразия и особенностей позволяет программисту сделать правильный выбор при выборе языка для решения определенной задачи.
Все многообразие языков программирования делят на различные классы в зависимости от решаемых ими задач. Было замечено, что в процессе развития языки программирования, входящие в один класс, сближаются между собой. Хотя само разнообразие классов увеличивается, т.к. увеличивается сфера задач, решаемых с помощью компьютерных технологий.
Следует также отметить и развитие языков программирования в сторону спецификации, когда определенные языки наиболее пригодны для решения узкого класса задач.
Еще одной особенностью является уход от очевидной формализации. Если первые языки отличались ярко выраженной формальностью, то с появлением объектно-ориентированного и логического подходов формальность перестала быть так уж очевидной (хотя она конечно есть). Это может привести к увеличению семантических (смысловых) ошибок, когда программа делает не то, что планировал программист. Прибавим к этому факт прогрессирования робототехники, немного фантазии, и можно уже представлять, как искусственный интеллект выходит из под контроля человечества.
При планировании программного проекта имеется огромный выбор языков программирования, в лабиринтах которых легко заблудиться. Выбор языка зависит от многих факторов. В курсовой работе будут раскрыты все факторы выбора языков программирования.
Данная тема является актуальной. Значимость изучения языков программирования в практической и теоретической деятельности человека связана с тем, что прогресс компьютерных технологий опережает процесс появления новых знаковых систем для записи алгоритмов – языков программирования. Из этого следует, что развитие современных информационных технологий не стоит на месте, а значит, с появлением новых программ требуется усовершенствование ранее созданных языков программирования и создание новых языков. Между тем интересно проследить тенденцию развития языков программирования и их дальнейшую историю. На современном этапе истории человечества необходимо изучать языки программирования, так как языки продолжают развиваться, появляются новые версии ранее созданных языков программирования. По этим причинам тема курсовой работы актуальна.
Предметом курсовой работы является виды языков программирования.
Объектом исследования послужили языки программирования и критерии выбора языков программирования.
Цель данной работы – ознакомится с языками программирования, рассмотреть основные понятия, классификацию и критерии выбора среды и языка разработки программ.
Для достижения поставленной цели были сформулированы следующие задачи:
- изучить понятие компьютерных языков программирования;
- охарактеризовать объектно-ориентированные языки и основы объектно-ориентированного программирования;
- исследовать обоснование выбора языка программирования и критерии.
Методы исследования курсовой работы – научно-исследовательский метод, статистический метод, метод классификации, изучение и анализ литературных источников.
Глава 1. Компьютерные языки программирования
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов—языков программирования. Язык программирования — язык (знаковая система), предназначенный для записи компьютерных программ; определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под ее управлением.
Со времени создания первых программируемых машин человечество придумало более 8 тыс. языков программирования (включая нестандартные, визуальные и эзотерические языки) [4]. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты могут владеть десятком и более разных языков программирования.
Компьютерные языки система знаков, символов, которая создана для "общения" человека с компьютером. Ведь мы не можем просто так взять, подойти к компьютеру и начать ему что-то объяснять. Для этого существуют специальные слова-коды и лексика, из которых состоят компьютерные языки. А они уже доносятся до компьютера в понятной ему форме.
На сегодняшний день существует более 8 тысяч различных языков для общения человека с компьютером. Конечно же, все их знать нельзя. Кто-то создаёт язык для себя, а кто-то занимается этим на коммерческой основе.
Но хороший программист должен знать в совершенстве хотя бы несколько базовых из них.
В 1950 году появился первый язык программирования - ассемблер. ЭВМ тогда были еще несмышлеными детьми по сравнению с современными ПК. Согласно законам дарвинизма машины росли, набирались ума и производительности. Вместе с ними эволюционировали и языки программирования. Из низкоуровневых они превратились в высокоуровневые, объектно-ориентированные. Сейчас мы имеем сценарные, или скриптовые языки.
Высокоуровневые языки программирования для написания последовательности операций, или сценариев называются скриптовыми, сценарными или интерпретируемыми языками. К ним относятся:
•JavaScript;
•ActionScript;
•Perl;
•Python;
•Scala;
•R;
•Ruby;
•PHP.
Программные языки, например C#, C или Pascal используют для создания алгоритмов, процедур, новых данных. Скриптовые предназначены для соединения уже существующих инструментов. За счет этого минимизируется количество кода.
Для того чтобы написать простейшую программу Hello, World! на ассемблер требуется 14 строк кода. C++ заставит написать 8. Почти в два раза меньше, но все равно долго. Придется подключить заголовочный файл, библиотеки, указать функцию, а потом еще и компилировать [3]. То же самое на Python помещается в одну фразу - print Hello, World!. Одинаковый результат за меньшие усилия, при этом никаких компиляторов.
Языки моделирования могут быть разделены на три группы.
Языки описания архитектур (Architecture Description Language) - языки, предоставляющие средства для моделирования концептуальной программной архитектуры. Их также называют языками проектирования "в большом". Основными элементами таких языков, как правило, являются:
- компоненты, для которых могут быть определены поддерживаемые ими интерфейсы (порты);
- соединители, реализующие протоколы взаимодействия компонентов и также поддерживающие определенные интерфейсы (роли);
- архитектурные конфигурации, которые являются композицией компонентов и соединителей и могут быть представлены в виде иерархической структуры;
- ограничения на композицию компонентов и соединителей в рамках архитектурных конфигураций.
- Языки проектирования модулей (языки проектирования "в малом").
- Языки спецификаций.
Отдельно следует выделить еще две группы языков моделирования, имеющих большое значение для многих областей программирования.
- Языки моделирования данных.
- Языки моделирования знаний.
Эти две группы являются вспомогательными языками с точки зрения первых трех групп. Например, некоторый язык моделирования данных может быть составной частью некоторого языка спецификаций.
В настоящее время сложилось довольно много классификаций языков программирования. Далее мы приведем самые известные из них.
1.1 Классификация по поддерживаемым методологиям
Классификация языков по поддерживаемым методологиям появилась примерно в 80-х годах XX века. Мы выделили следующие основные группы языков:
1. Языки императивного программирования и две важнейшие подгруппы:
- языки структурного императивного программирования. Эти языки более известны под кратким именем - языки структурного программирования [6];
- языки императивного параллельного программирования. Эти языки также обычно называют кратко - языки параллельного программирования;
2. Языки объектно-ориентированного программирования;
- языки функционального программирования;
- языки логического программирования;
- языки программирования в ограничениях.
1.2 Классификация по принадлежности к семействам
Основная задача классификации языков по принадлежности к семействам - проследить их родственные взаимосвязи (фактически, построить генеалогическое дерево) с целью выяснения их влияния друг на друга и, следовательно, на характеристики и свойства языков. Это нечеткая классификация, которая может вызвать спорное отношение к ней. Выделим девять основных семейств.
- Семейство универсальных языков.
- Семейство уникальных языков.
- Семейство языков параллельного программирования.
- С-семейство языков.
- Pascal-семейство языков.
- Ada-семейство языков.
- Simula-семейство языков.
- Lisp-семейство языков.
- Prolog-семейство языков.
Процедурный С/С++
Языки С и C++ можно назвать двумя братьями. Есть утверждения о том, что это два абсолютно разных языка программирования, что неверно. С++ является некоторым усовершенствованием предыдущего языка, облегчающим написание программ и сохранившим прежний синтаксис.
С разрабатывали начиная с семидесятых годов прошлого века, в восьмидесятых приступили к созданию С++. На сегодняшний день последний можно назвать одним из самых популярных. Он настолько многофункционален, что с его помощью можно создать операционную систему, драйверы для устройств, игры и многое другое.
Говоря о достоинствах и недостатках этого языка, нельзя делать однозначные выводы. Есть его сторонники, а есть и беспощадные критики. Основой для споров является то, что в этом языке программирования нет ничего своего [2].
Его создатели, можно так сказать, объединили функции и возможности нескольких языков программирования в один. В итоге получился комплексный и масштабный инструмент программирования. Но если разбирать его по отдельно взятым функциям, то он уступает узкоспециализированным языкам.
Независимый и безопасный Java
Этот английский компьютерный язык разработали в компании Sun Microsystems. Благодаря тому, что написанная программа транслируется в особенный байт-код, она способна работать независимо от типа операционной системы или компьютерной архитектуры.
Согласно барометру популярности JavaScript стоит на первом месте. Используется для веб-программирования, создания клиентских приложений и интерактивной работы. Интерпретаторы JS встроены в каждый уважающий себя браузер, а с появлением Node, JavaScript стал использоваться для программирования серверов.
На сегодняшний день JavaScript – скриптовый язык, который используется на каждом сайте. Так как работает он прямо в браузере, не нужно загружать дополнительное ПО, достаточно текстового редактора. Это гибкий язык с простым синтаксисом, поэтому его часто рекомендуют для начинающих кодеров.
Это сделало язык Java самым популярным. Его можно встретить абсолютно во всей бытовой технике, банкоматах, городских автоматах и практически во всём, что связано с компьютерными технологиями. Именно на Java пишется большинство популярных приложений для смартфонов и телефонов.
Также у этого языка программирования достаточно высокий уровень безопасности. Выполнение программой действий в рамках своих полномочий контролируется виртуальной машиной, которая передаёт команды на устройства. Поэтому при попытке выполнить какую-либо другую задачу работа программы тут же прекращается [8].
Если говорить о простоте языка, то стоит отметить исследования, которые показали, что аналогичные операции пишутся в 1,2-2 раза дольше, чем на языке C++. Также в несколько раз больше ресурсов требуется на выполнение команд. Но команда производителя постоянно выпускает множество обновлений, которые сводят к минимуму все недостатки этого языка программирования.
создаёт проблемы по переносу кода из одной версии в другую.