Файл: История возникновения и развития языка программирования Си (С++) и Java (Появление языка C ).pdf
Добавлен: 23.04.2023
Просмотров: 204
Скачиваний: 2
Для успешной конкуренции на рынке бытовой техники и электроники, компании должны рассматривать процессоры как обычный товар, который в любое время можно заменить более дешевыми, а также обеспечивать обратную совместимость и соблюдать стандарты, установившиеся на устройства длительного пользования, такие как телевизоры или тостеры.
Гослинг начал с расширения компилятора C++, чтобы избежать связи разработки с конкретной платформой. Но один C++, даже со всеми расширениями, не сможет удовлетворить все потребности. Так, в середине 1991 года был задуман язык Oak. Впоследствии переименован в Java. "В конце концов, язык — это средство, а не самоцель, - поясняет Гослинг. - Мы не собирались зацикливаться на С++, а хотели разработать систему, которая позволяла бы создавать большую распределенную разнородную сеть из бытовых электронных устройств, способных взаимодействовать между собой".
Коллектив проекта "Green", в 1992 году, выпустил "*7" - устройство, названное "ручным пультом дистанционного управления" - типа PDA. Создание данного устройства, являлось плодом огромных усилий по доработке Oak и других компонентов.
"За полтора года мы сделали столько же, сколько иные большие коллективы в Sun делали за три года, - с гордостью отмечает Нотон. - Операционную систему GreenOS, язык, инструментарий, пользовательский интерфейс, новую аппаратную платформу, три заказных микросхемы... и каждый этап был связан с риском, т.к. мы использовали совершенно новые технологии".
До прихода в команду Green Патрик Нотон (инженер проекта "Green"), возглавлял проект Sun по разработке пользовательской среды Open Window.
Малогабаритное устройство "*7" выгодно подчеркивала компактность и эффективность кода, являвшегося ядром технологии. Данное устройство широко демонстрировалось в Sun и произвело впечатление на таких важных персон, как Скотт Макнили и Билл Джой, однако его дальнейшая судьба оставалась неясной.
Пока коллектив работал над Oak и *7, два его члена - специалист по оборудованию и технологии Эд Фрэнк и специалист по планированию бизнеса Майк Шеридан - подготовили примерную деловую и технологическую программу, которой могла бы воспользоваться какая-либо сторонняя компания типа Dolby Labs, чтобы создать и лицензировать технологию, и поместила бы логотип Sun на бытовую электронику вместе со своим. Ко времени появления демонстрационной модели *7 были готовы несколько версий этой программы. Однако в начале 1993 года, когда в Sun анализировались возможности применения Java, коллектив проекта Green, преобразованный к этому моменту в компанию FirstPerson, узнал об объявленном компанией Time-Warner конкурсе на разработку операционной системы для телевизионных приставок и технологии "видео по запросу". "Это было то, что надо", - вспоминает Гослинг.
FirstPerson быстро переориентировалась на рынок ОС для телеприставок и сделала Time-Warner предложение. Однако оно было отвергнуто, по мнению Гослинга и Нотона, чисто по политическим соображениям, хотя ее технология была признана лучшей.
FirstPerson продолжала работать над телеприставками до начала 1994 года, когда ее коллектив пришел к выводу о бесперспективности этого рынка. "Было много совершенно необоснованной рекламы", - поясняет Гослинг. Ряд недавних событий показал, что и сейчас рынок интерактивного ТВ еще не сформировался.
Тогда Нотон сумел доказать необходимость сворачивания работ над телеприставками и концентрации усилий в области онлайновых служб, CD-ROM и платформ для настольных систем. FirstPerson была распущена, и около половины ее сотрудников ушло в компанию Sun Interactive, где они стали заниматься разработкой серверов цифровых видеоданных. Но некоторые из них по-прежнему пытались найти пути применения технологии Java в объединенных в сеть настольных системах.
Весь 1993 год и половину 1994 года продолжались безрезультатные поиски покупателей продукции, разработанной в рамках проекта "Green" (под новым названием "First Person, Inc."). (Патрик Нотон, один из основателей группы, впоследствии в основном занимавшийся маркетингом, налетал в общей сложности более 300 тысяч миль, пытаясь продать разработанную технологию.) Проект "First Person, Inc." был прекращен в 1994 году.
Тем временем разрасталась сеть World Wide Web. Ключом к ней являлся браузер, который мог превратить гипертекст в изображение на экране.
В интервью журналу Sun World Гослинг сказал, что в середине 1994 года разработчики языка поняли: "Нам нужно создать действительно крутой браузер. Такой браузер должен представлять собой одно из немногих приложений модной клиент-серверной технологии, в которой жизненно важным было бы именно то, что мы сделали: архитектурная независимость, выполнение в реальном времени, надежность, безопасность — вопросы, не являвшиеся чрезвычайно важными для рабочих станций. И мы создали такой браузер".
Браузер был разработан Патриком Нотоном и Джонатаном Пэйном. Позже он превратился в современный браузер HotJava. Он был написан на языке Java, чтобы продемонстрировать всю его мощь. Однако разработчики не забывали о мощных средствах, которые теперь называются апплетами, наделив свой броузер способностью выполнять код внутри Web-страниц. "Демонстрация технологии" была представлена на выставке Sun World '95 23 мая 1995 года и вызвала всеобщее помешательство на почве языка Java.
Компания Sun выпустила первую версию языка Java в начале 1996 года.
Исходя из данного раздела, мы рассмотрели историю возникновения языка программирования Java от задумки до первой версии.
2.2. Этапы развития языка Java
[10]Вскоре после выхода первой версии Java Development Kit группе экспертов по вопросам безопасности и Принстонского университета обнаружили первые ошибки в системе защит Java 1.0. Компания Sun Microsystems развернула исследования в области безопасности Java-программ. В частности, она обнародовала спецификацию и код виртуальной машины и библиотек, ответственных за защиту. Это ускорило выявление и устранение ошибок. В любо случае, разработчики Java здоров затруднили задач обхода её механизмов безопасности. Обнаруженные с тех пор ошибки носили очень технически характер и весьма немногочисленны.
Следующая версия была более удачна (Java Development Kit 1.1). Были устранены наиболее грубые недостатки, улучшены средства рефлексии и реализована новая модель событий для программирования ГПИ (Графический пользовательский интерфейс). Но все эти изменения были недостаточны, так как возможности данной версии были всё ещё ограничены.
Далее последовала версия Java 1.2, которая стала самым обсуждаемым событием на конференции JavaOne в 1998 году. В новой версии слабые средства для создания графического пользовательского интерфейса и графических приложений были заменены мощным инструментарием. Это был шаг вперед, к реализации лозунга "Write Once, Run Anywhere" ("Однажды написано — везде выполняется"), выдвинутого при разработке предыдущих версий. В декабре 1998 года через три дня после выхода в свет название новой версии было изменено на более длинное: Java 2 Standard Edition Software Development Kit Version 1.2(Стандартная редакция набора инструментальных средств для разработки программного обеспечения на Java 2, версия 1.2).
Кроме Standard Edition, были предложены еще два варианта: Micro Edition ("микроредакция") для портативных устройств, например для мобильных телефонов, и Enterprise Edition (редакция для корпоративных приложений).
Версии 1.3 и 1.4 набора инструментальных средств Standard Edition являются результатами поэтапного усовершенствования первоначально выпущенной версии Java 2. Они обладают новыми возможностями, повышенной производительностью и содержат намного меньше ошибок. В процессе развития Java многие взгляды на аплеты и клиентские приложения были пересмотрены. В частности, оказалось, что на Java удобно разрабатывать высококачественные серверные приложения.
В версии 5.0 язык Java подвергся наиболее существенной модификации с момента выпуска версии 1.1. (Первоначально версия 5.0 имела номер 1.5, но на конференции JavaOne в 2004 г. была принята новая нумерация версий.) После многолетних исследований были добавлены обобщенные типы (которые приблизительно соответствуют шаблонам C++), хотя при этом не были выдвинуты требования модификации виртуальной машины. Ряд других языковых элементов, например, циклы в стиле for each, автоупаковка и метаданные, были явно "навеяны" языком С#.
Версия 6 (без суффикса .0) была выпущена в конце 2006 г. Опять же сам язык не претерпел существенных изменений, но были внесены усовершенствования, связанные с производительностью, а также произведены расширения библиотек.
По мере того как в центрах обработки данных все чаще стали применяться аппаратные средства широкого потребления вместо специализированных серверов, для компании Sun Microsystems наступили тяжелые времена, и в конечном итоге она была приобретена компанией Oracle в 2009 г. Разработка последующих версий Java приостановилась на долгое время. И только в 2011 году компания Oracle выпустила новую версию Java 7 с простыми усовершенствованиями. А более серьезные изменения было решено отложить до версии Java 8, выпуск которой ожидался в 2013 г.
[11]Следующая версия (Java 9) была выпущена в 2017 году, компанией Oracle. Изменения коснулись функций интерфейса. В 2018 году последовал выход двух новых версий: Java 10 и Java 11. Все версии, на 2018 году, представлены в Приложении 2.
Изучив материал по выходу версий Java, мы можем представить какими были этапы развития этого языка и сделать вывод, что компания Oracle идет по верному пути развития своей продукции, учитывая, что язык Java до сих пор остается востребован в профессиональной деятельности.
3. ИСПОЛЬЗЫВАНИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ В СОВРЕМЕННОМ МИРЕ
В данной главе, я бы хотел рассмотреть наиболее популярные и востребованные языки программирования в современном мире и понять, какое место занимают язык C (C++) и Java сейчас.
Рейтинги языков программирования рассчитываются определенным образом. Для этого необходимо проанализировать несколько критериев, таких как количество языковых запросов пользователей в интернете, по количеству программного обеспечения, написанного на том или ином языке, количеству обсуждений на форумах и количеству вакантных мест на рынке труда.
[12]Для рассмотрения популярности языков, я буду основываться на показателях компании TIOBE Software по так называемому индексу TIOBE.
Методикой данной компании является количество поисковых запросов на наиболее популярных порталах: Google, Blogger, Wikipedia, YouTube, Yahoo!, Baidu, Amazon, Bing.
Создатели данной компании считают, что данная аналитика будет полезна для принятия стратегических решений разного рода компаний и деятельностей. Данный показатель может быть полезен для людей, занимающихся бизнес-информатикой.
Исходя из данных портала TIOBE (смотреть Приложение 1), можно сделать вывод, что по их расчетам самыми популярными языками являются: Java, C, Python, C++, C#.
Несмотря на свой возраст, языки Java и C (C++), всё ещё остаются самыми востребованными языками программирования.
Вне зависимости от популярности, любой специалист должен знать несколько языков разных уровней, так как большинство проектов разрабатывается на разных языках.
Рассмотрим детально для каких именно функций используют самые популярные языки программирования в современном мире.
Язык Java используется во многих областях, от сайтов электронной коммерции до приложений на Android устройствах, так же финансовых и научных приложений типа трейдинговых систем. Также, на Java можно создать компьютерные игры (примером такой игры является Minecraft) и так далее.
Высок спрос на Java и в финансовой сфере. Мировые инвистиционные банки (Goldman Sachs, Barclays и другие) используют данный язык для написания фронт-энд и бэк-энд офисных электронных систем, систем регулирования и конфирмации, различных проектов обработки данных. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше.
Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.
Обширна Java и в области встраиваемых систем. Можно увидеть на что способна платформа, вам нужно всего 130 KB для использования Java (на смарт-картах и сенсорах). Как мы уже знаем, изначально Java разрабатывалась для встраиваемых систем. Данная область была главной частью при создании Java.