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

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

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

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

Добавлен: 28.04.2023

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

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

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

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

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

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

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

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

Если не вводится в язык возможность низкого уровня, то поэтому придется для основных задач из большинства областей приложения использовать некоторые языки низкого уровня, к примеру или ассемблер. Но был спроектирован на расчет, что в нём возможно все сделать, что допустимо на , при этом не увеличивая время на его выполнения. Вообще, был спроектирован, исходя из принципа, что не должны возникать никакие дополнительные затраты памяти и времени.

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


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

Развивается язык на базе языка , и, при этом есть исключение, сохранен, как подмножеств . Базовый язык спроектирован так, что есть очень тесная связь между операциями, типами, объектами и операторами, с которыми и работает машина, то есть символами, числами и адресами. За исключением операций , и , а также проверяемого блока, для того, чтобы выполнить операторы и выражения не требуется скрытая динамическая аппаратная или программная поддержка [5].

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

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

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


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

2. История возникновения и развития языка программирования Java

2.1. Возникновение и эволюция языка Java

Java является языком программирования, который был разработан компанией Sun Microsystems. Обычно приложения Java компилируются в специальный байт-код, таким образом они могут выполнять свою работу на любой из виртуальных Java-машин (JVM) независимо от того какова компьютерная архитектура. Датой официального выпуска является 23 мая 1995 года. На сегодняшний день технология Java – это средства для того, чтобы превратить статические Web-страницы в интерактивные динамические документы и для того, чтобы создать распределенные приложения, при этом не зависящие от платформы.

«Для группы была поставлена задача создать распределенную систему, которая могла бы быть, как современная программная технология и при этом продаваемая производителям бытовой электроники» – вспоминает Гослинг.

Гослингу, которому на данный момент 40 с небольшим лет, перешел из исследовательского отдела IBM в Sun в 1984 г. Его первой работой является технически интересный, но при этом не имеющий коммерческого успеха оконный интерфейс NeWS. Им также была написана GOSMACS – первая реализация текстового редактора EMACS на языке С [11].

Данная деятельность в области бытовой электроники (в последующем называемая проект «Green») показала Гослингу с его коллегами, насколько для потребителя являются важными такие показатели, как стоимость, соответствие стандартам, надежность и простота. Если для пользователей рабочих станций проявляется интерес в большой мощности, и они являются терпимы к высоким ценам, длительному обучению и наличию разного рода ошибок, то рядовые потребители хотят дешевых, относительно простых и надежных устройств.


Для успешной конкуренции на рынке бытовой электроники, компаниями процессоры должны быть рассмотрены как обычный товар, который в любое время возможно было бы заменить на более дешевый, а также обеспечить обратную совместимость, при этом соблюдая стандарты, которые устанавливаются на устройства при длительном пользовании типа телевизоров и тостеров.

Относительно произношения на русском языке, как и в некоторых других, были образованы две разные нормы — заимствованная англоязычная джава») и традиционно-национальная «ява», которая соответствует традиционному произношению названия острова Ява. Компания Sun придерживается англоязычного произношения во всех странах мира. Порой в обиходе используется жаргонное слово «Жаба» (к примеру, изображена жаба на календарях группы российских пользователей Java (Java Users Group).

Java называется не только сам язык, но и платформа на которой создаются и исполняются приложения, основываясь на данном языке.

Сначала назывался язык Oak («дуб») и был разработан Джеймсом Гослингом для того, чтобы программировались бытовые электронные устройства. После его переименовали в Java и стали использовать для того, чтобы написать клиентские приложения и серверное программное обеспечение. Его назвали в честь марки кофе Java, который является любимым некоторыми из программистов, поэтому на официальной эмблеме языка изображается чашка с дымящимся кофе. Имеет место быть, и другая версия того как происходит название Java, а именно, Java это сленговое обозначение кофе с аллюзией на кофе-машину, что является примером бытового устройства, для которых язык программирования изначально был создан [12].

Для того, чтобы разработка не была связана с конкретной платформой, Гослингом было принято решение начать с расширения компилятора . Но со временем, он понял, что один , каким бы образом его ни расширяли, им не получится удовлетворить все из потребностей. Поэтому с середины 1991 года была задумка языка Oak ( что впоследствии во время поиска торговой марки было названо, как Java). «То есть, язык является средством, а не самоцелью, как поясняет Гослинг. Мы не хотели зацикливаться на , а хотели разработать систему, позволяющую создавать большую и распределенную, при этом разнородную сеть из бытовых электронных устройств, которые способны между собой взаимодействовать».

К концу 1992 года, предпринимая, по мнению тогда еще инженера проекта Патрика Нотона, «огромные усилия на то, чтобы доработать Oak и другие компоненты», коллективом проекта «Green» было выпущено «*7» - устройство типа PDA, которое названо Гослингом, как «ручной пульт дистанционного управления».


«На протяжении полутора лет мы смогли сделать столько же, сколько многие большие коллективы в Sun делали три года, - отметил с гордостью Нотон. - Операционная система GreenOS, инструментарий, язык, пользовательский интерфейс, новая аппаратня платформа, три заказных микросхемы... и каждый из этапов связан с риском, так как нами были использованы абсолютно новые технологии».

До того, как прийти в команду Green Нотон был возглавляющим проект Sun, который основан на том, чтобы разработать пользовательскую среду Open Window.

Малогабаритное устройство *7 выгодно подчеркивает эффективность и компактность кода, который является ядром технологии. Данный продукт широко был продемонстрирован в Sun и при этом производил впечатление на таких важных персон, как Билл Джой и Скотт Макнили, но при этом его дальнейшая судьба продолжала быть неясной [1].

По мнению Гослинга браузер является компонентом, «создающим рынок» для серверов, инструментальных средств и сред разработки. При этом во всех этих средствах языку Java отводится ключевая роль. «До того, как появился Java страница WWW представляла из себя листок бумаги. Но после появления Java браузером была задана структура и резко расширены возможности провайдеров содержания».

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

Если у вас имеются такие инструментальные средства как Web и Java, то перед вами возникает исходно организованная система. «Если вами создается на языке Java клиентская часть приложения, то его запуском является просто переход на соответствующую страницу. Инсталляция тривиальная, то есть поместите просто необходимое ПО на Web-сервер. И не возникнет никаких проблем с переносом, так как имеется лишь одна версия приложения». По словам Гослинга, многие из компаний, уже организуют базы данных, в виде Web-страниц при использовании интерфейса Common Gateway Interface (CGI), то есть специфического стандарта для работы внешних программ на сервере HTTP.

Рассмотрим особенности языка, так главной из них является то, что программы на Java транслируются в байт-код, который выполняется виртуальной машиной Java (JVM) — программой, которая обрабатывает байтовый код и передает инструкции оборудованию, являясь интерпретатором [2].