Сложен ли Java именно с точки зрения программирования — вот о чем мы будем говорить в этой статье. Ситуация двояка. Постараюсь объяснить.
Java — простой язык
Сам по себе язык Java один из самых простых на рынке:
- Он использует стандартный Си-образный синтаксис — простой и понятный в использовании. Более того, Java создавалась как упрощенная версия языка С++, соответственно было выкинуто очень много лишнего — остались только самые простые и необходимые конструкции.
- Кроме того, язык Java следует принципу 100% обратной совместимости. Любой код, который вы написали 20 лет назад, без проблем скомпилируется на современной Java и будет работать. Поэтому вы спокойно можете учить синтаксис Java 1.2, 1.3, запустить код на современной Java 13, и все будет работать. Выучив этот язык один раз, вам не нужно каждые полгода разбираться в каких-то новых обновлениях. Не нужно забывать ранее полученные знания, так как они будут актуальны и для современного языка. А это очень удобно.
Резюмирую. Язык Java имеет простой синтаксис, он понятен и схож с другими языками программирования.
Но, не все так просто.
Java — это адски сложно
Теперь расскажу, почему Java все же сложна.
Язык Java оказался очень удобен для энтерпрайз компаний. Практически все глобальные системы написаны на Java. Чтобы программисты не писали одно и тоже, все имеющиеся наработки начали собирать и выносить в библиотеки и фреймворки. Со временем фреймворки становились все навороченнее и закрученнее. Сейчас Java-разработчик практически не пишет код без использования фреймворков. Почти каждая строчка современного кода — это обращение к какому-то фреймворку. Одна правильно написанная строка делает сразу огромное количество дел. Это удобно для профессиональных программистов — достаточно написать всего строку, а перед вами уже построился межгалактический бластер.
Да, это удобно, но не для новичков. Новичок, который знает только синтаксис, смотрит на эту строчку, видит, как что-то работает, но понять, почему это работает — не может. Соответственно чтобы разобраться в Java, нужно хорошо знать работу фреймворков, а они в последнее время стали очень сложными.
Вызывать фреймворк просто, кроме того, есть большое количество руководств и ютуб-лекций по использованию фреймворков и связки их друг с другом. По факту разработчик просто собирает то что ему нужно из нужных кубиков, а кубики — это фреймворки.
В чем же сложность Java? Сложность в огромном количестве знаний, которые требуются java-разработчику:
- как правильно построить архитектуру,
- какие фреймворки есть и куда их можно разложить,
- как они устроены в общих чертах,
- как их правильно связать друг с другом,
- какие они накладывают ограничения на вашу программу,
- как фреймворки повлияют на дальнейшее расширение и пр.
Это адское количество знаний!
Вы очень легко входите в язык, выучить его действительно просто. А вот стать мастером в Java — это уже очень сложный челлендж. Вы должны не просто уметь программировать, а понимать, как правильно использовать фреймворки. Как человек, который более 15 лет в java, могу точно сказать — что это совсем не просто. Примерно каждые полгода переходя на новый проект, я сталкивался с ситуацией, что не знаю большую часть используемых на данном проекте фреймворков.
Так что с одной стороны это — очень простой язык, а с другой Java — адски сложный.
Но есть большие бонусы, которые покрывают все эти сложности. Java — самый распространенный язык в мире. Все нужные функции уже написаны кем-то когда-то и вы можете это использовать. И если что-то нельзя сделать на Java, это нельзя сделать вообще. Java— последний оплот, который можно выбрать в том случае, когда задача слишком сложная. Настолько сложная, что вообще никто не верит в возможность ее выполнить. И в этот момент вы просто ощущаете себя владельцем мегапушки, которая победит всех 🙂 А это не может не доставлять удовольствие.
Если вы хотите стать обладателем это самой мегапушки, приходите учиться на курсы Java.