argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: Java 1.7 Closures support Не е Флейм :)  (Прочетена 2017 пъти)

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die

Бая наливах по темата
бая блогове изчетох какво е и така и не намирах смисъла от тях - НАЛИ СИ ИМАМЕ АНОНИМНИ КЛАСОВЕ:)
ето това видео обаче ме убеди че има идея :
http://video.google.com/videoplay?docid=4051253555018153503

Ултра добро е да варно е доста дълго, но е доста полезно.
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #1 -: 08.03.2007, 16:21:55 »

за тези които не са фенове на лекции и харесват повече презентации
ето лекцията само слаидове + говорене без Questions and Answers
http://www.bejug.org/confluenceBeJUG/display/PARLEYS/Closures+for+Java
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #2 -: 08.03.2007, 21:21:14 »

Ох, това е 2 часа. Нямам време да го гледам в момента. Но ако не са ми криви разбиранията, closure-ът трябва да премахне проблема с функция, изцяло дефинирана в друга функция, която се мъчи да достъпва данни от обвиващия я контекс. Май не се изразявам ясно, ама съм леко пийнал в момента  :#1: Празнувам 8-и март дето се казва... Та това ще премахне доста от ограниченията на анонимните класове, които визираш. Но това са стари неща. В доста езици има closure под една или друга форма. Или аз имам грешни представи и става дума за нещо различно?
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #3 -: 08.03.2007, 22:02:03 »

всъщност не само за достапа до данни става въпрос но в общи думи си напълно прав
просто аз не съм писал на други езици и не съм виждал closures нещо повече че те са доста по присъщи за функционални и други не ООП езици да го кажем и реално ето още една причина да не съм ги виждал/ ползвал и да не съм им се кефил
реално филмчето обаче ме накефи важен е само първия час и .. 20 минути някъде после са въпроси и отговори не че не са интересни
верно е 2 часа ама мен ме накефи
2рия линк е само лекцията 1 час.
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #4 -: 09.03.2007, 21:57:03 »

Абе то това хубаво, ама не се сещам за някой смислен съвременен език, дето сериозно да застъпва closures. И аз не искам да правя флейм обаче какво става...  Въвеждаме ООП-то с разните му там инкапсулации, полиморфизми и т.н. и после изведнъж - бам closures, дето чупят всякакви правила за visability (а и полиморфизма в някои случаи). Closures в Java, Objects в Perl... Тоя свят не отива на добре.
Активен

Jack Johnson

  • Неактивен Неактивен
  • Публикации: 704
  • Хора, пазете си здравето! То няма цена!
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #5 -: 10.03.2007, 19:19:58 »

До колкото знам един смислен език, който поддържа "closures" е C#.

Защо в кавички?

Защото честно казано не съм се задълбавал по темата и малко ми убягва точния смисъл на "closures".

Кое точно е "closure"? Дефинирането на метод в метод (познато ми от времето, когато още пишех на Pascal), или извратеното присвояване на метод към променлива (указател към функция в езика C)? Или е нещо съвсем друго?

JOKe казва, че това е безсмислено, та нали си имаме анонимни класове! Тогава мога и аз да попитам - за какво са ни анонимни класове - та нали си имаме работещо ООП без анонимни класове в Java 1.0?

Идеята ми е, че ако така се връщаме назад и се питаме кое е излишно и може да се замени с друго, което вече съществува, тогава рано или късно ще се върнем до писането на асемблер-like езици.

Няма нищо лошо в "closures", нека ги има! Който иска - нека ги използва, който не иска - нека не ги използва. Въпрос на избор.

В Java 7 мен лично повече ме интересува какви облекчения ще се въведат в областта на боравенето с XML и кога най-после ще видим application server като част от Java SE (вече имаме DB engine и олекотен HTTP server). Движението е в посока надолу, т.е. неща, които са били част от Java EE "слизат" към Java SE. Според моята логика скоро следва да видим application server като неизменна част от Java SE.

Сега ми хрумна, че идеята да се въведат "closures" в Java се е появила на бял свят не заради друго, а заради конкуренцията със C#. Въпреки че основно пиша на Java, все още мисля, че C# е доста по-кадърно скалъпен език, който отстъпва на Java само в едно отношение - enum структурите.

Много се отклоних от идеята на темата. Като обобщение мога да кажа, че повече изразни средства в един език за програмиране дават по-голяма свобода на избор на и без това изстрадалите програмисти, които се чудят как да напишат това и това, така че просто "да тръгне".

Ако става въпрос за бъдеща поддръжка и лесно четене на код - въвеждането на "closures" е пълно безумие (ако някой си е играл скоро да дебъгва указатели към функции знае за какво говоря).

Ще си позволя да дам следния леко завоалиран съвет към всички Java програмисти:

- "Страдате от затруднено четене на код? В последно време дебъгвате по-трудно от преди? Кодът Ви е пълен със странни вуду символи от рода на:

Map<Integer, String> (Set<String>, List<Short>) closureNew = closureOld;

Решението е само едно - не използвайте closures, освен при крайна необходимост!"
« Последна редакция: 10.03.2007, 22:56:42 от Иван Давидов »
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #6 -: 10.03.2007, 22:28:52 »

Иван Давидов : а ве всъщност никои не го прави за C острия по скоро заради езиците които се харесват на мнозина Жавари а именно Руби Питон и етц.
в смисъл че човек явно използвал ли е closures после му липсват нензам :).
За enum ? че кво им е мощното в Java неможе да дадеш стоиности па в C острия можеш :( тзтзтз.
Manchev : чесно казано мен нищо след 1.4.2 което е влезнало и което променя езика не ми е харесало ама кво да се прави ( даже generics )
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #7 -: 13.03.2007, 23:48:22 »

Значи Иване...  Как можа само в един пост да напишеш толкова много глупости?  :rock:
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #8 -: 13.03.2007, 23:50:57 »


Manchev : чесно казано мен нищо след 1.4.2 което е влезнало и което променя езика не ми е харесало ама кво да се прави ( даже generics )


Това е щото одъртяваме. Нали знаеш за старото куче и за новите номера  :wink:
Активен

Jack Johnson

  • Неактивен Неактивен
  • Публикации: 704
  • Хора, пазете си здравето! То няма цена!
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #9 -: 14.03.2007, 17:29:32 »

Значи Иване...  Как можа само в един пост да напишеш толкова много глупости?  :rock:

Хм... чак пък много?! Ако наистина е човешко е да се греши, можи би сега му е било времето и съм станал твърде човечен! Кое по-точно от написаното от мен е глупост? Ако ми (по)кажеш може би друг път ще пиша по-малко глупости!
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java 1.7 Closures support Не е Флейм :)
« Отговор #10 -: 15.03.2007, 23:31:43 »

Хм... чак пък много?! Ако наистина е човешко е да се греши, можи би сега му е било времето и съм станал твърде човечен! Кое по-точно от написаното от мен е глупост? Ако ми (по)кажеш може би друг път ще пиша по-малко глупости!

Ти пък сега не го взимай навътре. Аз не се съмнявам в способностите ти, щото те познавам. Въпросът е, че в началото на поста си сам признаваш че темата ти е мътна, а въпреки това изказваш сума ти крайни мнения. Дето се казва - почети малко, виж кое как, пък тогава със строгите коментари. Та ако се зачетеш по-сериозно и после си прегледаш поста, сам ще си откриеш нередностите. Иначе става малко като оная шопската приказка - "аз не знам как, ама не е така".  :-) Айде споко и не се впрягай  :beer:
Активен