James Gosling: биография, история создания и мирового успеха Java

Биография Гослинга

Первый вопрос: как думаете, где родился Гослинг? Напрашивается ответ «в США», но на самом деле в канадском городе Калгари (в 1955-м). И ещё тинейджером в Канаде он впервые задумался о вещах, впоследствии сказавшихся на Java.

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

В текстовом редакторе TECO он подсмотрел идею макросов: с помощью встроенного интерпретируемого языка пользователи могли делать собственные мини-программы (так, например, появился Emacs). Это навело его на мысль «Если я тоже встрою простенький интерпретатор, то люди смогут решать свои задачи макросами и перестанут дёргать меня по мелочам, заставляя постоянно перекомпилировать всю систему». Это сработало — так Гослинг сделал свою первую платформу для исполнения чужого кода.

Затем, перебравшись в США, в университете Карнеги-Меллона он ближе подобрался к идее JVM. Перед ним встала задача портирования софта с рабочих станций PERQ на VAX, и начал он с эмулятора, но в итоге глубже погрузился в вопросы, позволяющие разработчикам софта вообще абстрагироваться от железа.

А самым громким проектом Гослинга до Java стал Gosling Emacs (он же Gosmacks). После взлёта популярности Emacs стали появляться сторонние реализации этого редактора для разных ОС и архитектур, и в 1981-м Гослинг представил свою имплементацию для UNIX. Со временем она стала второй по популярности разновидностью Emacs после основной версии Ричарда Столлмана.

Джеймс распространял Gosmacks бесплатно и охотно принимал в проект чужие улучшения, но сохранял единоличную власть над ним и указывал своё имя в копирайте. А в 1983-м решил, что больше не готов тратить на него много сил, и продал его компании UniPress. Которая стала распространять его уже коммерческим образом:

Неудивительно, что Ричард Столлман воспринял это в штыки: производную версию его детища продали корпорации, оставляя UNIX без свободной реализации. К тому моменту он уже вынашивал идею GNU Project. Но собирался начать с «низов» ОС — а из-за этой истории поменял очерёдность действий. В итоге флагманом всего движения за свободный софт стал GNU Emacs, и получается, что этому ненамеренно поспособствовал Гослинг.

В первую версию GNU Emacs даже входило немного кода из Gosmacks. Но затем UniPress предъявили претензии к тому, что используется код их коммерческого продукта, и в более поздних версиях GNU Emacs всё было переписано. Отдельная забавная деталь: часть кода у Гослинга была помечена черепом и костями («тут лучше ничего не трогайте, не разберётесь»), но Столлмана таким не остановить.

На тот момент представления об авторских правах в софте только формировались, и людям было совершенно неочевидно, что вообще можно и что нельзя. История с Gosmacks сама и сказалась на становлении норм, став прецедентом — и теперь её пересказывают в книгах вроде «Making and Unmaking Intellectual Property».

А в 1984-м Гослинг устроился в Sun Microsystems. Среди вещей, которыми он занимался там до Java, можно назвать оконную систему NeWS. У неё были некоторые преимущества перед X11, но она не стала массово распространённой — отчасти из-за того, что Sun запрашивали деньги за её исходный код, в то время как X распространялась открыто.

История создания

В 1991-м Sun Microsystems затеяли так называемый Green Project, определивший дальнейшую судьбу Гослинга. Интересно, что задумка этого проекта довольно точно предсказала будущее, но сам проект дал человечеству совершенно не то, что от него ожидалось.

Сегодня, если спросить случайного айтишника про Java, он может сказать «это язык, популярный в бэкенде веб-сервисов». А на старте Green Project никто не думал в таких категориях: современных веб-сервисов не существовало, а создавать язык программирования там вообще не собирались.

Что же собирались сделать? Предвосхитить «следующую волну компьютеризации». В Sun предположили, что вслед за взлётом ПК придут новые «умные» потребительские устройства (от телевизоров до микроволновок), и захотели первыми занять какую-то нишу на этом рынке. Полной определённости «какую именно» не было, компанию интересовали и железо, и софт.

Когда пытаешься опередить прогресс и строгие ТЗ невозможны, требуется работа не в корпоративном духе, а в исследовательско-стартаперском. И Green Project, по сути, сделали самостоятельным стартапом. Для него сняли отдельный офис, посадили всю команду из 13 человек туда, дали ей время и бюджет, а коммуникацию между ней и основным офисом минимизировали. То есть у команды было много самостоятельности, но это были не просто теоретические исследования: за отведённое время она должна была сделать что-то такое, на чём Sun дальше сможет зарабатывать.

В Green Project делали одновременно и собственный железный прототип нового устройства, и операционную систему для него GreenOS. А вот новый язык для приложений изначально создавать даже не планировали, вместо этого Гослинг собирался выбрать подходящий.

Сначала он попытался модифицировать под нужды проекта компилятор C++ (называя эту затею «C++ ++ —»: возьмём С++, что-то добавим, а что-то уберём). Но затем пришёл к выводу, что даже измененённый С++ не подходит, и нужен по-настоящему новый язык. Было несколько разных соображений: в частности, хотелось добиться максимальной независимости от железа (ведь различные «умные устройства будущего» могли быть самыми разными), а сборку мусора автоматизировать.

Гослинг принялся за создание подходящего языка — и поначалу назвал его Oak попросту из-за того, что за его офисным окном рос дуб. Он вспомнил то, что ему было известно о UCSD Pascal (тоже довольно независимом от железа языке), а также пообщался с людьми, занимавшимися виртуальной машиной Smalltalk — и вдохновился этим опытом. Тем временем в проекте по-прежнему воспринимали этот язык лишь как вспомогательный инструмент, а не как масштабный самодостаточный продукт. Так что большой команды у Гослинга не появилось, он сам занимался и дизайном языка, и компилятором, и виртуальной машиной.

Спустя полтора года работы, осенью 1992-го, у группы было готово устройство-прототип «Star7» и софт для него. Это было нечто вроде пятидюймового КПК — страшно отличающегося от современных устройств, но уже с цветным тачскрином! На этом экране для примера надо было показать что-то яркое, и так возник мультяшный персонаж Дюк, ставший впоследствии маскотом Java.

Этот прототип впечатлил в Sun значимых людей вроде Билла Джоя (если имя кажется вам смутно знакомым, вы можете знать его как автора редактора vi, из которого вырос vim). Но он был скорее демонстрацией наработок, чем продуктом, а тем временем пора было переходить к монетизации. У Green Project появилось собственное юрлицо FirstPerson, Inc., теперь это официально была дочерняя компания Sun, и ей надо было разобраться, как зарабатывать.

Решено было, что имеющиеся наработки хорошо подойдут для телеприставок, и до 1994-го эту идею предлагали кабельным компаниям вроде Time Warner. Но переговоры с ними не завершились успехом (из 2020-го кажется, что идея просто обогнала своё время: эпоха умных телеприставок пришла позже). Поэтому весь проект оказался под угрозой закрытия.

Пока шли переговоры с компаниями, работа над языком продолжалась. Можно посмотреть, например, спецификацию Oak 0.2 и умилиться «детским шагам» («юникод пока нельзя, enum тоже ещё не имплементирован, но всё будет»). Но в 1994-м после жалобы от другой компании, владеющей правами на название Oak, его пришлось переименовать. Тогда и возникло название Java, но затруднительно сказать, кто его автор.

Гослинг вспоминал так: «Название появилось на совещании, где около дюжины человек брейнштормили вместе. (…) По сути, совещание было продолжительным диким безумием. Много людей кричало много слов. Кто именно что крикнул — не установить, да и не имеет значения. По ощущениям, там было выкрикнуто большинство слов из словаря. Было много фраз «мне нравится, потому что…» и «мне не нравится, потому что…», и в конце мы сделали список примерно из дюжины названий. Передали его юристам, чтобы они выбрали ближайший к вершине списка вариант, подходящий для регистрации торговой марки. Вариант «Java» был третьим-четвёртым сверху».

Примерно в одно время с переименованием произошла и масштабная смена курса. В 1993-м появился популярный браузер Mosaic — и спустя год стало ясно, что веб растёт гигантскими темпами. Пользователей становилось всё больше, и им хотелось уже не только передачи текста, но и чего-то сложнее. При этом у разных пользователей могли быть очень разные компьютеры. И тут внезапно оказался очень уместен язык со слоганом «Write Once Run Anywhere», изначально поставивший себе цель отвязаться от железа.

В сентябре 1994-м в Sun прошла внутренняя демонстрация собственного браузера: он мог получать по сети специальные фрагменты Java-кода (апплеты) и исполнять их. Среди тех, кто оценивал разработку, был Эрик Шмидт (на тот момент CTO Sun, позднее — СЕО Google). В компании решили действительно сделать ставку на апплеты. И на SunWorld ’95 представили два продукта: Java 1.0 и браузер HotJava.

HotJava не стал массово популярен (он был скорее демонстрацией возможностей Java, чем полноценным участником браузерных войн), а вот апплеты действительно стали прорывом: это ж можно теперь прямо в браузере, например, с кем-то в шахматы сыграть! Их поддержку добавили тогдашние короли рынка Netscape и IE, и это позволило Java занять важнейшее место в списке языков.

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

Так детище Гослинга, которое в рамках Green Project казалось просто вспомогательной частью системы, оказалось единственной важной для человечества составляющей этой системы и развилось в отдельный продукт.


Фразы Гослинга можно встретить даже на сайте с вдохновляющими цитатами.

Разрыв с Java

Ещё в 2004-м Гослинг признавался: «Я сам не понимаю, в чём сейчас заключается моя работа. В основном провожу время на каких-то совещаниях, где спорю с людьми, а ещё очень активен как евангелист, общаясь с разработчиками по всему миру и получая слишком много авиамиль».

Но настоящий разрыв с Java у него произошёл после того, как в 2010-м компания Sun была куплена Oracle. По его словам, переход в новую компанию предполагал его перевод на другую роль со снижением статуса, ограничением возможностей в принятии решений и снижением оплаты. Гослинг не согласился на такие условия и ушёл.

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

Также Гослинг поддержал иск Oracle к Google в связи с использованием Java API в Android. По его мнению, Google действительно неправильно поступила по отношению к Sun. В 2007-м при анонсе Android Джонатан Шварц, возглавлявший тогда Sun, в блоге одобрительно высказался об этом. Поэтому со стороны всё выглядело так, будто в Sun никакой проблемы в поведении Google не видели, и только Oracle увидела повод предъявить претензии. Но Джеймс озвучивал другой взгляд изнутри: «Мы все были очень обеспокоены, в том числе и Джонатан, он просто попытался сделать из лимонов лимонад, и в Sun его поведение тогда многих разозлило».

Любопытно, что при этом Google оказался следующим его местом работы после Sun, но там он задержался всего на полгода. Уже в сентябре 2011-го Гослинг внезапно перешёл на работу в маленький стартап Liquid Robotics: «в Google я встретил множество интересных людей, но теперь познакомился с другими людьми, делающими нечто вопиющее, и скрепя сердце решил покинуть Google».

Этим «чем-то вопиющим» были подводные роботы: автономные устройства, которые перемещаются под водой (порой годами подряд), собирая информацию сенсорами и отправляя её в облако. Это нужно, например, для мониторинга химического состава воды. Гослинг отвечал за софт — как на самих роботах, так и со стороны дата-центра, куда поступала собранная информация. Похоже, ему опять пришлось со стороны софта иметь дело с очень разным железом!

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

В 2016-м компанию купил Boeing. Получилось, что у Гослинга второй раз подряд произошло то же самое: сначала занимаешься чем-то в формате стартапа, а годы спустя при покупке компании обнаруживаешь себя внутри гиганта.

Как и в предыдущий раз, он снова ушёл. Но в этот раз новым местом его работы тоже оказался гигант: он перешёл в AWS на позицию «distinguished engineer» (что бы это ни значило — вот как раз на JPoint можно будет уточнить, чем именно он занимается каждый день).

Связан ли он ещё как-то с дизайном языков программирования? Да: помимо основной работы, он является советником компании Lightbend, известной по языку Scala. В 2011-м он сказал «Если бы я сегодня выбирал для использования язык, отличный от Java, выбрал бы Scala». (Прямо ощущаем, как в 2020-м на этом месте у некоторых напрашивается вопрос про Kotlin.)

Что ещё можно о нём сказать? Его любимое иррациональное число — корень из двойки. Наверное, тут больше информации даёт не «корень из двойки», а сам тот факт, что у человека есть любимое иррациональное число.

Итог получается такой. Когда-то Гослинг в компании Sun сделал язык для проекта, связанного с «умными потребительскими устройствами», а сейчас это выглядит интересной иронией судьбы. И задуманные устройства конкретно тогда не материализовались, и той компании уже нет, и сам он занимается другим — но язык спустя 25 лет после релиза продолжает активно жить, и в том числе на нём пишут приложения для умных устройств. В 1992-м у прототипа был пятидюймовый тачскрин — а теперь у всех людей в кармане по пятидюймовому тачскрину, и на большинстве из них люди видят приложения, написанные на Java. В каком-то смысле исходный план воплотился.

Java сегодня

Java на сегодняшний день является одним из популярнейших и востребованных языков программирования в мире. Автор приложения – доктор Джеймс Артур Гослинг уже упоминался выше как отец Java.

Java была разработана и поддерживалась компанией Sun Microsystems, но права на нее перешли корпорации Oracle, которая купила Sun в январе 2010 года.

Java создалась на основе WORA «Write Once Run Anywhere» («Написано один раз, работает везде»), и независимость ее платформы является одной из причин ее популярности в корпоративных коммуникациях.

Классификация платформ Java

Внутри Java существует несколько основных семейств технологий:

  • Java SE — Java Standard Edition, основное издание Java, содержит компиляторы, API, Java Runtime Environment; подходит для создания пользовательских приложений, в первую очередь — для настольных систем.
  • Java EE — Java Enterprise Edition, представляет собой набор спецификаций для создания программного обеспечения уровня предприятия. В 2017-м проект Java EE был передан Eclipse Foundation [53] , после чего был переименован в Jakarta EE [54] . Модули Java EE удалены из Java SE, начиная с 11-й версии [55] .
  • Java ME — Java Micro Edition, создана для использования в устройствах, ограниченных по вычислительной мощности, например, в мобильных телефонах, КПК, встроенных системах;
  • Java Card — технология предоставляет безопасную среду для приложений, работающих на смарт-картах и других устройствах с очень ограниченным объёмом памяти и возможностями обработки.

Связь с языком C#

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

Вероятно, наиболее наглядным примером влияния языка Java на программиро­вание служит язык С#. Он создан в корпорации Microsoft для поддержки платфор­мы .NET Framework и тесно связан ejava. В частности, в обоих этих языках исполь­зуется один и тот же общий синтаксис, поддерживается распределенное программирование и применяется одна и та же объектная модель. Разумеется, у Java и C# имеется целый ряд отличий, но в целом они внешне очень похожи. Ныне такое “перекрестное опыление” Java и C# служит наилучшим доказательством того, что язык Java коренным образом изменил представление о языках программирования и их применении.

Java против Python

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

Давайте посмотрим, что у них различается.

У Java статическая типизация: вы должны прописывать тип данных, когда вводите новую переменную.

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

Python даст вам больше гибкости и лёгкости в написании, зато Java предупредит ошибки.

Этот пункт связан с предыдущим, потому что то же указание типов влияет на конечный вид кода. Хотя у Java достаточно простой синтаксис по сравнению с другими языками, здесь Python выигрывает. Гораздо лучше слов эту разницу покажет пример.

Вот так может выглядеть код в Python:

То же самое, написанное в Java:

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

В Java код более комплексный, со множеством слов и знаков: на английском такой синтаксис называют словом «verbose», то есть «говорливый» код, многословный. Он хуже читается и может быть сложноват для новичков, хотя многие разработчики чувствуют себя комфортнее со строгим синтаксисом.

По скорости Java явный победитель. По сравнению с С и С++ она, может, и не самая быстрая, но Python явно отстаёт от Java по скорости и производительности. В обоих языках приложения переводятся в байт-код (это позволяет им быть кроссплатформенными), но разница кроется в том, когда это происходит: Java компилирует заранее, с помощью JIT-компиляции (динамической компиляции), а Python — во время выполнения программы. В итоге Java значительно быстрее.

Java и Microsoft

Компанией Microsoft была разработана собственная реализация JVM под названием Microsoft Java Virtual Machine (англ.)русск. (MSJVM), включавшаяся в состав различных операционных систем, начиная с Windows 98 (также входила в Internet Explorer от версии 3 и выше, что позволяло использовать MSJVM в ОС Windows 95 и Windows NT 4 после установки IE3+ на данные ОС).

MSJVM имела существенные отличия от Sun Java, во многом ломающие основополагающую концепцию переносимости программ между разными платформами:

  • отсутствие поддержки программного интерфейса вызова удалённых методов (RMI);
  • отсутствие поддержки технологии JNI;
  • наличие нестандартных расширений, таких, как средства интеграции Java и DCOM, работающих только на платформе Windows.

Тесная интеграция Java с DCOM и Win32 поставила под вопрос кроссплатформенную парадигму языка. Впоследствии это явилось поводом для судебных исков со стороны Sun Microsystems к Microsoft. Суд принял сторону компании Sun Microsystems. В конечном счёте между двумя компаниями была достигнута договорённость о возможности продления срока официальной поддержки пользователей нестандартной Microsoft JVM до конца 2007 года.

В 2005 году компанией Microsoft для платформы .NET был представлен Java-подобный язык J#, не соответствующий официальной спецификации языка Java и исключённый впоследствии из стандартного инструментария разработчика Microsoft Visual Studio, начиная с Visual Studio 2008.

Java и Android

Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код для использования их виртуальной машиной Dalvik (начиная с Android 5.0 Lollipop виртуальная машина заменена на ART). Для такой компиляции используется дополнительный инструмент, а именно Android SDK (Software Development Kit), разработанный компанией Google.

Разработку приложений можно вести в среде Android Studio, NetBeans, в среде Eclipse, используя при этом плагин Android Development Tools (ADT), или в IntelliJ IDEA. Версия JDK при этом должна быть 5.0 или выше.

8 декабря 2014 года Android Studio признана компанией Google официальной средой разработки под ОС Android.

Применения платформы

Следующие успешные проекты реализованы с привлечением Java технологий: Amazon, Yandex (неоднозначная информация в отношении Java).

Следующие компании в основном фокусируются на Java технологиях, а не на .NET, хотя имеют дело также и с последними: IBM, Oracle. В частности, СУБД Oracle включает JVM как свою составную часть, обеспечивающую возможность непосредственного программирования СУБД на языке Java, включая, например, хранимые процедуры.

Основные возможности

  • автоматическое управление памятью
  • расширенные возможности обработки исключительных ситуаций;
  • богатый набор средств фильтрации ввода/вывода;
  • набор стандартных коллекций, таких как массив, список, стек и т. п.;
  • наличие простых средств создания сетевых приложений (в том числе с использованием протокола HTTP-запросы и обрабатывать ответы;
  • встроенные в язык средства создания многопоточных приложений;
  • унифицированный доступ к базам данных на основе JDBC и

Преимущества Java-программирования

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

Объектно-ориентированное про­грам­ми­ро­ва­ние. ООП — это совре­мен­ный стан­дарт про­грам­ми­ро­ва­ния в ком­мер­че­ских и про­мыш­лен­ных систе­мах. В слу­чае с Java это полу­чит­ся само собой: дело в том, что, как и Ruby, Java — чистый ООП-язык. В нём даже функ­ции пре­вра­ти­лись в мето­ды и могут суще­ство­вать толь­ко внут­ри класса.

Рабо­та с памя­тью. Про­грам­ми­сту не нуж­но сле­дить за тем, сколь­ко памя­ти рас­хо­ду­ет его про­грам­ма и как её осво­бо­дить, когда какая-то пере­мен­ная боль­ше не нуж­на. Для это­го в Java встро­е­но авто­ма­ти­че­ское управ­ле­ние памя­тью: Java не допус­ка­ет её уте­чек и раз­рас­та­ния объ­ё­ма, а после завер­ше­ния про­грам­мы осво­бож­да­ет все ресурсы.

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

Боль­шое сооб­ще­ство и под­держ­ка. Java — тре­тий по попу­ляр­но­сти язык про­грам­ми­ро­ва­ния в мире. В Сети есть тыся­чи сай­тов, кото­рые рас­ска­зы­ва­ют об этом язы­ке, помо­га­ют разо­брать­ся в коде или содер­жат гото­вые решения.

Стан­дарт в кор­по­ра­тив­ном про­грам­ми­ро­ва­нии. Боль­шим ком­па­ни­ям в про­грам­мах нуж­на надёж­ность, ста­биль­ность рабо­ты и воз­мож­ность под­дер­жи­вать их дол­гое вре­мя. Соче­та­ние ООП, управ­ле­ния памя­тью и неза­ви­си­мо­сти от архи­тек­ту­ры дела­ет Java иде­аль­ным реше­ни­ем для этого.

В заключение: где используется Java?

Большинство организаций так или иначе используют Java. Широкий спектр вариантов использования Java делает ее практически незаметной в использовании: поэтому часто возникает вопрос «где используется Java?». Давайте посмотрим, в каких сферах используется Java:

Приложения для Android. Несмотря на активный рост Kotlin , Java по-прежнему остается де-факто основным языком Android-приложений. Таким образом, все разработчики Java очень легко могут стать Android-программистами. Хотя Android использует Android SDK вместо JDK, тем не менее, код написан на Java.

Программные продукты. Помимо уже упомянутых Hadoop и Apache Storm, Java использовалась для создания Eclipse, OpenOffice, Gmail, Atlassian и других.

Финансовые программы. Java —  один из самых востребованных языков в финансовой отрасли. Он используется для создания надежных, быстрых и простых веб-сайтов как на стороне сервера, так и на стороне клиента. Java также используется для моделирования данных.

Кассовые терминалы. Многие компании используют Java для создания систем PoS, поскольку их создание обычно требует кроссплатформенности и обширного штата специалистов.

Торговые системы. На Java написана Murex, популярная программа управления банками для фронтальной и обратной связи.

Программы для работы с большими данными. Hadoop написан на Java. Scala, Kafka и Spark используют JVM. Кроме того, Java предоставляет доступ к множеству проверенных библиотек, инструментов отладки и мониторинга.

Полезные советы

Учить Java нужно методично и постепенно, не пропуская разделы с базовыми понятиями и не забегая вперёд. Не следует бояться задать глупый вопрос преподавателю. Если его не задать, он может зависнуть и так и остаться неразрешённым. Будет нелишним освоить систему контроля версий Git и создать свой профиль на GitHub. Здесь вы сможете в дальнейшем находить решения проблем, с которыми раньше сталкивались другие участники сообщества. А ещё нужно учить английский язык, который ускорит ваше знакомство с Java. Множество полезных материалов открывается на странице выдачи браузера после ввода запроса «java».

Источники
  • https://habr.com/ru/company/jugru/blog/502062/
  • https://jino.ru/journal/articles/10-krutih-yazikov-programmirovaniya-1/
  • https://wiki2.org/ru/Java
  • https://oracle-patches.com/coding/3710-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0-java
  • https://skillbox.ru/media/code/chto_takoe_java_obyasnyaem_dlya_novichkov/
  • https://dic.academic.ru/dic.nsf/ruwiki/1219341
  • https://thecode.media/java/
  • https://zen.yandex.ru/media/codeblog/pliusy-i-minusy-programmirovaniia-na-java-5bca102c0c9b0500a944a3ca
  • https://imba.ru/post/chto-takoe-java-obiasniaem-dlia-novichkov-63

tett
Зарплатто.ру - сайт о зарплатах и доходах, деньгах и финансах