Файл: История возникновения и развития языка программирования Си (С++) и Java (Создание языка C - начало современной эры программирования).pdf
Добавлен: 30.03.2023
Просмотров: 168
Скачиваний: 1
ВВЕДЕНИЕ
Объектом исследования послужили языки программирования C (Си), C++ и Java, а также история их появления.
Целью курсовой работы является изучение классификации представленных языков программирования и их развития.
Цели исследования:
- Просмотреть общее сведения и уровни представленных языков программирования.
- Просмотреть историю развития языков программирования.
- Сделать обзор современных нововведений представленных языков программирования.
Задачи исследования:
- Ознакомления с языками программирования C (Си), C++ и Java.
- Рассмотрение истории появления и развития языков программирования.
- Обзор современных нововведений представленных языков программирования.
В первой главе рассматриваются общие сведения о языках программирования и история их развития.
Во второй главе рассматривается обзор современных нововведений C (Си), C++ и Java.
В данной курсовой работе использовался научно-исследовательские методы.
Общие сведения о языках программирования и история их развития
Язык программирования - это система обозначений, служащая для точного описания программ или алгоритмов для ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ. Языки программирования являются искусственными языками. От естественных языков они отличаются ограниченным числом “слов” и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка.
В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.
Алгоритм – это последовательность команд, предназначенная исполнителю, в результате исполнения которой он должен решить поставленную задачу. Алгоритм записывается на формальном языке, исключающем неоднозначность толкования.
Запись алгоритма на формальном языке называется программой. Иногда само понятие алгоритма отождествляется с его записью, так что слова "алгоритм" и "программа" - почти синонимы. [7, c.3]
В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
- машинные;
- машинно-ориентированные (ассемблеры);
- машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных.
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека. В этой курсовой работе мы разберем именно языки высокого уровня: C (Си), C++ и Java.
Языки программирования тесно связаны с друг другом, а не существуют сами по себе. Каждый новый язык в той или иной форме наследует признаки ранее созданных языков, то есть осуществляется принцип преемственности. В результате возможности одного языка используются другими (например, новые характеристики интегрируются в уже существующий контекст, а старые и устаревшие конструкции языка удаляются). Так происходит эволюция языков программирования и совершенствуется искусство программирования. [1, с.16]
-
-
Создание языка C - начало современной эры программирования
-
Язык C был создан Деннисом Ритчи, системным ИТ-программистом в Bell Laboratorie в 1972 году. Этот язык буквально потряс компьютерный мир. Его влияние нельзя недооценивать, так как он полностью изменил подход к программированию. Создание языка C было прямым следствием необходимости структурированного, эффективного и высокоуровневого языка, который мог бы заменить код ассемблера в процессе создания системных программ. Как вы, наверное, знаете, при разработке языка программирования часто необходимо находить компромисс между:
- безопасностью и эффективностью;
- простотой использования и предоставляемыми возможностями;
- устойчивостью и расширяемостью.
До появления языка C (Си) программистам, как правило, приходилось выбирать между языками программирования, которые позволяли улучшить и оптимизировать те или иные характеристики. Таким образом, на Фортране можно было разработать довольно эффективные программы для научных расчетов, но она не очень подходила для написания системного кода. Точно так же BASIC было очень легко освоить, но он не обладал большой функциональностью, а отсутствие структурированности ставило под сомнение его полезность для написания больших программ. На ассемблере вы можете писать очень эффективные программы, но это сложно выучить и эффективно использовать. Более того, отладка ассемблерного кода может быть довольно сложной задачей.
Другая сложная проблема заключалась в том, что первые языки программирования, такие как BASIC, COBOL и FORTRAN, были разработаны без учета принципов структурирования. Вместо этого GOTO операторы безусловной передачи были основными элементами управления программой. В результате программы, написанные на этих языках, показали тенденцию к появлению так называемого «макаронного кода» - множества сложных переходов и условных переходов, которые делали программу едва понятной. И хотя языки, такие как Pascal, структурированы, они не были предназначены для написания эффективных программ, и в них отсутствовал ряд важных инструментов, необходимых для написания различных программ. [2, с.33]
Таким образом, до изобретения языка С (Си), несмотря на затраченные усилия, ни один язык не мог исправить несоответствия в программировании в то время. Однако необходимость в таком языке программирования становится все более актуальной. В начале 1970-х годов началась компьютерная революция, и потребность в программном обеспечении быстро превысила возможности программистов его создавать. В академических кругах были приложены большие усилия для создания более продвинутого языка программирования. Но в то же время стало ощущаться влияние еще одного очень важного фактора. Наконец, компьютеры были достаточно широко распространены, чтобы достичь «критической массы». Компьютерная техника больше не была за закрытыми дверями. Впервые программисты получили буквально неограниченный доступ к своим компьютерам. Это дало свободу экспериментировать. Программисты также смогли начать создавать свои собственные инструменты. Накануне создания C произошел качественный скачок в области языков программирования. [2, с.34]
Многие считают, что создание языка программирования C (Си) стало началом современного этапа развития языков программирования. Этот язык успешно решил особенности, которые вызывали много проблем в предыдущих языках. Результатом стал мощный, эффективный, структурированный язык, изучение которого было относительно простым. Кроме того, у него была еще одна, почти иррациональная особенность: она была разработана специально для программистов. До появления C (Си) языки программирования развивались в основном как академические упражнения или бюрократические организации. Другое дело было в языке C (Си). Он был спроектирован, реализован и разработан практикующими программистами и отражал их подход к программированию. Его функции были отлажены, проверены и неоднократно обработаны людьми, которые фактически использовали этот язык. Таким образом, получился язык, который сразу понравился программистам. Действительно, язык C (Си) быстро завоевал множество приверженцев, которые почти молились за него. Из-за этого C получил быстрое и широкое признание среди программистов. Короче говоря, C - это язык, разработанный программистами для программистов. [2, с. 35]
Хотя мы говорим о языках высокого уровня, но язык C - это язык относительно "низкого уровня". В такой характеристике нет ничего оскорбительного; это просто означает, что C имеет дело с объектами того же вида, что и большинство электронно-вычислительных машин, а именно, с символами, числами и адресами. Они могут объединяться и пересылаться посредством обычных арифметических и логических операций, осуществляемых реальными ЭВМ. [5, с.9]
-
-
Появление ООП и создание языка C++
-
В конце 1970-х наступило время, когда многие проекты достигли максимального размера, доступного для обработки с использованием языка структурированного программирования C. Теперь нужны были новые подходы, и для решения этой проблемы было создано объектно-ориентированное программирование (ООП), позволяющее программисту работать с большими программами. И поскольку C, который был самым популярным языком в то время, не поддерживал ООП, возникла необходимость в создании его объектно-ориентированной версии (позже названной C ++).
Объектно-ориентированный подход к программированию стал приоритетом при разработке большинства программных проектов. ООП предлагает новый мощный способ решения проблемы сложности программ. Вместо того, чтобы рассматривать программу как набор последовательно выполняемых инструкций, в ООП программа представляется как набор объектов со схожими свойствами и набором действий.
ООП содержат в себе следующие основные черты: наличие объектов и инкапсуляцию данных, наследование, полиморфизм и абстракцию данных, составляющие основу объектно-ориентированного подхода. [4, с.4]
C ++ был изобретен Бьярном Страуструпом в 1979 году, когда он работал в Bell Laboratories. Сначала Страуструп назвал новый язык «С with Classes». Но в 1983 году это имя было изменено на C ++.
Из всего вышесказанного можно сделать следующий вывод: несмотря на то, что C является одним из лучших языков программирования в мире, его способность справляться со сложностью программ ограничена. Как только размер программы превышает определенное значение, она становится слишком сложной, чтобы охватить ее целиком. Точное значение этого предела зависит как от структуры самой программы, так и от подходов, используемых программистом, но, начиная с определенного момента, любая программа становится слишком сложной для понимания и внесения изменений и, следовательно, неуправляемой. C ++ предоставил возможности, которые позволили программистам преодолеть этот порог сложности для понимания и управления большими программами.
-
-
Создания языка Java
-
В конце 1980-х и в начале 1990-х гг. объектно-ориентированное программирование на C++ стало главной технологией программирования. И на протяжении некоторого, хотя и непродолжительного временного периода, казалось, что разработчики программного обеспечения, наконец, изобрели идеальный язык. Язык программирования C++ сочетал в себе высочайшую эффективность и стилистические элементы языка C (Си) наряду с объектно-ориентированным подходом. Именно по этой причине его можно было использовать для создания самых различных программ. Но, как и прежде, уже появлялись факторы, которые должны были в очередной раз подтолкнуть развитие языков программирования. Прошло еще несколько лет, и развитие Всемирной паутины и Интернета достигло "критической массы", что и привело к еще одной революции в программировании.
Разработка языка Java началась в 1991 году Джеймсом Гослингом, Патриком Нотоном, Крисом Вартом, Эд Фрэнком и Майком Шериданом, которые работали в Sun Microsystems, Inc. Разработка первой рабочей версии заняла 18 месяцев. Первоначально язык назывался «Oak» (Дуб), но в 1995 году он был переименован в «Java». Между первой реализацией языка Oak в конце 1992 года и публичным объявлением о создании Java весной 1995 года в развитие так же принимали участие множество других специалистов. В частности, Билл Джой, Артур ван Хофф, Джонатан Пейн, Фрэнк Йеллин и Тим Линдхольм внесли свой вклад в разработку оригинального прототипа Java.
Как ни странно, первоначальной побудительным основанием для создания языка Java стал совсем не Интернет, а необходимость в независящем от конкретной платформы (т.е. архитектурно нейтральном) языке программирования. Предполагалось, что этот язык можно было бы использовать для создания программного обеспечения, встраиваемого в различные электронные и бытовые устройства, в том числе в устройства дистанционного управления и, например, в микроволновые печи. Очень легко догадаться, что в контроллерах таких устройств применяются разнотипные процессоры. Однако трудность применения C (Си) и C++ (как и большинства других языков, которые зависели от конкретной платформы развертывания) состоит в том, что написанные на них программы должны компилироваться под каждый тип процессора отдельно и независимо. И хотя программное обеспечение на C++ может быть скомпилировано практически для любого типа процессора, тем не менее, для этого потребуется наличие полноценного компилятора C++, предназначенного для данного конкретного процессора. Это и была основная проблема, так как создание компиляторов обходится очень дорого и отнимает много времени. Поэтому требовалось более простое и экономически выгодное решение. Пытаясь найти такое решение, Гослинг и другие разработчики начали работу над переносимым, независимым от платформы языком, который можно было бы использовать для создания кода, подходящего для выполнения на разных типах процессоров в разных средах. И в конечном итоге их усилия привели к созданию языка Java.