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

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

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

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

Добавлен: 29.06.2023

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

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

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

1.3 ЭВОЛЮЦИЯ C

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

Первое изменение (даже если немного) произошло, когда Американский национальный институт стандартов (ANSI) сформировал комитет в 1983 году для стандартизации C. После обзора языка они немного изменили его, чтобы он был также совместим с другими программами, которые были до C. Таким образом, новый стандарт ANSI появился в 1989 году и известен как ANSI C или C89. Международная организация по стандартизации (ISO) также способствовали стандартизации C.

Со временем C развился, так как он добавил в свой богатый набор некоторые важные опций, такие как управление памятью, функции, классы и библиотеки. C используется в разработке многих крупнейших проектов в мире. C также повлиял на развитие множества языков, таких как AMPL, AWK, C ++ , C--, C # , Objective-C , Bit C, D, Go, Java, JavaScript , Julia, Limbo, LPC, Perl, PHP, Pike, Processing, Python , Rust, Seed7 и Verilog [17].

За появление Microsoft Windows нужно поблагодарить язык C, потому что разработан Windows в основном на C. То же самое касается MacOS, Linux, Android, iOS и Windows Phone, потому что почти все современные операционные системы основаны на C. Он также широко используется во встроенных системах, такие как датчики в автомобилях, интеллектуальные мониторы и бесчисленные интернет-устройства (интернет вещей).

Некоторые из проектов, которые разрабатываются на С:

- разработка компиляторов;

- баз данных;

- компьютерные и мобильные игры;

- обновление ядра UNIX;

- оценка математических уравнений;

- проектирование сетевых устройств.

Подобно большинству величайших изобретений в мире, C рождается по необходимости. Обстоятельства и проблемы послужили источником вдохновения. Однако, в отличие от многих языков программирования, которые теперь вымерли или почти вымерли, C выдержал испытание временем и процветал. Некоторые языки теперь классифицируются как нишевые языки, например, Fortran теперь в основном используется только для инженерных целей, а COBOL изо всех сил пытается оставаться актуальным [1].

C не только остался актуальным, но и послужил источником вдохновения для развития многих других языков программирования. Даже мощные технологические новшества, такие как IoT, искусственный интеллект и автоматизация, не смогли выбить C из своего положения.

2 ВОЗНИКНОВЕНИЕ C++


2.1 ИСТОРИЯ ВОЗНИКНОВЕНИЯ C++

C ++ является одним из самых популярных языков программирования и работает на самых разных платформах оборудования и операционных систем. В качестве эффективного компилятора для собственного кода он реализует себя в таких областях, как системное программное обеспечение, прикладное программное обеспечение, драйверы устройств, встроенное программное обеспечение, высокопроизводительные серверные и клиентские приложения и развлекательное программное обеспечение, такие как видеоигры. Несколько групп разработчиков предоставляют как бесплатное, так и проприетарное программное обеспечение для компилятора C++, включая GNU Project, LLVM, Microsoft и Intel [13].

C ++ сильно повлиял на многие другие популярные языки программирования, в первую очередь на C # и Java.

Язык программирования C ++ имеет историю, восходящую к 1979 году, когда Бьёрн Страуструп работал над своей кандидатской диссертацией. Одним из языков, который был создан Страуструпом, был язык под названием «Simula», который, как следует из названия, является языком, в основном предназначенным для моделирования. Язык Simula 67, который был вариантом, с которым работал Страуструп, рассматривается как первый язык для поддержки парадигмы объектно-ориентированного программирования. Страуструп обнаружил, что эта парадигма очень полезна для разработки программного обеспечения, однако язык Simula был слишком медленным для практического использования.

Вскоре после этого он начал работу над языком «C с классами», которая, как следует из названия, должна была быть надмножеством языка C. Его целью было добавить объектно-ориентированное программирование в язык C, который был языком, активно используемым из-за его возможности быть переносимым, не теряя при этом скорости или функциональности. Его язык включал в себя классы, базовое наследование, аргументы функций по умолчанию и строгую проверку типов в дополнение ко всем функциям языка C.

Первый компилятор C с классами был назван Cfront, который был получен из компилятора C под названием CPre. Это была программа, предназначенная для перевода C с кодом Classes на обычный C. Интересным моментом, является то, что Cfront был написан в основном на C с классами, что делает его компилятором для самостоятельной компиляции (компилятор, который может скомпилировать себя). Позднее Cfront будет оставлен в 1993 году после того, как стало сложно интегрировать в него новые функции, а именно исключения C++. Тем не менее, Cfront оказал огромное влияние на реализации будущих компиляторов и операционной системы Unix.


В 1983 году название языка было изменено с C с классами на C++. Оператор ++ на языке C является оператором для увеличения переменной, что дает некоторое представление о том, как Страуструп рассматривал этот язык. В это время было добавлено много новых функций, наиболее заметными из которых являются виртуальные функции, перегрузка функций, ссылки на символ &, ключевое слово const и однострочные комментарии с использованием двух косых черт (что является опцией, взятой из языка BCPL).

В 1985 году труд Страуструпа под названием «Язык программирования C++» был опубликован. В том же году C++ был переведен в ранг коммерческого продукта. Язык еще не был официально стандартизован, что делало книгу очень важным трудом. Язык был обновлен снова в 1989 году, чтобы включить защищенные и статические члены, а также наследование из нескольких классов.

В 1990 году было выпущено справочное руководство Annotated C++. В том же году компилятор Borland Turbo C++ будет выпущен как коммерческий продукт. Turbo C++ добавил множество дополнительных библиотек, которые существенно повлияли на разработку C++. Хотя последний стабильный выпуск Turbo C ++ был в 2006 году, компилятор по-прежнему широко используется [2].

В 1998 году Комитет по стандартам С++ опубликовал первый международный стандарт для C++ ISO/IEC 14882:1998, который стал неофициально известен под именем C++98. Было упомянуто, что справочное руководство Annotated C++ оказывает большое влияние на разработку стандарта. Также была включена Библиотека стандартных шаблонов, которая начала свою концептуальную разработку в 1979 году. В 2003 году комитет ответил на многочисленные жалобы, о которых сообщалось, со своим стандартом 1998 года, и соответствующим образом пересмотрел его. Измененный язык был назван C++ 03.

В 2005 году комитет по стандартам C ++ опубликовал технический отчет (получивший название TR1), в котором подробно описаны различные функции, которые они планировали добавить к последнему стандарту C++. Новый стандарт был неофициально назван C++ 0x, поскольку ожидалось, что он будет выпущен до конца первого десятилетия. Как ни странно, однако, новый стандарт не был выпущен до середины 2011 года. Несколько технических отчетов были выпущены до тех пор, и некоторые компиляторы начали добавлять экспериментальную поддержку для новых функций [3].

В середине 2011 года был закончен новый стандарт C++ (получивший название C++ 11). Проект библиотеки Boost оказали значительное влияние на новый стандарт, а некоторые из новых модулей были получены непосредственно из соответствующих библиотек Boost. Некоторые из новых функций включают поддержку регулярных выражений, полную библиотеку рандомизации, новую библиотеку для работы со временем C++, поддержку атомизации, стандартную библиотеку потоков (которая до 2011 года отсутствовала как на C, так и на C ++), новый синтаксис цикла, обеспечивающий функциональность, подобную циклам foreach в некоторых других языках, ключевое слово auto, новые классы контейнеров, лучшую поддержку объединений и списки инициализации массивов, и вариативные шаблоны [4].


В 2012 году был основан Фонд стандарта С++, а в 2014 году было выпущено 4-ое издание главной книги о языке С++.

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

Новые возможности библиотеки: std и многие небольшие улучшения в существующих библиотечных средствах, такие как двух диапазонные перегрузки для некоторых алгоритмов, типы псевдонимов, типы признаков типа, определяемые пользователем строки, длительность и литералы сложных чисел и т.д.

В 2015 году появился TS. Этот TS является экспериментальным расширением библиотеки C++, которое указывает библиотеку файловой системы на основе boost.filesystem V3 (с некоторыми изменениями и расширениями). Этот TS был объединен с C++17.

Это TS стандартизирует параллельный интерфейс для всех стандартных алгоритмов библиотеки, а также добавляет новые алгоритмы, такие как reduce, transform_reduce и exclusive_scan [9].

2.2 СОВРЕМЕННЫЙ С++ И ЕГО БУДУЩЕЕ

В 2017 году был опубликован окончательный вариант С++17. Появились новые функции: сгиб-выражения, вычитание аргумента шаблона, время компиляции, constexpr, встроенные переменные , структурированные привязки, инициализаторы для if и switch, упрощенные вложенные пространства имен, множественные имена, сделанные без учета системы типов, новый порядок правил оценки __has_include, * this, constexpr lambda, пространства имен атрибутов не должны повторяться, новые атрибуты [[fallthrough]], [[nodiscard]] и [[maybe_unused]]. Добавлены ключевые слова register, bool increment.

Также было добавлено несколько мелких изменений в библиотеку шаблонов std [27].

Следующая крупная версия стандарта C ++ запланирована на 2020, под названием C++20.

Должны будут добавиться следующие опции и функции:

- оператор трехмерного сравнения <=>;

- назначенные инициализаторы;

- пакет-расширений лямбда;

- а также изменения в библиотеке std.

ИСТОРИЯ ВОЗНИКНОВЕНИЯ И РАЗВИТИЯ ЯЗЫКА JAVA

НАЧАЛО JAVA

Java - это объектно-ориентированный язык программирования, разработанный Джеймсом Гослингом и его коллегами из Sun Microsystems в начале 1990-х годов. В отличие от обычных языков, которые обычно разрабатываются либо для компиляции на собственный (машинный) код, либо для интерпретации исходного кода во время выполнения, Java предназначен для компиляции в байт-код, который затем выполняется (как правило, с использованием компиляции JIT) с помощью Виртуальной машины Java.


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

Сам язык заимствует большой синтаксис из C и C++, но имеет более простую объектную модель и меньше объектов низкого уровня. Java никак не относится к JavaScript, хотя они имеют похожие имена и используют синтаксис типа C.

В начале 90-х годов распространение сетевых вычислений на повседневную жизнь было радикальным. Java был запущен в качестве проекта под названием «Дуб» Джеймса Гослинга в июне 1991 года. Гослинг должен был реализовать виртуальную машину и язык, который имел знакомое C-образное обозначение, но с большей однородностью и простотой, чем C/C++. В 1991 году небольшая группа инженеров Sun, названная «Зеленая команда», считала, что следующей волной в области вычислений является объединение цифровых потребительских устройств и компьютеров. Под руководством Джеймса Гослинга команда работала круглосуточно и создавала язык программирования, который бы революционизировал наш мир – Java [22].

Зеленая команда продемонстрировала свой новый язык с помощью интерактивного портативного домашнего развлекательного контроллера, который первоначально был нацелен на индустрию цифрового кабельного телевидения. К сожалению, концепция была слишком продвинутой для команды в то время. Но это было просто для Интернета, который только начинал взлетать. В 1995 году команда объявила, что интернет-браузер Netscape Navigator будет включать технологию Java.

Первой публичной реализацией стала Java 1.0 в 1995 году. Она вышла под лозунгом «Write Once, Run Anywhere» (пишется один раз, работает везде) с бесплатной загрузкой на популярных платформах. Он был достаточно надежным, и его безопасность была настраиваемой, позволяя ограничить доступ к сети и файлам. Основные веб-браузеры вскоре включили его в свои стандартные конфигурации в безопасной конфигурации «апплетов». Новые версии для больших и малых платформ (J2EE и J2ME) вскоре были разработаны с появлением «Java 2». Sun не объявила о каких-либо планах для «Java 3» [20].

Многие разработчики вскоре поняли, что архитектурный нейтральный язык, такой как Java, лучше всего подходит для написания программ для Интернета. Таким образом, внимание переключилось на Java с потребительской электроники на World Wide Web (Интернет).