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

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

Содержание:

Введение.

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

 Язык Си приобрёл огромную популярность во всём мире и оказал значительное влияние на многие другие языки программирования. Именно он является предшественником таких языков, как C++, C#, Java; менее известных (например J#). Компания Microsoft для разработки родного языка к своей платформе .Net выбрала именно Си-подобный синтаксис. Язык Си серьезно изменил жизнь программистов прошлого века и стал де-факто в области низкоуровневого программирования, оставив ассемблеру только те места, где производительность имела критическое значение.

Глава 1 Cи (С++)

Си

Язык Си восходит обязан языку ALGOL (расшифровывается как ALGorithmic Language)[1], который был появился в 1958 году совместно с комитетом Европейских и Американских учёных в сфере компьютерных наук на встрече в 1958 в Швейцарской высшей технической школе Цюриха. Язык был попыткой исправить некоторые недостатки языка FORTRAN[2].
Вдохновлённые языком ALGOL-60, математическая лаборатория Кембриджского университета совместно с компьютерным отделом Лондонского университета создали в 1963 году язык CPL (Combined Programming Language)[3]. Язык CPL сочли сложным, и в ответ на это Мартином Ричардсоном был создан в 1966 году язык BCPL, основное предназначение которого заключалось в написании компиляторов. Сейчас он очень мало используется, но в своё время из-за хорошей портируемости он играл важную роль.
BCPL послужил предком для языка Би, созданного в 1969 в AT&T Bell Telephone Laboratories[4], Кеном Томпсоном и Денсом Ритчи (создатели языка Си).
Язык Би был использован для описания самых ранних версий UNIX[5], созданной как ответ на проект Multics, разрабатываемый в Bell Laboratories. Этот язык и послужил непосредственным предшественником языка Си.
По поводу возникновения языка Си Питер Мойлан в своей книге «The case against C» пишет: «Нужен был язык, способный обойти некоторые жесткие правила, встроенные в большинство языков высокого уровня и обеспечивающие их надежность. Нужен был такой язык, который позволил бы делать то, что до него можно было реализовать только на ассемблере или на уровне машинного кода.» Си стал именно таким языком. Это обусловило его дальнейшую популярность в таких отраслях программирования, как написание драйверов и прочих аспектах низкоуровневого программирования.
Язык программирования Си был разработан в стенах Bell Labs в период с 1969 по 1973 годы. Как признался сам Ритчи, самый активный период творчества приходился на 1972 год. За всё время своего существования, язык Си оброс легендами по поводу мотивов своего создания.
Согласно одной из легенд, Керниган и Ритчи обожали одну компьютерную игру, в которую они играли на главном сервере компании. Позже, они захотели перенести её на компьютер, находящийся в их офисе. Но он, к сожалению на нём отсутствовала операционная система, что с подвигло Кернигана и Ритчи её написать. Когда они понадобилось перенести систему на другой компьютер, это оказалось непростой задачей, так как система была написана полностью на ассемблере. Тогда у них возникла идея переписать её на язык более высокого уровня. Сначала для этих они планировали использовать язык Би, но в так как он не давал на полную использовать новые возможности компьютера, на который они хотели перенести систему, было принято решение создать свой язык.
По другой версии легенды, язык Си был создан как первоапрельская шутка, которая обрела нешуточную популярность.
Компилятор языка Си унаследовал традицию, заложенную ещё Николаусом Виртом и был написан на самом Си. По мнению большинства, название языка Си является третьей буквой алфавита. Оно появилось как указание на то, что язык Си является более продвинутым и усовершенствованным, чем язык Би. Сам же Ритчи по поводу названия языка говорил следующее слова: «Создав систему типов, соответствующий синтаксис и компилятор для нового языка, я почувствовал, что он заслуживает нового имени: NB показалось мне недостаточно четким. Я решил следовать однобуквенному стилю и назвал его C (Си), оставляя открытым вопрос, являлось ли после B это следующей буквой в алфавите или в названии BCPL».
Успех Си в основном обязан тем, что на нём была написана большая часть операционной системы UNIX, которая в итоге обрела большую популярность. По количеству используемых на данный момент операционных систем, разработанных на базе UNIX, она является самой распространённой системой в мире. В связи с её распространённостью и что на данный момент объём операционной системы измеряется в миллионах строк кода, задача переписывании UNIX на другой язык становиться практически невыполнимой. Так же при переписывании могут возникнут ошибки. Кроме того, язык Си, будучи близким к аппаратной реализации компьютера позволяет более унифицированный код, чем многие другие языки программирования. Этим обосновывается бессмысленность перевода UNIX на другой язык программирования. Если другие языки программирования могут исчезнуть с течением времени, то язык Си будет жить, пока живёт UNIX. То есть пока существуют компьютеры в том виде, в котором мы их себе представляем.
Первая книга, посвящённая языку программирования Си была написана Керниганом и Ритчи в 1978 году и вышла в свет под названием «Язык программирования Си». Данная книга, в среде программистов более известная как «K&R», стала неофициальным стандартом языка Си.
В конце 1970-х годов, язык Си начал вытеснять язык BASIC[6], который в то время был ведущим в области программирования микрокомпьютеров. В 1980-х годах он был адаптирован под архитектуру IBM-PC, что привело к большому скачку его популярности. В это же время Бьярн Страуструп начал разработку языка программирования, который бы сочетал в себе синтаксис популярного языка Си и концепцию объектно-ориентированного программирования, которая становилась всё более востребованной, так началась разработка языка С++.

В то время как Си набирал популярность, компиляторы для него выпускались различными фирмами, и зачастую программа, которая компилировалась на компиляторе одной фирме, не компилировалась на компиляторе другой. Всё это было связано с отсутствием чётко оговоренного стандарта языка Си. Все разработчики ориентировались на книгу Кернигана и Ритчи, но интерпретировали её по-разному.
Разработкой стандарта языка Си занялся Американский национальный институт стандартов (ANSI)[7]. При нём в 1983 году был сформирован комитет X3J11, который занялся разработкой стандарта. Первая версия стандарта была выпущена в 1989 году и получила название С89. В 1990, внеся небольшие изменения в стандарт, его приняла ISO[8]. Тогда он стал известен под кодом ISO/IEC 9899:1990, но в среде программистов закрепилось название, связанное с годом принятия стандарта: С90. Последней на данный момент версией стандарта является стандарт ISO/IEC 9899:1999, также известный как С99, который был принят в 2000 году.

С++

Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories – Бьёрн Страструп.

Бьерн Страуструп высвободил объектно-ориентированный потенциал С путем перенесения возможностей классов Simula 67[9]в С. Первоначально новый язык носил имя "С с классами" и только потом стал называться C++. Язык C++ достиг популярности, будучи разработанным в Bell Labs, позже он был перенесен в другие корпорации и индустрии. Сегодня это один из наиболее популярных языков программирования в мире. C++ наследует как положительные, так и отрицательные стороны С.

Бьерн Страуструп в своей книге "Язык программирования C++" говорил: "Я придумал C++, записал его первоначальное определение и выполнил первую реализацию. Я выбрал и сформулировал критерии проектирования C++, разработал его основные возможности и отвечал за судьбу предложений по расширению языка в комитете по стандартизации C++. Язык C++ многим обязан языку C, и язык C остается подмножеством языка C++ (но в C++ устранены несколько серьезных брешей системы типов C). Я также сохранил средства C, которые являются достаточно низкоуровневыми, чтобы справляться с самыми критическими системными задачами. Язык C, в свою очередь многим обязан своему предшественнику, BCPL; кстати, стиль комментариев // был взят в C++ из BCPL. Другим основным источником вдохновения был язык Simula67. Концепция классов (с производными классами и виртуальными функциями) была позаимствована из него. Средства перегрузки операторов и возможность помещения объявлений в любом месте, где может быть записана инструкция, напоминает Algol68[10].

Название C++ придумал Рик Масситти. Название указывает на эволюционную природу перехода к нему от C. "++" - это операция приращения в C. Чуть более короткое имя C+ является синтаксической ошибкой; кроме того, оно уже было использовано как имя совсем другого языка. Знатоки семантики C находят, что C++ хуже, чем ++C. Названия D язык не получил, поскольку он является расширением C и в нем не делается попыток исцеляться от проблем путем выбрасывания различных особенностей...

Изначально язык программирования C++ был разработан, чтобы автору и его друзьям не приходилось программировать на ассемблере, C или других современных языках высокого уровня. Основным его предназначением было сделать написание хороших программ более простым и приятным для отдельного программиста. Плана разработки C++ на бумаге никогда не было; проект, документация и реализация двигались одновременно. Разумеется, внешний интерфейс C++ был написан на C++. Никогда не существовало "Проекта C++" и "Комитета по разработке C++". Поэтому C++ развивался и продолжает развиваться во всех направлениях, чтобы справляться со сложностями, с которыми сталкиваются пользователи, а также в процессе дискуссий автора с его друзьями и коллегами.

В языке С++ полностью поддерживаются принципы объектно-ориентированного программирования, включая три кита, на которых оно стоит: инкапсуляцию[11], наследование и полиморфизм. Инкапсуляция в С++ поддерживается посредством создания нестандартных (пользовательских) типов данных, называемых классами. Язык С++ поддерживает наследование. Это значит, что можно объявить новый тип данных (класс), который является расширением существующего.

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

Язык программирования C++ в настоящее время считается господствующим языком, используемым для разработки коммерческих продуктов, 90% игр пишутся на С++ с применением DirectX.

Сравнение языков С++ и С

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

Выбор С в качестве базового языка для С++ объясняется следующими его достоинствами:

а) универсальность, краткость и относительно низкий уровень;

б) адекватность большинству задач системного программирования;

в) он идет в любой системе и на любой машине;

г) полностью подходит для программной среды UNIX.

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

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

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

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

3. существуют сотни тысяч программистов, владеющих языком С; им достаточно овладеть только новыми средствами С++ и не надо изучать основ языка;

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

Язык С сам развивался в последние годы это отчасти было связано с разработкой языка С++. Стандарт ANSI для языка С содержит, например, синтаксис описания функций, позаимствованный из языка "С с классами". Происходит взаимное заимствование, например, тип указателя void* был придуман для ANSI С, а впервые реализован в языке С++. Как было обещано в первом издании этой (Язык программирования С++ – Бьерн Страуструп) книги, описание С++ было доработано, чтобы исключить расхождения. Язык С++ стал более совместим с языком С, чем это было вначале. В самом лучшем случае С++ должен максимально приближаться к ANSI C, но не более. Полной совместимости не должно быть, это сильно уменьшит надежность типов и согласованность использования встроенных и пользовательских типов, а эти свойства всегда были одними из главных для С++.

Структура и эффективность

Эволюция языка С++ протекала на основе языка С и за небольшим исключением, С был сохранен в качестве части C++. Базовый язык С был создан таким образом, что имеется очень тесная связь между операторами, объектами, операциями, типами с которыми непосредственно работает машина, т.е. символами, адресами и числами. За исключением операций delete, throw, new и также проверяемого блока. Для выполнения выражений и операторов С++ не требуется скрытой динамической аппаратной или программной поддержки.

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

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

Большое внимание в языке С++ структурированию программ. Данная необходимость вызвана более большим размером программ со времени появления языка С. Небольшую программу (примерно не более 800 - 1000 строк) можно заставить «из принципа» работать, но скорей всего это приведёт к нагромождению кода сложного для понимания. С большой программой такой фокус уже не выйдет. Если у вашей программы в 8000-10000 строк сложная структура, то вы обнаружите, при исправлении старых ошибок так же быстро будут появляться новые. Идея создания языка С++ была удобная структура, позволяющая работать с большими программами предотвращающая ситуации, когда программисту пришлось бы сталкиваться с текстом программ, например, более 20000 строк. На сегодняшний день можно считать, что данная цель достигнута.

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

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

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

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

Глава 2 (Java)

Начало

Начало событий приходится на декабрь 1990 года. В тот момент о развитии WWW[12] (World Wide Web - "всемирная паутина") никто не мог еще даже подумать. В этот момент всё внимание компьютерной индустрии было приковано к взлету персональных компьютеров. Значительную долю рынка высокопроизводительных станций и серверов занимала фирма Sun Microsystem. Многие эксперты того времени сходились во мнении, что для обычных пользователей «персоналок» фирма Sun ничего предложить не могла. Имеющиеся в её линейки устройств были «слишком сложными, чересчур «тупыми» и очень некрасивыми устройствами».

У одного из членов совета директоров и президент и CEO (исполнительный директор) корпорации Sun[13] Скотта МакНили, был друг и хорошо зарекомендовавший себя как программист Патрик Нотон. Отработав всего 3 года, изъявил о своем желании перейти в компанию NeXT[14]. Своё решение Патрик объяснил просто и коротко: "Они все делают правильно". Скотт задумался на секунду и произнес историческую фразу. Перед уходом он попросил Патрика описать, что в Sun, по его видению делается неправильно. Простой рассказ о проблеме не подходил. Требовалось решение проблемы и при этом не ограничиваясь правилами и традициями, а предложить выход «как будто ресурсы и возможности не ограничены.

Патрик исполнил просьбу Скотта. Под жесткой критикой оказалась новая программная архитектура NeWS[15] на которой фирма работала в тот момент, но дал высокие оценки только что объявленной операционной системе NeXTstep[16]. Ещё одно предложение Патрика было о привлечении профессиональных художников-дизайнеров, чтобы сделать пользовательские интерфейсы Sun более дружелюбными и привлекательными; выбрав одно средство разработки и сконцентрировать усилия вместо нескольких оконных технологий на одной. (Нотону приходилось поддерживать множество различных комбинаций технологий, интерфейсов и платформ, используемых в компании); наконец, уволить большинство сотрудников из Window Systems Group (так как исполнив предыдущие пункты, они станут просто не нужны).

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

Скотт МакНили переслал письмо Патрика Нотона всему управляющему составу компании, а те в свою очередь переслали его своим ведущим специалистам. Отклик пришёл буквально от всех, и, по общему мнению, Нотон описал о том о, чем все думали, но боялись высказаться. Решающей стала поддержка Билла Джоя и Джеймса Гослинга. Билл Джой - был один из основателей и вице-президентом Sun, а также участник проекта по созданию операционной системы UNIX в университете Беркли. Джеймс Гослинг попал в кампанию Sun в 1984 году (перед этим он работал в исследовательской лаборатории IBM) и был ведущим разработчиком, а также автором первой редакции текстового редактора EMACS[17] на языке C. У этих людей имелся огромный авторитет в корпорации.

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

а) Потребитель – это главное и все строится исключительно вокруг его интересов;

б) Небольшая группа инженеров должна была спроектировать небольшую аппаратно-программную платформу;

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

Данных идей хватило для организации презентации организованной Джоном Гейдж (руководитель научных исследований Sun) для высших членов руководства компании. Условия, которые Нотон считал необходимыми для успешного развития данного проекта: группа будет работать вне офиса Sun чтобы их революционные идеи не встречали сопротивления; проект будет засекречен для всех кроме членов высшего руководства; программная и аппаратная могут быть несовместимы с продуктами Sun; на первый год работы группе требовалось финансирование в размере миллиона долларов.

Проект Green

5 декабря 1990 года, компания Sun сделала Нотону встречное предложение. Руководство приняло все его предложения. В этот же день он должен был перейти в компанию NeXT. Была поставлена задача - "создать что-нибудь необычайное". 1 февраля 1991 года Патрик Нотон, Джеймс Гослинг и Майк Шеридан начали создание проекта, который в дальнейшем получил название Green.

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

На ежегодном весеннем собрании Sun в 1991 года Гослинг подметил, что компьютерные чипы получили широкое распространение, они устанавливаются в тостерах, видеомагнитофонах, даже в дверных ручках гостиниц! Даже сегодня мы можем увидеть несколько пультов ДУ для различных устройств – музыкального центра, телевизора и телевизионные приставки. У группы появилась идея создать небольшое устройство с жидкокристаллическим сенсорным экраном, которое будет взаимодействовать с пользователем с помощью анимации, показывая, каким устройством и как можно управлять. Для создания такого устройства требовалось специализированная графическая система разработкой которой и занялся Нотон, Гослинг занялся разработкой программного обеспечения, а Шеридан занимался бизнес-вопросами.

В апреле 1991 года команда съезжает из офиса корпорации Sun, прерывая связь даже с внутренней сети корпорации, и переезжает в новое помещение. Покупаются различные бытовые электронные устройства, такие как игровые приставки Nintendo, пульты дистанционного управления, телевизионные приставки и разработчики целыми днями играют в различные игры чтобы лучше понять, как сделать пользовательский интерфейс доступным и лёгким в понимании и использовании. Гослинг приводит пример, что современные тостеры с микропроцессорами имеют точно такой же интерфейс как и тостер его мамы, который служит ей уже 42 года. Довольно быстро исследователи понимают, что все устройства построены на разных центральных процессорах. И исходя из это добавление новых функциональных возможностей сильно затруднено, так как необходимо учитывать ограничения и, как правило, довольно скудные возможности используемых чипов. Однажды Гослинг побывал на концерте, где смог сам наблюдать сложное переплетение проводов, полуавтоматических прожекторов и огромное количество колонок, которые, казалось, согласованно двигаются согласованно, он понял, что будущее - за объединением компьютеров, сетей и других электронных устройств в единую согласованную инфраструктуру.

Изначально Гослинг предпринял попытку модифицировать язык С++, чтобы создать язык для написания программ, минимально ориентированных на конкретные платформы. Очень быстро стало ясно, что это практически невозможно. Основное преимущество языка С++ - скорость программ, но не их надежная работоспособность. Но надежность работы для обычных пользователей должна быть так же абсолютно гарантирована, так же как и совместимость обычных электрических вилки и розетки. Исходя из этого в июне 1991 года Гослинг, который свой первый язык программирования написал в 14 лет, начинает разработку языка для замены C++. Разрабатывая новый каталог и думая над его названием, он взглянул в окно, и взгляд его упал на растущем под окном дереве. Так язык и получил свое первоначальное название - OaK (дуб). Спустя несколько лет, были проведены маркетинговых исследований и язык сменил имя на Java.

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

Сама идея создания заключалась в создании устройства размером с обычный пульт дистанционного управления, работать от батареек, иметь удобный и забавный графический интерфейс и стать любимой и полезной игрушкой для дома. Для создания этого устройства имеющий аналогов прибор, находчивые инженеры во применили "технологию молотка". Они брали какое-нибудь устройство, в котором были нужные детали или микросхемы, разбивая его молотком добывали необходимые части. Таким способом были получены основной жк экран, сенсорный экран и миниатюрные встроенные колонки. Центральный процессор и материнская плата были специально разработаны на основе высокопроизводительной рабочей станции Sun. Было придумано и оригинальное название - *7, или Star7 (комбинация этих кнопок позволяла ответить с любого аппарата в офисе на звонок любого другого телефона, но поскольку редко кого из инженеров можно было застать на рабочем месте, эти слова очень часто громко кричали на весь офис). Интерфейсу для придания большей привлекательности инженеры разработали забавного персонажа по имени Дьюк (Duke), готовый всегда помочь пользователю выполнить его задачу. Позднее он стал спутником Java, талисманом - встречается во многих документах, статьях, примерах кода.

Инженеры занимались совершенно новой задачей. Ни у кого не было опыта, не существовало каких-либо наработок в этой области. Команда инженеров трудилась, не отрываясь ни на один день. В августе 1991 года состоялась первая презентация для Скотта МакНили и Билла Джоя. В ноябре группа снова подключилась к сети Sun по модемной линии. Чем больше развивался проект, тем больше новых специалистов задействовалось в команде для разработки. Где-то в то же время и было придумано название для той идеологии, которую они создавали,- 1st Person (условно можно перевести как "первое лицо").

4 сентября 1992 года Star7 был завершен и продемонстрирован Скотту МакНили. Это представляло из себя небольшое устройство с 5-ти цветным (16 бит) сенсорным экраном, без кнопок. Для включения требовалось просто дотронуться до экрана. Интерфейс был очень похож на мультик - никаких меню! Дьюк ходил по комнатам интерактивного дома, для его управления надо было просто водить по экрану пальцем – без каких-либо специальных средств управления. Можно было взять виртуальную телепрограмму с нарисованного дивана, выбрать передачу и "перетащить" ее на изображение видеомагнитофона, чтобы запрограммировать его на запись.

Результат был сверх все ожидания! Ничего похожего на рынке не было. Карманные компьютеры (PDA)[18] начиная с Newton появились значительно позже. Как и цветные дисплеи. Это была эра 286i и 386i процессоров Intel (486i уже появились, но стоили очень дорого) и MS DOS, даже наличие мыши еще не было обязательным атрибутом компьютера.

В руководстве Sun царил восторг так как теперь они обладали отличным оружием в борьбе с такими могучими гигантами, как HP, IBM и Microsoft. Разработанная ими технология была способна не только на демонстрацию мультиков. Объектно-ориентированный язык OaK обещал стать отличным инструментом для написания программ способных работать в сети. Его объекты, свободно распространяемые по сети, работали бы на любом устройстве, начиная с персонального компьютера и заканчивая обычными, тостерами и видеомагнитофонами. На презентациях Нотон представлял области в которых было бы успешное применение OaK, изображая домашние компьютеры, банки, телевизоры, телефоны, машины и соединяя их одной сетью. Например приложение для работы с электронной почтой могло было быть построено в виде группы таких объектов и их расположение на одном было не обязательным. Так как язык был ориентирован на распределенную архитектуру, OaK имел встроенные механизмы безопасности, шифрования, процедур аутентификации, а значит, незаметные и удобные для пользователя.

Крупные компании-производители, такие как Dolby Labs[19], France Telecom[20], Mitsubishi Electric[21], заинтересовались новой технологией. Шеридан подготовил бизнес-план с оригинальным названием "Beyond the Green Door" ("За зеленой дверью"), в котором было предложено корпорации Sun учредить дочернюю компанию для продвижения платформы OaK на рынок. 1 ноября 1992 года была создана компания FirstPerson, руководителем которой стала Вэйн Роузинг, перешедшая из Sun Labs. Она арендует большой офис, число сотрудников возрастает с 14 до 60 человек.

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

В это же время захватывает внимание компьютерной индустрии идея интерактивного телевидения, появляется ощущение, что это и будет следующим революционным прорывом. После того как в марте 1993 года компания Time warner объявляет конкурс для производителей компьютерных приставок к телевизору, FirstPerson полностью переключается на эту задачу. Приставки были нужны для развертывания пробной сети интерактивного телевидения. Но FirstPerson постигает неудача - победителем становится Джеймс Кларк, основатель Silicon Graphics Inc.[22], хотя его предложение технологически уступает OaK. Примерно через год проект Time Warner[23] и Silicon Graphics Inc. проваливается, а Джеймс Кларк создает компанию Netscape[24], которая в будущем важную роль в успехе Java.

Другим потенциальным клиентом стал производитель игровых приставок 3DO[25]. В течении всего 10 дней ОаК был импортирован на платформу. В течении переговоров которые шли 3 месяца директор 3DO потребовал полные права на новый продукт, и сделка не состоялась.

В начале 1994 года пришло осознание, что идея интерактивного телевидения нежизнеспособна. Местам не суждено было стать реальностью. Проанализировав состояния FirstPerson пришли ко мнению, что её дальнейшие перспективы довольно туманны компания так как компания не имеет ни одного клиента или партнера. Руководство Sun потребовало немедленного составления нового бизнес-плана, который мог бы приносить прибыль.

World Wide Web

Увлёкшись идеей интерактивного телевидения, многие участники компьютерного рынка не заметили поистине важнейшее событие. В апреле 1993 года Марк Андриссен и Эрик Бина, работающие в Национальном центре суперкомпьютерных приложений (National Center for Supercomputing Applications, NCSA[26]) при университете Иллинойс, выпустили первую версию графического браузера Mosaic 1.0 для всемирной сети интернет. Хотя WWW до это существовала уже около 20 лет, имеющимися протоколами связи (telnet, FTP и др.) было очень неудобно пользоваться и WWW использовался лишь в государственной и академической среде. Браузер Mosaic же основывался на новом языке разметки гипертекстовых документов HTML, который с 1991 года разрабатывался в Европейском институте физики частиц (CERN) специально для представления информации в интернете. Данный формат позволял просматривать текст и изображения, а главное - позволял поддерживать ссылки, с помощью которых можно было одним нажатием мыши переместиться как в другую часть той же документа или страницы, так и на страницу, которая могла находится в другой части сети и в любой точке планеты. Благодаря именно такие перекрестные обращениям, пользователь мог незаметно для себя посетить множество узлов интернета, и позволили открыть все HTML -документы связанными частями единого целого - www (World Wide Web, WWW).

Важной чертой этих достижений было, что они были бесплатны и доступны всем желающим. Обычные пользователи получили возможность пользоваться интернетом не только для решения рабочих вопросов но и для поиска информации на разные темы. Кол-во документов в пространстве www стало расти экспоненциально, и очень скоро сеть интернет стала поистине всемирной. С течением времени обнаружилось, что данный способ хранения и организации информации напоминает свалку, в которой крайне трудно найти информацию по какому-нибудь конкретному запросу, но данная тема относится к другому этапу развития компьютерного мира. Компания Sun по каким-то не понятным причинам проспала зарождение новой эпохи. Mosaic, технический директор Sun впервые увидел спустя лишь три месяца! Притом, что около 50% рабочих станций и серверов в сети интернет были произведены компанией Sun.

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

По множеству причинам этот план не подходил руководству Sun. Он не вполне отражал главное ожидание - новая разработка должна была привести к увеличению спроса на продукты компании Sun. Перспективы были слишком туманны и из-за этого около половины сотрудников FirstPerson была перераспределена в только что созданную команду Sun Interactive, которая должна была так же заниматься мультимедийными сервисами, но уже без OaK. Опасность бесславной кончины нависла над всем предприятием. Однако в этот момент Билл Джой снова оказал поддержку проекту, из него вскоре миру предстала платформа Java.

Создатели FirstPerson обратив своё внимание на интернет поняли, что функциональность тех сетевых приложений, для которых создавался OaK, очень близка к WWW. Билл Джой вспомнил, как он двадцать лет назад участвовал в разработке системы UNIX в Беркли, а затем эта операционная система получила широкое распространение благодаря возможности загрузить её бесплатно по сети. Принцип такого бесплатного распространения коммерческих продуктов создал саму WWW, тем же путем пошла и компания Netscape став вскоре лидером рынка браузеров, таким образом многие технологии получили возможность получить долю рынка в кратчайшие сроки. При поддержке Джоя, удалось убедить руководство Sun, что интернет поможет воскресить платформу OaK (новый проект вначале получил название "Liveoak"). Гослинг и Нотон начинают работу над адаптацией OaK для интернета. А Джой садится составлять новый бизнес-план. Гослинг переделывает программный код платформы, а Нотон садится за написание "убойного" приложения, которое бы ярко продемонстрировало всю мощь языка OaK для интернета.

Эти технологии прекрасно между собой сочетались т.к. в развитии компьютерных технологий языки программирования всегда играли важную роль. Огромные Mainframe[27] не были особенно полезны, пока не появился язык Cobol[28]. Компьютеры стали более широко применяться для научных вычислений и исследований благодаря языку Fortran от компании IBM. Самым первым продуктом от Microsoft был Altair BASIC. Он позволил всем программистам-любителям писать программы для своих персональных компьютеров. Основой для графических интерфейсов Mac OS и Windows стал язык С++. Создатели OaK многое сделали чтобы их технология сыграла важную роль в создании программ для интернета.

К середине 1994 года WWW разросся до невиданных размеров по тем временам, но вэб-страницы всё же были похожи на обычные бумажные документы нежели на интерактивные приложения. Работа в сети по большей части заключалась в отправке запроса на сервер и получении от сервера ответа, который содержал обычный статический HTML-файл, отображаемый браузером на стороне клиента. Уже тогда функциональность веб-серверов расширялась с помощью CGI[29]. Данная технология позволяла реализовать технологию клиент-сервер (отправка запроса клиент на сервера для запуска программы и получения её результат обратно в качестве ответа). Время до ответа могло достигать нескольких минут поскольку скорость каналов связи была не высокая. Особенно это печально было, если в запросе была ошибка. При таком способе реализации динамическое построение графиков означало бы генерацию GIF-файлов в реальном времени. Как правило клиентские машины представляют собой полноценными персональные компьютеры. Мощностей которых хватало бы для забора на себя значительной части работы взаимодействия с пользователем, тем самым разгружая сервера.

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

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

1). В интернете представлены практически все существующие платформы, а географическая разобщённость и количество пользователей делает быстрое обновление просто не выполнимым.

2). Очень остро встает вопрос безопасности. Через сеть может попасть не только важная информация, но и произойти вирусные атаки. Изображения и текстовая информация и не несут в себе никакой угрозы для клиентской машины, но исполняемый код уже может быть заражён.

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

Взглянув на историю развития языка OaK, видно, как эта платформа удивительным образом подходит ко всем перечисленным требованиям интернет-программирования, хотя и создавалась во времена, когда про WWW никто даже и задумывался. Это показывает, насколько точно участники проекта Green предугадали развитие индустрии.

Возрождение OaK

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

Браузер получил название WebRunner. Нотон за один в июле 1994 выходной написал основную часть программы. И уже в сентябре 1994 года WebRunner уже представлен высшему руководству Sun. Небольшие программы, написанные на языке OaK для распространения через сеть интернет, назвали апплетами (applets).

На конференции, где встречались разработчики интернет-приложений и представители индустрии развлечений была проведена следующая демонстрация. Начало презентации WebRunner Гослингом не вызвало большого интереса у посетителей, решив, что это просто клон браузера Mosaic. Тогда Гослинг проведя мышкой над сложной трехмерной моделью химической молекулы, модель поворачивалась по всем направлениям! На сегодняшний день данная функция, вряд ли вызовет восторг и восхищение, но тогда впечатления это было подобно переходу от картинки к кинематографу. На следующем примере демонстрировалась анимированная сортировка. Вначале изображался набор отрезков разной длины. Затем синяя и красная линии начинали бегать по этому набору, сортируя отрезки по размеру. Этот нехитрый пример наглядно демонстрировал, что на стороне клиента появилась полноценная программная платформа. Оба эти апплета сейчас являются стандартными примерами и входят в состав Java Development Kit[30] любой версии. Демонстрации закончилась бурными аплодисментами и это показывало, что язык OaK и браузер WebRunner способны устроить революцию в сети интернет. Все участники конференции взглянули с другой стороны на возможности, которые предоставляет Всемирная Сеть.

В начале 1995 года уже стало ясно, что официальный релиз уже не за горами, за дело принялись маркетологи. По результате их исследований язык OaK был переименован в Java, а браузер WebRunner получил название HotJava. У многие тогда возникли вопросы, что же послужило поводом для такого решения. Легенда гласит, что Java - это сорт кофе, который очень любили программисты работавшие над проектом. Аналогично, что похожим образом родилось и название HotJava ("горячая Java"). Тема кофе навсегда останется в названиях и логотипах. Технология создания компонентов названа Java Beans - зерна кофе. Специальный формат для архивирования файлов с Java -программами JAR - банка с кофе и т.д., а сам язык критики стали называть "для кофеварок". Однако, сейчас многие уже привыкли и не задумываются над названием. Возможно, на это и было рассчитано. Так же есть те, кто продолжает выражать недовольство, приводят альтернативные варианты, которые рассматривались тогда – Silk, Pepper, Lyric или Neon).

Планировалось, что спецификация Java, реализация платформы и HotJava будут свободно распространяться через сеть интернет. Одной стороной была скорость распространения по всему миру и становления её де-факто как стандарта для интернет-программирования. А другой стороной было при участии всего сообщества разработчиков. Их высказывания, пожелания и замечания позволяли гораздо быстрее устранить все возможные ошибки и недоработки. На конец 1994 года лишь несколько копий были распространены за пределы Sun. В феврале 1995 года выпускается, вероятно, первый пресс-релиз, с информацией о скором выходе альфа-версии языка OaK и браузера WebRunner.

После пресс-релиза команда стала считать кол-во загрузок их продукта для просмотра. Через короткий промежуток времени считали уже сотнями. Позже команда решила, что если число загрузок достигнет 10.000, то это будет ошеломительный успех. Ожидание продлилось совсем не так долго, как можно было предположить. Интерес рос как лавина, мощности интернет-канала стало не хватать так как после просмотров приходило большое количество писем. Ответ на письма всегда был очень подробный. Это поначалу позволяло делать даже без отрыва от работы. Поток писем рос и затем по очереди стали назначать одного сотрудника который в течение недели занимался только ответами. Дело дошло до того, что потребовался уже специальный сотрудник, так как кол-во уже было по 2-3 тысячи писем в день. Имея такой мощный успех Java не имеет никакого бюджета или плана для рекламы и других акций продвижения на рынок и это вскоре осознало руководство Sun. Первым шагом в этом направлении становится выход статьи 23 марта 1995 года в газете Sun Jose Mercury News с описанием новой технологии в которой указывался адрес официального сайта http://java.sun.com. Данный сайт и на сегодняшний день является основным источником информации по Java.

И вот вся подготовительная работа подходила к своему завершению. Официальный релиз Java, уже имевшее широкое признание и подающей большие надежды, должен был произойти на конференции Sun World. Так как главная цель этого мероприятия - UNIX-системы ожидалось, что это будет короткое информационное объявление. Но всё пошло не по плану.

В день конференции в 4 часа утра после длинных и сложных переговоров между компанией Sun и компанией Netscape подписывается важнейшее соглашение. В декабре 1994 года выходит первая версия Netscape Navigator для бесплатного некоммерческого использования, что позволяет занять 75% рынка на тот момент.

23 мая 1995 года компания Sun официально и представители компании Netscape объявили, что технологии Java и HotJava будут поддерживаться в новой версии самого популярного браузера Netscape Navigator 2.0. Суть этого заявления - отныне Java становится такой же неотъемлемой частью WWW, как и HTML. Эта презентация уже второй раз закончилась овацией - победное шествие Java началось.

Заключение

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

В области прикладного программирования альтернативой C++ стал его язык-потомок, Java. Несмотря на преемственность по отношению к C++, Java строился на принципиально иной основе, его разработчики не были связаны требованиями совместимости с языком-предком и обеспечения максимально достижимой эффективности, благодаря чему они смогли кардинально переработать язык, отказаться от множества синтаксических средств, чтобы добиться идеологической целостности языка. Позже компания Microsoft предложила язык C#, представляющий собой ещё одну переработку C++ в том же направлении, что и Java. В дальнейшем появился язык Nemerle, в котором к средствам C# добавлены средств функционального программирования. Ещё позже появилась попытка объединения эффективности C++ с безопасностью и скоростью разработки Java и C# — был предложен язык D, который пока не получил широкого признания.

На сегодняшний день языки С++ и Java являются самыми распространенными и востребованными в среде программирования.

Список использованной литературы

  1. М. Доусон. Изучаем С++ через программирование игр. – СПб.: Питер, 2016.
  2. Сеттер Р.В. Изучаем Java на примерах и задачах. – СПб.: Наука и Техника, 2016
  3. Айра Пол. Объектно-ориентированное программирование на С++. – СПб.: Издательство «Бином», 2001.
  4. Вязовик Н.А. Программирование на Java. – М.: Национальный Открытый Университет «ИНТУИТ», 2016
  5. Джесс Либерти. Программирование на С#, 2-е издание. – М.: Издательство «Символ-Плюс», 2003
  6. Васильев А.Н. Самоучитель Java с примерами и программами. 3-е издание. – СПб.: Наука и Техника, 2016.
  7. Бен Клеменс. Язык С в ХХI веке. / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2015
  8. Кей С. Хортсманн. Java SE 8. Базовый курс. :Пер. с англ. – М.: ООО Издательский дом «Вильямс», 2015.
  9. Кей С. Хортсманн. Java. Библиотека профессионала, том 1. Основы. 10-е издание. :Пер. с англ. – М.: ООО Издательский дом «Вильямс», 2016.
  10. Джошуа Блох. Java эффективное программирование, 2-е издание. – М.: Издательство Лори, 2014.
  11. Стефан Р. Девис. С++ для «чайников», 4-е издание. – М.: Компьютерное издательство «Диалектика», 2001.
  12. Арт Фридман, Ларс Кландер, Марк Михаэлис, Херб Шильдт. С/С++ Алгоритмы и приёмы программирования. – М.: ООО Бином-Пресс, 2003
  1. Algol от англ. algorithmic — алгоритмический и англ. language — язык) — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ.

  2. Фортра́н (Fortran) — первый язык программирования высокого уровня, получивший практическое применение, имеющий транслятор и испытавший дальнейшее развитие.

  3. Combined Programming Language (CPL) — язык программирования, совместная разработка кембриджского и лондонского университетов. До подключения к проекту лондонцев «С» было первой буквой от «Cambridge», а потом официально расшифровывалось как «Combined»

  4. Bell Laboratories (известна также как Bell Labs, прежние названия — AT&T Bell Laboratories, Bell Telephone Laboratories) — бывшая американская, а ныне финско-американская корпорация, крупный исследовательский центр в области телекоммуникаций.

  5. UNIX - семейство переносимых, многозадачных и многопользовательских операционных систем, которые основаны на идеях оригинального проекта AT&T Unix, разработанного в 1970-х годах в исследовательском центре Bell Labs Кеном Томпсоном, Деннисом Ритчи и другими.

  6.  BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих) — семейство высокоуровневых языков программирования.

  7. Америка́нский национа́льный институ́т станда́ртов  (англ. American national standards institute, ANSI)  — объединение американских промышленных и деловых групп, разрабатывающее торговые и коммуникационные стандарты. Входит в организации ISO и IEC, представляя там интересы США.

  8. ISO - Международная Организация Стандартизации

  9. Си́мула-67 (Simula 67) — язык программирования общего назначения, разработанный в конце 60-х сотрудниками Норвежского Вычислительного Центра (Осло) Кристеном Нюгором и Оле-Йоханом Далем для моделирования сложных систем.

  10. Алго́л 68 (англ. Algol 68 от англ. algorithmic — алгоритмический и англ. language — язык) — процедурный императивный высокоуровневый язык программирования.

  11. Инкапсуляция (англ. encapsulation, от лат. in capsula) — в информатике упаковка данных и функций в единый компонент.

  12. Всеми́рная паути́на (англ. World Wide Web) — распределённая система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключённых к сети Интернет. Для обозначения Всемирной паутины также используют слово веб (англ. web «паутина») и аббревиатуру WWW.

  13. Sun Microsystems — американская компания, производитель программного и аппаратного обеспечения, основана в 1982 году.

  14. NeXT — американская компьютерная компания, которая разрабатывала и производила графические рабочие станции, предназначенные для вузов и бизнеса.

  15. NeWS (англ. Network extensible Window System, «сетевая расширяемая оконная система») — оконная система, разработанная корпорацией Джеймс Гослинг и Дэвид Розенталь из Sun Microsystems в середине 1980-х.

  16. NeXTSTEP  объектно-ориентированная многозадачная операционная система, которую разработала компания NeXT Computer для собственных компьютеров.

  17. Emacs семейство многофункциональных расширяемых текстовых редакторов.

  18. Карманный персональный компьютер (PDA, англ. Personal Digital Assistant, PDA — «личный цифровой секретарь») — портативное вычислительное устройство, обладающее широкими функциональными возможностями.

  19. Dolby Laboratories, Inc. (Dolby Labs) — американская компания в области систем обработки звука, звукозаписи и звуковоспроизведения.

  20.  France Telecom крупнейшая телекоммуникационная компания Франции.

  21. Mitsubishi Electric Corporation японская компания по производству и продаже широкого спектра электрического и электротехнического оборудования.

  22. Silicon Graphics, Inc.  Американская компьютерная компания по производству графических терминалов.

  23. Time Warner один из крупнейших в мире конгломератов новостного и развлекательного профиля.

  24. Netscape Communications Corporation — американская корпорация, работавшая в сфере IT-индустрии.

  25. 3DO Interactive Multiplayer (или просто 3DO) — игровая приставка, выпускавшаяся в 1993—1996 гг. компаниями Panasonic, Sanyo, Creative и Goldstar.

  26. National Center for Supercomputing ApplicationsNCSA — научно-исследовательский центр по развитию суперкомпьютерных технологий.

  27. Mainframe — большой универсальный высокопроизводительный отказоустойчивый сервер со значительными ресурсами ввода-вывода, большим объёмом оперативной и внешней памяти.

  28. COBOL, COmmon Business Oriented Language — один из старейших языков программирования, предназначенный, в первую очередь, для разработки бизнес-приложений.

  29. Common Gateway Interface — «общий интерфейс шлюза» — стандарт интерфейса, используемого для связи внешней программы с веб-сервером.

  30. Java Development Kit — бесплатно распространяемый компанией Sun Microsystems комплект разработчика приложений на языке Java.