Pull to refresh

Comments 19

Потоки в Java можно сравнить с движением воды в водопаде или в реке. 

Сравнение так сравнение) что это значит вообще?

Самурай без меча подобен самураю с мечом только без меча. :)

Это означает неудачный выбор статьи для перевода, а план по пиару хостинга надо выполнять!

UFO just landed and posted this here

Объясните, зачем эти костыли с интерфейсами на каждый чих? Правда, что не осилили нормальные функциональные типы(например, (String, String) -> String вместо BiFunction) и кусок синтаксиса для их поддержки?

Я думаю для обратной совместимости.
А в чем отличие если люди все равно пишут (x, y) -> x

Обратная совместимость это, конечно, магические слова, которыми всё можно оправдать, но я не очень понимаю, каким она тут боком.

Разница в том, что с нормальным синтаксисом не надо было бы придумывать 100500 разных интерфейсов про одно и то же. Плюс не было бы тайных знаний про то, что вот, есть, дескать, особые интерфейсы, которые можно представить лямбдами. И не надо было бы компилятору про это рассказывать костыльной аннотацией.

Аннотация
@FunctionalInterface
нужна лишь для проверки на этапе компиляции, что интерфейс действительно функциональный (т.е. содержит ровно один абстрактный метод), чтобы случайно не сломать код, добавив ещё один абстрактный метод. В самих функциональных интерфейсах, перечисленных в статье, нет абсолютно ничего магического, это просто универсальные заготовки. А так любой интерфейс, в котором есть ровно один абстрактный метод, работает как функциональный (может инстанцироваться лямбда-выражением вместо анонимного класса), например, Comparator, который в джаве с версии 1.2.

Да я и говорю про эти интерфейсы, которые с одним методом. И про проверку компилятором, да. Я прекрасно это всё знаю, и всё это не отвечает на мой начальный вопрос.

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

А во вторых, потом захотелось бы именованные типы, что бы не писать по сто раз String, String, String. Да и что бы понятнее было.

По мне так нормальное и красивое решение. И вам и нам так сказать.

Объясните, зачем эти костыли с интерфейсами на каждый чих? Правда, что не осилили нормальные функциональные типы(например, (String, String) -> String вместо BiFunction) и кусок синтаксиса для их поддержки?

Зачем добавлять новые отдельные типы, когда фича замечательно ложится на уже существующие интерфейсы с щепоткой синтаксического сахара?

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

Очень странная статья, «Размышления о Java 8 и Java 11 в ожидании Java 17», после чего перечислили несколько новых возможностей Java 8 (довольно скомканно), вообще ничего не сказали ни про Java 11, ни про Java 17. Зачем они тогда в заголовке?

Такое чувство, что у автора была статья про Java 8 лет десять назад, он добавил к ней пару абзацев, поменял заголовок и получил вроде бы актуальную модную статью. Зачем такое вообще переводить-то?
А вы смотрите теги всегда. Если начинается с «Блог компании ...», значит скорее всего статья ни о чем, просто чтоб план выполнить.

Очень жаль, что на Хабре нет черного списка, чтоб такие вот компании с их блогами в него загонять.
Есть механизм загнать рейтинг статьи ниже плинтуса, но такие статьи стабильно выше нуля. Значит либо есть потребители такого контента, либо работают механизмы накрутки.
Не всегда, в корпоротивных блогах тоже бывают интересные статья (да я сам писал несесколько статей в корп.блог).

Вы правы, но откуда у этой статьи рейтинг 13?

Бестолковая не статья а джава, и сравнение с водопадами и реками это как раз и есть "про джава" которая осталась в джава 8 а потом умерла а все что после "выходит" это игры с ностальгией или эксплуатация мавзолея.

Касательно интерфейсов - ООП - всё, его место где-то возле си++ а а прототипирования ему делать нечего, джависты это поняли уже окончательно и пихают как умеют функциональность в свое родное ООПэ

Хотя уже и еду понятно что все для чего могла быть нужна джава давно и на вселенную проще и полноценнее делает JS, но куда ж девать короны джава-чемпионов? И что сказать в молящие глаза упёртых адептов вскормленных годами запредельных зарплат за глубокомысленное смотрение в окно и думанье дум про объектную модель нанашего мега приложения подпирающего небо !?

Sign up to leave a comment.