Файл: История возникновения и развития языка программирования Си (С++) и Java (История возникновения языка программирования Java).pdf
Добавлен: 01.04.2023
Просмотров: 61
Скачиваний: 1
ВВЕДЕНИЕ
Как один из самых популярных языков программирования, C ++ широко используется для разработки программного обеспечения.
В сферу его применения входит создание операционных систем, разнообразных приложения, драйверы устройств, встроенные приложения, высокопроизводительные серверы и развлекательные приложения.
Существует множество реализаций языка C ++, как бесплатных, так и коммерческих, а также для различных платформ. Например, на платформе x86 это GCC, Visual C ++, Intel C ++ Compiler, Embarcadero (Borland) C ++ Builder и другие. C ++ оказал огромное влияние на другие языки программирования, особенно Java и C #.
Актуальность изучения основ языков программирования всегда играет большую роль в обучении, поскольку на этом этапе закладываются базовые знания по основным направлениям. Если специалист в области информационных технологий говорит на этих языках, у них всегда будет работа с большим доходом.
Цель данной работы - ознакомиться с историей возникновения и развития языков программирования С и С++ и Java.
Предмет исследования: язык программирования С++, Java. Изучение основ и тонкостей этих зыков и их применения для решения задач широкого круга направленности.
Объект исследования - возможности объектно - ориентированного языка программирования С ++ и языка Java.
В курсовой будут решены след задачи:
1. Описана краткая история развития языков С и С++;
2. Освящена краткая история возникновения языка программирования Java;
3. Даны базовые понятия языка Java и С и С++.
Для написания курсовой работы использованы труды следующих авторов - Дорогова В.Г., Монахова В.В., Страуступ Б., Фридмана А.Л. и других.
Методологической базой исследования выступили такие методы, как: анализ научно-методической литературы по теме исследования, обобщение и систематизация материала.
Структурно работа состоит из введения, двух глав, заключения и списка используемых литературных источников.
ГЛАВА 1. ОСНОВЫ ПРОГРАММИРОВАНИЕ НА С И С++
1.1. История развития языков С и С++
В 1972 году-Деннис Ричи совместно с Кеном Томсоном, сотрудником AT & T из подразделения Bell Labs, переписали UNICS, операционную систему, полностью написанную на ассемблере, на более "развитый" язык.
Это стало причиной возникновения новой категории языков с языком С (произносится «Си» на русском языке). Это было основано на языке B(Би), который пришел из BPCL. Таким образом, УНИКС, написанный на ассемблере, был изменен и написан на языке Си и был переименован в UNIX.
BPCL - - - > B - - - - > C
Кроме того, язык SQL (Structured Query Language) был разработан IBM.
Эта эпоха также знаменует собой рождение новой парадигмы "объектно-ориентированного программирования". Но C поддерживал структурное программирование. Таким образом, он был обновлен, чтобы создать новую версию, которая поддерживала OOP, названную Obj C Брэдом Коксом (1984) и C++ Бьярне Стострупом (1981-86). [7]
Язык Си был разработан в первую очередь как инструмент для системного программирования. Благодаря идеальному сочетанию лаконичного дизайна и богатства выразительных функций, язык Си сумел найти быстрое распространение и стал одним из самых популярных языков для прикладного и системного программирования. Компиляторы C работают практически на всех типах современных ПК в Windows, Mac OS, Linux, FreeBSD, Solaris и других операционных системах [2].
В отличие от многих языков программирования (Ada, ALGOL-60 и т. Д.), Которые вступили в силу только после принятия соответствующих национальных и международных стандартов, язык C изначально был создан с целью использования его в качестве рабочего инструмента, который не был предназначен для широкого распространения. До 1989 г. стандарта С не существовало, и в качестве формального описания авторы составителей (разработчиков) использовали книгу Б. Кернигана и Д. Ричи (первое издание), которая была опубликована в 1978 г. в США (она был переведен на русский язык в 1985 году). Роль этой книги как неофициального стандарта языка Си сохранилась до наших дней. Не случайно во всей литературе и различной документации по компиляторам ссылки на эту работу обозначены специальной аббревиатурой K & R [2].
Первый официальный стандарт языка Си был принят в 1989 году Американским национальным институтом стандартов (ANSI). Эта версия языка называется C89 на практике. Этот стандарт также был принят международной организацией по стандартизации (ISO). В 1995 году стандарт C89 был слегка модифицирован [25].
C ++ (на русском языке это читается как «Си Плюс Плюс», как развитие языка C, появившегося в 1979 году. Он был разработан Бьярни Страуструпом, который начал работать в Bellabs в то время. Разработка и совершенствование язык C ++ вызвал значительные усилия его создателя в 80-х-90-х годах. В результате стандарт ANSI / ISO для C ++ был принят в 1998 году. В целом, C ++ является объектно-ориентированной, улучшенной версией язык C.C ++ основан на версии C89, которая содержала все изменения в 1995 году. И теперь эта версия C89 называется C-подмножеством языка C ++. Несмотря на то, что C ++ был задуман как набор объектно-ориентированных расширений для языка Си, позже он смог развиваться как самостоятельный язык программирования [13].
Сегодня его новые инструменты почти удвоили области исходного языка. Нет необходимости доказывать, что C ++ является одним из самых мощных компьютерных языков, разработанных до сих пор.
В 1999 году был принят второй стандарт ANSI / ISO для языка Си. Эта версия называется C99, которая включает в себя набор улучшений, а также некоторые новые инструменты. Некоторые из этих «новых» инструментов пришли из языка C ++, в то время как другие предоставляют пользователю совершенно новые, новые функции. Таким образом, некоторые элементы, введенные в C99, несовместимы с языком C ++. Это означает, что с появлением версии C99 стандарт C больше не считается чистым подмножеством C ++ [13].
К счастью, причина многих «несовместимостей» связана со специальными транспортными средствами, которые можно легко преодолеть. В результате эта версия языка C позволяет создавать программы, совместимые с языком C ++.
В течение следующих нескольких лет была проведена работа по разработке новых стандартов для языков C и C ++, которые были завершены в конце 2011 года [3].
В октябре 2011 года был введен новый стандарт языка C ++: «Изучайте C ++ самостоятельно за 21 день. Его обозначение - C ++ 11 или ISO / IEC 14882: 2011. Полная поддержка обещана в GCC 4.7.
А в декабре 2011 года они приняли новый стандарт языка Си. Эта версия условно называется C11 или ISO / IEC 9899: 2011. Некоторые из ее функций уже поддерживаются компилятором GCC [18].
Сегодня существует очень большое количество языков, подобных Си, которые основаны на языке Си. Наиболее важными из них являются C ++ Бьярни Страуструпа, Java Sun и Microsoft C # (читай C-sharp) [5].
Азбука языка - это набор знаков (символов), приемлемых для этого языка. Это определение действительно как для человеческого языка, так и для языков программирования [6].
1.2. Понятие языков программирования С и С++
Си является одним из наиболее важных языков программирования в истории вычислительной техники. Сегодня существует много разных языков программирования, которые предлагают много разных функций, и C стал основой для таких языков [5].
Разработка C не была первоначальной целью его основателей. На самом деле, различные обстоятельства и проблемы создали идеальную ситуацию для его создания. В 1960-х Деннис Ритчи из Bell Bell Labs (AT & T) работал с некоторыми из своих коллег над разработкой операционной системы, которая могла бы использоваться многими пользователями одновременно. Её название Multics, и она должна была позволить многим пользователям совместно использовать общие вычислительные ресурсы. Multics предлагала много преимуществ, но также имели много проблем. Это была большая система, и с точки зрения затрат и выгод, казалось, что затраты перевешивали выгоды. [5]
Постепенно лаборатории Беллы вышли из проекта. Именно тогда Ричи присоединился к Кену Томпсону и Брайану Кернигану в другом проекте. Проект включал разработку новой файловой системы. Томпсон разработал новую файловую систему для декабрьского суперкомпьютера PRP - 7 на языке ассемблера. После этого создатели файловой системы сделали множество улучшений Unix можно проследить до его предшественника, Multics. Название первоначально было unics (унифицированная информация и вычислительная служба) как каламбур на Multics (мультиплексированные информационные и компьютерные сервисы). Unics был позже изменен на Unix. UNIX был написан на языке ассемблера, что, хотя и идеально для машин, было трудным предложением для людей. [28] Unix Unix для Fortran B. B. Именно здесь идея развития языка C начала формироваться в умах его создателей.
Первое изменение (пусть и небольшое) произошло, когда Американский национальный институт стандартов (ANSI) сформировал Комитет по стандартизации языка C в 1983 году. После обзора они немного изменили его, чтобы он также был совместим с другими программами. это предшествовало C. Таким образом, новый стандарт ANSI появился в 1989 году и известен как ANSI C или C89. Международная организация по стандартизации (ISO) также внесла вклад в стандартизацию c [10].
Со временем Си стал использоваться в персональных компьютерах для разработки программных приложений и других целей. C эволюционировал, добавляя важные функции, такие как управление памятью, функции, классы и библиотеки, к своему богатому набору. C используется в некоторых из самых крупных и известных проектов и продуктов в мире. C также повлиял на разработку многих языков: am amp, awk, csh, C ++, C--, C #, Objective-C, бит C, D, Go, Java, JavaScript, Джулия, Limbo, LPC, Perl, PHP, Щука, обработка, Python, RUST, Seed7, Vala Ver Verilog [21].
Особенности этого языка:
- Эффективность. Это связано с тем, что программы, написанные на C, имеют небольшой размер и высокую скорость выполнения одновременно.
- Краткость. Это означает, что запись алгоритма является выразительной и лаконичной.
- Компактность. Язык содержит небольшое количество встроенных инструментов и ключевых слов.
- Мощность. Сила применения достигается за счет использования большого количества библиотек [11].
- Портативность. Компиляторы созданы для всех ОС и аппаратных платформ, поэтому программу можно скомпилировать и запускать практически везде [11].
Конечно, язык Си имеет свои недостатки. Это может включать в себя довольно слабый контроль преобразования типов и уязвимость в процессе работы с адресами и динамической памятью, что позволяет легко допустить ошибку в программе, которую потом будет сложно обнаружить. С другой стороны, эти недостатки позволили создать исполняемый код, который приближает эффективность программы на языке ассемблера. В 1981 году появился язык C ++, который многие называют «C с классами». Автор языка - Бьярн Страуструп внес вклад в добавление методов объектного языка к знакомым C-классам, которые служат для представления внутренней структуры объектов, механизма наследования и новых инструментов для работы с динамической памятью и вводом-выводом. Благодаря этим инструментам вы можете не только писать объектно-ориентированные программы, но и создавать библиотеки шаблонов и классов, то есть расширять пользовательские инструменты и область действия самого языка. C / C ++ сочетает в себе вышеуказанные преимущества C и новые возможности C ++, предоставляя возможность «изнутри» изучать принципы программирования высокого уровня [11].
Язык C ++ содержит инструменты и методы как для программирования высокого, так и низкого уровня. К первым относятся классы, структуры, механизмы наследования и позднего связывания, а также шаблоны. Второй может включать в себя механизм указателя, работу с символьными битами и работу с механизмом прерывания. Это делает C ++ очень привлекательным для решения широкого круга задач [1].
В C ++ алфавит можно разделить на группы знаков:
- заглавные и строчные латинские буквы (A, B, ..., Z, a, b, ..., z);
- Арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
- специальные знаки: ", {} | [] () + - /% \; '.:? <=> _! & * # ~ ^
- пробелами являются пробелы, символы табуляции и символы новой строки [4].
Идентификатор - это имя объекта в программе. Например, имена присваиваются переменным, функциям, классам и т. Д. Имя может состоять из букв латинского алфавита, цифр и символа _ (подчеркивание). Имя может начинаться с буквы или подчеркивания, но не с цифры. Важно отметить, что прописные и строчные латинские буквы, используемые в идентификаторах, считаются разными (это требование является общим для всех C-подобных языков: C, C ++, C #, Java, Perl и многих других. В таких языках, как Fortran, Pascal и Basic, в именах не делается различий между заглавными и строчными латинскими буквами).
Пример допустимых идентификаторов:
alfa, Alfa , ALFA x _x a25 i_tek
Обратите внимание: здесь alfa, Alfa и ALFA - это разные названия [19].
Имена, подобные перечисленным ниже, никогда не должны использоваться в качестве идентификаторов:
25а (начинается с цифры);
Alfa (кириллица не допускается) [7].
Общепринятые рекомендации по использованию имен:
- желательно, чтобы название объекта было осмысленным;
- использовать имена, состоящие из заглавных латинских букв, в качестве константных имен, например: PI, GAMMA;
- не используйте имена, начинающиеся с подчеркивания, так как эти имена часто используются разработчиками компилятора для своих собственных целей;
- чем больше объем имени, тем более выразительным и длинным должно быть имя. Короткие однобуквенные или двухбуквенные имена допускаются только внутри небольших блоков программы, внутри коротких пользовательских функций [12].
В большинстве случаев длина имени не ограничена, но длина внешних имен (имен библиотек, функций) может быть ограничена операционной системой.
Ключевые слова (зарезервированные) - это слова, которые могут использоваться в программе только по их прямому назначению, то есть эти имена не могут использоваться для указания, например, их собственных переменных.