Файл: История возникновения и развития языка программирования Си (С++) и Java (Понятие языков программирования С и С++).pdf
Добавлен: 01.04.2023
Просмотров: 76
Скачиваний: 1
Константы- неизменные величины. В языке C++ имеется пять типов констант: целые, вещественные, символьные, строковые и булевые.
1. Символы, или символьные константы. Для изображения отдельных знаков, имеющих индивидуальные внутренние коды, используются символьные константы. Каждая символьная константа -- это лексема, которая состоит из изображения символа и ограничивающих апострофов. Например: 'A', 'a', '5', '?', и т.д.
Внутри апострофов можно записывать любые символы, изображаемые на дисплее или принтере в текстовом режиме. Однако, используются и коды, не имеющие графического представления на дисплее, клавиатуре или принтере. Примерами таких кодов является код перехода курсора дисплея на новую строку или код возврата каретки (возврат курсора к началу текущей строки). Для отображения в программе соответствующих символьных констант используются комбинации из нескольких символов, имеющих графическое представление. Каждая такая комбинация начинается с символа '\' (backslash- обратная косая черта). Такие наборы литер, начинающиеся с символа '\', в языках C и С++ называют управляющими последовательностями. Приведу таблицу:
\n |
перевод строки |
\0 |
нулевой символ |
\t |
горизонтальная табуляция |
\v |
вертикальная табуляция |
\r |
возврат каретки (курсора) к началу строки |
\' |
апостроф (одиночная кавычка) |
\" |
кавычка (символ двойной кавычки) |
\f |
перевод (прогон) страницы |
\a |
сигнал-звонок |
\b |
возврат на одну позицию (на один символ) |
\\ |
обратная косая черта \ |
\? |
знак вопроса |
Стоит обратить внимание, что перечисленные константы изображаются двумя или более литерами, а обозначают они одну символьную константу, имеющую индивидуальный двоичный код. Управляющие последовательности являются частным случаем эскейп-последовательностей (ESCAPE-sequence), к которым также относятся лексемы вида '\ddd' либо'\xhh' или '\Xhh', где
· '\ddd' - восьмеричное представление любой символьной константы. Здесь d - восьмеричная цифра (от 0 до 7). Например, '\017' или '\233'.
· '\xhh' или '\Xhh' - шестнадцатеричное представление любой символьной константы. Здесь h - шестнадцатеричная цифра (от 0 до F). Например, '\x0b', '\x1A', и т.д.
2. Символы имеют целый тип, то есть, их можно использовать в качестве целочисленных аргументов в выражениях (целые константы). Правила языка допускают использование 3-х видов целых констант: восьмеричных, десятичных и шестнадцатеричных. Префикс определяет основание при записи константы. Для десятичных констант префикс не нужен.
Восьмеричное целое - последовательность цифр, начинающаяся с 0 и не содержащая десятичных цифр старше 7, например:
- 016 - восьмеричное представление десятичного целого 14;
- 025 - восьмеричное представление десятичного целого 21.
Десятичное целое- последовательность цифр, начинающаяся не с нуля (если это не число нуль), например: 105; 20; 0; 2012.
Шестнадцатеричное целое - последовательность символов(0, …, 9, А, B, С, D, Е, F), перед которой записаны символы 0х или 0Х, например:
- 0х25 - шестнадцатеричное представление десятичного целого 37;
- 0ХFF - шестнадцатеричное представление десятичного целого 255.
3. Вещественные константы. Для представления не целых (вещественных) чисел используют константы, представляемые памятью компьютера в виде значений с плавающей точкой. Каждая такая константа состоит из следующих частей: целая часть (десятичная целая); десятичная точка; дробная часть (десятичная целая); признак показателя "е" или "Е"; показатель десятичной степени (десятичная целая, возможно, со знаком). При записи констант с плавающей точкой могут опускаться целая или дробная часть (но не одновременно); десятичная точка или символ экспоненты с показателем степени (но не одновременно). Примеры констант с плавающей точкой: 125.2; 3.14159265; 1.0е-5; 2.314159Е25; 0.0
4. Строки. Строковые константы, вообще, не относятся к константам языка С++. Они представляют собой отдельный тип его лексем. Для них в литературе используется одно название: «строковые литералы». Строка определяется как последовательность символов, заключенная в двойные кавычки: "Это строка"
Среди символов строк могут быть escape-последовательности- сочетания знаков, соответствующих неизображаемым символам, или символам, задаваемым их внутренними кодами. В таком случае их изображения начинаются с обратной косой черты '\': "\n Этот текст \n расположится \n в три строки"
Представление строковых констант в памяти компьютера подчиняется следующим правилам: все символы строки размещаются подряд, каждый символ занимает ровно 1 байт (в том числе и эскейп-последовательность). В конце записи строковой константы компилятор помещает символ '\0'.
Итак, количество байтов, выделяемых памятью компьютера, чтобы представить значения строки, на единицу больше, чем число символов в записи этой строковой константы: "Эта строка занимает 29 байт."
Однако, при работе с символьной информацией необходимо помнить, что длина символьной константы, например, 'A' равна всего 1 байту, а длина строки "A" равна 2 байтам, т.к. строка заканчивается нуль-символом ('\0').
5.Булевые константы. Существует только два значения: true- истина и false- ложь.
Комментарии
Комментарий - последовательность любых символов, используемая в тексте программы для её объяснения. Чаще всего, в тексте программы делают вводный комментарий к программе в целом (назначение, автор, дата создание и т.д.), а после дают комментарии к отдельным фрагментам текста программы, смысл которых не совсем очевиден. Важно давать объяснение не только тому, что делается, но и с какой целью это делается. Комментарии всегда важны: будь-то создание программы для себя, или если ней будут работать другие.
Компилятор языка программирования игнорирует комментарии, они имеют значение только для пользователя. Язык С++ имеет два вида комментариев: однострочные и многострочные.
Однострочный комментарий начинается с двух косых черт “//”. Всё, что написано далее, до конца строки, считается комментарием. Например:
// - текст комментария
Многострочный комментарий начинается косой чертой и звездочкой “/*”, а заканчивается в обратном порядке “*/”. Текст такого комментария может занимать от одной до нескольких строк. Всё, что находится между знаками /* и */ , считается комментарием. Например:
/* - это мой большой
многострочный комментарий */
Глава 2 Программирование Java
2.1 Понятие языка программирования Java
Благодаря деятельности в сфере бытовой электроники (Позже проект "Green"), Гослинг и его коллеги увидели, какую ценность для потребителей имеют такие показатели, как - стоимость, надежность, соответствие стандартам и простота. В то время, как у пользователей рабочих станций был интерес к большей мощности, высоким ценам, необходимости длительного обучения и присутствию различных ошибок, то обычным потребителям нужны были дешевые, простые и надежные устройства. Чтобы стать успешными конкурентами на рынке бытовой электроники, фирмы должны воспринимать процессоры в роли обычного товара, который легко можно заменить более дешевым, предоставив при этом возможность обеспечения обратной совместимости и соблюдения стандартов, которые установлены на устройствах длительного использования, например, на телевизоре.
Java - язык программирования, разработанный в компании SunMicrosystems. Приложения написанные на языке Java, как правило, компилируются в специальный байт-код, после чего эти приложения имеют возможность работать на любой виртуальной Java-машине, при этом независимо от самой компьютерной архитектуры. Официальной датой выпуска языка Java считается 23 мая 1995 года. На сегодняшний день технологии Java предоставляют средства для превращения статических Web-страниц в интерактивные, а также возможность создания приложений, не зависящих от платформы.
"Группе была поставлена задача создать распределенную систему, которую можно было бы в качестве современной программной технологии продавать производителям бытовой электроники”, Джон Родли, Создание Java-апплетов .- TheCoriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996 - С.32." - вспоминает Дж. Гослинг.
Изначально язык разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств и назывался “Oak” (В переводе на русский- дуб). Позже язык стал применяться для создания клиентских приложений и серверного ПО, а также получил свое окончательное имя. Выбор названия, как и официальной эмблемы в виде дымящейся чашки кофе был сделан неспроста, а потому-что Java- марка кофе, который очень любили некоторые программисты. Есть также и вторая версия происхождения названия Java, а именно то, что Java- сленговое обозначение кофе, связанное с одноименным островом, где он производится, с аллюзией на кофе-машину, как прямой пример бытовой техники, для чего, изначально, язык и создавался.
Сам Джеймс Гослинг перешел в компанию SunMycrosistems из исследовательского отдела IBM в 1984 году, в возрасте около 40-ка лет. Первой его задачей стал проект оконного интерфейса NeWS, который не стал успешным в коммерческом плане, однако был интересным с технической точки зрения. Также Гослинг написал первую реализацию текстового редактора EMACS на языке С - “GOSMACS”.
Если говорить о произношении названия языка на русском языке, то можно заметить, что образовались две нормы: 1- англоязычная “Джава”; 2- традиционно-национальная “Ява”. SunMycrosistems придерживается англоязычного произношения везде. Иногда Java жаргонно называют “Жаба” (например, изображение жабы присутствует на календариках группы российских пользователей Java).
Java - не только название языка программирования, но и самой платформы для создания и выполнения приложений написанных на нем.
Гослингу не нравилась идея объединения разработки с определенной платформой, так он начал с расширения компилятора C++. Спустя время стало понятно, сколько ни расширяй C++, язык не сможет удовлетворить все существующие потребности. Создание языка Oak и стало разрешением этой проблемы. “В конце концов, язык - это средство, а не самоцель, - поясняет Гослинг. - Мы не собирались зацикливаться на С++, а хотели разработать систему, которая позволяла бы создавать большую распределенную разнородную сеть из бытовых электронных устройств, способных взаимодействовать между собой”, Джон Родли, Создание Java-апплетов .- TheCoriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996 - С.35-37.".
В конце 1992 года тогдашний инженер проекта Патрик Нотон выразил “огромные усилия по доработке Oak и других компонентов”. Коллектив проекта “Green” выпустили “*7” - устройство типа PDA, которое Гослинг называл “ручной пульт дистанционного управления”.
"За полтора года мы сделали столько же, сколько иные большие коллективы в SunMycrosistems делали за три года, - с гордостью отмечает Патрик Нотон. - Операционную систему GreenOS, язык, инструментарий, пользовательский интерфейс, новую аппаратную платформу, три заказных микросхемы... и каждый этап был связан с риском, т.к. мы использовали совершенно новые технологии".
30-летний П. Нотон, до прихода в команду Green, возглавлял проект по разработке пользовательской среды OpenWindow в SunMycrosistems.
Малые размеры устройства *7 выставляли его в выгодном положении в плане компактности и эффективности кода, который и являлся ядром технологии. Этот продукт широко демонстрировали в Sun, он смог произвести впечатление на таких важных людей, как Скотт Макнили и Билл Джой, однако, что случилось с ним потом- неизвестно.
Гослинг считал, что браузер является таким компонентом, который "создает рынок" для всех инструментальных средств, серверов и сред разработки. И именно язык Java во всех этих средствах играет центральную, главенствующую роль. До появления Java страница WWW по факту представляла собой листок бумаги. С появлением Java браузер задает структуру и резко расширяет возможности провайдеров содержания.
Гослинг предполагал, что Java предоставит возможность пересмотреть роль вычислений- клиент-сервер. В стандартной модели существуют конкретные базы данных, и, написав пакеты клиентского программного обеспечения, которые имеют возможность взаимодействия с ними, и создается некоторый интерфейс. Гослинг также указывал, если элементы системы имеют разное происхождение, то в границах этой модели, создание и модернизация системы осуществляться будут с трудом.