Файл: История возникновения и развития языка программирования Си (С++) и Java (Возникновение и эволюция языка Cи (С++) ).pdf
Добавлен: 24.04.2023
Просмотров: 223
Скачиваний: 1
СОДЕРЖАНИЕ
1.История возникновения и развития языка программирования Си (C++)
1.1 Основные понятия языка программирования Си (С++)
1.2 Возникновение и эволюция языка Cи (С++)
1.3 Структура и эффективность Си (C++)
2.1 История возникновения и развития языка программирования Java
2.1 Основные понятия языка программирования Java
1.2 Краткая история возникновения языка программирования Java
ВВЕДЕНИЕ
В наше время довольно велико значение информационных технологий. На сегодняшний момент тяжело представить нашу жизнь без компьютера и Интернета. Но для того, чтобы были созданы программы, необходимы языки программирования.
Программист. в данное время, является одной из самых важных профессий, и ее важность будет возрастать. Так обуславливается личный интерес исследователей к данной тематике. Это и обуславливает актуальность темы работы. Прогресс компьютерных технологий определяет процесс появления различных новых знаковых систем для того, чтобы записывались алгоритмы, то есть языки программирования.
Смыслом появления такого языка является оснащенный набор вычислительных формул дополнительной информации, превращающий в алгоритм данный набор. Языку программирования свойственные две связанные между собой цели: он дает программисту аппарат для того, чтобы задать действия, которые должны быть выполнены, и формируются концепции, используемые программистом, размышляя о том, что делать.
Ответом на первую цель является язык, который настолько «близкий к машине», что все основные машинные аспекты могут легко и просто быть использованы для программиста очевидным образом. Для ответа на вторую цель идеальным является язык, который настолько «близкий к решаемой задаче», чтобы её концепция решения может быть выражена коротко и прямо.
В настоящее время C++ считают господствующим языком, который используют для того, чтобы разработать коммерческие программные продукты. За последние годы данное господство поколебалось так как были аналогичные претензии от такого языка как Java, но при этом общественное мнение качнулось в другую сторону, и множество из программистов, которые бросили C++ ради Java, за последнее время вернулись к своей прежней привязанности. При этом оба языка являются похожими, что, если вы изучаете один из них, то автоматически усваиваете 90% другого.
Целью данной курсовой работы является изучить историю возникновения и развития языка программирования Си (C++) и Java.
Для того, чтобы достигнуть эту цель необходимо было решить такие задачи:
1)Изучить источники информации по теме;
2)Узнать историю языков Си (C++) и Java; рассмотреть развитие языков Си (C++) и Java;
Объектом исследования является языки программирования Си (C++) и Java.
Предметами исследования являются история, структура, польза, потенциал таких языков программирования, как Си (C++) и Java.
1.История возникновения и развития языка программирования Си (C++)
1.1 Основные понятия языка программирования Си (С++)
Программа на языке С(С++) состоит из последовательности инструкций (операторов), описывающих действия, выполняемые программой. Операторы используют ключевые слова, значение которых зафиксировано и не может использоваться для других целей (например, в качестве имени переменных). В С(С++) все операторы (за исключением команд препроцессора и описаний функций, расположенных в начале программной единицы) оканчиваются точкой с запятой ’;’. Фигурные скобки {} в С(С++) применяются для обрамления начала и конца функции и некоторых других целей.
Алфавит языка (набор символов и цифр), используемый при составлении инструкций (операторов), включает латинские прописные и строчные буквы, цифры и специальные символы (., ’: и др.).
Идентификатор – это имя, которым обозначается некоторый объект (данное) в программе. Данные в оперативной памяти размещаются по некоторым адресам, которые программисту заранее неизвестны. Для того чтобы в программе иметь возможность обращаться к этим данным и обрабатывать их, программист этим данным даёт условные имена, которые компилятор в программе заменит адресами данных в оперативной памяти.
Идентификатор должен удовлетворять следующим требованиям:
-начинаться с латинской буквы или символа (подчеркивание);
-содержать только символы латинского алфавита, цифры и символ подчеркивания. Использование других символов запрещено.
Нет ограничения на количество символов в идентификаторе, однако воспринимаются и анализируются только первые.
Примеры записи идентификаторов: sum, result, n, m, c10, Beta, beta, function, letter, array и т.д.
Ошибочные идентификаторы: a+b, omega,9c, if, int, long, &b, %f.
Так как строчные и прописные буквы различаются, то идентификаторы
BETA, beta, Beta (main, Main, MAIN) будут различными. При выборе
идентификатора необходимо учитывать следующее:
Идентификатор не должен совпадать с кочевыми словами языка и именами функций из библиотеки языка С(С++);
Не рекомендуется начинать идентификатор со знака подчеркивания, т.к. этот символ используется в именах некоторых библиотечных функций и при совпадении имен эти функции будут недоступны программе. Кроме того, к именам транслируемых функций, составляющих программу, компилятор автоматически добавляет первым символом знак подчеркивания.
Ключевые слова – это зарезервированные имена, используемые в языке С(С++) с некоторым заранее определённым смыслом. Все зарезервированные слова пишутся строчными буквами иначе эти имена будут восприняты как имена переменных. Эти слова нельзя использовать в качестве идентификаторов объектов (данных) пользователя. Ключевые слова сообщают компилятору о типе данных, способе их организации, о последовательности выполнения операторов. Ниже приведены некоторые ключевые слова:
Ключевые слова near, far, huge определяют тип (размер) указателя на данные, а слова_asm, cdecl, fortran, pascal используются для организации связи с функциями, написанными на других языках программирования.
Переменные. Программы в процессе своего функционирования оперируют различными данными. Некоторые данные в процессе выполнения программы не могут изменять своего значения -константы, значение других может быть модифицировано -переменные.
Все переменные (и константы) перед их использованием должны быть объявлены. Для их объявления указывается тип данных и перечисляются через запятую список переменных, имеющих данный тип. В модуле, в котором записано определение переменных. Каждой переменной в соответствии с типом выделяется необходимое количество байт памяти. Выделенному участку памяти присваивается имя переменной, которое в дальнейшем используется в программе.
Отличие объявления от определения заключается в том, что при объявлении переменной ей место в памяти соответствующей функции не выделяется, объявление лишь сообщает компилятору тип. Объявление переменных имеет следующий формат:
[спецификатор класса памяти] [модификатор] тип идентификатор_1 [=начальное значение] [, идентификатор] [=начальное значение]];
В объявлении идентификатора могут присутствовать квадратные или круглые скобки, а также перед ним может быть один или несколько знаков *(звёздочка). Эти случаи объявления будут рассмотрены далее.
Спецификатор типа - одно или несколько ключевых слов, определяющих тип переменной. Язык Cu определяет стандартный набор основных типов данных(int,char, double), используя которые пользователь может объявлять свои производные (структурированные) типы (массив, структура, объединение и др.). При определении переменных им можно присвоить начальное значение.
1.2 Возникновение и эволюция языка Cи (С++)
Бьерн Страуструп является разработчиком языка С++ и создателем первого транслятора. Он - сотрудник научно-исследовательского вычислительного центра AT&T Bell Laboratories в Мюррей Хилл (Нью-Джерси, США). Он получил звание магистра математики и вычислительной техники в университете г. Аарус (Дания), а докторское звание по вычислительной технике в кэмбриджском университете (Англия). Он специализируется в области распределенных систем, операционных систем, моделирования и программирования. Вместе с М. А. Эллис он является автором полного руководства по языку С++ - "Руководство по С++ с примечаниями".
Безусловно С++ многим обязан языку С, который сохраняется как его подмножество. Сохранены и все свойственные. С средства низкого уровня, предназначенные для решения самых насущных задач системного программирования. С, в свою очередь, многим обязан своему предшественнику языку BCPL. Комментарий языка BCPL был восстановлен в С++. Еще одним источником вдохновения был язык SIMULA-67; именно из него была заимствована концепция классов (вместе c производными классами и виртуальными функциями). Возможность в С++ перегрузки операций и свобода размещения описаний всюду, где может встречаться оператор, напоминают язык Алгол-68.
Более ранние версии языка, получившие название "С с классами", использовались, начиная с 1980 г. Этот язык возник потому, что автору потребовалось написать программы моделирования, управляемые прерываниями. Язык SIMULA-67 идеально подходит для этого, если не учитывать эффективность. Язык "С с классами" использовался для больших задач моделирования. Строгой проверке подверглись тогда возможности написания на нем программ, для которых критичны ресурсы времени и памяти. В этом языке недоставало перегрузки операций, ссылок, виртуальных функций и многих других возможностей. Впервые С++ вышел за пределы исследовательской группы, в которой работал автор, в июле 1983 г., однако тогда многие возможности С++ еще не были разработаны.
Название С++ (си плюс плюс), было придумано Риком Маскитти летом 1983 г. Это название отражает эволюционный характер изменений языка С. Обозначение ++ относится к операции наращивания С. Чуть более короткое имя С+ является синтаксической ошибкой. Кроме того, оно уже было использовано как название совсем другого языка. Знатоки семантики С находят, что С++ хуже, чем ++С. Язык не получил названия D, поскольку он является расширением С, и в нем не делается попыток решить какие-либо проблемы за счет отказа от возможностей С. Еще одну интересную интерпретацию названия С++ можно найти в приложении.
Изначально С++ был задуман для того, чтобы автору и его друзьям не надо было программировать на ассемблере, С или других современных языках высокого уровня. Основное его предназначение - упростить и сделать более приятным процесс программирования для отдельного программиста. До недавнего времени не было плана разработки С++ на бумаге. Проектирование, реализация и документирование шли параллельно. Никогда не существовало "проекта С++" или "Комитета по разработке С++". Поэтому язык развивался и продолжает развиваться так, чтобы преодолеть все проблемы, с которыми столкнулись пользователи. Толчками к развитию служат также и обсуждения автором всех проблем с его друзьями и коллегами.
С момента выхода в свет первого издания этой книги язык С++ подвергся существенным изменениям и уточнениям. В основном это касается разрешения неоднозначности при перегрузке, связывании и управлении памятью. Вместе с тем, были внесены незначительные изменения с целью увеличить совместимость с языком С. Были также введены некоторые обобщения и существенные расширения, как то: множественное наследование, функции-члены со спецификациями static и const, защищенные члены (protected), шаблоны типа и обработка особых ситуаций. Все эти расширения и доработки были нацелены на то, чтобы С++ стал языком, на котором можно создавать и использовать библиотеки.
Другие расширения, введенные за период между 1985 и 1991 г.г. (такие как множественное наследование, статические функции-члены и чистые виртуальные функции), скорее появились в результате обобщения опыта программирования на С++, чем были почерпнуты из других языков.
Сделанные за эти шесть лет расширения языка прежде всего были направлены на повышение выразительности С++ как языка абстракции данных и объектно-ориентированного программирования вообще и как средства для создания высококачественных библиотек с пользовательскими типами данных, в частности.
Примерно в 1987 г. стало очевидно, что работа по стандартизации С++ неизбежна и что следует незамедлительно приступить к созданию основы для нее.
Фирма AT&T Bell Laboratories внесла основной вклад в эту работу. Около ста представителей из порядка 20 организаций изучали и комментировали то, что стало современной версией справочного руководства и исходными материалами для ANSI по стандартизации. С++. Наконец, по инициативе фирмы Hewlett-Packard в декабре 1989 г. в составе ANSI был образован комитет X3J16. Ожидается, что работы по стандартизации С++ в ANSI (американский стандарт) станут составной частью работ по стандартизации силами ISO (Международной организации по стандартизации).