Файл: История возникновения и развития языка программирования Си (С++) и Java (Появление языка C ).pdf

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

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

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

Добавлен: 23.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

Существует множество языков программирования, таких как: "Basic", "Cg", "Pascal", "C++", "Java" и так далее. Каждый язык применяется по своему направлению.

Актуальность данной темы состоит в том, что в программировании существует большая масса языков программирования и с каждым годом их цифра растет, но такие языки как: "C", "C++", "Java" все ещё остаются актуальными и широко используются, так же как и программисты, работающие на данных языках программирования. Для успешной работы на данных языках программирования, необходимо знать историю их создания и развития.

Цель данной работы – изучить историю создания и развития языков программирования "C", "C++" и Java.

В связи с этим поставлены следующие задачи:

1) Изучить историю возникновения языка C (C++);

2) Определить основные этапы развития языка C (C++) ;

3) Рассмотреть историю возникновения языка Java;

4) Представить основные этапы развития языка Java;

5) Рассмотреть использование языков программирования в современном мире.

Объект исследования: Языки программирования Си (C++) и Java.

Предмет исследования: История, структура, потенциал таких языков программирования, как Си (C++) и Java.

1. ИСТОРИЯ ВОЗНИКНОВЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ C (C++)

1.1. Появление языка C


В наше время очень трудно найти специалиста, который не знал бы такого языка как C. Данный язык, по сути, является компактным языком программирования общего назначения, созданный Деннисом Макалистером Ричи (Dennis MacAlistair Ritchie), в 1972 году для операционной системы Unix, на компьютере Digital Eauipment Corporartion PDP-11.

Однако, данный язык не привязан конкретно к одной операционной системе или к определенной машине. Язык C, является языком "системного программирования", так как удобен для написания операционных систем и компиляторов, оказалось, что на нем можно писать и программы другого профиля и довольно большие.

[1]Язык был назван в честь его предшественника - языка B, представленного в 1970 году. Так, многие важные моменты языка С были взяты из языка B, разработанного Кеном Томпсоном (Ken Thompson) в 1970 году, так же идеи были взяты и из языка BCPL, автором которого является Мартин Ричардс (Martin Richards). BCPL был создан в 1966 году в Кембриджском университете. Однако влияние языка BCPL, было косвенным - через язык B.

Языки B и BCPL являются "бестиповыми языками". В этом их главное отличие от языка C, который в свою очередь обеспечивает разнообразие типов данных. Из базовых типов можно выделить: символы, а также целые числа с плавающей точкой различных размеров. Формирование выражений осуществляется за счет операторов и операндов. Из указателей, структур, массивов и объединений возможно получить целую иерархию производных типов данных.

C, B и BCPL входят в группу традиционных процедурных языков, а именно: Fortran, Algol 60. Они ориентированы на системное программирование, имеют небольшой размер и описание, также легко поддаются трансляции простыми компиляторами. Они «близки к машине» в том, что вводимые ими абстракции легко связываются и взаимодействуют с конкретными типами данных и операциями, предоставляемыми обычными компьютерами, а для того, чтобы произвести ввод и вывод данных, и взаимодействие с системой они задействуют библиотечные подпрограммы.

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

Во многом языки BCPL, B и C различаются синтаксически, но в основном они похожи. Программы состоят из последовательности глобальных деклараций и объявлений функций (процедур). В BCPL процедуры могут быть вложенными, но не могут ссылаться на нестатические объекты, определённые в содержащих их процедурах. B и C избегают такого ограничения, вводя более строгое: не имеют вложенных процедур.


Каждый из языков (за исключением самых древних версий B) поддерживает раздельную компиляцию и предоставляет средства для включения текста из именованных файлов.

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

[2]Некоторые структурные различия между BCPL и B происходят из-за ограничений промежуточной памяти. Например, декларации BCPL могут иметь такую форму:

let P1 be команда

and P2 be команда

and P3 be команда

. . .

где текст программы представляет собой команды, содержащие всю процедуру. Поддекларации, объединённые при помощи and обрабатываются одновременно, поэтому имя P3известно внутри процедуры P1. Подобно этому BCPL может упаковывать группу деклараций и выражений в выражение, которое возвращает значение, например

E1:= valof (декларации ; команды ; resultis E2 ) + 1

[3]Компилятор BCPL без труда обработает такие конструкции, сохранив и проанализировав разобранное представление всей программы в памяти до вывода результата. Ограничения по памяти для компилятора B требовали однопроходной техники, когда вывод производится как можно раньше, и модификация синтаксиса, которая делает это возможным, была перенесена в C.

Так, в конце 1973 годы были заложены основы языка C.

1.2. Развитие языка C (C++)

Язык C начал обретать популярность и стал использоваться на различных типах компьютеров. Но такой успех привел ко многим вариациям языка. Они были похожи, но, к сожалению, были несовместимы между собой. Данный факт стал серьёзной проблемой для разработчиков программ, так как они нуждались в написании совместных программ, которые работали бы на нескольких платформах. Требовалась стандартная версия языка C.

Так, в 1983 году ANSI[4] создал технический комитет под названием: "X3J11" для создания стандарта языка C, с целью обеспечить недвусмысленное и машинно-независимое определение языка. Стандарт был утвержден в 1989 году. ISO[5] и ANSI скооперировались, чтобы стандартизировать C в международном масштабе и совместный стандарт был опубликован в 1990 году и носил название: "ANSI/ISO 9899:1990.


Язык C имел большой объектно-ориентированный потенциал, который высвободил Бьерн Страуструп путем перенесения возможностей классов Simula 67 в C.

Первым вариантом названия "нового" языка было: "C с классами", но потом, он стал называться C++. C++ был разработан в Bell Labs, однако, позже был перенесен в другие индустрии и корпорации и достиг большой популярности. По прошествии стольких лет, C++ до сих пор остается востребованным языком в мире, унаследовав как хорошие, так и плохие стороны языка C.

[6]Бьерн Страуструп: "Я придумал C++, записал его первоначальное определение и выполнил первую реализацию. Я выбрал и сформулировал критерии проектирования C++, разработал его основные возможности и отвечал за судьбу предложений по расширению языка в комитете по стандартизации C++", - пишет автор самого популярного языка программирования. - "Язык C++ многим обязан языку C, и язык C остается подмножеством языка C++ (но в C++ устранены несколько серьезных брешей системы типов C). Я также сохранил средства C, которые являются достаточно низкоуровневыми, чтобы справляться с самыми критическими системными задачами. Язык C, в свою очередь многим обязан своему предшественнику, BCPL; кстати, стиль комментариев // был взят в C++ из BCPL. Другим основным источником вдохновения был язык Simula67. Концепция классов (с производными классами и виртуальными функциями) была позаимствована из него. Средства перегрузки операторов и возможность помещения объявлений в любом месте, где может быть записана инструкция, напоминает Algol68. "

Само название "C++" было выдумано Риком Масситти. Данное название указывает на эволюционную природу перехода к нему от C. "++" в данном случае, является ничем иным, как операцией приращения в C. Названия D язык не получил, поскольку он является расширением C и в нем не делается попыток исцеляться от проблем путем выбрасывания различных особенностей.

[7]Изначально язык программирования C++ был разработан, чтобы автору и его друзьям не приходилось программировать на ассемблере, C или других современных языках высокого уровня. Его главной целью было сделать написание хороших программ более простым и приятным для отдельного программиста. Плана разработки C++ на бумаге никогда не было; проект, документация и реализация двигались одновременно. Конечно, внешний интерфейс C++ был написан на C++. Никогда не существовало "Проекта C++" и "Комитета по разработке C++". Поэтому C++ развивался и продолжает развиваться во всех направлениях, чтобы справляться со сложностями, с которыми сталкиваются пользователи, а также в процессе дискуссий автора с его друзьями и коллегами.


В языке С++ полностью поддерживаются принципы объектно-ориентированного программирования, включая три кита, на которых оно стоит: инкапсуляцию, наследование и полиморфизм. Инкапсуляция в С++ поддерживается посредством создания нестандартных (пользовательских) типов данных, называемых классами. Язык С++ поддерживает наследование. Это значит, что можно объявить новый тип данных (класс), который является расширением существующего.

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

[8]Язык C++ стал основой для многих языков, одним из таких языков является язык - Java.

2. ИСТОРИЯ ВОЗНИКНОВЕНИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ JAVA

2.1. Возникновение языка Java

[9]Годом начала развития языка Java можно считать 1991 год. Одним из создателей данного языка является Джеймс Гослинг (James Gosling).

Во время изучения перспектив на рынке бытовой электроники компания Sun создала небольшую группу инженеров. На тот момент сеть World Wide Web была только в проектах, послужившая в будущем, трамплином для взлета популярности языка Java.

"Группе была поставлена задача создать распределенную систему, которую можно было бы в качестве современной программной технологии продавать производителям бытовой электроники," - вспоминает Гослинг.

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