Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

История возникновения и развития языка программирования Си (С++) и Java (Понятие языка программирования)

Содержание:

ВВЕДЕНИЕ

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

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

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

Таким образом, цель исследования – рассмотрение истории возникновения и развития языка программирования C и Java.

Для достижения поставленной цели необходимо выполнить следующие задачи:

  1. охарактеризовать понятие языка программирования;
  2. рассмотреть общую историю развития языков программирования;
  3. рассмотреть историю возникновения и развития языка C;
  4. рассмотреть историю возникновения и развития языка Java;
  5. подвести итоги по выполненной работе.

Объект курсовой работы – языки программирования C и Java, предмет курсовой работы – история возникновения и развития языков C и Java.

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

Источники литературы и явились теоретической базой работы, предоставив достаточно информации для выполнения работы. В частности, речь идет о трудах известных исследователей, изучающих программирование, языки программирования и их историю, и конкретно – языки C и Java.

В ходе выполнения исследования применялись такие методы, как анализ, описание, сравнение, а также работа с литературой.

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

Понятие языка программирования

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

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

Язык прo­грa­ммирo­вa­ния – фo­рмa­льнa­я знаковая система, которая предназначена для написания кo­дo­в кo­мпьютe­рных прo­грa­мм. Языкo­м программирования определяется набор лексических, синтаксических и c­e­мa­нтичe­c­ких прa­вил, кo­тo­рыe­ o­пиc­ывa­ют внешний вид программы и действия, которые выпo­лняe­т кo­мпьютe­р пo­д e­ё управлением.

За все время существования программирования было рa­зрa­бo­тa­нo­ бo­лe­e­ 8 000 языков программирования различных типов. С каждым гo­дo­м кo­личe­c­твo­ вo­зрa­c­тa­e­т. Нe­кo­тo­рыe­ языки доступны только небольшому числу их рa­зрa­бo­тчикo­в, другиe­ c­тa­ли извe­c­тны огромному количеству пользователей. Профессиональные программисты могут прo­грa­ммирo­вa­ть нa­ дe­c­яткa­х рa­зличных языков программирования. Язык программирования используется для нa­пиc­a­ния кo­мпьютe­рных прo­грa­мм, прe­дc­тa­вляющих собой набор правил, которые позволяют компьютеру выпo­лнить кa­кo­й–либo­ вычиc­литe­льный прo­цe­c­c­, организовать управление различными объектами и т. п. O­тличиe­ языкa­ прo­грa­ммирo­вa­ния от естественного языка в том, что o­н прe­днa­знa­чe­н для взa­имo­дe­йc­твия человека с ЭВМ, а естественный язык – для o­бщe­ния людe­й между собой. У большинства языков программирования для o­прe­дe­лe­ния и мa­нипулирo­вa­ния структурами данных и управления процессом вычислений иc­пo­льзуютc­я c­пe­циa­льныe­ кo­нc­трукции [4].

Чаще всего язык программирования существует в нескольких видах, которые существенно отличаются между собой: Стандарт языка – набор спецификаций, которые определяют его синтаксис и семантику; стандарт языка может исторически развиваться. Воплощения (реализации) стандарта – сами программные средства, которые обеспечивают работу соответственно определенному варианту стандарта языка. Они отличаются производителем, маркой и вариантом (версией), временем выпуска, полнотой воплощения стандарта, дополнительными возможностями; зачастую имеют определённые ошибки или особенности воплощения, которые влияют на практику использования языка или даже на его стандарт.

Языки программирования могут быть реализованы в виде компилируемых, интерпретируемых и встраиваемых.

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

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

Интерпретируемый язык. Интерпретатором непосредственно выполняется (интерпретируется) исходный текст без предварительного перевода. При этом программа запоминается на исходном языке и не может быть запущена без интерпретатора. С этой позиции процессор компьютера можно назвать интерпретатором машинного кода [7]

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

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

Для того чтобы облегчить общение человека с ЭВМ были созданы языки программирования типа Ассемблер. Переменные величины стали изображаться символическими именами. Числовые коды операций заменились на мнемонические обозначения, которые легче запомнить. Язык программирования приблизился к человеческому языку, и отдалился от языка машинных команд [19].

Один из первых языков программирования – Фортран был создан в середине 50–х годов. Благодаря своей простоте и тому, что на этом языке накоплены большие библиотеки программ Фортран и в наши дни остается одним из самых распространенных. Он используется для инженерных и научных расчетов, для решения задач физики и других наук с развитым математическим аппаратом.

Для решения экономических задач был создан язык программирования – Кобол.

Расширение областей применения ЭВМ влечет за собой создание языков, ориентированных на новые сферы применения: Снобол – алгоритмический язык для обработки текстовой информации, Лисп – алгоритмический язык для обработки символов. Лисп находит широкое применение в исследованиях по созданию искусственного интеллекта.

В 1968 г. был объявлен конкурс на лучший язык программирования для обучения студентов. Победителем стал язык Алгол–68, но широкого распространения не получил. Для этого конкурса Никлаус Вирт создал язык Паскаль, достаточно простой, удобный, с наличием мощных средств структурирования данных. Хотя Паскаль был разработан как язык для обучения программированию, он впоследствии получил широкое развитие и в настоящее время считается одним из самых используемых языков. Для обучения младших школьников Самуэлем Пайпертом был разработан язык Лого. Он отличается простотой и богатыми возможностями [17].

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

Нe­o­бхo­димo­c­ть рa­зрa­бo­тки бo­льших прo­грa­мм, управляющих работой ЭВМ, потребовала создания специального языкa­ прo­грa­ммирo­вa­ния СИ в начале 70–х г. Он является одним из унивe­рc­a­льных языкo­в прo­грa­ммирo­вa­ния. В отличии от Паскаля, в нем зa­лo­жe­ны вo­змo­жнo­c­ти нe­пo­c­рe­дc­твe­ннo­гo­ o­брa­щe­ния к некоторым машинным командам и к o­прe­дe­лe­нным учa­c­ткa­м пa­мяти кo­мпьютe­рa­. Си широко используется как инструментальный язык для рa­зрa­бo­тки o­пe­рa­циo­нных c­иc­тe­м, трансляторов, баз данных и других системных и приклa­дных прo­грa­мм. Си – это язык программирования общего назначения, хo­рo­шo­ извe­c­тный c­вo­e­й эффe­ктивнo­c­тью, экономичностью, и переносимостью. Во многих случаях прo­грa­ммы, нa­пиc­a­нныe­ нa­ Си, сравнимы по скорости с программами, написанными нa­ языкe­ A­c­c­e­мблe­рa­. При этом они имеют лучшую наглядность и их бo­лe­e­ прo­c­тo­ c­o­прo­вo­ждa­ть. Си сочетает эффективность и мощность в o­тнo­c­итe­льнo­ мa­лo­м пo­ рa­змe­ру языке [6].

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

В 80–х г. 20 века был создан язык Ада. Этот язык в дополнение к классическим свойствам, обеспечивает программирование задач реального времени и моделирования параллельного решения задач.

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

В группу языков низкого уровня входят машинные языки и языки символического кодирования: (Автокод, Ассемблер). Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми. Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).

Следующую, существенно более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно–независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках [6].

К языкам сверхвысокого уровня можно отнести лишь Алгол–68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.

Другая классификация делит языки на вычислительные и языки символьной обработки. К первому типу относят Фортран, Паскаль, Алгол, Бейсик, Си, ко второму типу – Лисп, Пролог, Снобол и др.

В современной информатике можно выделить два основных направления развития языков программирования: процедурное и непроцедурное.

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

Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал [8].

Непроцедрное (декларативное) программирование появилось в начале 70–х годов 20 века, но стремительное его развитие началось в 80–е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному программированию относятся функциональные и логические языки.

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

В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Построение логической программы вообще не требует алгоритмического мышления, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста [18].

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

Языки описания сценариев, такие как Perl, Python, Rexx, Tcl и языки оболочек UNIX, предполагают стиль программирования, весьма отличный от характерного для языков системного уровня. Они предназначаются не для написания приложения с нуля, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Развитие и рост популярности Internet также способствовали распространению языков описания сценариев. Так, для написания сценариев широко употребляется язык Perl, а среди разработчиков Web–страниц популярен JavaScript.

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

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

2.1. История возникновения и развития языка Си (C++)

Язык C# появился на свет в июне 2000 г. в результате кропотливой работы большой группы разработчиков компании Microsoft, возглавляемой Андерсом Хейлсбергом. Этот человек известен как автор одного из первых компилируемых языков программирования для персональных компьютеров IBM – Turbo Pascal. Наверное, на территории бывшего Советского Союза многие разработчики со стажем, да и просто люди, обучавшиеся в той или иной форме программированию в вузах, испытали на себе очарование и удобство использования этого продукта. Кроме того, во время работы в корпорации Borland Андерс Хейлсберг прославился созданием интегрированной среды Delphi (он руководил этим проектом вплоть до выхода версии 4.0).

Появление языка C# и инициативы .NET отнюдь не случайно пришлось на начало лета 2000 г. Именно к этому моменту компания Microsoft подготовила промышленные версии новых компонентных технологий и решений в области обмена сообщениями и данными, а также создания Internet–приложений. Несомненно, лучшим способом продвижения этих новинок является создание инструментария для разработчиков с их полноценной поддержкой. В этом и заключается одна из главных задач нового языка C#. Кроме того Microsoft не могла больше расширять все те же инструменты и языки разработки, делая их все более и более сложными для удовлетворения конфликтующих между собой требований поддержки современного оборудования и обеспечения обратной совместимости с теми продуктами, которые были созданы в начале 1990–х гг. во время первого появления Windows. Наступает момент, когда необходимо начать с чистого листа для того, чтобы создать простой, но имеющий сложную структуру набор языков, сред и средств разработки, которые позволят разработчику легко создавать современные программные продукты [7].

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

Необходимо отметить, что обратная совместимость не потеряна. Существующие программы будут выполняться, а платформа .NET была спроектирована таким образом, чтобы она могла работать с имеющимся программным обеспечением. Связь между компонентами в Windows сейчас почти целиком осуществляется при помощи СОМ. С учетом этого .NET обладает способностью создавать оболочки вокруг существующих компонентов СОМ, так что компоненты .NET могут общаться с ними, и создавать оболочки вокруг компонентов .NET, что позволяет им выглядеть как обычные СОМ–компоненты [3].

Авторы C# стремились создать язык, сочетающий простоту и выразительность современных объектно–ориентированных языков (вроде Java) c богатством возможностей и мощью C++. По словам Андерса Хейлсберга, C# позаимствовал большинство своих синтаксических конструкций из C++. В частности, в нем присутствуют такие удобные типы данных, как структуры и перечисления (другой потомок C++ – Java – лишен этих элементов, что создает определенные неудобства при программировании). Синтаксические конструкции С# унаследованы не только от C++, но и от Visual Basic. Например, в С#, как и в Visual Basic, используются свойства классов. Как C++, С# позволяет производить перегрузку операторов для созданных вами типов Java не поддерживает ни ту, ни другую возможность). С# – это фактически гибрид разных языков. При этом С# синтаксически не менее (если не более) чист, чем Java, так же прост, как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++.

Си – компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969–1973 годах Деннисом Ритчи. Первоначально он был разработан для реализации операционной системы UNIX, но, впоследствии, был перенесён на множество других платформ.

Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective–C [16].

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

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

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

Код Си может быть скомпилирован без каких–либо изменений почти на любой модели компьютера. Зачастую язык программирования Си называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам.

История языка Си неразрывно связана с историей операционной системы UNIX. Эта система, как и большинство входящих в нее утилит, написана на Си. С тех пор Си остается широко распространенным языком – по тем же причинам, что и Фортран: с расширением круга пользователей язык развивает сокрушительную инерцию [16].

Достоинства языка:

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

2. Си – эффективный язык. Его структура позволяет использовать возможности современных ЭВМ. На языке Си программы обычно отличаются компактностью и быстротой исполнения.

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

Компиляторы с данного языка реализованы почти на 40 типах вычислительных систем, начиная от– 8–разрядных микропроцессоров и кончая CRAY–1 одним из самых мощных в настоящее время суперкомпьютеров.

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

5. Си обладает рядом замечательных конструкций управления, обычно ассоциируемых с ассемблером.

6. Си – удобный язык. Он достаточно структурирован, чтобы поддерживать хороший стиль программирования, и вместе с тем не связывать вас с ограничениями [8].

Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы, когда имеет значение, занимать исполнение цикла 1000 или 1050 машинных циклов, и освобождать ресурсы требуется немедленно. C++ остается в этой области наилучшим из языков низкого уровня. В С# отсутствуют некоторые ключевые моменты, необходимые для создания высокопроизводительных приложений, в частности подставляемые функции и деструкторы, выполнение которых гарантируется в определенных точках кода. Также этот язык активно используется для создания современных видеоигр, например игра Battlefield 3 частично написана на C#, и полностью на технологии .NET

2.2. История возникновения и развития языка Java

Сегодня технология Java предоставляет средства для превращения статических Web–страниц в интерактивные динамические документы и для создания распределенных не зависящих от платформы приложений. Первоначально же язык Java корпорации Sun предназначался для устройств бытовой электроники, и в некоторых из них еще может использоваться его ранний вариант, известный под названием Oak. Однако настоящей стартовой площадкой для стремительного взлета Java стала сеть Internet.

Некоторые полагают, что для успеха любого дела прежде всего необходимо продумать и четко поставить задачу. Однако, совершенно очевидно, что в случае с языком программирования Java компании Sun Microsystems задача оказалась решенной до того, как ее сформулировали.

Создатель Java Джеймс Гослинг считает, что генезис этой технологии можно проследить с начала 1991 года, когда для изучения перспектив на рынке бытовой электроники в компании Sun была создана небольшая группа инженеров. В то время сеть World Wide Web существовала только в проектах.

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

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

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

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

История разработки языка Java, изложенная Патриком Нотоном, соавтором браузера HotJava и нынешним вице–президентом по технологии корпорации Starwave [16].

5 декабря 1990 г. – Нотон отказывается от предложения перейти в компанию NeXT и начинает работу в компании Sun над проектом, получившим впоследствии название Green.

15 января 1991 г. – Совещание типа мозгового штурма по проекту Stealth (названном так Скоттом Макнили) в Аспене, в котором участвовали Билл Джой, Энди Бехтолсхейм, Уэйн Розинг, Майк Шеридан, Джейм Гослинг и Патрик Нотон.

1 февраля 1991 г. – Гослинг, Шеридан и Нотон всерьез берутся за работу. Нотон занимается графической системой Aspen, Гослинг – идеями языка программирования, Шеридан – бизнес–разработкой.

8 апреля 1991 г. – Переезд по новому адресу и разрыв прямого соединения с локальной сетью (и большинством других средств связи) компании Sun; проект продолжается под названием Green.

15 апреля 1991 г. – К проекту Green присоединяются Эд Фрэнк (архитектор системы SPARCstation 10), Крейг Форрест (дизайнер чипа SS10) и Крис Уорт (разработчик системы NeWS).

Май 1991 г. – Эд Фрэнк присваивает прототипу аппаратуры название *7 (или Star7; *7 – код, который было необходимо набрать в офисе Sand Hill, чтобы ответить на любой звонок с любого телефона).

Июнь 1991 г. – Гослинг начинает работу над интерпретатором Oak, который через несколько лет (при поисках торговой марки) переименован в Java.

1 августа 1991 г. – Осуществлено объединение Oak и Aspen; заработала их первая реальная программа.

19 августа 1991 г. – Коллектив разработчиков Green демонстрирует идеи базового пользовательского интерфейса и графическую систему сооснователям компании Sun Скотту Макнили и Биллу Джою.

17 октября 1991 г. – Шеридан и Нотон присваивают конструкторской философии своего коллектива девиз «1st Person», который со временем становится названием компании.

17 ноября 1991 г. – Офис проекта Green снова подключается к главной сети компании Sun линией на 56 Кбит/с

1 марта 1992 г. – К проекту Green присоединяется Джонатан Пейн, который позднее участвует в написании HotJava [5].

Лето 1992 г. – Интенсивная деятельность по доработке Oak, Green OS, пользовательского интерфейса, аппаратуры Star7 и соответствующих компонентов.

4 сентября 1992 г. – Завершена разработка устройства Star7; оно продемонстрировано Джою и Макнили.

1 октября 1992 г. – Из компании SunLabs переходит Уэйн Розинг, принимающий на себя руководство коллективом.

1 ноября 1992 г. – Организована корпорация FirstPerson.

15 января 1993 г. – Коллектив переезжает в Пало Альто в здание, где раньше находилась лаборатория Western Research Lab компании DEC и была основана исходная группа Hamilton Group (она же OSF).

15 марта 1993 г. – После ознакомления с результатами испытаний кабельного интерактивного телевидения, проведенных компанией Time Warner, корпорация FirstPerson сосредотачивается на этой тематике.

Апрель 1993 г. – Выпуск первого графического браузера для Internet – Mosaic 1.0, разработанного в центре NCSA.

14 июня 1993 г. – Компания Time Warner продолжает проводить свои испытания интерактивного кабельного ТВ с компанией SGI, несмотря на признанное превосходство технологии компании Sun и уверения, что Sun выиграла эту сделку.

Лето 1993 г. – Нотон пролетает 300 тыс. миль, продавая Oak всем, занимающимся бытовой электроникой и интерактивным телевидением; тем временем темп, с которой люди получают доступ к Internet, головокружительно нарастает [16].

Август 1993 г. – Через несколько месяцев многообещающих переговоров с компанией 3DO относительно разработки ОС для приставок, президент 3DO Трип Хокинс предлагает купить технологию. Макнили отказывается, и сделка срывается.

Сентябрь 1993 г. – К коллективу присоединяется Артур Ван Хофф, поначалу – чтобы создать среду разработки приложений, предназначенных для интерактивного телевидения, а потом разрабатывающий, главным образом, сам язык.

7 декабря 1993 г. – Экспертиза операций на высоком уровне в FirstPerson обнаруживает, что эта группа не имеет реальных партнеров или маркетинговой стратегии и неясно представляет себе дату выпуска.

8 февраля 1994 г. – Отменено публичное заявление компании FirstPerson о выпуске, которое должно было состояться на конференции Technology, Entertainment and Design (TED).

17 февраля 1994 г. – Исполнительным лицам компании Sun для разносторонней экспертизы представлен альтернативный бизнес–план корпорации FirstPerson по разработке мультимедийной платформы для CD–ROM и онлайновой работы.

25 апреля 1994 г. – Создана компания Sun Interactive; в нее переходит половина сотрудников FirstPerson.

Июнь 1994 г. – Начат проект Liveoak, нацеленный Биллом Джоем на использование Oak в крупном проекте небольшой операционной системы.

Июль 1994 г. – Нотон ограничивает область применения проекта Liveoak, просто переориентировав Oak на Internet.

16 сентября 1994 г. – Пейн и Нотон начинают писать WebRunner – браузер типа Mosaic, позднее переименованный в HotJava.

29 сентября 1994 г. – Прототип HotJava впервые продемонстрирован исполнительным лицам компании Sun.

11 октября 1994 г. – Нотон уходит в компанию Starwave.

Осень 1994 г. – Ван Хофф реализует компилятор Java на языке Java. (Ранее Гослинг реализовывал его на языке С).

23 мая 1995 г. – Компания Sun официально представляет Java и HotJava на выставке SunWorld '95 [14].

Во второй главе работы была кратко рассмотрена история возникновения и развития языков программирования Си и Java.

ЗАКЛЮЧЕНИЕ

В ходе выполнения работы была достигнута цель исследования – рассмотрена история возникновения и развития языков программирования C и Java.

Для достижения денной цели были выполнены поставленные задачи, а именно:

  1. охарактеризовано понятие языка программирования;
  2. рассмотрена общая история развития языков программирования;
  3. рассмотрена история возникновения и развития языка C;
  4. рассмотрена история возникновения и развития языка Java

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Берд, Б. Java для чайников / Б. Берд. – М.: Диалектика / Вильямс, 2013. – 521 c.
  2. Вальпа, О. Borland C++ Builder. Экспресс–курс (+ CD) / О. Вальпа. – М.: БХВ–Петербург, 2012. – 224 c.
  3. Гарнаев, А. WEB–программирование на Java и JavaScript / А. Гарнаев, С. Гарнаев. – Москва: СПб. [и др.] : Питер, 2017. – 718 c.
  4. Гонсалвес, Э. Изучаем Java EE 7 / Э. Гонсалвес. – М.: Питер, 2016. – 640 c.
  5. Гупта, А. Java EE 7. Основы / А. Гупта. – М.: Вильямс, 2014. – 336 c.
  6. Дьюхарст, С. Программирование на C++ / С. Дьюхарст Стефан; , Кэти. – М.: ДиаСофт, 2015. – 272 c.
  7. Кетков, Ю. Практика программирования: Visual Basic, C++ Builder, Delphi. Самоучитель (+ дискета) / Ю. Кетков, А. Кетков. – М.: БХВ–Петербург, 2016. – 464 c.
  8. Монахов, В. Язык программирования Java и среда NetBeans (+ CD–ROM) / В. Монахов. – М.: БХВ–Петербург, 2012. – 720 c.
  9. Пахомов, Б. Самоучитель C/С++ и С++ Builder 2007 (+ DVD–ROM) / Б. Пахомов. – М.: БХВ–Петербург, 2013. – 672 c.
  10. Перри, Г. Программирование на C для начинающих / Г. Перри, Д. Миллер. – М.: Эксмо, 2015. – 368 c.
  11. Прата, С. Язык программирования C++. Лекции и упражнения / С. Прата. – М.: Вильямс, 2015. – 445 c.
  12. Савитч, У. Язык Java. Курс программирования / У. Савитч. – М.: Вильямс, 2015. – 928 c.
  13. Страуструп, Б. Язык программирования C++ / Б. Страуструп. – М.: Радио и связь, 2011. – 350 c.
  14. Страуструп, Б. Дизайн и эволюция С++ / Б. Страуструп. – М.: ДМК Пресс, 2016. – 446 c.
  15. Хабибуллин, И. Самоучитель Java / И. Хабибуллин. – М.: БХВ–Петербург, 2014. – 768 c.
  16. Халперн, П. Стандартная библиотека С++ / П. Халперн. – М.: Вильямс, 2014. – 336 c.
  17. Хьюз, К. Параллельное и распределенное программирование с использованием C++: моногр. / К. Хьюз, Т.Хьюз. – М.: Вильямс, 2016. – 672 c.
  18. Шилдт, Г. Java 8. Руководство для начинающих / Г. Шилдт. – М.: Вильямс, 2015. – 720 c.
  19. Эккель, Б. Философия Java / Б. Эккель. – М.: Питер, 2016. – 809 c.