В первую очередь хочу обратить внимание на то, что особую популярность Java получила благодаря тому, что этот язык вобрал в себя все то лучшее, что было создано до него. Поэтому людям которые переходили с других подобных языков на Java не составляло большого труда переориентироваться на новый язык. Если вы посмотрит...

Сравнение Java и PHP

В первую очередь хочу обратить внимание на то, что особую популярность Java получила благодаря тому, что этот язык вобрал в себя все то лучшее, что было создано до него. Поэтому людям которые переходили с других подобных языков на Java не составляло большого труда переориентироваться на новый язык. Если вы посмотрите на PHP, то он и сам во многом похож на Java, прежде всего объектной моделью.

Давайте рассмотрим некоторые похожие особенности языков: Класс на PHP7 можно описать следующим образом:

<?php


// SomeClass.php

class SomeClass
{
  // общедоступный статический метод, принимающий аргументы командной строки и ничего не возвращающий
  public static function main(array $strings = $argv ) : void 
  {
    print "SomeClass";
  }
  
}

// запускаем так
SomeClass::main()

Тот же класс на Java:

// SomeClass.java

class SomeClass
{
  // общедоступный статический метод, принимающий аргументы командной строки и ничего не возвращающий
  public static void main(String[] args)
  {
    System.out.println("SomeClass");
  }
}

Отличия между Java и PHP здесь состоят в том, что PHP класс мы можем запустить, например, подключением его в какой-либо файл, с последующим вызовом статического метода main, тогда как в Java нам надо с начало скомпилировать файл и только затем появится возможность его запустить. Причем точкой входа в приложение, т.е. метод с которого начнется выполнение программы будет метод main, так как среда Java устроена так, что при запуске приложения автоматически ищет класс с публичным открытым методом main, который получает параметры командной строки через массив строк args.

Также обратите внимание на такую особенность, если в Java класс называется SomeClass, то и файл в котором лежит этот класс должен называться SomeClass.java и никак иначе т.е. SomeClassA.java - не подойдет так как компилятор выдаст ошибку. Поначалу это может раздражать, однако, в последствии привыкнув к этому, вам будет намного удобнее и проще использовать такой вариант.

Вообще Java, как строго типизированный язык, накладывает много ограничений, на то как можно писать код, но это отнюдь не минус, а даже плюс, так как язык заставляет Вас думать в соответствии со своей концепцией, тем самым дисциплинируя и позволяя избежать многих ошибок.