Как стать автором
Обновить

Комментарии 21

Небольшой пример моего успешного изучения Java. На первом курсе в университете мне преподавали C# и дали понимание про ООП-программирование — что такое классы, интерфейсы, абстракция, зачем они нужны. Мне это очень помогло. Без этого изучать Java довольно сложно, непонятно, зачем нужны классы.

Очень порадовало — я буду учить 1 ООП, чтобы лучше понять другой (да, я понимаю, что в ВУЗе не выбирают языки на первых курсах и пишут на том, на чем учат).

Вообще статью можно было бы назвать «Зачем учить ООП-языки и как делать это эффективно», так как вся информация в статье не является фишкой «только в Java».
Ну кстати, как-то плохо у нас учат современной Java. Все те же паттерны, как много лет назад, при том что в Java 8 уже появились лямбды, и многие паттерны выродились в стандартные конструкции языка.

Всё таки Java более ООП-ориентированный даже сейчас. А лямбды и прочие функциональные фишки появились значительно позже и такой код не мог быть идтоматичным со дня рождения как в котлине, например. Да и писать код функционально стало модным сравнительно недавно. В мобильной разработке, например, прям совсем недавно, с применением реактивного программирования, MVVM и попыткой ускорить написание кода, используя немногословные конструкции.

Если вы хотите работать в «кровавом ентерпрайзе» on-site, то вам нужно изучать Java/Spring, если вы хотите вести легкомысленный образ жизни работая удаленно, то вам скорее нужно изучать JavaScript/добавить фреймворк по вкусу…
>потому что языку уже больше 15
Ну блин, писать статью на тему «зачем учить Java», и при этом не уточнить хотя бы для себя, что язык появился в 1995, то есть лет-то на самом деле уже далеко за 20…
At first I was like:
>Я разработчик из Яндекс.Маркета
>я сам изучал Java недавно, года полтора назад
НУ ВСЁ, САЖУСЬ ЗА ЯВУ И ЧЕРЕЗ ПОЛТОРА ГОДА БУДУ РАЗРАБОТЧИКОМ

But then:
>На первом курсе в университете мне преподавали C#
А, это опять студент-айтишник
Например, на Python очень здорово писать однострочные скрипты для решения быстрых задач.
Исправьте, пожалуйста, в слове «Perl» у вас 5 опечаток.
4 вообще-то )
первая же буква P одинаковая. А потом да — все остальные написаны неверно )
первая же буква P одинаковая. А потом да — все остальные написаны неверно )

Ну вот я и считал так diff(«Python», «Perl») == «ython» (5 букв)
тьфу. туплю, очевидно

Тоже два раза перечитывал..

Исправлено, спасибо!
Что с Java будет просто пересесть на другие JVM-языки, в том числе Scala — очень смелое утверждение.
Scala ближе к C++ и Haskell, чем к Java. Экосистема там по большей части своя — sbt очень не похож на pom. Java-библиотеки можно использовать в Scala (и даже выглядит это не так страшно, как Java-библиотеки в Clojure), но все равно паттерны использования очень сильно отличаются, и в большенстве случаев приходится писать Scala-ориентированную обертку.
Рассказываете о плюсах — расскажите и о минусах, чтобы новичкам были известные подводные камни.
Хм… Разве GC в последнее время не перестал «тормозить» работу java приложения? Или я что-то путаю!?
пора уже на котлине backend поднимать используя корутины
Конструктор — это не здорово.

Рассказывать про Java и сказать такое — это прям оскорбление.
Очень спорный для публикации текст, который стоило бы ещё до доклада дать вычитать джависту.
разрабатывая на Java, вы, на самом деле, пишете код по JVM, поэтому сможете легко пересесть на Kotlin, Scala и другие языки, использующие JVM
Нет, не можете. То, что код на языке X и языке Y компилируется в общий байткод, вовсе не означает схожесть синтаксисов / методологий (привет, Clojure).
У Java есть такая штука — Garbage Collector.… Эта штука запускается спонтанно и делает stop-the-world
Эта штука есть не у Java, но относится к реализации GC в конкретных JVM. Знакомство с Azul Zing JVM, например, поможет лучше осознать эту разницу. А ещё есть Epsilon.
существует очень много фреймворков и библиотек для Java, потому что языку уже больше 15 лет
Через неделю 24 года, ага.
то есть в 2014-2015 году вышла седьмая, потом восьмая, девятая, десятая, очень много новых версий, и в них вводили очень много новых крутых штук, например, Java Stream API, лямбда и т. д.
Полная каша. По пунктам:
  1. Java 7 вышла в 2011 году.
  2. Java 8 вышла в 2014 году.
  3. «Java Stream API, лямбда», очевидно, тоже в 2014 году.
  4. (взглянул на календарь) Нормально ли называть эти крутые штуки новыми… ну такое.
Внимательно обращаем внимание на нововведения, такие как… var, и т. д. Их спрашивают на собеседованиях, постоянно используют в production.
Чтобы постоянно использовать что-то в production, надо в production иметь версию среды не ниже, чем та, в которой появилось это что-то. Например, var — это Java 10 (2018 год). Учитывая то, как даже в 2019 году хватает предложений тянуть софт [в банках] ещё на Java 6 / 7 (да и на Java 8 многие только недавно своих мамонтов перетащили)… оптимистично, ага.

И т.д., и т.п. Мне импонирует энтузиазм докладчика. И понятно, что живая речь в расшифровке выглядит вовсе не так, как подготовленная к публикации статья. Но даже аудитория будущих стажёров и текущих джуниоров не означает, что планку качества можно снизить и вещать аудитории вон то, что навещалось. Да, они это скушают. Многим может и понравиться (как же, лектор вместо умных скучных слов рассказывает про штуки, штуки, штуки). Но лучше бы всё-таки нет. У вас немало опытных коллег, среди них хватает придирчивых зануд (слава таким бойцам, на них мир держится), в следующий раз не поленитесь попросить их вычитать доклад. Получится намного лучше.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий