история языка программирования java
Урок 2. Обзор Java: введение, преимущества и история создания языка программирования
Прежде, чем перейти к обучению, начнём с введения в java-программирование, разберёмся кратко, что это за такой язык программирования. Немного истории языка java. Язык Java разработан компанией Sun Microsystems, создателем которого был Джеймс Гослинг, и выпущен в 1995 году в качестве основных компонентов компании Sun Microsystems — Java платформ (Java 1.0 [J2SE]).
По состоянию на 2017 год последней версией Java Standard Edition является 8 (J2SE). С развитием Java, и её широкой популярностью, несколько конфигураций были построены для различных типов платформ. Например: J2EE — приложения для предприятий, J2ME — для мобильных приложений.
Sun Microsystems переименовала прежнюю версию J2 и ввела новые: Java SE, Java EE и Java ME. Введение в программирование Java различных версий подтверждало знаменитый слоган компании «Напиши один раз, запускай везде».
Содержание
История создания языка Java
Но официальной датой создания языка Java считается 23 мая 1995 года, после выпуска компанией Sun первой реализации Java 1.0. Она гарантировала «Напиши один раз, запускай везде», обеспечивая недорогой стоимостью на популярных платформах.
13 ноября 2006 года, Sun выпустила большую часть как свободное и открытое программное обеспечение в соответствии с условиями GNU General Public License (GPL).
После 8 мая 2007 года судьба Java сложилась иначе. Компания завершила процесс, делая все чтобы исходный код был бесплатным и открытым, кроме небольшой части кода, на который компания не имела авторских прав.
Преимущества языка Java: краткий обзор
Объектно-ориентированный: в джава все является объектом. Дополнение может быть легко расширено, так как он основан на объектной модели.
Платформонезависимый: в отличие от многих других языков, включая C и C++, Java, когда был создан, он не компилировался в платформе конкретной машины, а в независимом от платформы байт-коде. Этот байт код распространяется через интернет и интерпретируется в Java Virtual Machine (JVM), на которой он в настоящее время работает.
Простой: процессы изучения и введение в язык программирования Java остаются простыми. Если Вы понимаете основные концепции объектно-ориентированного программирования, то он будет прост для Вас в освоении.
Безопасным: методы проверки подлинности основаны на шифровании с открытым ключом.
Архитектурно-нейтральным: компилятор генерирует архитектурно-нейтральные объекты формата файла, что делает скомпилированный код исполняемым на многих процессорах, с наличием системе Java Runtime.
Портативный: архитектурно-нейтральный и не имеющий зависимости от реализации аспектов спецификаций — все это делает Java портативным. Компилятор в Java написан на ANSI C с чистой переносимостью, который является подмножеством POSIX.
Прочный: прилагает усилия, чтобы устранить ошибки в различных ситуациях, делая упор в основном на время компиляции, проверку ошибок и проверку во время выполнения.
Многопоточный: функции многопоточности, можно писать программы, которые могут выполнять множество задач одновременно. Введение в язык Java этой конструктивной особенности позволяет разработчикам создавать отлаженные интерактивные приложения.
Интерпретированный: Java байт-код переводится на лету в машинные инструкции и нигде не сохраняется. Делая процесс более быстрым и аналитическим, поскольку связывание происходит как дополнительное с небольшим весом процесса.
Высокопроизводительный: введение Just-In-Time компилятора, позволило получить высокую производительность.
Распространенный: предназначен для распределенной среды интернета.
Динамический: программирование на Java считается более динамичным, чем на C или C++, так как он предназначен для адаптации к меняющимся условиям. Программы могут выполнять обширное количество во время обработки информации, которая может быть использована для проверки и разрешения доступа к объектам на время выполнения.
После небольшого введения, обзора преимуществ и истории Java, приступим к нашему обучению.
Инструменты, которые понадобятся
Для выполнения примеров, рассмотренных в этом учебнике, Вам нужен компьютер Pentium 200 МГц с минимальной оперативной памятью 64 Мб (рекомендуется оперативная память 128 Мб).
Вам также понадобится следующее программное обеспечение:
Самоучитель обеспечит необходимыми навыками для создания GUI, сетевых и веб-приложений.
Ознакомившись с особенностями истории появления и преимуществами языка Java, Вы закончили урок введения в язык программирования. Следующий урок будет Вас вести к изучению языка и документации. Проинструктирует Вас о том, как установить и подготовить среду для разработки приложений.
История языка программирования Java
Язык для смарт устройств
Язык Java имеет интересную и непростую историю создания и развития с начала 1990-х годов. Первоначально Java язык вовсе не предусматривался в качестве языка программирования для прикладного программного обеспечения.
Язык разрабатывался для программирования бытовых устройств. Создание языка Java тесно связано с именем James Arthur Gosling (Джеймс Артур Гослинг), которого часто называют «Доктор Ява», канадского ученого, известного как основателя и ведущего дизайнера языка Java.
Команда для разработки нового языка
Платформа и язык Java начинались как внутренний проект в Sun Microsystems в декабре 1990 года, предоставляя альтернативу языкам программирования C и C++. Инженер Patrick Naughton (Патрик Нотон, американский разработчик программного обеспечения) организовал команду, в которую входили Джеймс Гослинг (James Gosling), Майк Шеридан (Mike Sheridaп), Крис Уарт (Chris Warth) и Эд Франк (Ed Frank).
Команда начала работу над Green Project предусматривающим разработку операционной системы для электронных бытовых устройств. В разработке и развитии нового языка приняли участие немало других специалистов: Билл Джой (Bill Joy), Артур ван Хофф (Arthur van Hoff), Джонатан Пэйн (Jonathan Payne), Франк Йеллин (Frank Yellin) и Тим Линдхольм (Тlm Lindholm) которые внесли основной вклад в развитие исходного прототипа Java.
Поиск базы для нового языка
Первоначально команда рассматривала возможность использования модифицированного языка C++, но отклонила его по причинам требовательности к объемам памяти и высокой сложности. Отсутствие в С++ сборки мусора означало, что программистам приходилось вручную управлять системной памятью, сложной и подверженной ошибкам задачей. Тем более что они разрабатывали встроенную систему с ограниченными ресурсами. Наконец, они хотели получить платформу, которую будет легко портировать на любые типы устройств. Но все же синтаксис Java во многом заимствован из C и C ++, а объектно-ориентированные функции смоделированы на основе языков С++, Smalltalk and Objective-C.
Язык программирования Oak
Разработкой нового языка вплотную занимался Джеймс Гослинг и изначально назвал его Оak (в переводе с английского Дуб). Рядом с офисом разработчика действительно рос дуб. Наверное Джеймс, работая в офисе, поглядывал в окно и видя крепкий дуб, излучающий здоровье и долголетие, решил назвать новый язык в честь зеленого дерева. К лету 1992 года команда смогла продемонстрировать части новой платформы, включая операционную систему Green OS, язык Oak, библиотеки и аппаратное обеспечение.
Их первая попытка, продемонстрированная 3 сентября 1992 года, была сосредоточена на создании устройства PDA (Personal Digital Assistant, карманный компьютер) под названием Star7, которое имело графический интерфейс и смарт-агента под названием «Duke» для помощи пользователю. Карманный компьютер Star7 был принципиально новым устройством, которое намного опередило своё время, но из-за высокой стоимости не смогло произвести переворот в мире технологии и постепенно было забыто. Возможно, в настоящее время именно оно вернулось к нам в виде умных андроид устройств.
Происхождение названия Java
1994 году язык Oak был переименован в виду того, что название «Oak» уже использовалось как торговая марка компании Oak Technology (американская организация, поставщик электронных компонентов). Oak был переименован в Java, в честь марки кофе которое получило название одноименного острова Ява. Поэтому на официальной эмблеме изображена чашка с горячим кофе. Существует и другая версия происхождения названия языка, связанная с шутливым намеком на кофе-машину как пример бытового устройства, для программирования которых изначально язык и создавался. Наконец Java 1.0 была окончательно выпущена в 1996 году.
Предпосылки Java
До появления языка Java программистам, приходилось выбирать между языками, которые обеспечивали только узкий спектр характеристик. Первые языки программирования BASIC, COBOL и FORTRAN были разработаны без учета принципов структурирования. Структурированный язык Pascal не был предназначен для написания разнообразных программ. Язык С++ частично решал эти проблемы. Но трудность применения С и С++ состоит в том, что написанные на них программы должны компилироваться для конкретной платформы.
Пытаясь найти решение этих проблем, Джеймс Гослинг и другие разработчики начали работу над переносимым, не зависящим от конкретной платформы языком. Исходный код, созданный на таком языке, должен был выполняться на разнотипных процессорах в различных операционных системах. И в итоге их усилия привели к созданию первого в мире кроссплатформенного языка под названием Java.
Концепции языка Java
Java и С++
Многие особенности Jаvа унаследованы от языков С и С++. Вместе с тем языку Java присущи значительные практические и концептуальные отличия. Хотя С++ оказал влияние на характеристики Jаvа, но всё же язык программирования Java не является усовершенствованной версией С++. Разумеется, у него немало сходств с языком С++, и в исходном коде программы на Java программист С++ будет чувствовать себя почти как дома.
Но есть и коренные отличия двух языков: программа на C++ компилируется только для конкретной среды выполнения, что делает C++ зависимым от платформы языком. В Java исходный код сначала преобразуется в байт-код во время компиляции. Этот байт-код затем интерпретируется интерпретатором и средой выполнения для создания выходных данных, которые делают Java независимым от платформы языком. Язык Jаvа предназначен не для замены С++, а для решения других задач, для которых язык С++ не годится.
Java и C#
Языки C# и Java появились в разное время. Язык Java был создан задолго до появления C#. Таким образом, если Java создавался, опираясь в большей степени на опыт языков Objective-C и C, С++, то для C# такой опорой уже являлись C++ и сам Java. И, несмотря на своё название, C# оказался ближе к Java, чем к C++.
С точки зрения разработчика языки Java и C# очень похожи. Оба языка являются строго типизированными, объектными. Оба языка опираются на сборку мусора. Оба языка сопровождаются богатыми коллекциями библиотек. Но есть в языках также свои особенности и различия. C# учёл многие недостатки Java, и исправил их в своей реализации. Но и Java не стоит на месте, развиваясь параллельно с C#.
Современный Java
В настоящее время язык и платформа Java активно развивается. 3 миллиарда устройств работают под управлением Java—дома, в автомобиле и офисе. 12 миллионов разработчиков Java по всему миру. Недавно было объявлено, что для Java будет использоваться шестимесячный цикл выпуска. Java сегодня успешна, потому что даже код, написанный 20 лет назад, совершенно точно работает.
Общий вывод получается таким: насчёт «самого популярного» языка можно спорить, но что Java «один из самых популярных» — безусловно.
История создания Java
Ниже приводим краткую историю создания языка программирования Java в вопросах и ответах.
Кто разработал язык Java?
Инженеры компании Sun Microsystems:
Почему решили создать?
Патрик Ноутон, Джеймс Гослинг работали над проектом «Green», целью которого было разработать язык для программирования бытовых электронных устройств. Каких ещё бытовых устройств? Да самых разных. Например, контроллеров для переключения каналов кабельного телевидения (cable TV switchboxes).
А почему такое название – Java?
Изначально новому языку программирования было дано имя Oak (от англ.«Дуб»). Всё дело в том, что под окном офиса Джеймса Гослинга рос дуб, который ему очень нравился и в честь которого он и решил назвать новый язык.
Так а почему всё-таки Java?
Существует 3 основные версии почему так назвали язык:
Версия № 1: Самая интересная. Программисты пьют много кофе. Пока создавался новый язык программирования, были выпиты гигалитры кофе, и поэтому решили назвать язык в честь сорта кофе Java.
Версия № 2: Название дано в честь марки кофе Java, который был назван в честь острова Ява (на англ. – Java). Эта версия перекликается с версией № 1.
Версия № 3: Поскольку новый язык разрабатывался для программирования бытовых электронных устройств, то иногда связывают это с аллюзией на кофе-машину как пример бытового устройства.
Год создания Java?
А кто владелец Java сейчас?
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля.
По всем вопросам звоните:
Или читайте информацию по нашим курсам Java c нуля у нас на сайте.
История языков программирования: что помогло языку Java «войти в каждый дом»
Изображение сайта vanillajava.blogspot.com
Кто-нибудь думал, что язык Java, первоначально предназначенный для устройств бытовой электроники, станет использоваться во многих других областях?
Расширение влияния Java, как ни странно, началось с разработки браузеров.
Главный разработчик Java Джеймс Гослинг перешел в Sun в 1984 году из исследовательского отдела IBM. До Java Гослинг разработал не имевший коммерческого успеха оконный интерфейс NeWS и GOSMACS — первую реализацию текстового редактора EMACS на языке С.
После этого Гослинг и его коллеги начали изучать перспективы на рынке электроники и бытовой техники.
«Группе была поставлена задача создать распределенную систему, которую можно было бы в качестве современной программной технологии продавать производителям бытовой электроники», вспоминает Гослинг.
В декабре 1990 года компания Sun создала рабочую группу для разработки новой технологии, куда вошел Патрик Нотон. Однако ему показалось, что возможностей C++ и С API не хватит для выполнения этой задачи.
Поэтому Патрик Нотон начал проект под названием Stealth Project, чтобы найти решение проблемы.
Позже к нему присоединились Джеймс Гослинг и Майк Шеридан, и проект получил название Green Project. Когда стало понятно, что у проекта – большие перспективы, они пригласили еще 10 человек и начали работать в офисе на Сэнд Хилл Роуд (Калифорния). Компания Sun поддержала начинание, предположив, что оно ознаменует «новую волну» в ИТ-отрасли.
Команда вскоре задумалась о том, чтобы усовершенствовать язык С++. Однако он оказался избыточным и слишком ресурсоемким, чтобы на его базе создать язык, удовлетворяющий поставленным требованиям:
1. Поддержка объектно-ориентированной парадигмы;
2. Возможность запуска одной и той же программы на разных операционных системах;
3. Встроенные механизмы для работы с компьютерных сетей;
4. Обеспечение безопасности удаленного исполнения программ;
5. Использование преимуществ других объектно-ориентированных языков программирования.
Хронология
Июнь 1991 г. — Гослинг начинает работу над интерпретатором Oak, который через несколько лет (при поисках торговой марки) переименован в Java.
19 августа 1991 г. — Коллектив разработчиков Green демонстрирует идеи базового пользовательского интерфейса и графическую систему сооснователям компании Sun Скотту Макнили и Биллу Джою.
17 октября 1991 г. — Шеридан и Нотон присваивают конструкторской философии своего коллектива девиз «1st Person», который со временем становится названием компании.
17 ноября 1991 г. — Офис проекта Green снова подключается к главной сети компании Sun линией на 56 Кбит/с
1 марта 1992 г. — К проекту Green присоединяется Джонатан Пейн, который позднее участвует в написании HotJava.
Лето 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, головокружительно нарастает.
Август 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.
23 мая 1995 г. – Netscape объявляет о намерении использовать Java при разработке браузера Netscape.
21 сентября, 1995 г. – В Нью-Йорке проходит конференция по Java-разработке
25 Сентября, 1995 г. – Sun объявляет о расширенном сотрудничестве с Toshiba.
26 Сентября, 1995 г. – Sun анонсирует пакет инструментов для разработки с использованием Java-технологий
30 Октября, 1995 г. – На Internet World Conference в Бостоне компании Lotus Development Corp., Intuit Inc., Borland International Inc., Macromedia Inc. и Spyglass Inc. объявляют о намерении лицензировать Java.
4 декабря, 1995 г. – Sun, Netscape и Silicon Graphics создают альянс для разработке инструментария для интернета.
4 декабря, 1995 г. – Borland, Mitsubishi Electronics, Sybase и Symatec объявляют о планах лицензировать Java.
6 декабря, 1995 г. – IBM и Adobe объявляют о планах лицензировать Java.
7 декабря, 1995 г. – Microsoft объявляет о планах лицензировать Java.
23 января, 1996 г. – релиз JDK 1.0
В 1997 году большинство версий Java оставались бесплатными, за исключением Java Enterprise System. В этом же году вышла существенно обновленная версия – Java 2, а также выделились отдельные платформы: J2SE, J2EE, J2ME.
• J2SE 1.3 (Май 8, 2000)
• J2SE 1.4 (Февраль 6, 2002)
• J2SE 5.0 (Сентябрь 30, 2004)
• Java SE 6 (Декабрь 11, 2006)
• Java SE 7 (Июль 28, 2011)
• Java SE 8 (Март 18, 2014)
Каждая платформа включает в себя:
• язык программирования;
• набор служебных программ (JVM, JRE, JDK и т.п.);
• набор библиотек;
Java 2 Platform, Standard Edition (J2SE) предназначается для использования на рабочих станциях и персональных компьютерах. Является основой всех других Java-технологий.
Java 2 Platform, Micro Edition (J2ME) является усеченным вариантом J2SE, для того, чтобы соответствовать ограниченным аппаратным возможностям мобильных устройств, таких как, например, сотовые телефоны.
Java Virtual Machine (JVM) представляет собой программу, имитирующую работу некоторой гипотетической Java-машины.
Java Runtime Environment (JRE) представляет собой минимальный набор средств, необходимых для запуска Java-программ. Основу JRE составляют виртуальная машина Java и набор стандартных библиотек.
Java Development Kit (JDK) представляет собой набор средств, используемых в процессе разработки Java-программ: компилятор, отладчик, средства для автоматической генерации документации, комплект примеров и т.п. JDK работает с уже готовыми текстами программ и не содержит какого-либо редактора.
Интегрированные среды разработки (Eclipse, Netbeans, JBuilder и т.п.) для компиляции программ используют внешний JDK
Сферы применения Java-технологий
В настоящее время Java-технологии находят широкое применение в различных сферах. Это, в первую очередь, вызвано особенностями создания и запуска Java-приложений.
1. Разработка приложений (application)
Язык Java используется для разработки обычных прикладных программ, которые запускаются пользователем и имеют доступ ко всем ресурсам компьютера наравне с любыми другими программами.
Для запуска Java-приложений в операционной системе должна быть установлена среда исполнения Java (JRE).
2. Разработка мидлетов (midlet)
Язык Java используется для разработки специализированных программ, предназначенных для использования на мобильных устройствах.
Структура и возможности мидлетов обусловлены техническими особенностями мобильных устройств.
Для запуска мидлетов мобильное устройство должно поддерживать соответствующую возможность.
3. Разработка апплетов (applet)
Язык Java используется для разработки специализированных программ, обычно небольшого размера, запускаемых браузером внутри web-документа для вывода динамического содержимого и/или интерактивного взаимодействия с пользователем.
Для запуска апплетов браузер должен содержать соответствующий модуль (plug-in).
4. Разработка JSP-страниц (Java Server Pages)
JSP-страницы представляют собой HTML-документы со вставками на языке Java, которые используются для анализа пользовательских запросов и динамического формирования web-документов на основе результатов обработки этих запросов.
Для обработки JSP-страниц Web-сервер должен содержать соответствующий модуль.
5. Разработка сервлетов (servlet)
На языке Java разрабатываются специализированные программы-сервлеты, функционирующие в рамках Web-сервера и имеющие доступ к его ресурсам: файлам, базам данных и т.п.
Для запуска сервлетов используется Web-сервер со специальным модулем (контейнером сервлетов) или специальный сервер приложений.
Поглощение Sun
В ноябре 2006 года Sun объявила часть кода виртуальной машины Java (JVM) свободном распространяемым и начала выпускать его под лицензией GNU General Public License (GPL). К маю 2007 года компания распространяла бесплатно почти весь код JVM, за исключением малой его части, на которую Sun не имеет прав.
В 2009-10 годах корпорация Oracle поглотила компанию Sun Microsystems. В апреле 2010 Джеймс Гослинг, перешедший в Oracle после поглощения, покинул компанию.