JAVA 2021: лёгкий старт - Павел Александрович Забелин 3 стр.


Компьютер  это сложное устройство, он состоит из нескольких модулей, которые нужны для разных задач. В первую очередь самый заметный модуль (устройство вывода)  монитор\дисплей, через него мы получаем всю визуальную информацию. Устройства ввода, по меньшей мере два: клавиатура и мышь (или, например, тачпад). А еще устройство ввода  это цифровой сканер или VR-шлем (и он же устройство вывода). Далее непосредственно сам компьютер, обычно мы видим его как системный блок или нижнюю часть ноутбука.

Самые главные части современного компьютера: процессор (или несколько процессоров), оперативная память, твердый диск, видеокарта, звуковая карта. Процессор  это «мозг» компьютера, но в отличие от человеческого мозга, он не думает, а исполняет команды. Оперативная память  это куда загружаются программы, чтобы выполнять их в текущий момент. Оперативная память не сохраняет данные после выключения питания. Твердый диск  хранит разнообразные данные и программы. Данные на нем не будут потеряны после выключения питания. Чтобы понять разницу между оперативной памятью и твердым диском, вспомните себя, когда вы считаете сколько денег потратили: вы в голове перемножаете количество товаров на их цену (оперативная память), а потом записываете промежуточный результат на бумажку (твердый диск). Манипуляция мыслями занимает гораздо меньше времени, чем запись и потом поиск информации на бумажке  также и с компьютером: он быстро работает с оперативной памятью и гораздо медленнее с твердым диском. Видеокарта занимается ускоренным просчетом данных для последующей отрисовки, как мы все знаем это особенно критично для видеоигр :) Звуковая карта преобразует цифровые данные в электрические импульсы, которые «понимают» аудиоколонки.

Программист на Java в 99% случаев взаимодействует (и иногда сталкивается с нюансами) с дисплеем, клавиатурой, мышкой, процессором, оперативной памятью и диском, а также с другими компьютерами (обычно серверами) которые присылают данные и ждут ответов через интернет.

Мы программируем и пишем программы

Существует огромная пропасть между представлением данных для человека и для компьютера. Для компьютера данные представляются в виде электрических импульсов  есть ток, нет тока. Человек не может читать электричество, и он придумал различные абстракции. И поэтому наличие\отсутствие электрического тока представляется двумя цифрами 0 и 1, это уж позволяет использовать бинарную математику, это уже позволяет путем ввода нулей и единиц управлять процессором и соответственно писать программы. Но такие программы не читабельны  мы привыкли общаться словами и предложениями. И поэтому возникли разнообразные языки программирования, использовать которые для написания программ намного лучше, чем писать единицы и нолики. Сначала возникли языки программирования только чтобы просто программировать компьютеры, позже люди стали создавать языки программирования для работы в разных областях науки и бизнеса. Например, Fortran  для математиков и их формул, Cobol  для экономистов и биржевых операций, Assembler  для низкоуровневого программирования устройств, BASIC  для обучения школьников, Go  для программирования распределённых систем, PHP  для упрощенного написания веб-сайтов. Некоторые языки были созданы как следующий эволюционный шаг: Delphi  эволюция Pascal, Java  эволюция C, C#  эволюция C++ и Java.

Но Java создавали не только для того, чтобы сделать улучшенную версию языка C. Когда компьютер превратился из «монстра научных институтов» в персональный компьютер, стали появляться, одна за другой, операционный системы; возникло большое количество производителей компьютерного железа, которые выпускали кучу всяких устройств, программировать которые обычному программисту, без погружения в глубины документации и драйверов (управляющих железом микропрограмм) было невозможно. И вот в светлый ум доктора информатики Джеймса Гослинга пришла идея создать такую технологию, которая позволила бы программисту писать такой код, который мог бы запускаться на любом железе. И его идея была им воплощена в язык программирования 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), если видим, что «что-то пошло не так»

 Повторение пунктов 25 пока мы не получили работающую по нашему замыслу программу.

Можно писать код в одном из текстовых редакторов (Notepad, Notepad++, Atom, Sublime) и потом дальше через командную строку запускать компилятор, а потом запускать программу. Но все это громоздко и неудобно, именно поэтому программисты написали специальные программы, в которых можно делать полный цикл разработки программы гораздо проще и удобнее. Такие программы называются IDE (Integrated Development Environment)  интегрированная среда разработки, в ней происходит и написание программы, и компиляция, и выявление ошибок, и запуск программы. К тому же, большинство из них еще и подсказывают разработчику, что и в каком случае можно использовать и где он возможно уже совершает ошибку.

В мире Java-программирования есть несколько популярных IDE: IntelliJ IDEA, Eclipse, NetBeans. NetBeans самая редко используемая IDE на текущее время. Eclipse  это бесплатная IDE, с тысячами полезных плагинов, облегчающая жизнь разработчика. Поэтому, вполне возможно, что в крупной компании, в которую вы придете работать, будут использовать именно Eclipse. И это стоит учитывать, потому что на самом деле вы захотите пользоваться только одной IDE: IntelliJ IDEA  лучшая и самая удобная IDE на текущий момент для написания программ на Java.

Настраиваемся на программирование. Устанавливаем IDE

Так как предполагается, что мы изучаем с нуля, то мы не будем заморачиваться с установкой виртуальной машиной Java и полного пакета для разработчика Java SDK. Достаточно будет скачать текущую версию IntelliJ IDEA, в которой есть все что нам будет нужно для старта.

Заходим на сайт https://www.jetbrains.com/idea/download/


выбираем версию для скачивания: Ultimate (т.е. полную, но платную, хотя есть пробный период) или Community (тоже достаточную для наших целей)


Скачиваем и запускаем. Проходим через мастер установки, соглашаясь со всем что предлагают:







На Рабочем столе появится иконка приложения:



Дважды кликаем для запуска IntelliJ IDEA. И снова проходим еще через несколько экранов настройки (это будет только единожды):


не импортируем никакие настройки


Соглашаемся


Выбираем светлую тему (это всегда можно изменить в настройках)


Я скачал версию Ultimate, поэтому выбираю пробный период

Назад Дальше