Java core
Содержание:
- Несколько слов о популярности Java
- Установка среды разработки IntelliJ IDEA Community (Windows)
- Язык программирования Oak
- Переменные
- Сферы применения JAVA сегодня
- «Java. Быстрый старт» от GeekBrains
- Что такое Java-программирование: история и вклад
- Альтернативный метод, как стать востребованным программистом
- Логические операторы
- «Консольные приложения на Java» от GeekBrains
- Продвинутые курсы разработки приложений для андроид
- «Разработка на Java (2019)» от Технострим Mail.Ru Group
- Сколько зарабатывают программисты на Java?
- Как установить Java онлайн для Internet Explorer?
- Есть ли у Java альтернатива?
- История
- Недостатки Java
- «Как стать Java Developer с нуля и зарабатывать деньги на IT» от Alex Marshal
Несколько слов о популярности Java
Последние годы язык программирования Java регулярно входит в тройку самых популярных языков программирования. Вы должны это знать, если периодически следите за обновлениями рейтингов TIOBE, State of Octoverse, RedMonk и прочих. Где-то рассчитывают, исходя из количества поисковых запросов, где-то — с учётом числа репозиториев на GitHub. Вне зависимости от особенностей расчётов, Java постоянно в топе.
Однако Java популярен не только из-за своей применимости. Дело в том, что зарплата Java-программиста в среднем выше, чем разработчика на Python, PHP, JavaScript. В той же Москве она составляет 150 — 200 тыс. рублей. Но если вы знаете Java, вы найдёте высокооплачиваемую работу не только в столице, но и в регионах.
Установка среды разработки IntelliJ IDEA Community (Windows)
Intellij IDEA — это интегрированная среда разработки (IDE), то есть система программных средств для создания проектов на разных языках программирования.
Сегодня это самая популярная IDE для языка Java. А ещё есть Eclipse, NetBeans и немало других, но мы рекомендуем именно IDEA, потому что даже её бесплатная версия обладает широкой функциональностью, подходит для профессиональной разработки и вообще делает Java проще в использовании.
В IDE обязательно входят:
- текстовый редактор для написания кода (он знает синтаксис нужных языков);
- компилятор;
- отладчик.
1. Какую версию (редакцию) выбрать
Intellij IDEA доступна в бесплатной (Community) и платной (Ultimate) версиях. Чем они различаются, видно на скрине ниже:
Пока что нам хватит возможностей бесплатной версии.
IntelliJ предлагает студентам и преподавателям к своим продуктам.
2. Сама установка
Заходим сюда и качаем версию для Windows.
Запускаем скачанный файл .exe:
Жмём Next (Далее) и выбираем путь для установки:
Снова Next, и настраиваем параметры установки:
В общем случае это:
- 64-bit launcher — для запуска 64-разрядной версии приложения (будет создан ярлык на рабочем столе);
- Add ”Open Folder as Project“» — позволяет открывать папки с исходниками как проекты прямо через контекстное меню;
- .java — файлы такого типа (с таким расширением) будет открывать IDEA (по умолчанию и через контекстное меню).
Кликаем Next (Далее) и выбираем папку для ярлыков IDEA (оставляем по умолчанию):
Нажимаем Install (Установить), после чего стартует установка:
Дожидаемся её окончания и жмём Finish (Завершить):
3. Запуск IntelliJ IDEA и настройка параметров
При первом запуске принимаем пользовательское соглашение и нажимаем Continue (Продолжить):
Далее выбираем тему оформления (доступны тёмная и светлая):
Жмём Next: Default plugins и переходим к выбору устанавливаемых плагинов:
Если не знаете, что вам точно пригодится, — оставляйте всё как есть. А если, например, с Андроидом вам не работать — выключите соответствующий пункт.
Не волнуйтесь, если надобавляете лишнего или о чём-то забудете. Всё можно будет переиграть — в настройках среды.
После чего нажмите на кнопку Next: featured plugins и выберите другие нужные плагины (или оставляйте всё по умолчанию):
И наконец, нажимаем Start using Intellij IDEA.
Вас встретит начальный экран среды разработки (Welcome screen). Здесь можно создать новый проект, открыть или импортировать существующий, а также скачать проект из системы контроля версий:
Язык программирования Oak
Разработкой нового языка вплотную занимался Джеймс Гослинг и изначально назвал его Оak (в переводе с английского Дуб). Рядом с офисом разработчика действительно рос дуб. Наверное Джеймс, работая в офисе, поглядывал в окно и видя крепкий дуб, излучающий здоровье и долголетие, решил назвать новый язык в честь зеленого дерева. К лету 1992 года команда смогла продемонстрировать части новой платформы, включая операционную систему Green OS, язык Oak, библиотеки и аппаратное обеспечение.
Их первая попытка, продемонстрированная 3 сентября 1992 года, была сосредоточена на создании устройства PDA (Personal Digital Assistant, карманный компьютер) под названием Star7, которое имело графический интерфейс и смарт-агента под названием «Duke» для помощи пользователю. Карманный компьютер Star7 был принципиально новым устройством, которое намного опередило своё время, но из-за высокой стоимости не смогло произвести переворот в мире технологии и постепенно было забыто. Возможно, в настоящее время именно оно вернулось к нам в виде умных андроид устройств.
Переменные
В самоучителе языка программирования Java отдельное место занимают переменные. У всех переменных есть конкретный тип, он определяет требуемое место для хранения значений, диапазон возможных значений, список операций. Прежде чем манипулировать значениями, переменные объявляются.
Одновременно может быть объявлено несколько переменных. Для их перечисления используется запятая:
int a, b, c;
Инициализации осуществляется после или во время объявления:
int a = 10, b = 10;
Существует несколько типов:
- local variables (локальные);
- instance variables (переменные экземпляра);
- static variables (статические).
Local variables объявляют в методах и конструкторах, они создаются во время запуска последних и уничтожаются после завершения. Для них запрещено указывать access modifiers и управлять уровнем доступности. Они не видимы за пределами объявленного блока. В Java переменные не имеют начального значения, поэтому оно в обязательном порядке присваивается перед первым использованием.
Instance variables должны быть объявлены внутри класса. Они используются как методы, но получить к ним доступ можно только после создания объекта. Переменная разрушается, когда уничтожается объект. У экземплярных переменных, в отличе от локальных, существуют значения по умолчанию:
- числа — 0;
- логика — false;
- ссылки — null.
Static variables называются переменными класса. Их имена начинаются с символа в верхнем регистре, конкретизируются модификатором static. Они используются как константы, соответственно, к ним прибавляется один спецификатор из списка:
- final;
- private;
- public.
Запускаются в начале программы, уничтожаются после остановки выполнения. Так же, как переменные экземпляра, имеют стандартные значения, которые присваиваются пустым переменным. У чисел — значение 0, булевые переменные имеют значение false, ссылки на объект изначально имеют null. Статические переменные вызываются в следующем виде:
ClassName.VariableName.
Сферы применения JAVA сегодня
Благодаря своей уникальности, JAVA получил распространение в самых различных сферах. В первую очередь, это, разумеется, всяческие приложения для ПК – они легкие, не требуют предварительной установки – просто запускаются. Единственное требование – в операционную систему должна быть встроена среда исполнения JAVA.
Другое популярное направление – мидлеты. Смартфоны из года в год становятся все умнее, вытесняя обычные телефоны, и язык программирования JAVA все еще остается наиболее удобным для написания мобильных версий программ. Все современные телефоны и смартфоны имеют встроенную функцию исполнения JAVA, что облегчает разработчикам задачу создания набора популярных приложений для выпущенного в продажу устройства.
Кроме того, стоит упомянуть, что эпоха апплетов не ушла в прошлое вместе с девяностыми. Наоборот – интерактивное взаимодействие страницы с пользователем только набирает популярность. И в создании таких элементов так же используется JAVA.
Кроме того, язык программирования JAVA используется для создания ряда программ, отвечающих за функциональность веб-страниц, серверов и так далее. Не взаимодействуя напрямую с пользователем, они обеспечивают комфортное использование ресурса.
«Java. Быстрый старт» от GeekBrains
Длительность: 9 уроков.
Форма обучения: видеоуроки + практические задания.
Программа: курс состоит из 9 уроков и практических заданий. Обучение начинается с основ языка Java, после чего студенты самостоятельно создадут простую консольную игру, не используя сторонние библиотеки.
Слушатели научатся отрисовывать и загружать картинки, соберут игру в jar-файл и смогут запустить её без среды разработки. Их ожидают сбалансированная учебная программа, доступный стиль изложения и актуальные данные.
- Полный цикл разработки игр на Java без потребности в сторонних библиотеках.
- Взаимодействие со средой разработки.
- Получение базовых знаний для разработки игр на Java.
- Ёмкая программа.
- Слушатели курса получают сертификат.
- Доступны видеозаписи всех онлайн-занятий, можно заниматься в удобное время.
Что такое Java-программирование: история и вклад
Java — это язык программирования общего назначения, который следует парадигме объектно-ориентированного программирования и подходу «Написать один раз и использовать везде» . Java используется для настольных, сетевых, мобильных и корпоративных приложений. Подробная информация:
- Загрузки Java
- Документация Java
- Сообщество Oracle Java
- JavaWorld — популярный портал о Java
- JavaRanch — форум для Java-разработчиков
Java — это не только язык программирования, но и экосистема инструментов, охватывающая почти все, что может понадобиться при программировании на Java. В нее входят:
- Java Development Kit (JDK) — комплект разработчика Java. С помощью JDK и стандартного блокнота можно писать и запускать/ компилировать код на Java;
- Java Runtime Environment (JRE) — исполняющая система Java. Механизм распространения программного обеспечения, состоит из автономной виртуальной машины Java, стандартной библиотеки Java (Java Class Library) и инструментов настройки.
- Integrated Development Environment (IDE) — интегрированная среда разработки. Инструменты, которые помогают запускать, редактировать и компилировать код. Самые популярные из них — IntelliJ IDEA, Eclipse и NetBeans.
Java можно найти везде. Это основной язык разработки для Android. Он используется в веб-приложениях, правительственных веб-сайтах и технологиях обработки больших данных, таких как Hadoop и Apache Storm. Java подходит и для научных проектов, особенно в области обработки естественного языка. Язык Java преобладал и в программировании для мобильных устройств, задолго до появления смартфонов — первые мобильные игры в начале 2000-х годов были написаны на Java. Java, благодаря своей долгой истории, заработал свое место в Зале славы программирования. Индекс TIOBE, один из самых авторитетных индексов популярности программ в мире, при составлении рейтинга использует результаты поисковой выдачи. Несмотря на растущую популярность Go и Python, Java остается на вершине списка уже более десятилетия.
Индекс TIOBE, Август 2018 года
Все началось в начале 1990-х, когда команда Sun Microsystems начала разрабатывать улучшенную версию C ++ — независимую от конкретной платформы, удобную для начинающих и с автоматическим управлением памятью. Исследование привело к созданию совершенно нового языка. Название Java — одно из десятков других, предложенных командой. Сегодня логотип кофейной чашки с паром — это неприметный, но узнаваемый символ программирования. И уже неясно, что было первым: одержимость программистов кофеином или ассоциация с Java.
Как Java изменила мир программирования:
Гибкость. Java доказала, что C — процедурный, управляемый вручную и зависящий от платформы код — это не предел совершенства . Благодаря Java, все больше людей начали применять объектно-ориентированное программирование, которое сейчас используется повсеместно.
Апплеты. Еще до появления JavaScript, в Java добавили апплеты — небольшие веб-программы, которые предоставляют интерактивные элементы для визуализации и обучения
Они не используются ни для чего, кроме простой анимации, однако апплеты привлекли внимание многих программистов и подтолкнули их к разработке HTML5, Flash и JavaScript
Разработка через тестирование. Java TDD — уже давно не экспериментальная практика, а стандартный способ разработки программного обеспечения. Введение JUnit в 2000 году считается одним из самых больших достижений Java.
Альтернативный метод, как стать востребованным программистом
Альтернативный путь, как стать востребованным программистом, выглядит похоже на традиционный. То есть нужно выполнять те же действия и вырабатывать те же качества. «Альтернативность» кроется в подходе выбора языка программирования. Мы уже писали выше, что традиционно советуют в качестве первого языка выбирать что-то из самых популярных и классических языков. Но у такого подхода есть огромный минус, о котором умалчивают, — это конкурентность. Если учесть, что большинство начинающих программистов выбирают среди популярных языков, то понятно, что в этой области очень много молодых специалистов. Это не значит, что нет шансов стать востребованным, это означает, что будет труднее этого добиться. Но есть альтернативный подход выбора языка программирования для изучения. Смысл опишем ниже.
В чем смысл альтернативного подхода в выборе языка программирования
Традиционно принято делить языки программирования на категории по популярности:
-
Популярные. Это самая обширная категория, ее часто советуют новичкам.
-
Трендовая. В эту категорию входят «молодые» языки, она не такая обширная, как популярная. Языки данной категории призваны заменить какие-то языки из популярных в определенных нишах. У данных языков есть перспектива попасть в разряд «популярных», но пока они не сильно пользуются спросом. Их тоже иногда советуют изучать, но есть доля определенного риска. Поэтому их чаще советуют изучать «вторыми» языками после классики.
-
Антирейтинговая. Это языки, которые когда-то были популярными, но подверглись какой-то критике и на них упал спрос. Или их просто довольно сложно изучать, поэтому они потеряли популярность, так как есть более простые альтернативы. Но в целом они по каким-то причинам продолжают жить и работать.
Ситуация сложилась так, что советуют в основном изучать «популярные» и реже «трендовые». Антирейтинговые стараются избегать и не советовать.
Но суть-то в том, что если большинство изучает популярные языки, то в какой-то момент на одну вакансию будут претендовать несколько почти одинаковых специалистов с одинаковым набором навыков. И победит кто? Тот, кто готов работать за более низкую цену.
Суть альтернативного подхода — это изучать языки из антирейтинговых. Они когда-то были популярными. И многие бизнесы «того» времени до сих пор используют программы на этих языках. Ни одна из этих компаний не согласится тратить огромные деньги, чтобы перестроить свои программы на «трендовые» языки, потому что легче и дешевле продолжать поддерживать существующую эффективную разработку. Именно такие компании будут продолжать нанимать специалистов, знающих именно антирейтинговые языки. Но если их никто не рекомендует к изучению или они просто сложны для изучения, значит, специалистов по данным языкам будет мало. Соответственно, спрос на них сохраняется, востребованность есть, а самое главное — хорошие зарплаты.
К антирейтинговым языкам можно отнести следующие:
-
Perl;
-
VBA;
-
Objective-C;
-
DevOps Chef;
-
Puppet;
-
IBM DB2;
-
и мн. др.
Возьмите любой из этих языков и проверьте наличие вакансий по ним. Просмотрите как отечественные, так и зарубежные ресурсы. Вы удивитесь наличию открытых вакансий по ним. Взять тот же Objective-C, вбейте в поиске на сайте hh.ru. На момент написания статьи там 317 открытых вакансий с зарплатой от 100 000 до 485 000. Данный язык попал в «антирейтинговые», потому что считается старым языком, а ему на замену пришел Swift, который является трендовым.
Теперь на том же сайте вбиваем «программист Swift», получаем 697 открытых вакансий зарплатой от 88 000. Кстати, оба языка используются для разработки приложений на iOS.
Так вот, получаем ситуацию, когда язык из антирейтинга имеет достаточное количество открытых вакансий с более высокой минимальной зарплатой чем и с очень низкой конкуренцией.
Логические операторы
Предположим, логическая переменная A имеет значение true, а переменная B хранит false. В следующей таблице перечислены логические операторы в Java:
Оператор | Описание | Пример |
&& | Называется логический оператор «И». Если оба операнда являются не равны нулю, то условие становится истинным | (A && B) — значение false |
|| | Называется логический оператор «ИЛИ». Если любой из двух операндов не равен нулю, то условие становится истинным | (A || B) — значение true |
! | Называется логический оператор «НЕ». Использование меняет логическое состояние своего операнда. Если условие имеет значение true, то оператор логического «НЕ» будет делать false | !(A && B) — значение true |
Пример
Следующий простой пример показывает, программно логические операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:
Это произведет следующий результат:
«Консольные приложения на Java» от GeekBrains
Длительность: 2 урока.
Форма обучения: видеоуроки + практические задания.
Обратная связь: через систему комментариев.
Программа: курс рассчитан на разработчиков с опытом и без него. В первом уроке рассматриваются основы языка Java, второй посвящён механизмам ООП и принципу создания консольных приложений.
Чему научитесь
- Основы языка программирования Java.
- Разработка консольных приложений.
- Механизмы ООП.
- Курс разделён на логические части, поэтому пользователи могут пропустить материал, с которым уже знакомы.
- Профессиональная подача данных, поэтому информацию легко усвоят слушатели без технического образования.
Продвинутые курсы разработки приложений для андроид
Также предлагаем Продвинутые курсы:
- Продвинутый курс по разработке android-приложения «Чат-мессенджер» с push-уведомлениями на Kotlin
- Продвинутый курс по разработке android-приложения «ТОП-100 криптовалют» на Котлин
- Как создать простое мобильное приложение для любого сайта (с push-уведомлениями) на Kotlin
- Продвинутый курс по созданию андроид-приложения QuizApp (викторина, тест, экзамен, опрос)
- Продвинутый курс по разработке андроид-приложения для Twitter и Facebook
- Продвинутый курс по созданию андроид-приложения для сайта с push-уведомлениями
- Продвинутый курс по разработке андроид-приложения HD Обои с покупками в приложении
- Продвинутый курс по созданию андроид-приложения Вконтакте
- Как создать полноценное приложение-напоминалку на андроид
- Как создать мобильное приложение-клиент для YouTube
- Как создать игру Flappy Bird для андроид
- Создание игры для android Lunar Rover
Продвинутые курсы по созданию приложений и игр для андроид помогут вам за очень короткий срок создать реальное работающее android-приложение или игру, внедрить в него рекламные баннеры и загрузить в маркет Google Play.
«Разработка на Java (2019)» от Технострим Mail.Ru Group
Пройти курс
Длительность: 14 видеоуроков (от 18 минут до 2-х часов).
Форма обучения: видеоуроки.
Программа: в программу включены ключевые темы, которые необходимы будущему разработчику. Слушатели узнают о классах и ключевых конструкциях Java, вводе/выводе, ООП, синтаксисе и библиотеках. Насыщенная программа помогает делать уверенные шаги в сторону профессиональной разработки.
Чему научитесь
- Получение технических знаний и первого практического опыта.
- Разработка продуктов на Java.
- Библиотеки и синтаксис Java.
- ООП.
- Декомпозиция задач.
- Большой и подробный курс, обеспечивающий быстрый вход в Java.
- Актуализация данных в курсе, вечный доступ к учебным материалам.
- Большое сообщество подписчиков, которые оказывают помощь новичкам.
Сколько зарабатывают программисты на Java?
Зарплата новичка, знающего язык Джава и владеющего минимальным набором других технологий, начинается от 50-70 тыс. рублей в месяц. Junior разработчики могут зарабатывать от 80-100 тыс. рублей в месяц. Чтобы ими стать, необходим опыт работы от 1 года.
По мере роста уровня знаний и опыта зарплата Ява программиста быстро увеличивается. Например, специалисты уровня Middle (опыт работы от 2 лет) могут зарабатывать от 120-140 тыс. рублей в месяц. Программисты на Java уровня Senior и Team-lead (руководители команд) обычно получают от 160-200 тыс. рублей в месяц, но чтобы ими стать, нужно многое уметь делать.
Важно понимать, что разработчики на Java могут работать удаленно, в том числе на иностранные компании, где зарплаты выше. Также они могут предлагать свои услуги на международных биржах фриланса, где хорошо платят квалифицированным кадрам
Как установить Java онлайн для Internet Explorer?
Рекомендуется перед началом установки через Интернет отключить брандмауэр. В некоторых случаях настройки брандмауэра по умолчанию запрещают любые автоматические установки или установки через Интернет (такие как установка Java через Интернет). Если брандмауэр не настроен соответствующим образом, он в некоторых случаях может заблокировать скачивание/установку Java. Инструкции по отключению брандмауэра см. в документации брандмауэра.
- Перейдите на веб-сайт Java.com и нажмите кнопку Free Java Download (Скачать бесплатную версию Java)
- На странице скачивания для Internet Explorer нажмите кнопку скачивания, чтобы начать процесс установки
- Откроется диалоговое окно ‘File Download’ (Скачивание файла), где предлагается выполнить или сохранить скачиваемый файл.
- Чтобы запустить установщик, нажмите кнопку Run (Запустить).
- Чтобы сохранить файл для последующей установки, нажмите кнопку Save (Сохранить). Выберите нужную папку и сохраните файл на локальном компьютере. Совет. Сохраните файл в удобном местоположении на компьютере (например, на рабочем столе).
Чтобы запустить процесс установки, дважды щелкните на сохраненном файле.
- Начнется процесс установки. Нажмите кнопку Install (Установить), чтобы принять условия лицензионного соглашения и продолжить установку.
- Компания Oracle сотрудничает компаниями, предлагающими различные продукты. Во время установки Java может быть предложено установить такие программы. Проверьте, что нужные программы выбраны, и нажмите кнопку Next (Далее) для продолжения установки.
- Появятся несколько диалоговых окон с запросами подтверждения последних этапов установки; в последнем диалоговом окне нажмите кнопку Close (Закрыть). Процедура установки Java завершена.
Обнаружение устаревших версий (8u20 и более поздних). Начиная с Java 8 обновление 20 (8u20), на системах Windows инструмент удаления Java Uninstall Tool интегрируется с программой установки. Это позволяет удалять устаревшие версии Java из системы. Данное изменение применимо к 32- и 64-разрядным платформам Windows.
Программа установки уведомляет пользователя, если содержимое Java отключено в веб-браузерах, и предоставляет инструкции по его включению. Если пользователь ранее скрыл появление некоторых запросов системы безопасности для апплетов и приложений Java Web Start, программа установки предоставляет возможность восстановить эти запросы. Программа установки может выдать запрос на перезагрузку компьютера, если пользователь ранее отклонил запрос на перезагрузку интернет-браузера.
Чтобы проверить, что пакет Java установлен на компьютере и правильно работает, запустите этот проверочный апплет.
ПРИМЕЧАНИЕ. Может потребоваться перезапустить (закрыть и повторно открыть) браузер, чтобы разрешить установку Java в браузере.
Установка Java без предложений по установке спонсорских приложений
Есть ли у Java альтернатива?
Может показаться, что Java — абсолютный лидер и у неё нет соперников, но на самом деле всё совсем наоборот. Её часто сравнивают с С# и Python, и это только главные «противники». Давайте посмотрим на них внимательнее.
Java против Python
Java и Python соревнуются не первый год: в рейтингах они раз за разом занимают места рядом друг с другом (вот рейтинг 2019 года). Сравнивают их не просто так, у них действительно есть общие черты: оба языка очень популярные, объектно-ориентированные и работают вне зависимости от платформы.
Давайте посмотрим, что у них различается.
Типизация
У Java статическая типизация вы должны прописывать тип данных, когда вводите новую переменную.
У Python динамическая типизация: это значит, что типы данных не надо прописывать, они определяются автоматически. Ещё одно отличие типизации: в Python разные типы переменных можно смешивать. Но и тут есть свои границы: например, вы можете сделать массив со строками и числами, но прибавить строку к числу уже нельзя.
Python даст вам больше гибкости и лёгкости в написании, зато Java предупредит ошибки.
Читаемость
Этот пункт связан с предыдущим, потому что то же указание типов влияет на конечный вид кода. Хотя у Java достаточно простой синтаксис по сравнению с другими языками, здесь Python выигрывает. Гораздо лучше слов эту разницу покажет пример.
Вот так может выглядеть код в Python:
То же самое, написанное в Java:
В целом у синтаксиса в Python простая ясная структура, он хорошо читается, его можно даже назвать интуитивным. Он хорошо подойдёт новичкам.
В Java код более комплексный, со множеством слов и знаков: на английском такой синтаксис называют словом «verbose», то есть «говорливый» код, многословный. Он хуже читается и может быть сложноват для новичков, хотя многие разработчики чувствуют себя комфортнее со строгим синтаксисом.
История
Джеймс Гослинг, Майк Шеридан и Патрик Нейтон положили начало проекта по разработке языка Java в 1991 году. Java задумывался как язык программирования для интерактивного телевидения, но оказался слишком прогрессивным для индустрии кабельного цифрового телевидения того времени. Изначально язык носил название Oak(«Дуб»), в честь дерева, росшего под окном офиса Джеймса Гослинга. Позже проект сменил название на Green и окончательно был переименован в Java, в честь одноименного кофе. Джеймс Гослинг сделал синтаксис Java в стиле C/C++, так как такой синтаксис был хорошо знаком системным и прикладным программистам.
Компания Sun Microsystems выпустила первую официальную версию – Java 1.0 – в 1995 году. Она должна была соответствовать принципу «напиcал однажды, запускай везде» , позволяя запускать приложения на всех популярных платформах без дополнительных затрат на портирование
Другой важной особенностью технологии Java была гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание
Вскоре во всех основных web-браузерах была добавлена возможность запускать на web-страницах Java-апплеты, и Java быстро набрала популярность. Компилятор Java 1.0 был переписан на Java Артуром ван Хоффом для полного соответствия спецификации языка. Новая версия Java 2, выпущенная в декабре 1998 года как J2SE 1.2, имела несколько конфигураций для различных типов платформ. J2EE (Java 2 Enterprise Edition) включала в себя технологии и API- интерфейсы для корпоративных приложений, обычно выполняющихся на серверных платформах, в то время как включенные в J2ME (Java 2 Micro Edition) API-интерфейсы оптимизированы для мобильных приложений. Версия предназначенная для создания настольных приложений была переименована в J2SE (Java 2 Standard Edition). В 2006 году Sun Microsystems в маркетинговых целях сменила названия новых версий J2EE, J2ME и J2SE на Java EE, Java ME и Java SE соответственно.
В 1997 году компания Sun Microsystems обратилась к комитету по стандартизации ISO/IEC JTC 1 и позже к Ecma International с целью создания официального стандарта Java, но вскоре отказалась от этой идеи. Java продолжила подчиняется стандарту де-факто, который контролируется посредством Java Community Process. В то же время Sun Microsystems предоставила свободный доступ к большинству своих реализаций Java, но при этом они имели статус проприетарного програмного обеспечения. Sun получала доход от Java за счет продажи лицензий для специализированных продуктов, таких как Java Enterprise Systems.
13 ноября 2006 года, Sun опубликовала большую часть кода своей JVM в качестве свободного программного обеспечения с открытым исходным кодом (FOSS – англ. Free and Open-Source Software), в соответствии с условиями GNU General Public License. 8 мая 2007 года почти весь код виртуальных машин Java компании Sun Microsystems распространялся как FOSS, исключение составляла только небольшая часть кода, на которую у компании не было авторских прав.
Вице-президент компании Sun Рич Грин заявил, что Sun выполняет роль «евангелиста» по отношению к Java. Корпорация Oracle после поглощения Sun Microsystems описала свою роль как «распорядитель технологии Java с неослабевающим обязательством содействовать сообществу соучастия и открытости». Но практически сразу после этого заявления Oracle подает иск против Google за использование Java в Android SDK. Программное обеспечение написанное на Java работает везде, начиная от ноутбуков и игровых консолей и заканчивая дата-центрами и суперкомпьютерами. 2 апреля 2010 года Джеймс Гослинг ушел из Oracle.
Принципы
Пять основных принципов, в соответствии с которыми создавался язык Java:
- Язык должен быть «простым, объектно-ориентированным и знакомым».
- Язык должен быть «надежным и безопасным».
- Язык должен быть «независимым от архитектуры и мобильным».
- Язык должен выполняться с «высокой эффективностью».
- Язык должен быть «интерпретируемым, динамическим и должен поддерживать потоки».
Версии
Основные версии Java и даты их выпуска:
- JDK 1.0 (21 января 1996 года)
- JDK 1.1 (19 февраля 1997 года)
- J2SE 1.2 (8 декабря 1998 года)
- 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 года)
Недостатки Java
Всё это звучит хорошо, но есть у Java и недостатки, весьма существенные.
Не самая высокая производительность. У С и С++ есть только компилятор, который переводит программу в машинный код. У Java такого нет, и всё делает виртуальная машина. Получается, что для выполнения Java-кода нужно делать двойную работу: процессор запускает JVM, а JVM выполняет сам код. Из-за такого подхода Java-программы в полтора-два раза медленнее, чем тот же код, написанный на С++.
Платная лицензия. С 2019 года компания Oracle, которая владеет лицензией на Java, разделила её на две части: платную и бесплатную. Если вам нужна долгая поддержка среды разработки и стабильная работа программ — берите платную лицензию, иногда стабильность важнее. Если вам не нужна поддержка и вы можете установить каждую новую бесплатную сборку самостоятельно — отдавать деньги не нужно.
Громоздкий код. Разработчики Java ставили своей целью упростить программирование на С++, и им это удалось. Цена, которую пришлось за это заплатить, — большие и длинные конструкции в языке, которые часто мешают пониманию сути того, что происходит. Сравните код, который рисует пирамидку из звёздочек, на Java и Python:
«Как стать Java Developer с нуля и зарабатывать деньги на IT» от Alex Marshal
Длительность: 57 минут.
Форма обучения: видеоуроки.
Обратная связь: через Udemy.
Программа: мини-курс ориентирован на слушателей, которые находятся на этапе выбора профессии в сфере IT. В курс включена информация о том, как стать Java-разработчиком, какие знания нужно иметь и где их можно получить. Слушатели узнают о том, как освоить Java и выбрать курсы по программированию. Мини-курс является вводом в профессию, его стоит смотреть до покупки платных учебных программ.
Чему научитесь
- Особенности профессии Java-разработчик.
- Этапы изучения языка Java.
- Правила выбора курсов по программированию.
- Курс станет оптимальным решением для новичков, выбирающих язык программирования и сферу разработки.
- Актуальная информация, поданная в общедоступном формате.
- Курс недлинный, но ёмкий.
- Доступен бонус: несколько бесплатных видеоуроков из платного курса, касающихся изучения Java.