Файл: История возникновения и развития языков программирования Си (С++) и Java (Программирование на С и С++).pdf
Добавлен: 30.03.2023
Просмотров: 332
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1 Программирование на С и С++
1.1 Языки программирования С и С++
1.2 Краткая история возникновения и развития языков С и С++
2.1 Понятие языка программирования Java
2.2 Краткая история возникновения языка программирования Java
ГЛАВА 3 Языки программирования С (С++) и Java в современном мире
3.1 С++, Java и другие языки программирования. Их область применения
Константы — это неизменяемые величины. В языке C++ имеется пять типов констант: целые, вещественные, символьные, строковые и булевые.
1. Целые константы. Правила языка допускают использование трёх видов целых констант: десятичных, шестнадцатеричных и восьмеричных. Основание определяется префиксом в записи константы. Для десятичных констант префикс не нужен.
Десятичное целое — это последовательность десятичных цифр, начинающаяся не с нуля (если это не число нуль)
11 221 0 2009213
Восьмеричное целое — это последовательность цифр, начинающаяся с 0 и не содержащая десятичных цифр старше 7,
024 — восьмеричное представление десятичного целого 20;
011 — восьмеричное представление десятичного целого 9.
Шестнадцатеричное целое — это последовательность шестнадцатеричных цифр (0, 1,…, 9, А, B, С, D, Е, F), перед которой записаны символы 0х.
0х4А — шестнадцатеричное представление десятичного целого 74;
0х1В — шестнадцатеричное представление десятичного целого 27.
2.Вещественные константы. Для представления вещественных чисел используются константы, представляемые в памяти компьютера в форме с плавающей точкой. Каждая вещественная константа состоит из целой части (десятичная целая константа); десятичная точка; дробная часть (десятичная целая константа); признак показателя "е"; показатель десятичной степени. При записи констант с плавающей точкой могут опускаться целая или дробная часть; десятичная точка или символ экспоненты с показателем степени (но не одновременно).
125 9.8 25.5е-5 1.126159 Е25 1.1
3. Символы, или символьные константы. Для изображения отдельных знаков, имеющих индивидуальные внутренние коды, используются символьные константы. Каждая символьная константа — это лексема, состоящая из изображения символа и ограничивающих апострофов.
'A', 'a', '5', '?'.
Внутри апострофов можно записать любой символ, изображаемый на дисплее в текстовом режиме. Однако в компьютере используются коды, не имеющие графического представления на экране дисплея, клавиатуре или принтере. Примерами таких кодов служит код перехода курсора дисплея на новую строку или код возврата каретки (возврат курсора к началу текущей строки). Для изображения в программе соответствующих символьных констант используются комбинации из нескольких символов, имеющих графическое представление. Каждая такая комбинация начинается с символа '\' “backslash”. Такие наборы символов, начинающиеся с символа '\', в языках C и С++ называют управляющими последовательностями. Ниже приводится их список:
'\n' — перевод строки;
'\0' — нулевой символ;
'\a' — сигнал-звонок;
'\b' — возврат на одну позицию (на один символ);
'\f' — перевод (прогон) страницы;
'\\' — обратная косая черта \;
'\'' — апостроф (одиночная кавычка);
'\"' — кавычка (символ двойной кавычки);
'\v' — вертикальная табуляция;
'\t' — горизонтальная табуляция;
'\r' — возврат каретки (курсора) к началу строки;
'\?' — знак вопроса.
Обращаем внимание на то, что перечисленные константы изображаются несколькими символами, а обозначают одну символьную константу, имеющую индивидуальный двоичный код. Управляющие последовательности являются частным случаем эскейп-последовательностей (ESCAPE-sequence), к которым также относятся символы вида '\ddd' либо'\xhh' или '\Xhh', где
'\xhh' или '\Xhh' — шестнадцатеричное представление любой символьной константы. h — шестнадцатеричная цифра (от 0 до F). Например, '\x0b', '\x1A', и т.д.
'\ddd' — восьмеричный аналог представления любой символьной константы где d — восьмеричная цифра (от 0 до 7). Пример, '\023' или '\113'.
Символьная константа имеет целый тип, т.е. символы можно использовать в качестве целочисленных операндов.
4. Строки, строковые константы. Строки не относятся к константам языка С++, а являются отдельным типом его символов. Для них в литературе используется аналогичное: “строковые литералы”. Строковая константа определяется как последовательность символов, заключенная в двойные кавычки:
"Строчка"
Среди символов строки могут быть эскейп-последовательности, т.е. совокупность знаков, соответствующие не изображаемым символам, или же, символам, задаваемым их внутренними кодами. В этом случае, как и в представлениях отдельных символьных констант, их изображения начинаются с обратной косой черты '\':
"\n Группы \n Делятся на\n Первые \n Вторые \n Третьи \0"
Правила представления строковых констант в памяти компьютера.
1) Все символы строки размещаются друг за другом, и каждый символ (вместе с представленный эскейп-последовательностью) занимает ровно 1 байт.
2) В конце записи строковой константы помещается символ '\0'.
Итак, количество выделяемой памяти компьютера для представления значения строки на единицу больше, чем число символов в записи этой строковой константы:
"7 байт"
Внимание. Длина символьной константы, например, 'В' равна 1 байту, а длина строки "В" равна 2 байтам, ведь строка заканчивается символом ('\0').
5.Булевые константы. Имеется два значения: истина и ложь.
Комментарии
Комментарий — это последовательность любых символов, которая используется в тексте алгоритма для пояснений. Зачастую в тексте программы делают вводный комментарий к программе в целом (её цель, кто создал, когда и т.д.), а после дают комментарии к отдельным фрагментам текста алгоритма, для пояснения смысла, который может быть очевиден не всем. Важно объяснить не только то, что делается, но и зачем это делается.
Комментарии игнорируются компилятором, они имеют значение только для пользователя. В языке С++ есть два вида комментариев: однострочные и многострочные.
Однострочный комментарий начинается с символов //. Всё, что записано после этих символов и до конца строки, считается комментарием.
// Это комментарий конец комментария
Многострочный комментарий начинается парой символов /* и заканчивается символами */. Текст этого комментария может занимать одну или несколько строк. Всё, что находится между знаками /* и */ , считается комментарием.
/* Начало комментария
1 2 3 4 5
6 7 8 9 10
конец */
Таким образом, базовые понятия об этом языке программирования пройдены, изучена его структура, ключевые слова, символы и т.д.
ГЛАВА 2 Программирование Java
2.1 Понятие языка программирования Java
Java - язык программирования, в котором приложения, написанные на нём, компилируются в специальный байт-код, из-за чего они могут работать на любой виртуальной Java-машине независимо от архитектуры ПК. Дата официального релиза языка - 23 мая 1995 года. Сегодня технология Java предоставляет средства для превращения Web-страниц в интерактивные динамические документы, а также даёт возможность создания распределенных приложений.
"Группе была поставлена задача создать распределенную систему…[6]" - вспоминает Гослинг, рассказывая о том, как появилась идея концепции работы языка, способного функционировать на любой ЭВМ.
Когда Гослинг работал в сфере бытовой электроники, он увидел, какую ценность имеют для потребителя показатели - надежность, стоимость, соответствие стандартам и простота, и перенёс их в концепцию языка, ведь обычным потребителям нужны дешевые, простые в применении и надежные устройства, нежели у опытных пользователей рабочих станций есть интерес к большой мощности, и они достаточно терпимы к высоким ценам, необходимости длительного обучения и присутствию различных ошибок, с которыми они могут совладать, поэтому, чтобы быть конкурентоспособным на рынке бытовой электроники, фирмы должны воспринимать процессоры как обычный товар, который всегда можно заменить другим, доступным каждому человеку, и предоставить возможность обеспечить совместимость и соблюдение стандартов, которые установлены на устройства длительного использования.
На русском языке образовались две разные версии произношения данного языка - англоязычная джава» и народная «ява», которая соответствует произношению названия острова Ява. Компания Sun придерживается первого варианта - Java. Бывают случаи применения жаргонного слова «Жаба»
Java – это название не только языка, но и платформы для создания и исполнения программ, написанные на этом языке.
Изначально язык назывался Oak («дуб») и разрабатывался, как было сказано ранее, Гослингом для программирования бытовых электронных устройств, а после, он был переименован в Java и стал применяться для написания клиентских приложений и серверного ПО. Название было дано в честь марки кофе Java, который так любили некоторые программисты из команды разработчиков, поэтому на официальной эмблеме языка изображена чашечка кофе. Существует, конечно, и другая версия происхождения названия Java, а именно – сленговое обозначение кофе (по названию острова, где производится популярный кофе)
Изначально Гослинг не хотел связывать разработку с определенной платформой, поэтому он начал с расширения компилятора С++. Результатом чего стало создания языка Oak (позже его название было изменено на Java). "В конце концов, язык - это средство, а не самоцель, - поясняет Гослинг. - Мы не собирались зацикливаться на С++, а хотели разработать систему, которая позволяла бы создавать большую распределенную разнородную сеть из бытовых электронных устройств, способных взаимодействовать между собой[7]".
В 1992 году, предприняв, по словам того времени, инженера проекта Патрика Нотона, "огромные усилия по доработке Oak и других компонентов", коллектив проекта "Green" выпустил "*7" устройство типа PDA, названное Гослингом "ручным пультом дистанционного управления".
"За полтора года мы сделали столько же, сколько иные большие коллективы в Sun делали за три года, - с гордостью отметил Нотон. - Операционную систему GreenOS, язык, инструментарий, пользовательский интерфейс, новую аппаратную платформу, три заказных микросхемы... и каждый этап был связан с риском, так как мы использовали совершенно новые технологии".
30-летний Нотон до прихода в команду Green возглавлял проект в компании Sun по разработке пользовательской среды “OpenWindow”.
Малогабаритность устройства *7 выставляла в выгодном свете компактность и эффективность кода, который являлся ядром технологии. Этот продукт широко демонстрировали в Sun, однако, что случилось с ним потом, осталось неизвестным.
Гослинг считал, что браузер является компонентом, который "создает рынок" для всех инструментальных средств, серверов и сред разработки. И именно язык Java во всех этих средствах играет центральную, главенствующую роль. До появления Java страница WWW по факту представляла собой листок бумаги. С появлением Java браузер задает структуру, даёт возможность развитию веб-страниц, из-за чего расширяет возможности провайдеров содержания.
Гослинг полагал, что технология Java предоставит людям возможность переосмыслить роль вычислений клиент-сервер, так как в стандартной модели нельзя выйти за границу, то в этой модели трудно создавать распределенные системы и осуществлять их модернизацию, в частности, если их элементы имеют разное происхождение, указывает Гослинг, но если иметь инструментальные средства как Java и Web, мы можем получить изначально организованную систему, ведь если вы создали на языке Java клиентскую часть приложения, его запуск сводится всего лишь к переходу на соответствующую страницу. Установка примитивна – поместите необходимое ПО на Web-сервер. И не возникнет никаких проблем с переносом, в силу того, что везде одинаковая версия приложения".
Алгоритмы программ на Java транслируются в байт-код, которые выполняет виртуальная машина Java (JVM) - программа, которая обрабатывает байтовый код и передает далее инструкции оборудованию в роли интерпретатора.
Достоинство подобного способа выполнения программ в том, что существует полная независимость байт-кода от ОС и оборудования, что дает возможность выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.
Другое немаловажное достоинство технологии Java можно отметить полный контроль исполнения программы виртуальной машиной.
Операции, превышающие лимиты установленных полномочий программы - будь то попытка несанкционированного доступа к данным или соединения с другим ПК - приводят к немедленному прерыванию.
Недостатком данной концепции виртуальной машины является то, что исполнение байт-кода виртуальной машиной может достаточно снизить производительность программ, которые реализованы на языке Java. Но прогресс не стоит на месте и в язык вносятся коррективы, призванные улучшить скорость выполнения программ на Java:
- применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с одновременным сохранением версий класса в машинном коде;
- широкое применение платформенно-ориентированного кода (встроенного) в стандартных библиотеках;