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

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

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

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

Добавлен: 01.04.2023

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

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

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

Введение

Задаваясь вопросом, какой язык положил начало современной эпохи программирования, то ответ будет явный - язык С (по-русски произносится как «Си»). Язык С разработал Деннис Ритчч в 70-е годы ХХв. для компьютера PDP 11 компании Digital Equipment Corporation (DEC), где применялась операционная система “UNIX”. Именно язык С определил направление всего будущего программирования.

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

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

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

Цель работы: изучить историю возникновения и развития языков программирования С(С++) и Java.

Глава 1 Программирование на С и С++

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

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

Посмотрим на особенности языка С.

1) Переносимость. Компилятор создан для всех ОС и аппаратных платформ, что позволяет скомпилировать и запустить программу, практически, всюду.

2) Мощность. Достигается при помощи за использования большого числа различных библиотек.


3) Компактность. Язык содержит небольшое количество встроенных средств и ключевых слов.

4) Лаконичность. Запись алгоритма выразительная и краткая.

5) Эффективность. Заключается в том, что программы, которые написаны на языке С имеют небольшой размер и, одновременно, большую скорость исполнения.

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

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

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

Язык С был разработан Деннисом Ритчи, сотрудником фирмы AT&T из подразделения Bell Labs в 1972г. во время совместной работы с Кеном Томпсоном над ОС UNIX. Прообразом С послужил язык Би (B), разработанный К. Томпсоном. Также большое влияние на С имел язык BCPL, автором которого был М. Ричардсоном.

Разрабатывался С как инструмент для системного программирования. Однако, благодаря сочетанию лаконичности конструкций и богатства выразительных возможностей, язык С получил быстрое распространение и стал одним из самых популярных языков как прикладного, так и системного программирования. Компиляторы языка С работоспособны почти на всех типах современных ПК в операционных системах Windows, Mac OS, Linux и многих других.


В отличие от многих других языков программирования (Ада, Алгол-60 и т.д.), вступавших в силу только после принятия соответствующих стандартов, язык С сразу создавался с целью применения его как рабочего инструмента, который не имел задачи в широком распространении. На язык С не существовало стандарта до 1989 года. В роли формального описания авторы компиляторов применяли книгу Б. Кернигана и Д. Ритчи, которая вышла в 1978 году в США ( на русский язык она была переведена в 1985 году). Роль этой книги как неформального стандарта для языка С осталась и по сей день. Не случайно в литературе и различной документации по компиляторам ссылка на эту работу обозначается специальным сокращением K&R.

Первый официальный стандарт языка С приняли в 1989 году в Американском национальном институте стандартов (American National Standards Institute- ANSI). На практике эту версию языка обозначают так: С89. Также, данный стандарт приняла и Международная организация стандартов (International Standarts Organization -- ISO). А в 1995г. стандарт С89 был незначительно изменен.

Язык С++ (по-русски читается «Си-Плюс-Плюс») как развитие языка С, появился в 1979 году. Его автором стал Бьерн Страуструп, в то время работавший в BellLabs. Разработка и усовершенствование языка С++ потребовал от его создателя значительных усилий в течении 80-х - 90-х годов. Как итог, в 1998г. был принят ANSI/ISO-стандарт для языка С++. Если говорить проще, язык С++ - это объектно-ориентированная, улучшенная версия языка С. С++ построен на основе версии С89, которая содержала в себе все изменения 1995г. Теперь версию С89 называют С-подмножеством языка С++. Несмотря на то, что язык С++ создавался как набор объектно-ориентированных расширений для языка С, в дальнейшем он развился как самостоятельный язык программирования. В наше время его новые средства почти в два раза увеличили объем исходного языка. Не нужно доказательств, что С++ является одним из самых мощных компьютерных языков, разработанных до сих пор.

Второй ANSI/ISO - стандарт для языка С приняли в 1999 году. Эта версия называется С99 и включает набор усовершенствований и новых средств. Некоторые из этих «новых» средств пришли из языка С++, а другие - представляют из себя совершенно иные, новые возможности. Таким образом, отдельные элементы, добавленные в С99, несовместимы с языком С++, что значит, что с появлением версии С99 стандарт языка С больше не считается подмножеством языка С++. К счастью, причина многих «несовместимостей» связана со средствами специального назначения, которые можно запросто решить. Как итог, и этот вариант языка С дает возможность создавать программы, которые будут совместимы с языком С++.


В последующие годы велись работы с целью разрабатывания новых стандартов языков С и С++, которые завершились в конце 2011 года.

В октябре 2011 года появился новый стандарт языка С++. Его обозначение- C++11 или ISO/IEC 14882:2011. А в декабре 2011г. принимают новый стандарт и для языка С. Эту версию условно называют С11 или ISO/IEC 9899:2011. Часть её возможностей уже сейчас поддерживается компилятором GCC.

Сегодня существует очень огромное количество языков программирования, в основу которых лег язык С. Наиболее известные из них, это языки C++ Бьярни Страуструпа, Java фирмы Sun и С# (читается Си-Шарп) фирмы Microsoft.

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

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

В языке С++ алфавит можно условно разделить на группы знаковДжесс либерти, «Освой самостоятельно C++ за 21 день», изд. Дом «Вильямс», Москва - Санкт-Петербург - Киев, 2001.- С.43.:

· прописные и строчные латинские буквы (A-Z; a-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;

·Не используйте имена, начинающиеся с символа подчеркивания, так как такие имена часто используют разработчики компиляторов для своих целей;

· Чем больше область видимости имени, тем более выразительным и длинным должно быть имя. Короткие однобуквенные или двухбуквенные имена допустимы только внутри небольших блоков программы, внутри коротких функций пользователя.

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

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

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

Таблица 1

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

asm

do

if

else

typedef

auto

double

inline

short

typeid

bool

dynamic_cast

int

signed

typename

break

return

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

try

private

template

volatile

const_cast

float

protected

this

wchar_t

continue

for

public

throw

while

default

friend

register

true

false

delete

goto

reinterpret_cast