Файл: История возникновения и развития языка программирования Си (С++) и Java (ПРОГРАММИРОВАНИЕ НА С И С++)..pdf
Добавлен: 02.04.2023
Просмотров: 222
Скачиваний: 1
В языке С++ имеется 63 ключевых слова [12].
Ключевые слова в языке С++
|
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++ имеется пять типов констант: целые, вещественные, символьные, строковые и булевые [12].
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.
- Вещественные константы. Для представления вещественных (нецелых) чисел используются константы, представляемые в памяти компьютера в форме с плавающей точкой. Каждая вещественная константа состоит из следующих частей: целая часть (десятичная целая константа); десятичная точка; дробная часть (десятичная целая константа); признак показателя "е" или "Е"; показатель десятичной степени (десятичная целая константа, возможно, со знаком) [14].
- При записи констант с плавающей точкой могут опускаться целая или дробная часть (но не одновременно); десятичная точка или символ экспоненты с показателем степени (но не одновременно). Примеры констант с плавающей точкой:
125. 3.14159265 1.0е-5 .314159Е25 0.0 [14].
3. Символы, или символьные константы. Для изображения отдельных знаков, имеющих индивидуальные внутренние коды, используются символьные константы. Каждая символьная константа -- это лексема, которая состоит из изображения символа и ограничивающих апострофов. Например: 'A', 'a', '5', '?', и т.д. [14].
Внутри апострофов можно записать любой символ, изображаемый на дисплее или принтере в текстовом режиме. Однако в компьютере используются и коды, не имеющие графического представления на экране дисплея, клавиатуре или принтере. Примерами таких кодов служит код перехода курсора дисплея на новую строку или код возврата каретки (возврат курсора к началу текущей строки). Для изображения в программе соответствующих символьных констант используются комбинации из нескольких символов, имеющих графическое представление. Каждая такая комбинация начинается с символа '\' (обратная косая черта - backslash). Такие наборы литер, начинающиеся с символа '\', в литературе по языкам C и С++ называют управляющими последовательностями. Ниже приводится их список:
'\n' -- перевод строки;
'\t' -- горизонтальная табуляция;
'\r' -- возврат каретки (курсора) к началу строки;
'\\' -- обратная косая черта \; [27].
'\'' -- апостроф (одиночная кавычка);
'\"' -- кавычка (символ двойной кавычки);
'\0' -- нулевой символ;
'\a' -- сигнал-звонок;
'\b' -- возврат на одну позицию (на один символ);
'\f' -- перевод (прогон) страницы;
'\v' -- вертикальная табуляция;
'\?' -- знак вопроса [27].
Обратите внимание на то, что перечисленные константы изображаются двумя или более литерами, а обозначают они одну символьную константу, имеющую индивидуальный двоичный код. Управляющие последовательности являются частным случаем эскейп-последовательностей (ESCAPE-sequence), к которым также относятся лексемы вида '\ddd' либо'\xhh' или '\Xhh', где
· '\ddd' -- восьмеричное представление любой символьной константы. Здесь d -- восьмеричная цифра (от 0 до 7). Например, '\017' или '\233'.
· '\xhh' или '\Xhh' -- шестнадцатеричное представление любой символьной константы. Здесь h -- шестнадцатеричная цифра (от 0 до F). Например, '\x0b', '\x1A', и т.д. [15].
Символьная константа (символ) имеет целый тип, т.е. символы можно использовать в качестве целочисленных операндов в выражениях.
4. Строки, или строковые константы. Строки вообще-то не относятся к константам языка С++, а представляют собой отдельный тип его лексем [22].
Для них в литературе используется еще одно название: «строковые литералы». Строковая константа определяется как последовательность символов (см. выше символьные константы), заключенная в двойные кавычки (не в апострофы!):
"Это строка" [16].
Среди символов строки могут быть эскейп - последовательности, т.е. сочетания знаков, соответствующие неизображаемым символам, или символам, задаваемым их внутренними кодами. В этом случае, как и в представлениях отдельных символьных констант, их изображения начинаются с обратной косой черты '\':
"\n Текст \n разместится \n на 3-х строках"
Представления строковых констант в памяти компьютера подчиняются следующим правилам. Все символы строки размещаются подряд, и каждый символ (в том числе представленный эскейп-последовательностью) занимает ровно 1 байт. В конце записи строковой константы компилятор помещает символ '\0' [5].
Таким образом, количество байтов, выделяемое в памяти компьютера для представления значения строки, на единицу больше, чем число символов в записи этой строковой константы:
"Строка в 18 байт."
Внимание. При работе с символьной информацией важно помнить, что длина символьной константы, например, 'A' равна 1 байту, а длина строки "A" равна 2 байтам, т.к. строка заканчивается нуль-символом ('\0').
5.Булевые константы. Имеется всего два значения: true -- истина и false – ложь [5].
Комментарий - это последовательность любых знаков (символов), которая используется в тексте программы для её пояснения. Обычно в тексте программы делают вводный комментарий к программе в целом (её назначение, автор, дата создание и т.д.), а далее дают комментарии к отдельным фрагментам текста программы, смысл которых не является очевидным. Важно дать объяснение не только того, что делается, а с какой целью это делается. Комментарии важны всегда: будь то создание программа для себя, или с ней будут работать другие [17].
Комментарии игнорируются компилятором языка программирования, они имеют значение только для пользователя. В языке С++ имеется два вида комментариев: однострочные и многострочные.
Однострочный комментарий начинается с символов // (две косые черты). Всё, что записано после этих символов и до конца строки, считается комментарием. Например:
// Это текст комментария
Многострочный комментарий начинается парой символов /* (косая черта и звёздочка) и заканчивается символами */ (звёздочка и косая черта). Текст такого комментария может занимать одну или несколько строк. Всё, что находится между знаками /* и */ , считается комментарием [20].
Например:
/* Это мой большой
многострочный комментарий */
Вывод по первой главе: как и большинство величайших изобретений в мире, C был рожден по необходимости. Обстоятельства и проблемы послужили источником вдохновения. Однако, в отличие от многих языков программирования, которые сейчас вымерли или почти вымерли, C выдержал испытание временем и процветал. Некоторые языки в настоящее время классифицируются как нишевые языки - например, Fortran в настоящее время в основном используется только в инженерных целях, а COBOL изо всех сил пытается остаться актуальным.
ГЛАВА 2.ПРОГРАММИРОВАНИЕ ЯЗЫКА JAVA
2.1. История возникновения языка программирования Java
Рождению языка Java предшествовала довольно интересная история. В 1990 году разработчик ПО компании Sun Microsystems Патрик Нотон (Patrick Naughton) понял, что ему надоело поддерживать сотни различных интерфейсов программ, используемых в компании, и сообщил исполнительному директору Sun Microsystems и своему другу Скотту МакНили (Scott McNealy) о своем намерении перейти работать в компанию NeXT. МакНили, в свою очередь, попросил Нотона составить список причин своего недовольства и выдвинуть такое решение проблем, как если бы он был Богом и мог исполнить все, что угодно [23].
Нотон, хотя и не рассчитывал на то, что кто-то обратит внимание на его письмо, все же изложил свои претензии, беспощадно раскритиковав недостатки Sun Microsystems, в частности, разрабатываемую в тот момент архитектуру ПО NeWS. К удивлению Нотона, его письмо возымело успех: оно было разослано всем ведущим инженерам Sun Microsystems, которые не замедлили откликнуться и высказать горячую поддержку своему коллеге и одобрение его взглядов на ситуацию в Sun Microsystems. Обращение вызвало одобрение и у высшего руководства компании, а именно, у Билла Джоя (BillJoy), основателя Sun Microsystems, и Джеймса Гослинга (JamesGosling), начальника Нотона [23].
В тот день, когда Нотон должен был уйти из компании, было принято решение о создании команды ведущих разработчиков с тем, чтобы они делали что угодно, но создали нечто необыкновенное.
Команда из шести человек, с кодовым названием Green, ушла в самовольное изгнание, погрузившись в исследования бытовых устройств, таких как NintendoGameBoys, устройств дистанционного управления [2]. Команда Green пыталась найти средство, с помощью которого можно было бы установить взаимодействие между этими устройствами. Вскоре стало ясно, что такие электроприборы, как видеомагнитофоны, проигрыватели лазерных дисков, стереосистемы - все они были реализованы на разных процессорах. Это означало, что если производитель захочет добавить телевизору или видеомагнитофону дополнительные функции или характеристики, он будет зажат в рамках средств, зашитых в аппаратное обеспечение. Эта проблема, в сочетании с ограниченностью памяти микросхем этих устройств, выдвинула новый подход к программированию ПО, который должен был стать ведущим на рынке бытовой электроники [24].
Команда приступила к разработке нового объектно-ориентированного языка программирования, который был назван Oak (дуб), в честь дерева, росшего под окном Гослинга.
Вскоре компания Sun Microsystems преобразовала команду Green в компанию First Person. Новая компания обладала интереснейшей концепцией, но не могла найти ей подходящего применения. После ряда неудач неожиданно ситуация для компании резко изменилась: был анонсирован Mosaic - так родился World Wide Web, с которого началось бурное развитие Internet [26].
Нотон предложил использовать Oak в создании Internet- приложений. Так Oak стал самостоятельным продуктом, вскоре был написан Oak-компилятор и Oak-браузер "WebRunner". В 1995 году компания Sun Microsystems приняла решение объявить о новом продукте, переименовав его в Java (единственное разумное объяснение названию - любовь программистов к кофе). Когда Java оказалась в руках Internet, стало необходимым запускать Java-аплеты - небольшие программы, загружаемые через Internet. WebRunnerбыл переименован в HotJava и компания Netscape встала на поддержку Java-продуктов [26].
2.2. Понятие языка программирования Java
Java - язык программирования, который был разработан в компании Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, вследствие чего они имеют возможность работать на любой виртуальной Java-машине (JVM) независимо от самой компьютерной архитектуры. Дата официального выпуска языка - 23 мая 1995 года. Сегодня технология Java предоставляет средства для превращения статических Web-страниц в интерактивные динамические документы, а также возможности создания распределенных (не зависящих от платформы) приложений.
"Группе была поставлена задача создать распределенную систему, которую можно было бы в качестве современной программной технологии продавать производителям бытовой электроники Джон Родли Создание Java-апплетов [28].
Гослинг, в возрасте 40 с небольшим лет перешел в компанию Sun в 1984 г. из исследовательского отдела IBM. Первая его задача, проект, - интересный с технической точки зрения, но не имевший коммерческого успеха оконный интерфейс NeWS. Он также написал GOSMACS - первую реализацию текстового редактора EMACS на языке С [28].
Благодаря деятельности в сфере бытовой электроники (в последствии она будет называться проектом "Green") появилась возможность увидеть Гослингу и его коллегам, какую ценность имеют для потребителя показатели - надежность, стоимость, соответствие стандартам и простота. Если у пользователей рабочих станций есть интерес к большой мощности и они достаточно терпимы к высоким ценам, необходимости длительного обучения и присутствию различных ошибок, то обычным потребителям нужны дешевые, простые в своем применении и надежные устройства [7].