Файл: История возникновения и развития языка программирования Си (С++) и Java..pdf
Добавлен: 31.03.2023
Просмотров: 282
Скачиваний: 2
Введение
В настоящее время информационные технологии занимают далеко не последнее место, их значение велико и растет с каждым днём. Постоянный прогресс в развитии компьютерных технологий определяет необходимость появления разных новых знаковых систем для записи алгоритмов, то есть языков программирования. В XXI веке такую профессию как программист можно назвать одной из самых важных профессий, и ее важность будет возрастать.
Сейчас существует довольно большое количество языков программирования. Если задаться вопросом, с каким языком связано начало современной эпохи программирования, ответ будет прост – с языком C. По своей сути, С++ – это расширение языка С. В отличие от своего предшественника у языка С++ много преимуществ.
Java – объектно-ориентированный язык, удобный и надёжный в эксплуатации благодаря таким своим достоинствам, как многозадачность, поддержка протоколов Internet и многоплатформенность.
Актуальность темы исследования состоит в следующем: прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования.
Цель исследования: изучить историю возникновения и развития языков программирования С (C++) и Java.
Объект исследования: языки программирования С (C++) и Java.
Предмет исследования: история, структура таких языков программирования, как С (C++) и Java.
Задачи исследования:
1.Изучить источники информации по теме;
2.Разобраться в общих понятиях программирования;
3.Рассмотреть в целом историю развития языков программирования;
4. Просмотреть подробно историю развития языков С (C++) и Java.
Методологическую основу данной работы составили труды следующих исследователей: Бьерн Страуструп, Герберт Шилдт, Кэти Сиерра, Берт Бейтс, Холмс Джеймс, Джесс Либерти и др.
В данной курсовой работе был применен научно-исследовательский метод.
Работа состоит из введения, двух глав, заключения, библиографии и приложения.
Во введении обосновывается актуальность заданной темы. Определены цель, задачи, предмет и объект исследования. Приведена методологическая составляющая работы.
В первой главе рассматриваются общие сведения о языках программирования и история их развития. Более подробно описана история возникновения языка C++. Показаны особенности этого языка.
Во второй главе дается определение языку программирования Java. История возникновения. Рассмотрены различия между такими языками программирования, как Java и С++.
В заключении подводятся итоги о проделанной работе. Приложение включает в себя схемы, таблицы. Библиография содержит список литературы, используемый при написании работы.
Глава 1. Программирование на С и С++
Общее понятие программирования
Основоположником программирования можно считать английского математика Чарлза Бэббиджа (1791—1871 гг.). В 20-х годах XIX века ему пришла идея создать такую механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию.[1]
У истоков программирования также стояла Ада Лавлейс. Она разработала некоторые приемы управления последовательностью вычислений. Такие приемы используются в программировании и в настоящее время. Также была описана одна из важнейших конструкций практически любого современного языка программирования – цикл.[2]
Следующего прогресса в программировании пришлось ждать почти 100 лет, связан он был с появлением в середине 1940-х годов электромеханических и электронных вычислительных машин.
Программирование – это процесс создания кода на каком-либо языке программирования, переводимого в файлы разных типов с помощью особой программы – транслятора. Существуют два типа трансляторов: компиляторы и интерпретаторы.[3]
Компилятор – это программа, переводящая текст, написанный на языке программирования, в какой-либо файл.
Интерпретатор – это программа, способная переводить текст какой-либо программы в машинный код и одновременно выполнять её.[4]
А что же такое язык программирования, о котором мы будем говорить далее?
Язык программирования – это система обозначений, служащая для точного описания программ или алгоритмов, иными словами это формальные языки, специально созданные для общения человека с компьютером.[5]
Первым шагом в развитии современных языков программирования стало создание в конце 1940-х годов Джоном Моучли системы кодирования машинных команд этих компьютеров с помощью специальных символов. Описываемая система, которую назвали «Short Code», была по существу одним из первых примитивных интерпретаторов. Она использовала примитивный язык программирования высокого уровня. На нем программист записывал решаемую задачу в виде математических формул, а затем сам, используя специальную таблицу, переводил символ за символом, преобразовывая эти формулы в двухлитерные коды. В дальнейшем специальная программа компьютера превращала эти коды в двоичный машинный код.[6]
В 1951 г. Г. Хоппер создала первый в мире компилятор. Именно она ввела сам этот термин. Под ее руководством была разработана система MATH-MATIC, включающая язык программирования и компилятор. Г. Хоппер и ее группа первыми придумали подпрограммы.
Стремительный прогресс в области программирования произошел в середине 50-х годов XX века. Программирование в машинных командах стало вытесняться программированием на языках, выступавших в роли посредника между машинами и программистами. Первым и одним из наиболее распространенных стал Фортран (FORTRAN, от FORmula TRANslator — переводчик формул), разработанный группой программистов фирмы IBM в 1954 г. Этот язык получил большое распространение, стал основным языком для научных и технических расчетов, несколько раз усовершенствовался и широко используется до сих пор.[7]
В конце 50-х годов популярным стал Алгол-60 (алгоритмический язык, версия 1960 г.). Алгол предназначен для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач. Развитие идеи Алгола нашло наивысшее отражение при создании в начале 1970-х годов языка Паскаль швейцарским ученым Никлаусом Виртом.[8]
В середине 1960-х годов сотрудники математического факультета Дартмутского колледжа Томас Курц и Джон Кемени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали «универсальным символическим кодом для начинающих» (Beginners All Purpose Symbolic Instruction Code, или, сокращенно, BASIC, а по-русски — Бейсик). Годом рождения нового языка можно считать 1964 г.[9]
Универсальный язык Бейсик имел долгое время большую популярность и широкое распространение среди пользователей ЭВМ различных категорий во всем мире.
Большой отпечаток на современное программирование наложил язык С (первая версия — 1972 г.), являющийся очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Язык С сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не позволяют такие языки, как Бейсик и Паскаль.
Итак, в начале 1960-х годов все существующие языки программирования высокого уровня можно было пересчитать по пальцам, однако впоследствии их число достигло трех тысяч. Однако в практической деятельности используется не более двух десятков из них.
Бурный рост числа различных языков программирования в период с конца 1960-х и до начала 1980-х годов сопровождался, как это ни странно, кризисом программного обеспечения. Остро не хватало программ для решения самых разных задач и программистов для их разработки, а написанные программы часто содержали ошибки и работали неустойчиво.
Языки программирования сохраняют свое предназначение для решения задач определенных типов. Выбор языка определяется удобствами для программистов, их предпочтениями в силу опыта и образования, а также пригодностью для данного компьютера и данной задачи.
С помощью компьютера решаются разнообразные задачи: вычислительные, экономические, графические, экспертные, создание системного программного обеспечения и т.д. Такая разнотипность решаемых компьютером задач и приводит к многообразию языков программирования.
Наилучший результат в программировании достигается при индивидуальном выборе языка программирования на основе класса задачи, уровня и интересов программиста. Например, Бейсик широко употребляется при обучении и написании простейших программ; Фортран является классическим языком программирования при решении математических и инженерных задач; Кобол используется как основной язык для массовой обработки данных в сферах управления и бизнеса.
Несмотря на многообразие языков программирования, каждый из них можно отнести к одной из всего трех парадигм. Парадигмой в науковедении называется набор теорий, гипотез, взглядов и подходов, относящихся к одному течению, в основе которых лежит общий принцип. В программировании известны три парадигмы: процедурная, функциональная и логическая. Большинство языков программирования, доминирующих при создании системного и прикладного программного обеспечения, таких как Фортран, Бейсик, Паскаль, Ада, Си, Модула, Форт, относятся к процедурной парадигме.
Однако по мере эволюции языков программирования получили широкое распространение и другие, принципиально иные, подходы к созданию программ. Существует классификация языков программирования. Приведена общая классификация языков программирования в соответствии с парадигмами программирования (Приложение 1).
Языки программирования делятся на уровни. Так, с помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора.
Языками высокого уровня называют языки программирования, универсальные по отношению к архитектуре компьютеров и использующие обозначения, близкие к принятым в математике и других видах деятельности человека. [10]
На таких языках удобно писать прикладные программы, решающие какие-то научные, технические, управленческие задачи. Программы на языках высокого уровня содержат служебные слова естественного (английского) языка, состоят из легко читаемых и понимаемых команд. Это отличает такие языки от языков низкого уровня (машинно-ориентированных).
Языки программирования высокого уровня имеют следующие достоинства:
- алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;
- набор операций, допустимых для использования, не зависит от набора машинных команд, а выбирается из соображений удобства записи алгоритмов, решения задач определенного класса;
- конструкции команд (операторов) отражают привычные человеку приемы обработки данных и задаются в удобном для чтения и понимания виде;
- используется аппарат переменных и действия с ними;
- поддерживается широкий набор типов данных.[11]
Каждый язык программирования имеет алфавит, словарный запас, свои грамматику и синтаксис, а также семантику.
Алфавит — фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.
Синтаксис — система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика — система правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных.
Понятие подразумевает некоторую синтаксическую конструкцию и определяемые ею свойства программных объектов или процесса обработки данных.[12]
Важным преимуществом языков высокого уровня является их универсальность, независимость от ЭВМ. Программа, написанная на таком языке, может выполняться на разных машинах. Составителю программы не нужно знать систему команд ЭВМ, на которой он предполагает проводить вычисления. При переходе на другую ЭВМ программа не требует переделки. Такие языки – не только средство общения человека с машиной, но и людей между собой. Программа, написанная на языке высокого уровня, легко может быть понята любым специалистом, который знает язык и характер задачи.
Таким образом, в настоящее время в мире существует несколько сотен реально используемых языков программирования. И для каждого языка есть своя область применения.