170 похожих чатов

Всем добрый день. Подскажите, пожалуйста, в чём основные преимущества использования

Java streams API? "Простых ответов" лично у меня не получается - влияние на производительность скорее негативное, перспективы "легко распараллелить вычисления" - очень сомнительные; улучшение читаемости кода - тоже, на мой взгляд, под вопросом.

Тогда в чём проявляются преимущества stream API?

3 ответов

13 просмотров

Быстрее писать код, другим легче читать

Добавлю к минусам ещё что сам API ограничен. Приходится под него код временами прям подстраивать, что подтверждается вопросами на SO типа «а как красиво сделать через стримы»

для меня стримы это другой уровень абстракции. Если ты пишешь for (..) {} то ты пишешь "как надо" (дословно для каждого элемента) выполнять алгоритм, а когда ты пишешь .stream() ты говоришь - что выполнять. В этом как я считаю и есть принципиальная разница. Из этого определения следует, что чернз стрим мы уже не заботимся о том, а как именно происходит итерация по элементам и даем птространство для маневра коимплятору, который в будущем веротяно сможет оптимизировать (сделать безопаснее и тд) эту итерацию за нас. Плюс стрима в том, что стрим можно объявить, но не выполнять, а следовательно передавать как атомарный набор операций при необходимости. Вобщем стрим это не вопрос карсоты даже, а просто разделение ответственности между программистом и внутренним предсавляением языка и средствами работы с ним.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта