Java и Ruby - схожие по структуре языки. Основными строительными блоками обоих языков являются переменные, операторы, методы и классы. Условные операторы, операторы цикла, и операции ввода/вывода работают аналогично, различаясь лишь способом написания (синтаксически).
В то же время имеется целый ряд существенных отличий, важнейшие из которых перечислены ниже.
- В языке Java не существует глобальных функций и переменных, весь код программы содержится в одном или нескольких классах.
- Выполнение программы начинается с метода main, который обязан находиться в классе, указанном интерпретатору java в качестве параметра, в то время как программы на Ruby выполняются последовательно, строка за строкой, начиная с первой.
- Все, с чем работает программа на Ruby, представляет собой объекты, а в языке Java числа, символы, и логические величины объектами не являются.
- Все операторы Java обязаны завершаться символом ; (точка с запятой).
- Переменные в языке Java требуют предварительного объявления перед их использованием. При объявлении указываются тип переменной и ее имя, а в дальнейшем переменной нельзя присваивать значения иных типов. Язык Ruby безтиповый и не предполагает объявления переменных.
По установившейся традиции в качестве первой задачи рассмотрим программу, выводящую на экран строку текста "Здравствуй, мир!"
/* Класс Hello размещен в файле Hello.java */ public class Hello { public static void main(String[] args) { // аналогично puts System.out.println("Здравствуй, мир!"); } }
Метод println aналогичен функции puts языка Ruby и приводит к выводу на экран дисплея указанной строки. Аргументы любого метода в языке Java всегда заключаются в круглые скобки и разделяются запятыми. Объяснение того, что означают ключевые слова public, static и другие отложим на потом, а пока просто будем считать, что так надо писать всегда.
Тело метода main, так же как и любого другого метода Java, размещается между фигурными скобками. В нем находится последовательность объявлений, операторов и вызовов методов. Каждое объявление, оператор или вызов обязаны заканчиваться символом ; (точка с запятой). Однострочный комментарий начинается с двух идущих подряд символов /, многострочный заключается между /* и */.
Программа должна содержаться в файле, имеющем расширение java, а его имя обязано совпадать с именем класса, описанного в нем.
Для того чтобы откомпилировать и запустить указанную выше программу, необходимо выполнить следующую последовательность команд:
javac Hello.java java Hello
Команда javac компилирует программу и порождает файл Hello.class, содержащий так называемый байт-код. Вторая из приведенных команд запускает интерпретатор байт-кода, который ищет указанный класс (в данном случае Hello) и выполняет его, начиная с метода main.