Файл: Язык программирования (ЯП).pdf

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

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

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

Добавлен: 04.04.2023

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

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

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

Введение

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

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

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

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

1. Языки программирования (ЯП)

Программирование – это искусство создавать программные продукты, которые написаны на языке программирования.

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

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


Задача данной работы – это рассмотрение языков программирования высокого уровня, поэтому, минуя языки низкого уровня, перейдем к обзору языков высокого уровня.

Если вкратце, то про языки высокого уровня можно сказать, что они более понятны человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер. В основном достаточно просто перекомпилировать программу под определенную компьютерную архитектурную и операционную систему. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше. Значительно сокращается время разработки программы, что особенно важно при работе над большими программными проектами.

К языкам программирования высокого уровня относятся:

  • C
  • C++
  • C#
  • Pascal
  • Delphi
  • Java
  • Java Script
  • Python

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

2. Язык программирования «С»

2.1 История создания

Язык «С» был создан в начале 70х годов, когда Кен Томпсон и Дэннис Ритчи из «Bell Labs» разрабатывали операционную систему UNDC. Сначала они создали часть компилятора «С», затем использовали ее для компиляции остальной части компилятора «С» и, наконец, применили полученный в результате компилятор для компиляции UNIX. Операционная система UNIX первоначально распространялась в исходных кодах на «С» среди университетов и лабораторий, а получатель мог откомпилировать исходный код на «С» в машинный код с помощью подходящего компилятора «С».

Распространение исходного кода сделало операционную систему UNIX уникальной; программист мог изменить операционную систему, а исходный код мог быть перенесен с одной аппаратной платформы на другую. Сегодня стандарт POSIX определяет стандартный набор системных вызовов UNIX, доступных в «С», которые должны быть реализованы в версиях UNIX, являющихся POSIX-совместимыми.


Широкое распространение языка «С» на различных типах компьютеров (иногда называемых аппаратными платформами) привело, к сожалению, ко многим вариациям языка. Они были похожи, но несовместимы друг с другом. Это было серьезной проблемой для разработчиков программ, нуждавшихся в написании совместимых программ, которые можно было бы выполнять на нескольких платформах.

В 1983г. ANSI (Американский Национальный Комитет Стандартов) сформировал технический комитет X3J11 для создания стандарта языка «С» (чтобы "обеспечить недвусмысленное и машинно-независимое определение языка"). В 1989 стандарт был утвержден. ANSI скооперировался с ISO (Международной Организацией Стандартов), чтобы стандартизовать «С» в международном масштабе.

Совместный стандарт был опубликован в 1990 году и назван ANSI/ISO 9899:1990. Этот стандарт совершенствуется до сих пор и поддерживается большинством фирм разработчиков компиляторов.

2.2 Основные особенности языка

По сравнению с более ранним языком – BCPL, «С» был улучшен путем добавления типов данных определенной длины. Например, тип данных int может применяться для создания переменной с определенным числом битов (обычно 16), в то время как тип данных long может использоваться для создания целой переменной с большим числом битов (обычно 32). В отличие от других языков высокого уровня, «С» может работать с адресами памяти напрямую с помощью указателей и ссылок.

Поскольку «С» сохранил способность прямого доступа к аппаратному обеспечению, его часто относят к языкам среднего уровня или в шутку называют "мобильным языком ассемблера".

Что касается грамматики и синтаксиса, то «С» является структурным языком программирования. В то время как многие современные программисты мыслят в категориях классов и объектов, программисты на «С» думают в категориях процедур и функций. В «С» можно определить собственные абстрактные типы данных, используя ключевое слово struct. Аналогично можно описывать собственные целые типы (перечисления) и давать другие названия существующим типам данных при помощи ключевого слова typedef. В этом смысле «С» является структурным языком с зародышами объектно-ориентированного программирования.


Язык программирования «С» отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, чтобы каждой элементарной составляющей программы после компиляции соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения. Однопроходный компилятор компилирует программу, не возвращаясь назад к уже обработанному тексту. Поэтому использованию функций и переменных должно предшествовать их объявление. Код на «С» можно легко писать на низком уровне абстракции, почти как на ассемблере. «С» часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам. Однако, в строгой классификации, он является языком высокого уровня.

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

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

В то же время в «С» отсутствуют:

  • вложенные функции;
  • сопрограммы;
  • средства автоматического управления памятью;
  • средства объектно-ориентированного программирования;
  • средства функционального программирования.

После появления язык «С» был хорошо принят, потому что он позволял быстро создавать компиляторы для новых платформ, а также позволял программистам довольно точно представлять, как выполняются их программы. Благодаря этому программы, написанные на «С», эффективнее написанных на многих других языках.


Одним из последствий высокой эффективности и переносимости «С» стало то, что многие компиляторы, интерпретаторы и библиотеки других языков высокого уровня часто написаны на языке «С».

2.3 Область применения

Первоначально «С» задумывался как заменитель Ассемблера для написания операционных систем. Текст операционной системы оказывался легко переносимым с одной платформы на другую. Первой операционной системой, написанной практически целиком на «С», была система Unix. В настоящее время почти все используемые операционные системы написаны на «С». Тем не менее, область применения языка «С» не ограничилась разработкой операционных систем. «С» имеется множество систем программирования, позволяющих создавать программы, работающие в среде DOS, Windows и др. Он оказался очень удобен в программах обработки текстов и изображений, в научных и инженерных расчетах.

3. Язык программирования «С++»

3.1 История создания

Язык «C++» – компилируемый язык программирования общего назначения, сочетает свойства как высокоуровневых, так и низкоуровневых языков программирования. В сравнении с его предшественником, языком программирования «C», наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «язык программирования C++» происходит от языка программирования «C», в котором унарный оператор «++» обозначает инкремент переменной.

Язык программирования «С++» был создан в начале 1980-х годов, его создателем стал сотрудник фирмы Bell Laboratories – Бьёрн Страуструп.

Он придумал ряд усовершенствований к языку программирования «C», для собственных нужд. Т. е. изначально не планировалось создания языка программирования «С++». Ранние версии языка «С++», известные под именем «Cи с классами», начали появляться с 1980 года. Страуструп добавил возможность работы с классами и объектами, тем самым зародил предпосылки нового, основанного на синтаксисе «С», языка программирования. Синтаксис «C++» был основан на синтаксисе «C», так как Бьёрн Страуструп стремился сохранить совместимость с языком «C».