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

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

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

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

Добавлен: 28.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

В методологии за прошедшие 15 лет написания программ для компьютеров произошла большая перемена. Перемена состоит в том, что разработчики перешли от языков программирования системного уровня, таких как С и С++, к языкам описания сценариев, примерами которых могут служить Perl Tcl. В эту перемену оказалось вовлеченным огромное количество людей, но лишь немногие из них осознают, что происходит на самом деле, и еще меньше найдется таких людей, которые смогли бы объяснить причины происходящего.

Языки программирования создавались для многих целей, что обусловило множество различий между ними. Языки системные разрабатывались для построения структур данных и алгоритмов “с нуля”, начиная от примитивных элементов, таких как слово памяти компьютера. Языки описания сценариев, в отличии от системного, создавались для связывания готовых программ. Применение их подразумевает наличие достаточного ассортимента мощных компонентов, которые требуется только объединить друг с другом. Языки системного уровня используют строгий контроль типов, которые помогают разработчикам приложения справляться со сложными задачами. Языки описания сценариев не используют это понятие, это упрощает установление связей между компонентами и тем самым ускоряет разработку прикладных систем.


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

  1. ИСТОРИЯ СОЗДАНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

    1. Языки программирования

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

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

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


Программы для первых электронно-вычислительных машин программисты писали на языках машинных команд. Это очень затратный и длительный процесс. Проходило много времени между началом составления программы и началом ее использования. Разрешить эту проблему возможно было лишь созданием средства автоматизации программирования. Первыми "инструментами", которые являлись экономией труда программистов, стали подпрограммы. В августе 1944 года для релейной машины "Марк-I" под руководством Грейс Хоппер (женщина-программист, морской офицер ВМФ США) была написана первая подпрограмма для вычисления sinx. Не одну Грейс Хоппер волновала проблема облегчения труда программистов. В 1949 году Джон Моучли (один из создателей ЭВМ ENIAC) разработал систему Short Code, которую можно считать предшественницей языков программирования высокого уровня. Программист записывал решаемую задачу в виде математических формул, преобразовывал формулы в двухбуквенные коды. В дальнейшем специальная программа переводила эти коды в двоичный машинный код. Таким образом, Дж. Моучли разработал один из первых примитивных интерпретаторов. А в 1951 году Г. Хоппер создала первый компилятор А-0. Ею же впервые был введен этот термин.

В 50-е годы прошлого века группа под руководством Г. Хоппер приступила к разработке новейшего языка и компилятора В-0. Новый язык позволил бы программировать на языке, близком к обычному английскому. Разработчики языка выбирали около 30 английских слов. Для того, чтобы распознать эти слова Г. Хоппер был придуман способ, сохранившийся в операторах будущих языков программирования: каждое слово из которых содержит неповторимую комбинацию из первой и третьей букв. И благодаря этому компилятору при создании машинного кода программы возможно игнорировать все остальные буквы в слове. Необходимость появления вышеупомянутой системы, язык которой приближен к разговорному, Г. Хоппер связывала с тем, что область применения электронно-вычислительных машин будет расширяться, как следствие будет расти и круг пользователей. Так же по словам Г. Хоппер, следует оставить попытки "превратить их всех в математиков". В 1958 году система В-0 получила название FLOW-MATIC и была ориентирована на обработку коммерческих данных. В 1959 году был разработан язык COBOL (Common Business Oriented Language) (Кобол)- машинно-независимый язык программирования высокого уровня для решения задач бизнеса. Одна и та же программа, написанная на машинно-независимом языке, может быть выполнена на электронно-вычислительных машинах разных типов, которые оснащены соответствующим транслятором с этого языка. Консультантом при создании языка COBOL вновь выступила Г. Хоппер. В 1954 году было опубликовано сообщение о создании языка FORTRAN (FORmula TRANslation) (Фортран). Местом рождения языка стала штаб-квартира фирмы IBM в Нью-Йорке. Одним из главных разработчиков был Джон Бэкус. Он же стал автором нормальной формы Бэкуса, которая используется для описания синтаксиса многих языков программирования. В тот же период в европейских странах и в СССР популярным стал язык ALGOL. Как и FORTRAN, он был направлен на математические задачи. В нем была реализована передовая для того времени технология программирования - структурное программирование. Наибольшее количество новых языков стало появляться в 60-е, 70-е годы прошлого столетия, но не все из них прошли испытание временем. К языкам-долгожителям относится язык BASIC, который разработан в Дартмутском университете в 1964 году под руководством Джона Кемени и Томаса Курца. По замыслу авторов, это простой язык, который был легко изучаемый, предназначенный для программирования не очень сложных расчетных задач. Большое распространение BASIC получил на микроэлектронно-вычислительных машинах и персональных компьютерах. Но все-таки первоначально этот язык был неструктурным и поэтому с этой точки зрения плохо подходил для обучения качественному программированию. В 1985 году была создана еще одна версия языка True BASIC, которая по мнению разработчиков была наиболее совершенна, чем PASCAL. А в 1991 году появилась первая версия языка VISUAL BASIC.


1.2 Языки процедурного программирования

Для первых языков программирования характерной чертой была предметная ориентация. Это означает, что каждый язык предназначается для решения какого-то определенного класса задач. COBOL был ориентирован на решение задач бизнеса, FORTRAN - на проведение инженерных и научных расчетов. В эпоху электронно-вычислительных машин третьего поколения большое распространение получил язык Program Language/1, который был разработан фирмой IBM. Это был первый язык, претендовавший на универсальность, т. е. на возможность решать любые задачи: вычислительные, обработки текстов, накопления и поиска информации. PL/1 оказался слишком сложным языком. Транслятор его недостаточно оптимальный, который содержит ряд не выявленных ошибок. По этой причине этот язык не получил развития. Но линия на универсализацию языков была продолжена. Старые языки были модернизированы в универсальные варианты. Примером тому стал FORTRAN 77. Значительным событием в истории языков программирования стало создание в 1971 году языка PASCAL. Его автором является Никлаус Вирт, профессор из Швейцарии. Вирт назвал этот язык в честь французского математика и физика Блэза Паскаля, который в 1642 году сконструировал вычислительный механизм. Первоначально PASCAL был создан как язык для обучения. В нем ярко выражена структурная линия программирования. Широкое практическое применение язык получил с появлением персональных компьютеров в версии Turbo PASCAL. Язык программирования С ("Си") был задуман как инструментальный язык для разработки операционных систем. Он создавался одновременно с операционной системой UNIX. Авторами этого языка и ОС UNIX были американские программисты Деннис Ричи и Кеннет Томпсон. Первоначально К. Томпсон начал писать ОС UNIX на языке FORTRAN. В дальнейшем был создан язык С, и в 1973 году ядро операционной системы вместе с программами-утилитами было переписано на С. Этот язык является структурным языком высокого уровня. В настоящее время он применяется для разработки не только операционных систем, но и трансляторов, системных и прикладных программ.

  1. ЯЗЫК ПРОГРАММИРОВАНИЯ C

    1. Создание языка С


Язык программирования Си был разработан в лабораториях BellLabs в период с 1969 по 1973 годы. Согласно Ритчи, самый активный период творчества пришёлся на 1972 год. Язык назвали «Си» (C -- третья буква латинского алфавита), потому что многие его особенности берут начало от старого языка «Би» (B -- вторая буква латинского алфавита). Существует несколько различных версий происхождения названия языка Би. Кен Томпсон указывает на язык программирования BCPL, однако существует ещё и язык Bon, также созданный им, и названный так в честь его жены Бонни. Существует несколько легенд, касающихся причин разработки Си и его отношения к операционной системе UNIX, включая следующие: разработка Си стала результатом того, что его будущие авторы любили компьютерную игру, подобную популярной игре Asteroids (Астероиды). Они уже давно играли в неё на главном сервере компании, который был недостаточно мощным и должен был обслуживать около ста пользователей. Томпсон и Ритчи посчитали, что им не хватает контроля над космическим кораблём для того, чтобы избегать столкновений с некоторыми камнями. Поэтому они решили перенести игру на свободный PDP-7, стоящий в офисе. Однако этот компьютер не имел операционной системы, что заставило их её написать. В конце концов, они решили перенести эту операционную систему ещё и на офисный PDP-11, что было очень тяжело, потому что её код был целиком написан на ассемблере. Было вынесено предложение использовать какой-нибудь высокоуровневый портируемый язык, чтобы можно было легко переносить ОС с одного компьютера на другой. Язык Би, который они хотели сначала задействовать для этого, оказался лишён функциональности, способной использовать новые возможности PDP-11. Поэтому они и остановились на разработке языка Си. Самый первый компьютер, для которого была первоначально написана UNIX, предназначался для создания системы автоматического заполнения документов. Первая версия UNIX была написана на ассемблере. Позднее для того, чтобы переписать эту операционную систему, был разработан язык Си. К 1973 году язык Си стал достаточно силён, и большая часть ядра UNIX, первоначально написанная на ассемблере PDP-11/20, была переписана на Си. Это было одно из самых первых ядер операционных систем, написанное на языке, отличном от ассемблера; более ранними были лишь системы Multics (написана на ПЛ/1) и TRIPOS (написана на BCPL).

В 1978 году Брайан Керниган и Деннис Ритчи опубликовали первую редакцию книги «Язык программирования Си». Эта , известная среди программистов как «K&R», книга служила многие годы неформальной спецификацией языка. Версию языка Си, описанную в ней, часто называют «K&R C». Вторая редакция этой книги посвящена более позднему стандарту ANSI C, описанному ниже.