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

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

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

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

Добавлен: 29.03.2023

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

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

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

Введение

Все компьютерные программы состоят из двух элементов: кода и данных. Согласно этому, любая программа может быть концептуально организована или вокруг ее кода, или вокруг ее данных. Иными словами, некоторые программы концентрируют свое внимание на том, «что делается с данными», а другие – на том, «на что этот процесс влияет».

Существует несколько парадигм (ключевых подходов), которые управляют конструированием программ. Первый подход считает программу моделью, ориентированной на процесс (process-oriented model). При этом программу определяют последовательности операторов ее кода.

Первые компиляторы (например, FORTRAN) поддерживали процедурную модель программирования, в основе которой лежит использование функций. Следующий этап развития связан с переходом к структурной модели программирования (к ней относятся компиляторы ALGOL, Pascal, C), в основе которого лежат следующие положения: программы представляются в виде совокупности взаимосвязанных процедур и данных, которыми эти процедуры (или блоки) оперируют. Здесь широко используются процедурные блоки и минимальное использование GOTO. Эти программы являются более простыми. Такие языки программирования, как Pascal, C успешно используют эту модель. Но здесь часто возникают проблемы, когда растет размер и сложность программ.

Другой подход, названный объектно-ориентированным программированием (ООП), было создано для управления возрастающей сложностью программ. ООП организует программу вокруг ее данных (то есть вокруг объектов) и набора четко определенных интерфейсов с этими данными. Объектно-ориентированную программу можно характеризовать как доступ к коду, который управляется данными (data controlling access to data). Такой подход имеет некоторые организационные преимущества, а именно:

1. Можно повторно использовать код программы и таким образом экономить время на разработку.

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

3. Программы с использованием ООП легко тестировать и модифицировать. Можно разбить программу на компоненты и тестировать работу каждого из них.

Все языки ООП обеспечивают механизмы, которые помогают реализовать объектно-ориентированную модель. К ним относят абстракцию, инкапсуляцию, наследование и полиморфизм. Также их часто называют основными принципами ООП.

Цель курсовой работы – рассмотреть историю возникновения и развития языка программирования Си (С++) и Java.


Для достижения цели необходимо выполнить следующие задачи:

  • рассмотреть алгоритмические языки программирования и проанализировать их развитие;
  • рассмотреть историю возникновения и развития языка программирования С++;
  • рассмотреть историю возникновения и развития языка программирования Java;
  • провести анализ современных тенденций развития языков программирования.

1 Алгоритмические языки программирования и их развитие

1.1 История развития алгоритмических языков программирования

В пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие языков программирования. Компьютеры, которые стоили в то время гораздо дороже, чем разработка любой программы, требовали высокоэффективного кода. Такой код разрабатывался на языке Ассемблер вручную. В середине 1950-х годов под руководством Джона Бэкуса для компании IBM был разработан алгоритмический язык программирования FORTRAN. Создание этого языка стало точкой отсчета эры алгоритмических языков программирования. В качестве альтернативы к языку FORTRAN, который тогда ориентировался на архитектуру IBM под руководством Питера Наура в конце 1950-х годов был разработан язык ALGOL. Основной целью, которая руководила разработчиками этого языка, была независимость от конкретной архитектуры вычислительной системы. Кроме того, разработчики языка ALGOL пытались разработать язык, который был бы удобным для описания алгоритмов и который использовал бы систему обозначений, являющуюся близкой к той, которая принята в математике.

Языки FORTRAN и ALGOL были первыми языками, ориентированными на программирование вычислений.

Язык PL/1, первые версии которого появились в начале 1960-х годов, расширял возможности языка FORTRAN. Но несмотря на определенную популярность этого языка у программистов, которые работали на компьютерах IBM и машинах серии EC, сегодня он представляет чисто теоретический интерес.

В конце 1960-х годов под руководством Найярда и Дала был разработан язык Simula-67, который использовал концепцию типов данных. Фактически это был язык, который использовал понятие класса. В середине 1970-х годов Вирт предложил язык Pascal, который сразу стал широко использоваться. В то же время по инициативе Министерства обороны США началась работа по созданию языка высокого уровня, который получил имя Ada, в честь Ады Лавлейс, программистки и дочери лорда Байрона. Над проектом работали четыре независимые группы, но все они за основу использовали язык Pascal. В начале 1980-х годов был разработан первый промышленный компилятор языка Ada.


Универсальный язык программирования C был разработана в середине 1970-х годов Денисом Ритчи и Кеном Томпсоном. Этот язык стал популярным языком системного программирования и в свое время использовался для написания ядра операционной системы UNIX. Стандарт языка C начал разрабатываться рабочей группой института стандартов ANSI в 1982 году. Международный стандарт языка C был принят в 1990 году. Язык C лег в основу языков программирования C ++ и Java.

Язык C# (произносится Си-Шарп) – это язык программирования от компании Microsoft. Он входит в версию Visual Studio-Visual Studio.NET. Кроме C # в Visual Studio.NET входят Visual Basic.NET и Visual C ++.

Одна из причин разработки нового языка компанией Microsoft – это создание компонентно-ориентированного языка для новой платформы .NET. Другие языки были созданы до появления платформы .NET, язык C # создавался специально под эту платформу и не имеет совместимости с предыдущими версиями языков. Еще одна причина разработки компанией Microsoft нового языка программирования – это создание альтернативы Java. Язык C # является наиболее известной новинкой в ​​области создания языков программирования. В отличие от 60-х годов двадцатого века – периода бурного языкотворчества – в настоящее время языки создаются крайне редко. Идеологом и руководителем разработки нового языка стал Хейлсберг, который входил в число ведущих разработчиков одного из самых популярных сред разработки – Delphi. В Microsoft он принимал участие в создании версии Java – J. Язык C # создавалась как язык компонентного программирования, и в этом одна из главных преимуществ языка – направленность на возможность повторного использования созданных компонентов.

Наряду с алгоритмическими языками параллельно развивались и языки, которые предназначались для обработки деловой информации, а также языки искусственного диалекта. К первым относится язык COBOL, а ко вторым – языки LISP и Prolog. Язык LISP, который был разработан в 1960-х годах под руководством Дж. Маккарти, был первым функциональным языком обработки списков, который нашел широкое применение в теории игр.

С появлением персональных компьютеров, языки стали составными частями интегрированных сред разработки. Появились языки, используемые в различных офисных приложениях, например, VBA (Visual Basic for Application).

В 1990-х годах с распространением сети Интернет расширяется возможность распределенной обработки данных, что отображается и на развитии языков программирования. Появляются языки, которые ориентированы на создание серверных приложений, таких как Java, Perl и PHP, языки описания документов – HTML и XML Традиционные языки программирования C ++ и Pascal также видоизменяются: под языком программирования начинает пониматься не только функциональность самого языка, а также библиотеки классов, представляемых средой программирования. Акцент из спецификации самих языков программирования переносится на стандартизацию механизмов взаимодействия распределенных приложений. Появляются новые технологии – COM и CORBA, которые используют взаимодействие распределенных объектов.


1.2 Области применения языков программирования

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

  • научные исследования (C ++, C #, FORTRAN, Java);
  • системное программирование (языка C ++, Java);
  • обработка информации (языка C ++, C #, COBOL, Java);
  • искусственный интеллект (LISP, Prolog);
  • издательская деятельность (Postscript, TEX);
  • удаленная обработка информации (Perl, PHP, Java, C ++, C #);
  • описание документов (HTML, XML).

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

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

1.3 Парадигмы программирования

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

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

  • Процедурные языки, которые представляют собой последовательность операторов, которые выполняются. К процедурным языкам относятся: FORTRAN, C, Ada, Pascal и некоторые другие. Код программы на процедурном языке может быть записан следующим образом:

operator1; operator2; operator3.

  • Аппликативный язык, в основу которого положен функциональный подход. Язык рассматривается с точки зрения нахождения функции, необходимой для перевода памяти ПК из одного состояния в другое. Программа представляет собой набор функций, используемых в исходных данных, и позволяет получить нужный результат. Примером такого языка является язык LISP. Код программы может быть записан следующим образом:

function1 (function2 (function3 (beginning_date))).

  • Языки системы правил, которые называют также языками логического программирования. Основу этих языков составляет определение набора правил, при выполнении которых возможно выполнение определенных действий. Правила можно задавать в виде утверждений и в виде таблиц решений. К языкам логического программирования относится язык Prolog. Код программы может быть записан следующим образом:

if condinion1 then operator1;

if condinion2 then operator2;

if condinion3 then operator3.

  • Объектно-ориентированные языки, основанные на построении объектов как набора данных и операций над ними. Объектно-ориентированные языки объединяют и расширяют возможности, которыми обладают процедурные и аппликативные языки. К объектно-ориентированным языкам относятся C ++, ObjectPascal, Java.

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

1.4 Стандартизация языков программирования

Концепция языка программирования неразрывно связана с его реализацией. Для того, чтобы компиляция одной и той же программы разными компиляторами всегда давала одинаковый результат, разрабатываются стандарты языков программирования. Существует ряд организаций, которые занимаются именно вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Организация международных стандартов ISO (International Standards Organization) и тому подобное.

Как правило, при создании языка выпускается частичный стандарт, который определяется разработчиками языка. Если язык становится достаточно популярным, то со временем появляются различные версии компиляторов, который не точно следуют частичному стандарту. В большинстве случаев идет расширение изначально зафиксированных возможностей языка. Для приведения наиболее популярных реализаций языка в соответствие друг с другом разрабатывается согласительный стандарт. В процессе развития языка могут появляться новые стандарты, отражающие современные нововведения. Так, речь FORTRAN сначала была стандартизирована в 1966 году. В результате был издан стандарт FORTRAN 66. Позже этот стандарт несколько раз пересматривался. В результате в 1977 году был выпущен FORTRAN 77, после появился и FORTRAN 90.