Пишем код на Java и Go в текстовом редакторе
Перед нами промышленная хлеборезка итальянской компании Brevetti Gasparin srl, модель 1700. Её производительность — от 16 до 60 булок в минуту:

.
А вот обычный нож для хлеба:

Чем мы воспользуемся, если захотим сделать пару бутербродов? Ответ очевиден. Инструмент должен соответствовать задаче.
Отдавая должное интегрированным средам разработки (IDE), таким как IntelliJ IDEA, Eclipse или NetBeans, стоит отметить, что в ряде случаев текстовый редактор будет более удачным выбором. Например, если мы только начинаем изучать тот или иной язык программирования, и хотим сосредоточиться именно на нём, а не на освоении IDE. Или когда нужно быстро написать что-то простое и небольшого объёма. Применение IDE тут будет явно избыточным.
Поэтому сейчас мы рассмотрим три текстовых редактора, которые можно использовать для написания и запуска кода на языках Java и Go.
Редакторы выбирались по следующим критериям:
- Открытая лицензия, возможность бесплатного использования.
- Настраиваемая подсветка кода.
- Наличие системы плагинов или пакетов, позволяющих автоматизировать компиляцию и запуск написанных в редакторе программ.
- Кроссплатформенность — возможность использовать редакторы в трёх основных операционных системах: Windows, Linux, Mac. Небольшая оговорка: третий рассмотренный редактор, Notepad++ единственный не до конца соответствует этому требованию, однако полностью соответствует первым трём.
Atom
- Официальный сайт: www.atom.io
- Разработчик: GitHub
- Лицензия: MIT, открытая
Atom – современный кроссплатформенный текстовый редактор с открытым исходным кодом для Linux, macOS и Windows, с поддержкой плагинов, написанных на Node.js и встраиваемых под управлением Git. Впервые был опубликован в 2014 году. Описывается как “A hackable text editor for the 21st Century” (Текстовый редактор с хаками для 21-го века). Обладает развитой системой пакетов для расширения функциональности.

Достаточно полную инструкцию на русском языке по установке и настройке можно найти в блоге Harrix. Мы же рассмотрим минимальный набор действий — то, что необходимо для комфортного написания и запуска кода, сразу после установки редактора.
Начнём с изменения размера табуляции. Пройдём от главного меню: File → Settings → Editor, пролистываем вниз до пункта Tab Length и вместо цифры 2 указываем 4.
Для компиляции и запуска Java и Go файлов нам потребуется дополнительный пакет Script. Устанавливаем, пройдя от главного меню File → Settings → Install. В окошке Search packages вводим название пакета Script и нажимаем кнопку Packages. У найденного таким образом пакета нажимаем кнопку Install.

Ожидаем окончания загрузки и установки – когда у пакета появятся кнопки Settings, Uninstall, Disable.
Нажимаем кнопку Settings и для параметра Default Working Directory (CWD) Behavior выбираем значение Directory of the script.
Теперь мы можем запускать компиляцию и выполнение кода на Java и Go нажимая сочетание клавиш Ctrl+Shift+B.
Добавим небольшой косметический штрих. Найдите в своей папке пользователя папку с именем .atom, зайдите туда и откройте в редакторе (в том же Atom) файл styles.less. Добавьте в его конец приведённый ниже фрагмент. Размер шрифта в консоли Script станет больше.
// style Script console .script-view .line < font-size: 14px; >
Ещё один совет. Чтобы Atom сохранял вкладки с файлами, начните работу с выбора папки проекта File → Open Folder…, указав папку с файлами, которые собираетесь редактировать.
Geany
- Официальный сайт: www.geany.org
- Разработчик: Geany e.V.
- Лицензия: GNU GPL, открытая
Geany – стабильный и лёгкий кроссплатформенный текстовый редактор с открытым исходным кодом для Linux, Windows, MacOS, BSD и Solaris. Первая версия вышла в 2005 году.

Простой интерфейс, основанный на GTK+, выглядит не так современно и элегантно, как у Atom. Зато для работы с Java и Go этот редактор готов сразу после установки и не нуждается ни в каких дополнительных настройках.
Для компиляции файла на Java достаточно нажать на панели кнопку Compile или клавишу F8. Для выполнения откомпилированного байт-кода нажимаем кнопку Execute или F5. Консоль с результатами выполнения открывается в отдельном окне.
Для запуска кода на Go достаточно одной кнопки Compile или клавиши F8.
Notepad++
- Официальный сайт: www.notepad-plus-plus.org
- Разработчик: Don Ho
- Лицензия: GNU GPL, открытая
Notepad++ – лёгкий и быстрый текстовый редактор с открытым исходным кодом. К сожалению, он не кроссплатформенный и доступен только для Windows.
Достаточно подробную инструкцию по его настройке можно найти в нашем блоге, здесь мы рассмотрим основные моменты.

После установки в меню Settings → Style Configurator…, выделив в списках пункты Global Styles и Default Style, можно настроить семейство и размер шрифта редактора. Там же есть возможность сменить тему целиком: “Select theme”.
Устанавливаем табуляцию 4 пробела, согласно Java Code Conventions: Settings → Preferences…, выделяем пункты Language и Java и включаем чекбокс Replace by space.
Для автоматизации компиляции и запуска кода скачиваем и настраиваем плагин NppExec. По ссылке представлены несколько версий, у меня установлен v0.5.9.9 dev. Разрядность плагина (x64 или x86) выбираем согласно разрядности установленного Notepad++. Скачав zip-архив, достаём из него файл NppExec.dll и копируем в папку плагинов. В моём случае полный путь к этой папке выглядит так – C:\Program Files\Notepad++\plugins\NppExec\. После этого запускаем (или перезапускаем) Notepad++.
Настраиваем плагин, пройдя Plugins → NppExec:

В меню плагина включаем пункты:
- No internal messages
- Save all files on execute
- Follow $(CURRENT_DIRECTORY)
Затем добавляем команды компиляции, сначала для Java. Нажимаем Plugins → NppExec → Execute или просто нажмём F6. Наберём в окне Command(s) следующие команды (скрипт):
javac $(FILE_NAME) if $(EXITCODE) !=0 goto exit java $(NAME_PART) :exit
Как видим, первая строка вызывает компилятор для редактируемого файла. Вторая строка обеспечивает «обход» команды вызова виртуальной машины (в третьей строке) в случае компиляции с ошибками.
Нажав на кнопку Save…, введём в поле Script name название нашего скрипта – «java». Теперь, при редактировании, достаточно нажать сочетание клавиш Ctrl+F6 чтобы вызвать этот скрипт.
Теперь можно попробовать добавить другой скрипт, например, для Go. Нажимаем F6, вводим предложенную ниже строку и сохраняем этот скрипт под именем “go”.
go run $(FILE_NAME)
Ещё одно «к сожалению»: в редакторе отсутствует подсветка синтаксиса языка Go по умолчанию. Однако это легко преодолеть, воспользовавшись советами со stackoverflow.com.
Резюме
Рассмотрев три простых текстовых редактора, мы убедились, что процесс их настройки для написания кода на Java и Go занимает считанные минуты. Так что добро пожаловать в мир лёгких и доступных инструментов для программистов. Пробуйте и получайте удовольствие.
Меня можно найти в Telegram под ником @biblelamp или на сайте GeekBrains. Буду рад любым замечаниям, пожеланиям и дополнениям.
Для тех, кто только начинает свой путь в Java и Go, у нас в блоге есть ещё кое-что интересное:
- Быстрый старт с Java: от знакомства до вашей первой игры
- Быстрый старт с Java: пишем «крестики-нолики»
- Быстрый старт с Java: «лопни шарик»
- Быстрый старт с Go: первые шаги
Если же вы хотите получить полноценное системное образование, ждём вас на факультетах Java и Go в Geek University!
Как запустить выполнение программы на JAVA в Intellij IDEA по шагам?
У меня есть набранный код и я хочу пошагово посмотреть, как он выполняется с отображением всех действий программы.
Отслеживать
задан 26 фев 2020 в 20:29
Maxim Poleshchuk Maxim Poleshchuk
33 4 4 бронзовых знака
Используйте дебагер и ставьте точки остановки?
26 фев 2020 в 20:50
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Способов куча. Какие приходят на ум:
- Сверху справа (по умолчанию) можно найти панельку с зеленым треугольником — простой запуск, и схематичным жуком — нужный вам запуск в режиме дебагинга.
- Слева от строки public static void main есть треугольник, щелкнув по которому можно выбрать DEbugging и получить тот же результат
- нажать shift+F9
Если вы еще ни разу не запускали программу, то 1 и 3 могут не работать, воспользуйтесь 2
Запустив в режиме дебагинга программа просто выполнится, елси вы не поставите точки остановки. Для этого надо кликнуть по пустой области чуть провее номера строки в редакторе, появится красная точка. Когда выполнение дойдет до этого места программа остановится и вы сможете пошагово ее выполнять дальше кнопками F7-F9 или соответсвующие им гуишными кнопками в окне дебага
Что такое среда выполнения для Java (JRE)?

Среда выполнения для Java (JRE) – это программное обеспечение, которое требуется для корректной работы программ Java. Java – это язык программирования, на котором написаны многие современные мобильные и интернет-приложения. JRE – это базовая технология, которая взаимодействует с Java-программой и операционной системой. Она действует как переводчик и посредник, предоставляя все ресурсы, чтобы после написания программного обеспечения на Java оно работало на любой операционной системе без дополнительных модификаций.
Почему JRE является столь важной?
Программе необходима среда выполнения, которая обеспечивает доступ к памяти и другим системным ресурсам, таким как программные файлы и зависимости. В прошлом большинство программ использовали непосредственно операционную систему в качестве среды выполнения. Однако это означало, что разработчикам приходилось писать отдельный код для каждой операционной системы, на которой они хотели, чтобы работали их приложения. Технология среды выполнения для Java (JRE) была создана как решение этой проблемы.
JRE – это один из трех компонентов платформы Java, которые необходимы для успешного выполнения любой программы на Java. Пакет средств разработки Java (JDK) и виртуальная машина Java (JVM) – это два других компонента.
Пакет средств разработки Java
JDK – это набор программных инструментов, которые можно использовать для разработки Java-приложений. Вы можете использовать JDK в своей среде разработки, скачав и установив его. Выберите версию программного обеспечения JDK, соответствующую версии Java, которую хотите использовать. Например, Java Standard Edition, или Java SE, требует Java SE JDK.
Виртуальная машина Java
JVM – это программное обеспечение, которое выполняет программу Java построчно. Разработчики настраивают параметры JVM для управления ресурсами программы при запуске Java-приложения. Например, вы можете изменить настройку памяти JVM и проверить, сколько внутренней памяти используют ваши Java-приложения во время выполнения.
Роль JRE в языке программирования Java
JRE объединяет код Java, который вы создаете с помощью JDK, с дополнительным встроенным кодом, называемым библиотеками. Затем он создает инстанс JVM или локальную копию, которая в конечном итоге запускает Java-программы. JVM доступны для множества операционных систем, а JRE генерирует единую копию вашего Java-кода, который работает на всех типах JVM. Таким образом, JRE обеспечивает платформенную независимость Java-приложений. Вы можете написать их один раз и запустить в любом месте.
Разница между JRE, JVM и JDK
JDK – это программный слой над JRE, который содержит компилятор, отладчик и другие инструменты, обычно встречающиеся в любой среде разработки программного обеспечения. В JDK вы пишете код с использованием синтаксиса, подобного английскому языку. JDK компилирует его и передает байт-код в JRE. В отличие от этого, JRE содержит библиотеки классов, вспомогательные файлы и JVM. Здесь используются эти программные компоненты для запуска байт-кода на любом устройстве.
Как работает JRE?
Среда выполнения Java (JRE) работает поверх операционной системы, предоставляя дополнительные ресурсы, специфичные для Java. Пакет средств разработки Java (JDK) и JRE взаимодействуют для создания устойчивой среды выполнения, которая запускает программные файлы Java на любой машине. JRE использует для работы три основных компонента.
ClassLoader
Библиотеки классов Java содержат коллекции заранее написанного кода, который можно вызывать по мере необходимости. Они упрощают работу Java-разработчиков, предоставляя встроенные методы для таких распространенных и нетривиальных задач, как прием входных данных от пользователей, отображение выходных данных для пользователей и многое другое. Все программы на Java ссылаются на несколько библиотек классов. Java ClassLoader динамически загружает все необходимые файлы классов в виртуальную машину Java (JVM) по требованию.
Верификатор байткода
В JDK есть компилятор, который преобразует написанный вами англоязычный код в версию на машинном языке, называемую байткодом Java. Верификатор байткода в JRE проверяет формат и точность кода Java перед его загрузкой в JVM. Например, если код нарушает целостность системы или права доступа, JRE не загрузит файл класса.
Переводчик
После успешной загрузки байткода интерпретатор Java создает инстанс JVM, который запускает программу Java на базовой машине.
Из каких компонентов состоит JRE?
Помимо основных компонентов, среда выполнения для Java (JRE) содержит несколько других программных компонентов, которые помогают более эффективно выполнять Java-программы. Далее приведены некоторые примеры.
Инструменты разработки
JRE содержит средства разработки, такие как наборы инструментов пользовательского интерфейса, которые можно использовать для улучшения качества ваших приложений. Далее приведены некоторые примеры.
Java 2D
Java 2D – это интерфейс прикладных задач (API), который можно использовать для рисования двумерной графики и создания прекрасных пользовательских интерфейсов, игр, анимации и специальных эффектов на языке Java.
Swing
Swing – это легкий графический интерфейс пользователя (GUI), который обеспечивает гибкую, удобную для пользователя настройку.
Abstract Window Toolkit
Abstract Window Toolkit (AWT) – это графический интерфейс, который можно использовать для создания объектов пользовательского интерфейса, таких как кнопки, окна и полосы прокрутки.
Решения по развертыванию
JRE включает технологии, которые упрощают процесс выпуска изменений программного обеспечения для пользователей приложений. Эти технологии также обеспечивают расширенную поддержку обновлений в приложении. Технологии развертывания, такие как Java Web Start и плагин Java, включены как часть установки JRE. Эти технологии упрощают активацию приложений, а также обеспечивают расширенную поддержку будущих обновлений JRE. Далее приведены некоторые примеры.
Java Web Start
С помощью Java Web Start вы можете запускать полнофункциональные приложения одним щелчком мыши из веб-браузера.
Плагин Java
Плагин Java устанавливает соединение между популярными браузерами и платформой Java, что позволяет запускать апплеты в браузерах для настольных компьютеров.
Библиотеки языков и утилит
Коллекция файлов классов Java называется пакетом Java. JRE включает несколько пакетов Java, которые поддерживают версионность, управление и мониторинг. В качестве примера можно привести следующие пакеты:
Система коллекций
Система коллекций представляет собой единую архитектуру, включающую интерфейсы для улучшения хранения и обработки данных приложений.
API предпочтений
API предпочтений позволяет нескольким пользователям на одной машине определять собственную группу предпочтений приложений.
Ведение журналов
С помощью пакетов журналов создаются отчеты журналов для устранения неисправностей, таких как сбои в системе безопасности, проблемы с производительностью и ошибки конфигурации.
Архив Java
Архив Java (JAR) – это независимый от платформы формат файлов, позволяющий объединять несколько файлов для уменьшения размера файлов приложений и значительного повышения скорости загрузки.
Интеграционные библиотеки
JRE включает несколько интеграционных библиотек, которые помогают разработчикам создавать удобные соединения данных между сервисами и приложениями. Ниже приведены некоторые примеры библиотек.
Java IDL
Язык Java Interface Definition Language (IDL), который основан на архитектуре Common Object Request Broker Architecture (CORBA), поддерживает распределенные объекты данных, то есть объекты, которые взаимодействуют на разных платформах по сети. Например, Java IDL позволяет объектам, написанным на Java, взаимодействовать с объектами, написанными на другом языке, таком как C, C++ или COBOL.
Подключение к базам данных Java
Разработчики используют API Java Database Connectivity (JDBC) для написания приложений, которые могут обращаться к удаленным базам данных, электронным таблицам и файлам.
Java Naming and Directory Interface
Java Naming and Directory Interface (JNDI) – это сервис каталогов, позволяющий клиентам создавать переносимые приложения, которые получают информацию из внешних баз данных, используя правила именования.
Что такое AWS SDK для Java?
Пакет средств разработки ПО (SDK) AWS для Java упрощает использование сервисов AWS, предоставляя упорядоченный набор библиотек, с которыми знакомы разработчики Java. AWS SDK for Java также поддерживает более высокий уровень абстракций для упрощения разработки. Доступны библиотеки Java с открытым исходным кодом, ориентированные на AWS, а также примеры кода и справочное руководство по API Java.
Примеры кода AWS SDK для Java 2.0 на GitHub содержат примеры на языке Java и реальные примеры работы с сервисами AWS, которые ускорят разработку собственных приложений. Кроме того, справочник AWS SDK по Java API описывает работу API в новейшей версии AWS SDK для Java. Кроме того, приводятся образцы запросов, ответов и список ошибок для поддерживаемых сетевых протоколов.
6) Первая Java-программа
Это видео поможет вам написать свою первую программу на Java.
Нажмите здесь, если видео не доступно
Шаги для компиляции и запуска первой Java-программы
Шаг 1) Откройте «Блокнот» в меню «Пуск», выбрав «Программы»> «Стандартные»> «Блокнот».
Шаг 2) Создайте исходный код для вашей программы
- Объявите класс с именем A.
- Объявить метод main public static void main (String args [])
- Теперь введите System.out.println («Hello World»); который отображает текст Hello World.
class A < public static void main(String args[])< System.out.println("Hello World"); >>
Шаг 3) Сохраните файл как FirstProgram.java, убедитесь, что вы выбрали тип файла для всех файлов, сохраняя файл в нашей рабочей папке C: \ workspace.
Шаг 4) Откройте командную строку. Перейдите в каталог C: \ workspace . Скомпилируйте код с помощью команды,
javac FirstProgram.java
Шаг 5) Если вы заглянете в свою рабочую папку, то увидите, что был создан файл с именем A.class .
Шаг 6) Чтобы выполнить код, введите команду java, а затем имя класса, так как ожидаемый вывод Hello World теперь отображается.
java A
Примечание: Java чувствителен к регистру языков программирования. Весь код, команды и имена файлов должны использоваться в едином регистре. FirstProgram отличается от первого.
Шаг 7) Если вы копируете и вставляете тот же код в IDE, что и Eclipse, компиляция и выполнение выполняются одним нажатием кнопки. Использование IDE удобно и повышает вашу эффективность, но, поскольку вы изучаете Java, мы рекомендуем вам придерживаться блокнота.
