LINUX.ORG.RU
ФорумTalks

[лисп r.i.p.]Замыканиям в Java 7 Быть!


0

0

на прошлой неделе на презентации Devoxx было сообщено, что замыкания таки будут включены в язык Java.

Ознакомится как это будет сделано можно в спецификации собстно замыканий и якобы они будут сильно похожи на FCM.

Краткая справка:

тяжелым январьским утром сего года было извещено что замыканиям не бывать в семерке, но всем сно что из убранных фич это самая востребованная (кто возился с вложенными классами тот знает), и вот спустя почти год, проведенных в боях за синтаксис (кой поменялся, таки) в рамках реализации поддержки JVM динамических языков, они пришли! (замыкания, кто не понял) Теперь всем функциональным языкам крышка (лиспу - позолоченная), а виндовс перепишут на яве.

Примеры:

//javac
#int(int,int) plus = #(int x, int y) x+y;

//из FCA

//The following example shows the method type to which 
//a static method reference can be assigned:

  List<String> list = ...
  #(int(Object)) ref = list#indexOf(Object);

//The following example creates an anonymous inner method assigned
// to a method type:

  #(void(ActionEvent)) action = #(ActionEvent ev) {
    System.out.println("ActionEvent fired");
  }

//acessing to this
  public class MyClass {
    public void process() {
      #(void(String)) example = #(String message) {
        Logger.log(this, message);
      };
      example.invoke("Logged message");
    }
  }

★★☆

но всем ясно что из убранных

пофиксил

wfrr ★★☆
() автор топика
Ответ на: комментарий от bioreactor

но прозреваю не в яве, а в некоторых язычках на JVM

wfrr ★★☆
() автор топика

Как вы надоели со своими топиками про программирование, линукс и прочую ИТ-хренотень в толксах!
Здесь вам торт, а не технический ресурс.

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

динамической типизации


Динамическая типизация не нужна™ Есть Scala

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

для особоодаренных, это написано первой строкой моего сообщения, даже первыми словами «на прошлой неделе», не заметить мог только лиспер.

wfrr ★★☆
() автор топика
Ответ на: комментарий от ist76

Как вы надоели со своими топиками про программирование, линукс и прочую ИТ-хренотень в толксах!


выфер, эти зеленые глаза не лгут, перенеси в Development

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

перенеси в Development

Надо было, но теперь ничего не поделаешь, я к счастью не модератор.

Кстати, чего они возятся с этой старушкой? Лучше бы все силы бросили на пиар javafx

ты его юзал?

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

рассылку почитай, там за него не одну конечность поломали, два года рожали, хотя это гораздо лучше чем {x, y -> x*y}

wfrr ★★☆
() автор топика

Насколько уродливо выглядит. Лисп со скобками не помрет.

stave ★★★★★
()

ура! неужели они в моей любимой жабке будут?

CL-USER
()
Ответ на: комментарий от wfrr

> рассылку почитай, там за него не одну конечность поломали, два года рожали

Понимаю, дородовые травмы и тяжелые роды... мог бы вообще умереть, никто бы и не пожалел.

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

ты его юзал?


Читал, что удобный декларативный езыг, для ускорения 90% задач подходит. Ибо Swing считается тормозом на пути дельфибыдлокодеров, и сдерживает популярность жавы в соревновании с .net за души юных падаванов

Karapuz ★★★★★
()

Дело осталось за малым: узнать как эти замыкания реализованы. Это фишка JVM или синтакисический сахар для шаблона Functor. Если второе, то фтопку такие замыкания.

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

> можно на лету менять классы и таблицы (нахрена только вот)

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

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

Читал

Эээ, попробуй на нем нарисовать какойнить интерфейс, и такойже на банальном апплете, сравни скорость запуска - у меня гдеб я не проверял страшно тормозит (ибо тупо компилируется, причем дольше чем жабакод). Кроме того интеграция со swing **** (читать - грязными хаками).

wfrr ★★☆
() автор топика
Ответ на: комментарий от Macil

С помощью JSR 292, как я понял.

wfrr ★★☆
() автор топика
Ответ на: комментарий от isden

Типичный пример - мне нужно выполнить через http произвольный запрос к бд, результат - двумерный массив, который нужно ковырять в Rhino (атас!), слабать объектик, и прокинуть его по http удобнее, для расковыривания его потом в javascript

wfrr ★★☆
() автор топика
Ответ на: комментарий от maxcom

Ну да, я помню была тема как раз об этом.

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

priavte final String id;

priavte Pair<String, List<Map<Integer, Class<? extends Pair>>>> unknownTrash;

как-то так

wfrr ★★☆
() автор топика
Ответ на: комментарий от Deleted

олсо Ъ принцип каждая программа должна делать свою задачу. И делать ее хорошо. Оставим сайтам для исходников остаться хорошими сайтами исходников.

Karapuz ★★★★★
()

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

хотя, если подумать о последних трендах, jit-компиляторах и прочих трейсmonkey.. )

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

Also, goto2ch.

JS тебе жить мешает? Хоть какая-то от него польза будет.

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

>> рассылку почитай, там за него не одну конечность поломали, два года рожали

>Понимаю, дородовые травмы и тяжелые роды... мог бы вообще умереть, никто бы и не пожалел.


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

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

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

Quasar ★★★★★
()

какое же уродство эта ваша ява

beastie ★★★★★
()

уже несколько лет не могу вкурить. что значит «будут»? а то что сейчас - это что? или требуют именно синтаксис поменять? таки с анонимным классом все понятнее и читабельнее

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

Ты жабомашиной чтоли думаешь? В яве щас не замыкания а убожжешство, функция не является объектом (ню чрез жёпурефлекшен, да, но белые человек это не юзают), и прочие затейства, а чтабельность онанимных классов нравится только инопланетянам.

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

чтабельность онанимных классов нравится только инопланетянам

о вкусах не спорят, мне аноним вполне ясен и удобен

В яве щас не замыкания а убожжешство

вот я и пытаюсь узнать, что не так

функция не является объектом

и в чем проблема? анонимный класс является объектом

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

и в чем проблема? анонимный класс является объектом

Нафига тебе анонимные классы new Object() тоже является объектом!

вот я и пытаюсь узнать, что не так

Через свой солипсизм?

о вкусах не спорят, мне аноним вполне ясен и удобен

О вкусах не спорят, тебе вот 1Ц ясен и удобен, к примеру, да.

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

Через свой солипсизм?

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

тебе вот 1Ц ясен и удобен

тролить пытаешься?

причем тут new Object()? не уходи от темы. что не так в анонимных классах, что их нельзя считать реализацией замыкания? единственный огромный минус, который приходит на ум - это необходимость писать интерфейс с нужным методом на каждый чих, что утомляет.

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

не уходи от темы. что не так в анонимных классах


Синтаксический мусор и шум. Всё

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