Comments 27
Перевод сделал из-за того, что мне показался интересным пост, несмотря на непосредственную причастность Brian Goetz к «высоким материям» внутри Oracle. Schouten же человек, на которого я вижу периодические ссылки, т.е. вроде как тоже не последний товарищ в Java-сообществе.
+3
Как вы видите, из-за одних только Лямбда-выражений будет множество оптимизиационных моментов, которыми сможет воспользоваться программист для достижения оптимальной производительности от Лямбда-выражений. Лямбда-выражения сделают жизнь и программирование для мультиядерных машин легче, где фреймворк Fork-Join также даст серьёзную производительность. Я думаю, что все детали проработаны и реализация очень изящна.
Этот текст хоть раз был прочитал, качество перевода ужасно, абзац выше — что угодно, но точно не перевод:
So, as you can see, besides just Lambda expressions, there will be many other optimizations that will allow programmers to optimally take advantage of Lambda expressions. Lambda expressions will also make it easier to write code that is optimized to run on multi-core computers. This is an area where the Fork-Join framework will also provide huge improvements. I've seen some details and the implementation is really smart.
+3
А в чем конкретнее заключается разница между Lambda-выражениями и нынешними SAM? Только в синтаксисе?
0
Лямбды не могут иметь никаких побочных эффектов, а SAM это обычные методы.
Поэтому лямбды можно оптимизировать как угодно.
Поэтому лямбды можно оптимизировать как угодно.
-2
я не могу вызвать из лямбды метод? Ведь в методе может быть спрятан побочный эффект.
+2
не можете. Иначе просто не зачем городить огород со всеми этими лямбдами.
-2
хм, а толку от лямбд которые не могут вызывать методы?
Т.е. что нам остается? Только арифметические операции и всё?
Т.е. что нам остается? Только арифметические операции и всё?
+1
А что вам еще нужно?
Вы можете сделать любые вычисления, вообще любые. Просто не можете никуда сохранить результат — это должен сделать метод, который вашу лямбду вызывает. Смысл в том, что лямбда-вычисления уж очень хорошо оптимизируются.
Вы можете сделать любые вычисления, вообще любые. Просто не можете никуда сохранить результат — это должен сделать метод, который вашу лямбду вызывает. Смысл в том, что лямбда-вычисления уж очень хорошо оптимизируются.
-3
Не понимаю, батенька, Вы же сами пишите:
people.sortBy(#Person.getLastName);
я не могу в getLastName() написать код который делает System.exit(1) или изменяет состояние объекта?
people.sortBy(#Person.getLastName);
я не могу в getLastName() написать код который делает System.exit(1) или изменяет состояние объекта?
0
Я так подозреваю, что дело в захвате лексического контекста. Т.е. в Java наконец-то появятся классические замыкания.
Сейчас там есть анонимные классы, но это кажется немножко не то.
Сейчас там есть анонимные классы, но это кажется немножко не то.
-1
присоединяюсь к вопросу. Интересно, это будет просто сахар, или будут какие-то изменения в jvm?
0
Нет, для ламбда-выражений в jvm ничего специального делать не будут — все будет решаться во время компиляции.
Хотя вообще, рассматривать только ламбда-выражения вне контекста всего проекта Lambda — не совсем правильно: да, ламбда-выражения, по сути, синтаксический сахар, но вот весь проект Lambda в сумме — это подготовка Java к эпохе многоядерных систем.
Хотя вообще, рассматривать только ламбда-выражения вне контекста всего проекта Lambda — не совсем правильно: да, ламбда-выражения, по сути, синтаксический сахар, но вот весь проект Lambda в сумме — это подготовка Java к эпохе многоядерных систем.
0
Пока все изменения — чисто сахар. Где-то даже видел пруф. Да и в статье же написано: лямбды транслируются в SAM-объекты.
Плохо то, что все нововведения в джаве смотрятся как пятое колесо, без единой идеи и унифицированного синтаксиса. Просто как взяли отдельную фичу из груви и засандалили в язык. По этой причине мне больше нравится Scala.
Плохо то, что все нововведения в джаве смотрятся как пятое колесо, без единой идеи и унифицированного синтаксиса. Просто как взяли отдельную фичу из груви и засандалили в язык. По этой причине мне больше нравится Scala.
0
теперь я точно знаю, что ничего про будущее Java, не знаю не только я, но и еще непоследние люди в самом Оракле.
-1
Как правильно заметил автор, Оракл не особо публичная компания. Поэтому слово «точно» вообще субъективно для всех, кто не имеет доступа к информации топ-менеджеров.
Да, пост довольно восторженный, но лично я склонен рассматривать не только негативные оценки, но и такие, тем более что идёт ссылка на компетентного специалиста.
Да, пост довольно восторженный, но лично я склонен рассматривать не только негативные оценки, но и такие, тем более что идёт ссылка на компетентного специалиста.
0
Эх, лямбды будут не скоро. Хотя не велика беда. В конце концов, можно уже сейчас использовать Scala, если уж прям хочется языковых фич. Хотя сильно проще от этого жить (по крайней мере мне) не станет.
0
Нафига интересно в синтаксисе решетка?
-1
в groovy замыкания оборачиваются в фигруные скобки и неясно по какой причине нужно дописывать перед ними #, как в вашем примере
-2
как то неуверенно у вас подсвечен код, бледно
0
Sign up to leave a comment.
Разговор с Brian Goetz о будущем Java