Легкий старт
Для изучения языка программирования нам понадобится писать, компилировать и запускать на выполнение свои «экспериментальные» программы. На первых порах можно просто запустить через браузер какую-нибудь онлайн IDE. Например, IDEOne имеет очень простой интерфейс и позволяет вводить данные из стандартного потока. Поместить данные в стандартный поток можно в специальном поле под кодом программы. Разработчики обещают вечно помнить Ваш код и предоставлять доступ по ссылке даже без регистрации. Бесплатная регистрация позволяет хранить в облаке все свои наработки. Конечно, среда очень простая и программу из нескольких файлов в ней вы не напишите, но на начальном этапе простота важнее богатого функционала. Вот как это выглядит:
Мы вероятно будем использовать и какие-то другие онлайн IDE, (например, jDoodle) но пока начнем с хорошо испытанной IDEOne.com.
Установка компилятора
Для полноценной работы на локальном компьютере целесообразно установить компилятор и библиотеки
На начальном этапе изучения языка желательно пользоваться простейшим текстовым редактором для набора кода и компилятором из стандартного набора JDK (javac.exe в случае операционной системы Windows). Для выполнения — реализацией виртуальной машины JVM из того же набора (java.exe). Это позволит лучше прочувствовать технику процесса компиляции и выполнения и увереннее чувствовать себя в дальнейшем при использовании различных IDE (интегрированных сред разработки).
Выберите на страничке Java Standart Edition кнопку Download JDK, загрузите и установите её.
Для запуска компилятора следует использовать утилиту
javac.exe. В качестве аргумента следует указать имя файла с исходным кодом. Например, если мы находимся в рабочей папке с файлом исходного кода, то для запуска компилятора мне приходится давать довольно длинную команду:
1 |
"C:\Program Files\Java\jdk-14.0.2\bin\javac.exe" 1.java |
Если вместо папки по умолчанию, установить компилятор в другую папку, то путь может быть короче. Ещё можно добавить к переменной среды Path путь к выполняемым файлам:
1 |
set Path=%Path%;C:\Progra~1\Java\jdk-14.0.2\bin; |
Это позволит сделать команду компиляции ещё короче:
1 |
javac 1.java |
После успешной компиляции в текущей папке появится файл с расширением .class. Например, A.class. Тогда для запуска программы на выполнение нужно будет дать команду:
1 |
java A |
Обратите внимание, что при компиляции указывается имя файла (с расширением), а при выполнении — имя класса.
Все сказанное относится к операционной системе MS Windows. В других операционных системах ситуация будет похожая.
Все перечисленные команды, нужно набирать в консольном окне
cmd. Если вы умеете пользоваться Far Manager, то работа будет намного комфортнее.
Среда
Переключаться между текстовым редактором и окном запуска команд не очень удобно. С некоторого момента вам захочется автоматизировать этот процесс. Хотя для изучения языка это и не обязательно, но многие рекомендуют после освоения командной строки перейти на интегрированную среду разработки. Бесплатных сред разработки (IDE) довольно много. Установить можно любую. В компьютерном классе у нас установлена IntelliJ IDEA.
Учебники
Я рекомендую читать учебники на английском языке. Это полезно и с точки зрения языковой практики, и с точки зрения точности изложения. Рекомендовать много учебников не буду, чтобы не запутывать вас нюансами. Достаточно одного, который хорошо подходит для нашего случая — изучения языка Java после успешного изучения C/C++. Впрочем, по этой книге можно учить язык и с нуля:
- Хорстманн Кей. Java. Библиотека профессионала, том 1. Основы.— 11-е издание, 2019. — 864 с.
- Cay S. Horstmann. Core Java Volume I—Fundamentals (11th Edition)
Курс, который мы будем изучать на основании языка Java называется «Алгоритмы м структуры данных». Для этого курса я рекомендую использовать кую книгу:
- Доуни А. Алгоритмы и структуры данных. Извлечение информации на языке Java, 2018
- Allen B. Downey. Think Data Structures: Algorithms and Information Retrieval in Java, 2017
Документация
Нам нужна документация двух типов. К первому типу относятся учебники, руководства, самоучители и т.п. Их задача организовать процесс изучения и вести нас по нужному пути шаг за шагом. Идеального учебника для всех конечно нет, но вполне подходящим путеводителем могут стать книги Хорстмана или даже Шилдта. Возможно кому-то понравится начать с Брюса Эккеля. В последнем случае, правильным решением будет воспользоваться и «Annotated Solution Guide for Thinking in Java», где автор разбирает многочисленные полезные задания.
Второй тип документации — это исчерпывающий справочник на каждый день. Это документация по классам автоматически генерируется из исходных кодов этих классов при помощи javadoc. Не обязательно пользоваться ею на указанном сайте. Возможно полезно будет загрузить и распаковать исходные коды и документацию на локальном компьютере.
Задачники
Мы будем использовать несколько задачников. Первый и самый популярный классический задачник Абрамова. Вторым (вспомогательным) задачником у нас будет задачник Юркина. Задачи из него обычно сложнее. Но не с точки зрения программирования — просто они требуют более глубоких размышлений или удачных догадок.