LINUX.ORG.RU

Джошуа Блох о замыканиях


0

0

Известный программист и архитектор программных систем Джошуа Блох дает интервью, в котором рассказывает, чем он занимается в Google, что он думает о предложении ввести в язык Java поддержку замыканий, о необходимости поддержки многопроцессорного исполнения кода функциональными языками, о введении LINQ в язык C# и еще много о чем...

>>> Подробности

anonymous

Проверено: svu ()

JavaScript, да ещё и быдлофлеш? Это такой новый способ избевательства над теми, кто ходит по ссылкам?

Sikon ★★★
()
Ответ на: комментарий от Sikon

> JavaScript, да ещё и быдлофлеш? Это такой новый способ избевательства над теми, кто ходит по ссылкам?

+1024

anonymous
()

В Яве завелись блохи.

xTERM ★★
()
Ответ на: комментарий от Sikon

>JavaScript, да ещё и быдлофлеш? Это такой новый способ избевательства над теми, кто ходит по ссылкам?

А нефиг традиции нарушать

kingstone
()
Ответ на: комментарий от anonymous

>Чешуя Блох рулит!

:D

зы: Специально, за тем только и зашел в тему, чтобы посмотерть, кто чего успел придумать на счет его фамилии.. ))

anonymous
()

Вот кто мне втолкует - "за що" такое внимание такому неуклюжему, прожорливому, всеми нелюбимому продукту?!!

Pronin ★★★★
()
Ответ на: комментарий от AndreyKl

AndreyKl> кто ходил по ссылке, о чём там вкратце?

Попробовал сходить, но в ужасе вышел обратно.

JackYF ★★★★
()
Ответ на: комментарий от AndreyKl

>кто ходил по ссылке, о чём там вкратце?

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

muhas ★★★
()

Круто. За день второй сайт, не работающий в Опере. Это, учитывая то, что я с таковыми с год не сталкивался. Хватит, что ли, принимать вещества? :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

да у мя это вообще первый сайт не работающий в опере :(
блохи сцуки. флеш гавно...

muhas ★★★
()
Ответ на: комментарий от KRoN73

Opera 9.50 Beta 2 Build 1729 всё работает (в т.ч. javascript-переход на разные части видео), если не считать того, что сам flash-плагин периодически падает

GPFault ★★
()

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

anonymous
()
Ответ на: комментарий от anonymous

> всю бошку сломал, думал что за "замыкания"... Почитал их - это оказалось тупой сериализацией

Отдохнуть бы вам надо.

anonymous
()
Ответ на: комментарий от GPFault

>Opera 9.50 Beta 2 Build 1729

1719 не работает. Или я просто не понял, что там к чему :D

KRoN73 ★★★★★
()
Ответ на: комментарий от GPFault

>Opera 9.50 Beta 2 Build 1729 всё работает (в т.ч. javascript-переход на разные части видео), если не считать того, что сам flash-плагин периодически падает

Build 9716. переход на разные части видео не работает

anonimuos
()
Ответ на: комментарий от anonymous

>всю бошку сломал, думал что за "замыкания"... Почитал их - это оказалось тупой сериализацией

Замыкания это функции вообще-то. Ээээ, или вы о чем то своем, о женском?

PS Ветка зачетная. Поржал. Спасибо. По традиции никто не хочет сходить по ссылкам, никто не хочет узнать, что думает Дж.Блох о LINQ, у всех на LOR похоже и так есть свое мнение.

anonymous
()
Ответ на: комментарий от anonymous

> всю бошку сломал, думал что за "замыкания"... Почитал их - это оказалось тупой сериализацией

Ломай дальше, не правильно понял...

anonymous
()
Ответ на: комментарий от anonymous

> Ветка зачетная. Поржал. Спасибо. По традиции никто не хочет сходить по ссылкам, никто не хочет узнать, что думает Дж.Блох о LINQ, у всех на LOR похоже и так есть свое мнение.

Не совсем так. Некоторые оперОвцы сходили, что бы проверить, работает ли сайт в их браузере

anonimuos
()
Ответ на: комментарий от kost-bebix

>Эккель вот тоже написал об этой херне. Говорит "Ява в тупике", насколько я понял.

>http://www.artima.com/weblogs/viewpost.jsp?thread=221903

Насколько я понял эту статью, он пишет что Ява превратилась в рабочую лошадь типа ANSI C89, и развиваться ей вроде бы дальше некуда. Из плюсов - не надо все переписывать раз в 3-5 лет с выходом новой революционной линейки фреймворков из Windows, из минусов - пеарить нечем.

Absurd ★★★
()

Джошуа Блох написал книгу "Эффективное программирование на Java", эта книга считается лучшей для профессионального использования. Она с далеким отрывом стабильно занимает первое место в голосовалке на javalobby по книгам. Также он писал коллекции для Java 2.

anonymous
()
Ответ на: комментарий от anonimuos

>люди, подскажите, что такое замыкания?

Это то, о чём говорят блохи...

magesor ★☆
()
Ответ на: комментарий от Absurd

> Насколько я понял эту статью, он пишет что Ява превратилась в рабочую лошадь типа ANSI C89, и развиваться ей вроде бы дальше некуда.

Пусть тогда добавят стандартную поддержку какого-нить языка, на котором можно писать курсовые и прочее for fun, а не только production за $4k/месяц. И чтобы не тормозил. А, и еще что-нить функционального. Как раз лет на пять работы хватит.

sv75 ★★★★★
()
Ответ на: комментарий от Chapaev

> Грит, учите Java, приходите работать к нам в Google.

Обсуждалась пара тем (недоработок?) связанных с Java. И сказал что "мы используем C++, Java и Python в Google", что уже и так всем известно. Замыкания на Питоне уже давно реализованы, на Java может через пару лет будут. Питон всё больше и больше укрепляется в массах, у профи уже давно.

anonymous
()
Ответ на: комментарий от Absurd

>Насколько я понял эту статью, он пишет что Ява превратилась в рабочую лошадь типа ANSI C89, и развиваться ей вроде бы дальше некуда. Из плюсов - не надо все переписывать раз в 3-5 лет с выходом новой революционной линейки фреймворков из Windows, из минусов - пеарить нечем.

Ява задумывалась как язык с минимальным набором конструкций и развивалась так до версии 1.4 включительно. Затем Sun поменяла своё мнение, переименовала версию 1.5 в 5.0 (т.к. 1.5 - слишком мало) и язык стал обрастать костылями. В результате синтаксис стал перегруженным и нелогичным. Остановка развития означает немедленную смерть, не одного нового проекта - только поддержка старых. Добавление новых фич позволяет продлить жизнь, но вечно так продолжаться не может

anonimuos
()
Ответ на: комментарий от anonimuos

>Ява задумывалась как язык с минимальным набором конструкций и развивалась так до версии 1.4 включительно. Затем Sun поменяла своё мнение, переименовала версию 1.5 в 5.0 (т.к. 1.5 - слишком мало) и язык стал обрастать костылями. В результате синтаксис стал перегруженным и нелогичным. Остановка развития означает немедленную смерть, не одного нового проекта - только поддержка старых. Добавление новых фич позволяет продлить жизнь, но вечно так продолжаться не может

Это какими же костылями она обросла? Генерики и аннотации? Упрощенный синтаксис for для коллекций и массивов?

Здесь еще все относительно прилично по сравнению с C#. А кому нужно что-нибудь функциональное - пользуйтесь скалой

anonymous
()
Ответ на: комментарий от sv75

> Пусть тогда добавят стандартную поддержку какого-нить языка, на котором можно писать курсовые и прочее for fun

А для fun требуется именно "стандартная поддержка"? o_O А так - Jython давно уже есть.

tailgunner ★★★★★
()
Ответ на: комментарий от sv75

> Пусть тогда добавят стандартную поддержку какого-нить языка, на котором можно писать курсовые и прочее for fun, а не только production за $4k/месяц.

kawa? :)

> И чтобы не тормозил.

Чтобы работал быстрее чем JVM? 8-О

> А, и еще что-нить функционального. Как раз лет на пять работы хватит.

Уже есть. Пользуйтесь и допиливайте :)

yyk ★★★★★
()
Ответ на: комментарий от anonimuos

> Нужны анонимные функции

В Java и 'функции'? 8-О

А 'анонимные' классы в Java есть (хоть анонимность и "липовая")

yyk ★★★★★
()
Ответ на: комментарий от tailgunner

> Криво реализованные генерики.

А для чего вам "прямее"?

yyk ★★★★★
()
Ответ на: комментарий от anonimuos

>Затем Sun поменяла своё мнение, переименовала версию 1.5 в 5.0 (т.к. 1.5 - слишком мало) и язык стал обрастать костылями. В результате синтаксис стал перегруженным и нелогичным. Остановка развития означает немедленную смерть, не одного нового проекта - только поддержка старых. Добавление новых фич позволяет продлить жизнь, но вечно так продолжаться не может

Дык в Sun не только хотят фичи добавлять, сколько добавление фич не должно бить по производительности скомпилированного кода. А это не такая простая задача, поэтому и не торопятся. А то слепить очередной Ruby ума много не надо, ну и что, что получающийся код в 1000 раз медленнее жабского, мы же добавим для Ruby памяти и поставим еще 10 серверов. Не нам же бабки считать а менеджеру. Вот поэтому Ruby и не попадет никогда в энтерпрайз с такой результирующей производительностью, ее удел Personal Blogs & Home Pages.

А Java промышленный язык общего назначения, который в отличие от C#, должен компилироваться в ~одинаково быстрый код как на Solaris Sparc target машины, так и на Linux/Windows x68/AMD64 target машины. А вот если добавление замыканий затормозит код хотя бы в 10-100 раз, то никто на Java 7 переходить даже не почешется, и Sun в долгосрочной перспективе станет еще хуже

anonymous
()
Ответ на: комментарий от tailgunner

>> Это какими же костылями она обросла? Генерики и аннотации?

>Криво реализованные генерики.

Когда ты в последний раз использовал динамические коллекции атомарных типов? Обычно бывает одно из двух: в типичном бизнес-быдлокодинге всегда нужны массивы объектов, а бэкэнды для хитрой перефасовки бинарных данных, например базы данных на чистой java или zip/ssl какой-нибудь в динамических коллекциях не нуждаются и обходятся массивами фиксированного размера типа int[]. Кроме того, они уже все написаны.

Absurd ★★★
()
Ответ на: комментарий от Absurd

>>Криво реализованные генерики.

>Когда ты в последний раз использовал динамические коллекции атомарных типов?

То есть - невозможность сделать List<int> кривизной не считается?

А вот это?

import java.util.List;

public class A {
void m(List<Integer> l) {}
void m(List<Float> l) {}
}

A.java:4: name clash: m(java.util.List<java.lang.Integer>) and m(java.util.List<java.lang.Float>) have the same erasure

(не надо говорить, что List<Float> и List<Integer> никому не нужны - это только иллюстрация).

Ну и наверняка реальные спецы по Яве набросают и побольше примеров,
почему реализация генериков крива.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Да, ещё и наследование от двух генериков : extends Comparable<Integer>, Comparable<Float>; (List<Integer>)o -> варнинг. toArray() не может генерить массив необходимого типа. нужно toArray(new Integer[list.size()])

theos ★★★
()
Ответ на: комментарий от tailgunner

>>>Криво реализованные генерики.

>>Когда ты в последний раз использовал динамические коллекции атомарных типов?

>То есть - невозможность сделать List<int> кривизной не считается?

Ну в C шаблонов вообще нет никаких. С - кривой язык? Тем не менее 2 my mind языку C больше недостает опциональной уборки мусора чем шаблонов.

>не надо говорить, что List<Float> и List<Integer> никому не нужны - это только иллюстрация

Практика - критерий истины. Коллекций атомарных типов я нигде в бизнес-коде не видел. float вообще для бизнес-кода не годится, только для графики.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> Ну в C шаблонов вообще нет никаких. С - кривой язык?

Я говорил не о кривости _языка_, а о кривости реализации генериков. Хотя и как язык Ява - не особо :)

> Коллекций атомарных типов я нигде в бизнес-коде не видел. float вообще для бизнес-кода не годится, только для графики.

Вечно забываю, что Ява - это Кобол нашего времени :D

tailgunner ★★★★★
()

только теперь понял, что "замыкания", о которых постоянно упоминают студенты и дети бухгалтеров, суть closures.

anonymous
()
Ответ на: комментарий от tailgunner

>> Ну в C шаблонов вообще нет никаких. С - кривой язык?

>Я говорил не о кривости _языка_, а о кривости реализации генериков.

Криво не криво, но применения им нет никакого. Всякие числодробильные вещи где дженерики могли бы быть по идее полезны пишутся на Фортране & С.

>> Коллекций атомарных типов я нигде в бизнес-коде не видел. float вообще для бизнес-кода не годится, только для графики.

>Вечно забываю, что Ява - это Кобол нашего времени :D

А что плохого - это бабки.

Absurd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.