JavaRush/Java блог/Java Developer/Стоит ли учить Java в 2018 году? Отвечает Коди Вебер

Стоит ли учить Java в 2018 году? Отвечает Коди Вебер

Статья из группы Java Developer
участников
«Стоит ли учить тот или иной язык программирования?». Этот вопрос в сети задают очень часто. Он вполне справедлив: технологий и платформ очень много, развиваются они с колоссальной скоростью, так что мы порой не успеваем уследить за изменениями. Так что в этом вопросе лучше довериться профессионалам! Ниже приводим обоснованное мнение о Java одного из таких профессионалов — Коди Вебера (Cody Weber). Он Software Engineer в американской компании Centene. Стоит ли учить Java в 2018 году? Отвечает Коди Вебер - 1Я считаю, что нужно изменить подход к этому вопросу. Является ли Java релевантной и полезной в 2018 году? Безусловно! Но, возможно, не по тем причинам, которые первыми приходят вам в голову. Обучение программированию в 2018 году — это горааааздо больше о том, «как решить проблему» и намного меньше о том «знаю ли я такой-то язык». Сосредоточьтесь на решении проблемы, выясните, с помощью чего её можно решить. Итак, вот несколько причин, по которым Java является хорошим, актуальным языком для изучения в 2018 году и позднее.
  1. Нужно учить язык, который решает проблемы

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

  2. Нужно учить язык, который не заставляет вас вгрызаться во все подробности языка, но всё же позволяет вам что-то делать

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

  3. Нужно учить язык, в котором приняты концепции хорошего программирования

    Java — объектно-ориентированный язык, причём эта самая «объектность» в нём реализована просто отлично. Вместе с ООП вы изучите концепции наследования, абстракции, полиморфизма и так далее. Именно этот язык научит вас концепциям, которые можно применять в большинстве других языков, например, в Python.

  4. Нужно изучать язык, который достаточно распространён и не ограничен в инструментарии

    Java не ограничивается одним продуктом или незначительной горсткой последователей. Для этого языка существует множество IDE, бесплатных или платных, которые являются удивительно мощными (взять хотя бы «большую тройку» IDEA, Netbeans и Eclipse). Если вы решите, что вам они не нужны, пишите в текстовом редакторе, а затем компилируйте ваш код в командной строке/терминале. Мало того, сегодня есть веб-сайты, где вы можете скомпилировать свой код в режиме онлайн, если хотите поиграть с языком (например, JavaRush Web IDE, прим. перев.).

    Ну а если вы будете «говорить» на Java с какими-то разработчиками на форуме, очень высока вероятность, что вас поймут без перевода даже те, кто специализируется в других языках.

  5. Нужно учить язык, который продолжает развиваться.

    • Каждая версия Java (в настоящее время выпущена 10 версия языка), меняет очень многое, оставляя при этом обратную совместимость со старым кодом. Так, Java 8 привнесла в мир Java концепцию функционального программирования. Оно добавило той самой гибкости, за отсутствие которой раньше критиковали этот язык. Также в восьмой версии были добавлены библиотеки, которые существенно упростили разработку некоторых вещей. Java 9 — это модульность в JRE, благодаря которой небольшие устройства могут использовать Java без особых расходов.

    • Язык Java просто отлично себя проявляет при обратной совместимости. При желании вы можете изучить древние библиотеки, и разобраться в самом запутанном legacy-коде. Или не делать этого, а писать программы сразу по-новому, благо, всё отлично задокументировано.

    Подводя итоги сказанного, упомяну, что есть много языков, которые отвечают приведённым выше требованиям. Но Java хороша тем, что она хороша почти для всего. И если вы хотите стать серьезным разработчиком, владеющим надежным, легким и ориентированным на проблемы инструментом, учите Java. Не пожалеете.

Комментарии (4)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Nadezhda Vasilyevna
Уровень 0
5 февраля 2021, 13:30
Хорошая статья. Спасибо автору за материал. Я тоже задавался таким же вопросом, а потом начал учить язык по видеокурсам Михаила Русакова. И не грамму не пожалел
Сергей Желтов
Уровень 5
4 октября 2018, 10:14
Хорошая статья на первый взгляд, но не затрагиваются более приземленные вопросы, такие как: Насколько высокий сейчас порог вхождения на Java, чтобы устроиться работать Junior? Просмотрев несколько вакансий, по перечню знаний, я должен знать все на свете на зубок! Это немного печалит и опускаются руки... После этого думаешь, может учить другой язык программирования с более низким порогом типа Phyton или Kotlin? Если у кого-то есть, что подсказать по этим вопросам, буду рад выслушать)
Yohanson Nogebator
Уровень 3
6 октября 2018, 09:59
В первую очередь нужно четко понимать, что на конкретную должность берут не так за знание конкретного языка, а, скорее, за знание технологий (web, db, gamedev, cloud, ...), по возможности, практические знания. На второе место по значимости я бы поставил практический опыт в: решении алгоритмических задач, использовании основных концепций программирования (ООП, события, паттерны), построении скалируемых систем... И только потом уже смотрят на глубину знаний конкретного языка. Даже если человек не знает, как написать лямбда выражение на этом языке, но понимает зачем это нужно и какие еще есть варианты, то он обязательно быстро научится тем подходам, которые нужны в новой команде. Понятно, что новичкам хочется побыстрее начать работать и зарабатывать, но время, когда ты нахватался по верхам и можешь хорошо устроится, прошло лет 10 назад. Следовательно даже для Junior придется попотеть. На мой взгляд, новичкам лучше всего начинать учить программирование с Python. Прекрасный язык, который позволяет решать широчайший круг задач в будущем. Главный его недостаток - отсутствие строгой типизации. Вначале это выглядит как плюс, но на больших проектах это становится большим недостатком. Тем не менее, для старта - это отличнейший инструмент. Не понимаю, как многие ВУЗы до сих пор ковыряют давно мертвый Pascal, когда с задачей научить программированию, Python справится куда проще и быстрее. Решая задачки на сайтах типа checkio или codewars можно поднимать скилл в алгоритмическом мышлении. На codewars можно решать их на большинстве современных языков, еще и смотреть, как решили другие, что тоже помогает прокачиваться. После того, как на задачках съешь пару собак, можно начинать учить строго типизированный язык типа Java|C#. Что выбрать из этой парочки - дело вкуса. Поработав и на том и на том, я для себя выбрал C#. В любом случае, хорошее знание ООП помогут в будущем освоить практически любой язык. Ну а после, нужно смотреть на технологию, которая нравится и много практиковаться
Max
Уровень 0
20 сентября 2018, 09:41
Не знаю почему, но ссылка на эту статью мне часто светится на главной странице в facebook. Я такое обычно игнорю, но уж слишком примелькалось название по языку, с которым я имел дело и который вызвал у меня в свое время не самые приятные эмоции. Если оценивать статью в целом, то в ней процентов 80% правды, но "дьявол в деталях" ;). Я программист самоучка, который увлекся программированием в 12 лет, еще в далеком 1993 году и которого программирование с тех пор никак не отпускает. В школе самостоятельно учил Basic и Turbo Pascal. Так как в школьные годы дома компа не было, то для практикования с книгами, которые находил в библиотеках, приходилось программы писать на бумажке, а проверять их уже в школе. Так же очень помогло, что родители принесли с работы программируемый калькулятор МК61 (что такое польская нотация даже сейчас только программисты и знают ;)) - находил статьи по программированию для калькуляторов в библиотеках и журналах типа "Наука и Жизнь" и там уже практиковался от души. Потом был политех, там были Turbo Pascal, Delphi, C, Assembler - снова самоучкой, так как до бюджетного места не добрал баллов 5, а платить денег не было, потому учился на другой специальности, а руку набивал делая лодырям с профильной специальности лабы, курсачи и даже дипломы. Устроился работать еще на 4м курсе, был сисадмином + на Delphi написал и обслуживал приложение для обработки БД в одной компании. Через несколько лет знакомый позвал меня в gamedev и с тех пор только и делал, что создавал игры. Писать приходилось на Lua, C++, Python, C#. На C# первое время для себя, еще на заре его становления, когда версия 2.0 только-только вышла, которая и определила успешное развитие этого языка.