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

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

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

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

Добавлен: 03.07.2023

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

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

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

ВВЕДЕНИЕ

Современный мир информационных технологий очень активно развивается. Одним из главных её строительных блоков является программирование.

Язык программирования — это набор правил для компьютера или вычислительного устройства с целью решения определенных задач. Термин «язык программирования» обычно относят к языкам высокого уровня, таким как BASIC, C, C ++, COBOL, Java, FORTRAN, Ada, Pascal.

Компьютер понимает только значения в виде единиц и нулей. Однако программировать на таком уровне является очень сложной задачей для программиста.

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

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

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

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

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

  • раскрытие понятия «программирование»;
  • анализ высокоуровневых языков программирования;
  • исследование возникновения и развития языков C, C++ и Java;
  • анализ перспективы развития этих языков;
  • изучение литературы в данной области.

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


1. Анализ предметной области

1.1 Понятие «программирование»

Программирование — процесс создания компьютерных программ.

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

В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Иначе это называется «программная инженерия» («инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение. [1, 18]

Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. Чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент — транслятор.

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

Текстовый редактор среды программирования может иметь специфичную функциональность, такую как индексация имен, отображение документации, средства визуального создания пользовательского интерфейса. С помощью текстового редактора программист производит набор и редактирования текста создаваемой программы, который называют исходным кодом. Язык программирования определяет синтаксис и изначальную семантику исходного кода. Компилятор преобразует текст программы в машинный код, непосредственно исполняемый электронными компонентами компьютера. Интерпретатор создаёт виртуальную машину для выполнения программы, которая полностью или частично берёт на себя функции исполнения программ. [7]


Программирование в широком смысле можно разбить на несколько стадий:

  • анализ;
  • проектирование— разработка комплекса алгоритмов;
  • кодирование и компиляцию — написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора;
  • тестирование и отладку — выявление и устранение ошибок в программах;
  • испытания и сдачу программ;
  • сопровождение. [1, 18]

1.2 Высокоуровневые языки программирования

Fortran — это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Программисты, разрабатывавшие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана F2k, который появится в 2000 году. Имеется стандартная версия Фортрана HPF (High Performance Fortran) для параллельных суперкомпьютеров со множеством процессоров. [1, 19]

Cobol — это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х годов. Он отличается большой «многословностью» — его операторы иногда выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.

Algol компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол 68, по своим возможностям и сегодня опережающая многие языки программирования, однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.


Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Никлаусом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании крупных проектов. Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.

С (Си). Язык Си (C) создан в 1972 г. Д.Ритчем (D.Ritchie) и К.Томпсоном (K.Thompson) из Bell Labs/Lucent Technologies при поддержке Б.Кернигана. Ими же в 1973 г. на языке Си представлена операционная система UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX распространялся и Си. Благодаря эффективности исполнения программ, написанных на этом языке, он получил широкое распространение. До сих пор Си – один из лучших языков для системного программирования. Он стандартизован в 1989 г., стандартная версия языка обозначается ANSI C. Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix). [14, 19]

Си++ — это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.

Язык программирования Java разработан в 1995 г. Джеймсом Гослингом из компании Sun Microsystems на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка — компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт- код может выполняться с помощью интерпретатора — виртуальной Java-машиныJVM (Java Virtual Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика. Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику (технология Jini) и созданию платформно-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технология Java Beans). Пока основной недостаток этого языка — невысокое быстродействие, так как язык Ява интерпретируемый. [12, 19]


В данной главе мы рассмотрели понятие «программирование» и провели обзор нескольких высокоуровневых языков программирования. В последующих главах будут подробнее рассмотрены языки C++ и Java.

2. История возникновения и развития языка C/C++

2.1 Появление языка С

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

  • операционные системы;
  • компиляторы языка;
  • текстовые редакторы;
  • сетевые драйверы;
  • базы данных;
  • языковые переводчики.

Язык С составляет подмножества языка С++. Практически более новый язык включает в себя весь С и добавляет ему новые функции, а самое главное — объектно-ориентированную парадигму. [3, 14, 17]

Программа на C может состоять от 3 до миллионов строк и может быть записана в один или несколько текстовых файлов с расширением «.c» ; например, hello.c

Язык B был полезен в контексте проблем, с которыми сталкиваются создатели UNIX в операционной системе. Язык B был взят из BCPL Мартином Ричардсом. Как уже говорилось, UNIX была написана на ассемблере. Чтобы выполнять даже небольшие операции в UNIX, нужно было писать много страниц кода. Язык B решил эту проблему. В отличие от ассемблера требовал значительно меньше строк кода для выполнения каких-то задач в UNIX. Тем не менее, было много того, что B не мог сделать. Гораздо больше ожидалось от B в контексте быстро меняющихся требований. Например, B не распознает типы данных. Даже в языке B типы данных были выражены машинным языком. Он также не поддерживает структуры данных.

Было ясно, что-то должно измениться. Итак, Ритчи и его коллеги приступили к преодолению препятствий, стоящих перед ними. Язык C был разработан в 1971-73 годах. При всех своих ограничениях C обязан своим рождением B, поскольку C сохранил много того, что предложил B, добавив такие новшества, как типы данных и структуры данных. Название C было выбрано потому, что оно шло за B. [6]