В этом цикле статей мы познакомимся с языком Java. Мы рассмотрим основной стек технологий java-разработчика, изучим все основные конструкции языка. Первая часть курса будет посвящена введению в язык Java.
![](https://habrastorage.org/getpro/habr/upload_files/0b7/801/68f/0b780168f9aca7ced566032c14ebe23f.png)
Привет, дорогой читатель. В этой серии статей я познакомлю тебя с языком программирования Java. Ровно как и любой другой язык программирования, Java нужен для того, чтобы решать определенные задачи. Я хочу, чтобы читатель не просто выучил те или иные технологии, но и на качественном уровне понимал, почему и для чего именно используется данный подход. В первой статье мы разберемся, для чего же был придуман этот язык, где он используется, чтобы лучше понимать, действительно ли вам интересна эта сфера. В конце статей я буду оставлять ссылки на дополнительные материалы, чтобы у вас была возможность лучше разобраться в теме, если есть такая необходимость. Также любые вопросы или пожелания можно обсудить в комментариях к статье.
Крайне рекомендуется отвечать на вопросы в конце статьи, а также выполнять упражнения, закреплять полученные знания на практике крайне важно.
Ну а теперь начнем наше путешествие в мир разработки на Java :)
Немного из истории
Язык Java был создан в 1995 году в компании Sun Microsystems под руководством Джеймса Гослинга и Патрика Нотона. Работа над этим языком началась четырьмя годами ранее, тогда он назывался Oak. Но лишь в 1995 Java стал называться именно так. Изначально он задумывался как язык для различных бытовых устройств – кофеварок, телевизоров и так далее. На тот момент стало понятно, что для создания универсального инструмента для работы с совершенно разыми устройствами требовалось что-то новое. Поэтому было решено, что java-код будет компилироваться в промежуточный байт-код (каждая инструкция кодируется 1 байтом) для виртуальной машины, а она уже, в свою очередь, выполняет байт-код для каждой конкретной платформы. Таким образом родился знаменитый слоган языка «Write Once, Run Anywhere» («Напишите один раз, запускайте где угодно»).
Первой причиной, по которой язык Java стал таким популярным – это Интернет. Его возможности стремительно расширялись и именно он должен был стать следующей этапом на пути развития всей индустрии. Разработчики Java уделяли большое внимание переносимости, надежности и безопасности — тем аспектам, которые были важны именно в рамках сети Интернет.
Другой причиной, позволившей Java стать столь популярным именно в то время — это синтаксис языка. Дело в том, что инженеры из Sun большую часть своего времени работали с Unix-системами и языком C, который был популярным на то время, а потому и сам Java получил С-подобный синтаксис. Вообще язык Java в некотором смысле был призван использовать все возможности языков C/C++, но при этом решить большую часть проблем, которые возникали при работе с ними.
Также Java стал полностью объектно-ориентированным языком, а быстрорастущее количество сетевых библиотек, а также поддержка многопоточности, только увеличивали популярность языка. Если вас напугали эти слова, не переживайте, все эти темы будут подробно рассмотрены в последующих уроках. Сейчас язык является одним из самых популярных в мире – в рейтинге TIOBE (индекс популярности языков программирования) Java каждый год занимает первые строки списка:
![Изображение взято с сайта https://tiobe.com/tiobe-index/ Изображение взято с сайта https://tiobe.com/tiobe-index/](https://habrastorage.org/getpro/habr/upload_files/985/511/cc6/985511cc65461b56a6055963e2488354.png)
Для чего нужен язык Java
Java – это универсальный язык. Это значит, что подавляющее большинство задач можно выполнить при помощи данных технологий. Но все же существует несколько основных областей, в которых применяется этот язык. Java используется во многих сферах, начиная с веб-сайтов и заканчивая приложениями для Android, в научных исследованиях и финансах, играх вроде Minecraft и настольных приложениях Eclipse, Netbeans и IntelliJ.
1. Android
Огромная ниша, где используется этот язык – это Android, очень много приложений написаны на Java, с использованием Google и Android API, которые схожи с JDK(инструменты разработки на Java). Пару лет назад Android предоставил необходимые возможности, благодаря чему сегодня многие Java программисты – Android разработчики. Правда после недавного конфликта между Google и Oracle(компании, у которой находятся права на Java) в Google решили отказаться от Java и перейти на Kotlin. Но, во-первых, этот язык сильно схож с java, а во-вторых, сейчас подавляющее большинство Android – это Java. Поэтому даже если переход на Kotlin будет осуществлен, это произойдет еще очень нескоро. Примеры мобильных приложений, написанных на Java: Netflix, Tinder, Google Earth, Uber и т. д
2. Игры на Java
Сайт Java-Gaming.org полностью посвящен созданию игр на Java. Библиотека LWJGL значительно упрощает этот процесс. Самой популярной игрой, написанной на Java, является Minecraft. Примеры написанных на Java игр перечислены в статье 38 лучших приложений (англ).
3. Серверные финансовые приложения
Java широко применяется в финансовой сфере. Многие мировые инвестиционные банки, например, Goldman Sachs, Citigroup, Barclays, Standard Charted и другие используют Java для написания фронт-энд и бэк-энд офисных электронных систем. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше.
4. Технологии больших данных
Большие данные – одна из самых популярных тем в мире новейших технологий. Автоматическая сборка мусора и надежное управление памятью (об этих темах тоже пойдет речь в следующих статьях) делают Java одним из приоритетных языком для реализации алгоритмов машинного обучения. Многие известные средства обработки больших данных (Hadoop, Spark, Mahout) являются Java-фреймворками.
5. Веб-приложения
Из представленной ниже таблицы следует, что Java – самый популярный серверный язык среди ведущих технологических компаний. В сравнении с другими языками программирования, Java обладает лучшей безопасностью, адаптируемостью и масштабируемостью приложений.
![Изображение взято с сайта https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites Изображение взято с сайта https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites](https://habrastorage.org/getpro/habr/upload_files/f9c/5b6/5d5/f9c5b65d59499d626af13dd31b30d8b9.png)
Почему Java
Это очень популярный язык. Это значит, что во-первых, в ходе обучения вы найдете огромное количество материалов – книг, видеоуроков, статей, которые помогут вам. Также, на популярных ресурсах, таких, как stack overflow, есть ответы на практически все вопросы, которые могут у вас возникнуть. А во-вторых, вам проще будет найти будущую работу, потому что Java-разработчик – довольно востребованная профессия сегодня.
У Java-разработчиков высокие зарплаты, что может являться хорошей мотивацией. Зарплаты senior-разработчиков колеблются в пределах от 260 до 310 тыс. рублей. Зарплаты middle-программистов варьируются в пределах от 160 до 180 тыс. рублей. А для junior-разработчиков такие значения составляют от 70 до 110 тыс. рублей.
Сфера применения языка Java очень обширна, но практически всегда – это очень крупные и интересные проекты, поэтому вряд ли вам надоест такая работа. Ну и всегда сможете сменить направление деятельности достаточно быстро, оставаясь java-разработчиком, если захотите работать в другой сфере.
Что вам понадобиться в ходе обучения
ОС Linux. Ubuntu — одна из самых широко используемых ОС Linux. При переходе на Linux, скорее всего данный дистрибутив станет одним из первых, который вы начнете использовать. Это требование не обязательно и можно обучаться, используя Windows, но в ходе разработки серьезных приложений, а также при работе через терминал (В Windows – командная строка) могут возникнуть некоторые сложности.
JDK 8 и выше.
Среда разработки. Лучше сразу познакомиться со средой разработки и ее основными функциями.
IntelliJ IDEA – это одна из самых популярных средств разработки на Java. Огромное количество плагинов и надстроек под любую задачу делают IDEA почти идеальным инструментом. Есть две версии этой среды, одна из которых – платная. Но у JetBrains (Компания-разработчик IntelliJ IDEA) есть большое количество студенческих подписок, позволяющих бесплатно пользоваться всеми ее инструментами на всем протяжении обучения. В принципе, на начальных этапах обучения вам хватит и бесплатной версии.
NetBeans – позиционируется производителем, как среда разработки, поддерживающая все новейшие функции Java, позволяющая писать код без ошибок благодаря инструменту FindBug. Сайт, документация и сама IDE для java на русском языке. Пожалуй, самая мощная бесплатная среда java разработки.
Eclipse – у этой IDE самое больше сообщество разработчиков, отсюда же и самое внушительное количество плагинов. Обратная сторона — многие из них сомнительного качества и содержания. Полезна данная система ещё и как инструмент мультиязычной разработки — количество поддерживаемых языков благодаря энтузиастам превышает 20. Кроме того, это одна из лучших сред java разработки для android.
Ну и конечно, вам нужно желание учиться и развиваться.