И его идея была им воплощена в язык программирования Java и виртуальную машину Java.
В чем суть? Виртуальная машина Java это программный компьютер внутри компьютера обычного на базе операционной системы Windows\MacOS\Unix\…. Виртуальная машина Java (Java Virtual Machine – JVM) специально создается для каждой операционной системы. И JVM знает, как «общаться» с операционной системой и через нее со всеми устройствами, которые могут быть подключены к компьютеру. В чем выгода для программиста? – программист пишет свой код только один раз (!) и ему в своем коде не надо знать на каком компьютере, с какой операционной системой его код будет запускаться. Это огромная экономия времени и денег. Именно поэтому Java код очень надежный и безопасный, он с одной стороны может ограничивать программиста, когда тот хочет «пошалить», а с другой стороны не дает программисту написать код, который может что-то сломать.
Стоит заметить, что концепция «виртуальных машин» получила дальнейшее развитие в других языках программирования, главным образом из-за безопасности. Например, виртуальная машина JavaScript, она встроена в браузер, дает определенные возможности для работы с документом в браузере, для обращения к серверу, но полностью запрещает произвольное считывание данных пользователя с диска. Очень похожая на JVM виртуальная машина Microsoft. NET.
Глава 1. Первая программа
Что такое программирование
Программирование – это процесс написания команд, которые потом будет выполнять компьютер. Очень важно понимать, что компьютер не умеет думать. Все, что компьютер делает: он исполняет команды. У программиста может складываться впечатление, что происходит какое-то «колдунство» и компьютер вытворяет самолично с программой, что захочет. Но на самом деле, это будет только означать, что программист не учел каких-то особенностей функционирования программы или библиотек, которые он использует, или нюансов как работает внешний источник данных, к которому он обращается. Чем профессиональней программист – тем меньше «неожиданных чудес» можно ожидать от написанного им кода.
Программирование на Java состоит из нескольких этапов:
– Написание программы на языке Java в редакторе
– Компилирование программы в байт-код (код понятный виртуальной машине Java) с помощью программы-компилятора
– Исправление ошибок компиляции (compilation errors), если такие произошли в процессе компиляции
– Запуск программы в виртуальной машине Java.
– Исправление ошибок выполнения (runtime errors), если видим, что «что-то пошло не так»
– Повторение пунктов 2—5 пока мы не получили работающую по нашему замыслу программу.
Можно писать код в одном из текстовых редакторов (Notepad, Notepad++, Atom, Sublime) и потом дальше через командную строку запускать компилятор, а потом запускать программу. Но все это громоздко и неудобно, именно поэтому программисты написали специальные программы, в которых можно делать полный цикл разработки программы гораздо проще и удобнее. Такие программы называются IDE (Integrated Development Environment) – интегрированная среда разработки, в ней происходит и написание программы, и компиляция, и выявление ошибок, и запуск программы. К тому же, большинство из них еще и подсказывают разработчику, что и в каком случае можно использовать и где он возможно уже совершает ошибку.
В мире Java-программирования есть несколько популярных IDE: IntelliJ IDEA, Eclipse, NetBeans. NetBeans самая редко используемая IDE на текущее время. Eclipse – это бесплатная IDE, с тысячами полезных плагинов, облегчающая жизнь разработчика. Поэтому, вполне возможно, что в крупной компании, в которую вы придете работать, будут использовать именно Eclipse. И это стоит учитывать, потому что на самом деле вы захотите пользоваться только одной IDE: IntelliJ IDEA – лучшая и самая удобная IDE на текущий момент для написания программ на Java.