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

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

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

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

Добавлен: 28.04.2023

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

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

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

ВВЕДЕНИЕ

Если задаться вопросом, с каким языком связано начало современной эпохи программирования, ответ будет прост – с языком С. Данный язык разработал Д.Ритч в 70х прошлого столетия для компьютера PDP 11 компании DEC (Digital Equipment Corporation), где применялась ОС UNIX. В то время именно язык С, несмотря на присутствие развитых определенных языков программирования, определил направление всего будущего программирования.

Язык С++ разработали в 80е годы в Bell Laboratories. По своей сути, С++ - это расширение языка С, его главное преимущество от своего предшественника, и от языков более высшего уровня в том, что в С++ присутствует поддержка объектно-ориентированного программирования, перегруженных операций, а также наличие возможности разработать полномасштабные windows-приложения.

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

Данные факторы способствовали пересмотру взглядов на сам процесс создания и распределения приложений на множестве ЭВМ различной архитектуры. Требования к переносимости создали необходимость отказаться от обычного принятого способа создания и доставки бинарных файлов, которые содержали машинные коды и, следовательно, были привязаны к определенной платформе. Тогда компания SunMicrosystems создает систему разработки Java, которая удовлетворяет всем вышеперечисленным требованиям.

Цель данной работы – ознакомиться с историей возникновения и развития языков программирования С и С++ и Java.

В ходе поставленной цели будут решены следующие задачи:

- изучено программирование на С и С++: дано понятие языков программирования С и С++ их краткая история развития и базовые понятия;

- изучено программирование Java: дано понятие языка программирования Java, 15 история и базовые понятия.

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

ГЛАВА.1 ПРОГРАММИРОВАНИЕ НА С И С++

1.1.Понятие языков программирования С и С++.

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


Язык С++ - замечательный язык, обладающий такими свойствами как эффективность, компактность, быстрота выполнения и переносимость программ.

А три вышеперечисленные методики программирования С++ делают язык очень мощным, постоянно развивающимся в общем русле эволюции средств программирования и информатики.

Тот факт, что С++ включает в себя как ООП, так и обобщенное программирование наряду с традиционным процедурным подходом, свидетельствует о том, что в С++ упор делается на практичность, а не на идеологию. В этом и состоит одна из причин успеха данного языка. Вторая причина успеха – это двойственность характера языка С++. Элементы языка С обеспечивают доступ к аппаратным средствам на низком уровне. А ООП и обобщенное программирование обеспечивает высокий уровень абстракции данных. Именно сочетанием этих свойств обусловлена популярность С++..

Конечно, язык С имеет и недостатки. Сюда можно отнести достаточно слабый контроль преобразования типов и незащищенность в процессе работе с адресами и динамической памятью, в результате чего в программе легко совершить ошибку, которую впоследствии сложно будет обнаружить. С другой стороны, эти недостатки и дали возможность создать исполняемый код, по эффективности приближающийся к программе на языке Ассемблера. В 1981 году появляется язык С++, который многие называют “С с классами“. Автор языка – Бъярн Страуструп[1] способствовал добавлению в привычный С методы объектного языка – классы, служащие для представления внутренней структуры объектов, механизм наследования и новые средства работы с динамической памятью и с вводом/выводом. Благодаря данным средствам появилась возможность не только писать объектно-ориентированные программы, но и создавать библиотеки шаблонов, классов - т.е. расширить инструментарий пользователя и сферу применения самого языка. С/С++ объединяет в себе вышесказанные достоинства С и новые возможности С++, предоставляя возможность “изнутри“ изучить принципы программирования высокого уровня. Язык С++ содержит в себе средства и методы как высокоуровневого, так и низкоуровневого программирования. К первым относятся классы, структуры, механизмы наследования и позднего связывания, шаблоны. Ко вторым можно отнести механизм указателей, работу с битами символов, работу с механизмом прерываний. Благодаря этому С++ весьма привлекательный для целей решения обширного круга задач.


1.2.Краткая история развития языков С и С++.

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

Язык программирования C++ широко используется для разработки программного обеспечения. А именно, создание разнообразных прикладных программ, разработка операционных систем, драйверов устройств, а также видео игр и многое другое. Существует несколько реализаций языка программирования C++ — как бесплатных, так и коммерческих. Их производят проекты: GNU, Microsoft и Embarcadero (Borland). Проект GNU — проект разработки свободного программного обеспечения (СПО).

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

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

В 1983 году произошло переименование языка из «Cи с классами»в «язык программирования C++».

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

Язык программирования C++ является свободным, то есть никто не обладает на него правами.

1.3.Базовые понятия языка.

Алфавит языка представляет собой набор знаков (символов), который допустим в данном языке. Такое определение справедливо и для языка человека, и для языков программирования.

В языке С++ алфавит можно условно разделить на группы знаков[2]:


  • прописные и строчные латинские буквы (A, B,..., Z, a, b,..., z);
  • арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
  • специальные знаки: " , { } | [ ] ( ) + - / % \ ; '. : ? < = > _ ! & * # ~ ^
  • пробельные символы — это символы пробела, табуляции, перехода на новую строку.

Идентификатор — это имя какого-либо объекта программы. Например, имена дают переменным, функциям, классам и т.д. Имя может состоять из латинских букв, цифр и символа _ (символ подчеркивания). Начинаться имя может с буквы или символа подчеркивания, но не с цифры. Важно учитывать, что прописные и строчные латинские буквы, используемые в идентификаторах, считаются различными (это требование является общим для всех С-подобных языков:С, С++, С#, Java, Perl и многих других. В таких же языках, как Fortran, Pascal, Basic не делается различия в именах между прописными и строчными латинскими буквами).

Пример допустимых идентификаторов:

Alfa Alfa ALFA x _x a25 i_tek

Обратите внимание: здесь alfa, Alfa и ALFA — разные имена.

Имена, подобные приведённым ниже, ни в коем случае нельзя использовать в качестве идентификаторов:

25a (начинается с цифры);

Альфа (кириллица не допустима).

Общепринятые рекомендации по использованию имён:

  • желательно, чтобы имя объекта было осмысленным;
  • в качестве имён констант используйте имена, состоящие из прописных латинских букв, например: PI, GAMMA;
  • не используйте имена, начинающиеся с символа подчеркивания, так как такие имена часто используют разработчики компиляторов для своих целей;
  • чем больше область видимости имени, тем более выразительным и длинным должно быть имя. Короткие однобуквенные или двухбуквенные имена допустимы только внутри небольших блоков программы, внутри коротких функций пользователя.

Длина имени в большинстве случаев не ограничена, но на длину внешних имён (имён библиотек, функций) может накладывать ограничение операционная система.

Ключевые (зарезервированные) слова — это слова, которые можно использовать в программе только по их прямому назначению, т.е. эти имена нельзя использовать для обозначения, например, своих переменных[3].

В языке С++ имеется 63 ключевых слова. Все они приведены в таблице:

Таблица 1

Ключевые слова в языке С++

asm

do

if

return

typedef

auto

double

inline

short

typeid

bool

dynamic_cast

int

signed

typename

break

else

long

sizeof

union

case

enum

mutable

static

unsigned

catch

explicit

namespace

static_cast

using

char

export

new

struct

virtual

class

extern

operator

switch

void

const

false

private

template

volatile

const_cast

float

protected

this

wchar_t

continue

for

public

throw

while

default

friend

register

true

delete

goto

reinterpret_cast

try


Константы — это неизменяемые величины. В языке C++ имеется пять типов констант: целые, вещественные, символьные, строковые и булевые.

1. Целые константы. Правила языка допускают использование трёх видов целых констант: десятичных, шестнадцатеричных и восьмеричных. Основание определяется префиксом в записи константы. Для десятичных констант префикс не нужен.

Десятичное целое — это последовательность десятичных цифр, начинающаяся не с нуля (если это не число нуль), например:

100 25 0 2009

Восьмеричное целое — это последовательность цифр, начинающаяся с 0 и не содержащая десятичных цифр старше 7, например:

016 — восьмеричное представление десятичного целого 14;

025 — восьмеричное представление десятичного целого 21.

Шестнадцатеричное целое — это последовательность шестнадцатеричных цифр (0, 1,…, 9, А, B, С, D, Е, F), перед которой записаны символы 0х или 0Х, например:

0х25 — шестнадцатеричное представление десятичного целого 37;

0ХFF — шестнадцатеричное представление десятичного целого 255.

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

125. 3.14159265 1.0е-5 .314159Е25 0.0

3. Символы, или символьные константы. Для изображения отдельных знаков, имеющих индивидуальные внутренние коды, используются символьные константы. Каждая символьная константа — это лексема, которая состоит из изображения символа и ограничивающих апострофов. Например: 'A', 'a', '5', '?', и т.д.

Внутри апострофов можно записать любой символ, изображаемый на дисплее или принтере в текстовом режиме. Однако в компьютере используются и коды, не имеющие графического представления на экране дисплея, клавиатуре или принтере. Примерами таких кодов служит код перехода курсора дисплея на новую строку или код возврата каретки (возврат курсора к началу текущей строки). Для изображения в программе соответствующих символьных констант используются комбинации из нескольких символов, имеющих графическое представление. Каждая такая комбинация начинается с символа '\' (обратная косая черта — backslash). Такие наборы литер, начинающиеся с символа '\', в литературе по языкам C и С++ называют управляющими последовательностями. Ниже приводится их список: