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

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

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

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

Добавлен: 22.04.2023

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

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

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

Примеры констант с плавающей точкой:

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

  1. Символы или символические константы. Символьные константы используются для представления отдельных символов. Каждый символ представляет собой маркер, состоящий из изображения символа и ограничивающего апострофа. Например: "D"," d","2","#".

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

'\n' — перевод строки;

'\t' — горизонтальная табуляция;

'\r' — возврат каретки (курсора) к началу строки;

'\\' — обратная косая черта \;

'\'' — апостроф (одиночная кавычка);

'\"' — кавычка (символ двойной кавычки);

'\0' — нулевой символ;

'\a' — сигнал-звонок;

'\b' — возврат на одну позицию (на один символ);

'\f' — перевод (прогон) страницы;

'\v' — вертикальная табуляция;

'\?' — знак вопроса.

Важно понимать, что перечисленные константы представлены двумя или более буквами, и они обозначают одну символьную константу, которая имеет отдельный двоичный код. Управляющие последовательности являются частным случаем escape- последовательностей, которые также включают маркеры вида '\ BBB ' или '\ chh ' или '\ Chh', где:

• "\BBB " - восьмеричное представление любой символьной константы. Здесь d-восьмеричная цифра (от 0 до 7). Например, "\ 023 "или" \ 123".

• '\ chh ' или '\ Chh ' — это шестнадцатеричное представление любой символьной константы. Здесь h-шестнадцатеричная цифра (от 0 до f). Например, "\ х0a", "\ Х1b" и т. д.

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

  1. Строки, или строковые константы. Строки на самом деле не являются константами C++, но это отдельный тип их токенов. В литературе для них используется другое название: "строковые литералы". Строковая константа определяется как последовательность символов (см. символьные константы выше), заключенная в двойные кавычки (не в апострофы!): "Это линия."

Среди символов в строке могут быть escape-последовательности, то есть комбинации символов, соответствующие непредставимым символам, или символы, определенные их внутренними кодами. В этом случае, как и в представлениях отдельных символьных констант, их изображения начинаются с обратной косой черты'\':


"\N текст \ n будет размещен \ n на 3 строках"

Представление строковых констант в памяти компьютера следует следующим правилам. Все символы в строке помещаются в строку, и каждый символ (включая символ, представленный escape-последовательностью) занимает ровно 1 байт. Компилятор помещает символ '\ 0 ' в конец строковой константы.

Таким образом, количество байтов, выделенных в памяти компьютера для представления строкового значения, на единицу больше, чем количество символов в записи Строковой константы:

"Строка из 18 байт."

Важно помнить, что при работе с символьной информацией длина символьной константы, такой как" A", составляет 1 байт, а длина строки " A " - 2 байта, поскольку строка заканчивается на нуле. характер. ('\ 0').

  1. Булевы константы. Есть только два значения: true-истина и false-ложь.

Комментарий — это последовательность любых символов (знаков), которая используется в тексте программы для его объяснения. Обычно во вступительном тексте комментируют вводный текст программы в целом (ее назначение, автора, дату создания и т.), а затем комментируют отдельные фрагменты текста программы, смысл которых неочевиден. Важно объяснить не только то, что делается, но и с какой целью это делается. Комментарии всегда важны: будь то создание программы для себя, или для других людей, которые будут с ней работать.

Комментарии игнорируются компилятором языка программирования, они имеют значение только для пользователя. В языке C++существует два типа комментариев: однострочные и многострочные.

Однострочный комментарий начинается с символа / /. Все, что написано после этих символов и до конца строки считается комментарием.
Например:
AND
IntegerSum(_Val1,Out2,_Sum) // Теперь увеличим полученное значение на сумму

THEN

AddPoint(_Name,Out2);

SetVarInteger(_Name,"AS_Total",_Sum);
В данном коде однострочным комментарием служит: // Теперь увеличим полученное значение на сумму

Многострочный комментарий начинается с символа /* (сначала косая черта, а после звездочка) и заканчивается символом */ (Сначала звездочка, а после косая черта). Текст такого комментария может занимать одну или несколько строк. Все, что находится между ними /*…*/, считается комментарием. Например:

/ * add group 1,0,"Common1"

add rootgroup "bcc6e4a3-d8b5-43ac-848e-fb456e78276b","StartEarly"

add namegroup "Light","",""

add group 4,0,"Common2"

add rootgroup "ebeab7a2-9ed4-4c84-9a68-2ac6d4614b6d","LeatherEarly"

add namegroup "LightHelmet2","","" * /

Весь код, заключенный между /* и */является многострочным комментарием.


Самый простой код, написанный на языке С++ представляет из себя следующий вид:

#include <iostream>

#include <cstdlib> // для system

using namespace std;

int main()

{

cout << "Hello, world!" << endl;

system("pause");

return 0;

}

Глава 2 Программирование Java

2.1 Понятие языка программирования Java

Java — это язык программирования, разработанный Sun Microsystems. Приложения Java обычно компилируются на любой виртуальной машине Java (JVM-java virtual machine) независимо от архитектуры этого компьютера. Официальная дата выпуска этого языка - 23 мая 1995 года. Сегодня технология Java предоставляет инструменты для преобразования статических веб-страниц в интерактивные динамические документы, а также возможность создания распределенных (неплатформенных) приложений.

«Группе было поручено создать распределенную систему, которая могла бы быть высококачественной, самой современной технологией[6]», - вспоминает James Gosling.

James Gosling, в возрасте 40 лет перешел в Sun Microsystems из IBM Research в 1984 году. Его первая проект - оконный интерфейс NeWS, который не имел коммерческого успеха, но был довольно интересен с технической точки зрения. Он также написал GOSMACS, первую реализацию текстового редактора EMACS для языка Cи.

Благодаря бизнес-деятельности в сфере бытовой электроники и техники, которая называлась Green Project, James Gosling и его коллеги поймут, насколько важны и ценны, для потребителя, показатели: надежности, соответствия стандартам, стоимости и простоты. Если пользователи рабочих станций проявляют свою заинтересованность к более высокой мощности и достаточно лояльны к высоким ценам, к необходимости более длительного обучению и различным ошибкам, то обычным потребителям нужны дешевые, простые в использовании и надежные устройства. Для успешной конкурентоспособности на рынке бытовой электроники, фирмы должны воспринимать в процессоры как обыкновенный товар с регулярным оборотом, что позволяет в любое время заменять их на другие, более дешевые и обеспечивать обратную совместимость, а так же соответствие стандартам, установленным для устройств широкого использования, будь это тостер или телевизор.

Мы видим, что сформировались две разные нормы произношения этого названия - заимствованная англоязычная Джава» и традиционно национальная «Ява», что соответствует принятому произношению названий островов Ява. Sun Microsystems, в свою очередь, придерживается первого варианта - англоязычного. Иногда они используют общее и жаргонное слово «жаба» (которая, кстати, присутсвует в виде изображения на календаре) Российской группы пользователей Java (JavaUsersGroup).


Java — это название не только самого языка, но и платформы для создания и запуска приложений на этом языке.

Первоначально язык назывался Oak и развивался для программирования бытовых устройств, как упоминалось выше. Позднее он был переименован в Java и использовался для написания клиентских приложений и серверного программного обеспечения. Java – как бренд кофе, который так любили некоторые программисты, поэтому на логотипе изобразили чашку кофе с дымящимся кофе.

James Gosling не хотел связывать разработку с определенной платформой, поэтому он начал с расширения компилятора C++. В любом случае,пришло понимание, что C++ никогда не сможет удовлетворить все необходимые потребности. «В конце концов, язык — это средство, а не самоцель», - объясняет James Gosling. «Мы не собирались останавливаться на C++, а хотели разработать систему, которая позволила бы нам создать широкую распределенную гетерогенную сеть потребительских электронных устройств, способных взаимодействовать друг с другом[7]».

В конце 1992 года, Patrick Naughton, инженер проекта, сказал - «огромные усилия были приложены для улучшения Oak и других компонентов», команда Green project выпустила - карманное устройство, типа-PDA, под названием "*7", которое James Gosling назвал как «ручной пульт для дистанционного управления»

Patrick Naughton в свои 30 лет возглавлял проект Sun Microsystems по разработке OpenWindow, до вступления в команду Green.

Малый размер устройства "*7", выставлял в выгодном свете компактность и эффективность кода, который являлся ядром технологии. Этот продукт широко демонстрировался в Sun Microsystems, он мог произвести впечатление на таких важных людей, как Scott McNealy и William Nelson Joy, но что с ним случилось потом, осталось неизвестным.

James Gosling считал, что браузер "создает рынок" для всех инструментов, серверов и сред разработки. Именно Java играет центральную, доминирующую роль во всех этих инструментах, перед появлением Java страница WWW на самом деле была куском бумаги. С появлением Java для браузера открываются новые функции и возможности доставки контента, которые значительно расширяет возможности провайдеров содержания.

Гослинг считал, что технология Java предоставит людям возможность переосмыслить роль клиент-серверных вычислений. «В стандартной модели вы имеете определенные базы данных, пишете пакеты клиентского программного обеспечения, которое имеет возможность взаимодействовать с ними, и создаете какой-то интерфейс. В рамках этой модели трудно создавать распределенные системы и модернизировать их, особенно если их элементы имеют различное происхождение", - указывает James Gosling.


Если у нас есть такие инструменты, как Java и Web, мы можем получить изначально организованную систему", - подчеркивает James Gosling. "Если вы создаете клиентское приложение Java, запуск его — это просто вопрос перехода на соответствующую страницу. Установка примитивна-достаточно разместить необходимое программное обеспечение на веб-сервере. И не будет никаких проблем с портированием, из-за того, что есть только одна версия приложения." Многие фирмы, по словам Gosling-а, уже организуют базы данных в виде веб-страниц с использованием общего шлюзового интерфейса (CGI) - специфического стандарта для внешних программ на HTTP-сервере.

Программы Java переводятся в байт-код, который выполняется виртуальной машиной Java (JVM – java virtual machine) - программой, которая обрабатывает байт-код и затем передает инструкции аппаратному обеспечению в качестве интерпретатора.

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

Операции, выходящие за пределы установленных программой ограничений - будь то попытка доступа к несанкционированным данным или подключение к другому компьютеру-приводят к немедленному прерыванию работы.

Часто к недостаткам этой концепции виртуальной машины относится тот факт, что выполнение байт-кода виртуальной машиной может значительно снизить производительность программ и алгоритмов, реализованных на Java. В последнее время появилось большое количество улучшений, способных повысить скорость выполнения программ на Java:

  • использование технологии перевода байт-кода в машинный код непосредственно во время работы программы (Технология JIT) при сохранении версий классов в машинном коде;
  • широкое использование платформенно-ориентированного кода (native code) в стандартных библиотеках;
  • аппаратное обеспечение, обеспечивающее более быструю обработку байт-кода (например, технология Jazelle, которая поддерживается некоторыми процессорами ARM).

Согласно данным сайта debian.org для 7 различных задач время выполнения Java в среднем в 1,5-2 раза больше, чем в C / C++, а в некоторых случаях Java даже быстрее, в некоторых случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машины было в 10-30 раз больше, чем у программы на C / C++. Также заслуживает внимания исследование, проведенное компанией Google, согласно которому производительность и потребление памяти в тестовых случаях Java значительно снижаются по сравнению с аналогичными программами на C++.