Thread View: pl.comp.lang.ruby
9 messages
9 total messages
Started by Maciej Piechotka
Fri, 07 Sep 2007 15:14
Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Maciej Piechotka
Date: Fri, 07 Sep 2007 15:14
Date: Fri, 07 Sep 2007 15:14
59 lines
2167 bytes
2167 bytes
Narzekano na brak dyskucji na pl.comp.lang.ruby więc może zaproponuje
temat 'świetej wojny' ;)
Są zapowiedzi że Ruby 2.0 nie będzie miało kontynuacji (łatwiejsza
integracja z JRuby). Dla mnie kontynuacje to wspaniałe narzedzie które
pozwala uniknąć różnych dziwnych klas narzędziowych.
Poczynając od tworzenia tego typu rzeczy co(ściągniete z którejś planety o
RoR lub Ruby):
class Object
def in? array
array.include? self
end
end
Na dodawaniu nowych możliwości kończąc (przykład jakiegoś kodu do
serializacji):
class Object
def serialize
#...
end
end
class Array
def serialize
#...
end
end
o.serialize
Kontra(tego nie można modyfikować w przypadku dodania nowego typu):
if o.is_a? Array
#...
elsif o.is_a? #...
#...
else # Object
#...
ewentualnie(rozszerzalne):
class Serializer
# ...
def serialize o
@serialize[o.class].call o
end
end
1. Co Wy sądzicie o kontynuacjach?
2. Czy ktoś wie, czy mają być usunięte?
Pozdrawiam
--
I've probably left my head... somewhere. Please wait untill I find it.
Homepage (pl_PL): http://uzytkownik.jogger.pl/
(GNU/)Linux User: #425935 (see http://counter.li.org/)
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Przemysław Kowalczyk
Date: Fri, 07 Sep 2007 16:05
Date: Fri, 07 Sep 2007 16:05
22 lines
1505 bytes
1505 bytes
On Fri, 07 Sep 2007 17:14:48 +0200, Maciej Piechotka <uzytkownik2@gmail.com> wrote: > > Są zapowiedzi że Ruby 2.0 nie będzie miało kontynuacji (łatwiejsza > integracja z JRuby). Dla mnie kontynuacje to wspaniałe narzedzie które > pozwala uniknąć różnych dziwnych klas narzędziowych. > > Poczynając od tworzenia tego typu rzeczy co(ściągniete z którejś planety > o > RoR lub Ruby): > > class Object > def in? array > array.include? self > end > end to i wszystkie kolejne przyklady to nie sa kontynuacje, tylko tzw. otwarte klasy. polecam: http://en.wikipedia.org/wiki/Continuation pzdr szeryf
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Szymon 'tichy'
Date: Fri, 07 Sep 2007 16:26
Date: Fri, 07 Sep 2007 16:26
24 lines
2240 bytes
2240 bytes
Maciej Piechotka wrote: > Narzekano na brak dyskucji na pl.comp.lang.ruby więc może zaproponuje > temat 'świetej wojny' ;) > > Są zapowiedzi że Ruby 2.0 nie będzie miało kontynuacji (łatwiejsza > integracja z JRuby). Dla mnie kontynuacje to wspaniałe narzedzie które > pozwala uniknąć różnych dziwnych klas narzędziowych. To by było dziwne. Są implementacje Scheme (gdzie call/cc jest od zawsze) siedzące na Javie (zarówno interpretery jak i te działające z poziomu VM, dodam że nie znam szczegółów. Z tego co się orientuję owe kontynuacje nie są niestety 'serializowalne'). Tak więc skoro da się ze Scheme to z Rubym też się powinno dać. Imho kontynuacje powinny być wszędzie (tzn. w każdym języku który chciałbym używać), ale w wymagają uwagi ;) jeśli język nie jest od początku przewidziany pod kontynuacje to dobra integracja (i sama ich sensowna implementacja) z resztą może być trudna. Powtarzam cudze opinie. Nigdy nie napisałem kompilatora i pewnie mi się to już nie przytrafi ;) O kontynuacjach często mówi się że to 'funkcyjne GO TO do potęgi', takie coś jest cenne ale nie należy przesadzać jeśli potem jakiś praktykant z liceum o profilu 'informatycznym' ma to przerabiać ;)
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Marcin Mielżyński
Date: Fri, 07 Sep 2007 16:30
Date: Fri, 07 Sep 2007 16:30
11 lines
1209 bytes
1209 bytes
Przemysław Kowalczyk pisze: >> end > > to i wszystkie kolejne przyklady to nie sa kontynuacje, tylko tzw. > otwarte klasy. polecam: http://en.wikipedia.org/wiki/Continuation > Inna sprawa że kontynuacje w MRI dają dużo do życzenia lopex
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Maciej Piechotka
Date: Fri, 07 Sep 2007 20:02
Date: Fri, 07 Sep 2007 20:02
33 lines
2023 bytes
2023 bytes
On Fri, 07 Sep 2007 18:05:07 +0200, Przemysław Kowalczyk wrote: > On Fri, 07 Sep 2007 17:14:48 +0200, Maciej Piechotka > <uzytkownik2@gmail.com> wrote: >> >> Są zapowiedzi że Ruby 2.0 nie będzie miało kontynuacji (łatwiejsza >> integracja z JRuby). Dla mnie kontynuacje to wspaniałe narzedzie które >> pozwala uniknąć różnych dziwnych klas narzędziowych. >> >> Poczynając od tworzenia tego typu rzeczy co(ściągniete z którejś >> planety o >> RoR lub Ruby): >> >> class Object >> def in? array >> array.include? self >> end >> end > > to i wszystkie kolejne przyklady to nie sa kontynuacje, tylko tzw. > otwarte klasy. polecam: http://en.wikipedia.org/wiki/Continuation > > pzdr > szeryf Ops. Mój błąd - nie mam zielonego pojęcia dlaczego mi się pomyliły. Pozdrawiam -- I've probably left my head... somewhere. Please wait untill I find it. Homepage (pl_PL): http://uzytkownik.jogger.pl/ (GNU/)Linux User: #425935 (see http://counter.li.org/)
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Szymon 'tichy'
Date: Sat, 08 Sep 2007 09:34
Date: Sat, 08 Sep 2007 09:34
47 lines
3107 bytes
3107 bytes
Maciej Piechotka wrote: > Narzekano na brak dyskucji na pl.comp.lang.ruby więc może zaproponuje > temat 'świetej wojny' ;) Rozumiem że nie chodziło Ci o 'klasy cośtam' (napisałeś że Ci się pomyliło, ale teraz to nie wiem co miałeś na myśli) ? tu raczej nie ma się o co spierać, tzn. czy warto czy nie. To jest z R. nieusuwalne w tym sensie nie wiem czemu taka amputacja miała by służyć... poważne ograniczenie i nic w zamian (tzn. żadnego uproszczenia / ułatwienia z punktu widzenia deweloperów). > Są zapowiedzi że Ruby 2.0 nie będzie miało kontynuacji (łatwiejsza > integracja z JRuby). Jakieś namiary ? Btw, ograniczanie języka tylko po to żeby łatwiej było zrobić wersję pasującą do Javy... imho to by była głupota... niech zrobią taką maszynę wirtualną Javy żeby się na niej językom dynamicznym wygodniej siedziało :> Zdziwił bym się gdyby zrezygnowano z jednego bądź drugiego... no chyba że (w przypadku kontynuacji) spodziewają się 'kolizji', np. z 'sysytemem' wyjątków i/lub unwind-protect (nie mam pojęcia jak to jest w Rubym, poza tym te problemy są afaik 'rozwiązywalne'). Wątpię czy deweloperzy będą chcieli coś 'odejmować'... właśnie się zastanawiam czy to (potencjalne odrywanie ficzerów) zwiększa szanse kolejnego hitu sezonu (wcześniej Python teraz Ruby). Ale chyba nie bo nie przypominam sobie żeby w ciągu ostatnich lat jakiś język (z tych popularnych) promowano kładąc nacisk na konkrety ;) a jeśli już się jakiś trafi to są albo slogany jak w przypadku Javy ;> tudzież 'nowości' w rodzaju GC :> Hm, zofftopiłem... ale zastanawia mnie czy / jaki będzie następca Rubego. Wydawcy w rodzaju O'Reillego potrzebują Brubych i Ciponow -- użyszkodnicy niekoniecznie jeszcze jednego języka różniącego się o włos czy dwa. Tak więc mam nadzieję że nie będzie. Nie sądzę żeby wydawcom chciało się za jakiś czas wydawać książki o Perlu 6, ten język już miał swój wodospad papieru... chociaż kto wie ;) Najchętniej bym widział coś Erlangopodobnego ale takiej rewolucji się nie spodziewam.
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Marcin Mielżyński
Date: Sat, 08 Sep 2007 12:21
Date: Sat, 08 Sep 2007 12:21
60 lines
3462 bytes
3462 bytes
Szymon 'tichy' pisze: > Maciej Piechotka wrote: > >> Narzekano na brak dyskucji na pl.comp.lang.ruby więc może zaproponuje >> temat 'świetej wojny' ;) > > Rozumiem że nie chodziło Ci o 'klasy cośtam' (napisałeś że > Ci się pomyliło, ale teraz to nie wiem co miałeś na myśli) ? > tu raczej nie ma się o co spierać, tzn. czy warto czy nie. > To jest z R. nieusuwalne w tym sensie nie wiem czemu > taka amputacja miała by służyć... poważne ograniczenie > i nic w zamian (tzn. żadnego uproszczenia / ułatwienia > z punktu widzenia deweloperów). > >> Są zapowiedzi że Ruby 2.0 nie będzie miało kontynuacji (łatwiejsza >> integracja z JRuby). > > Jakieś namiary ? Btw, ograniczanie języka tylko po to żeby > łatwiej było zrobić wersję pasującą do Javy... imho > to by była głupota... niech zrobią taką maszynę wirtualną > Javy żeby się na niej językom dynamicznym wygodniej > siedziało :> > > Zdziwił bym się gdyby zrezygnowano z jednego bądź > drugiego... no chyba że (w przypadku kontynuacji) > spodziewają się 'kolizji', np. z 'sysytemem' wyjątków > i/lub unwind-protect (nie mam pojęcia jak to jest w Rubym, > poza tym te problemy są afaik 'rozwiązywalne'). Kontynuacje stanęły pod znakiem zapytania przy budowie YARV'a na którym bazuje nowa implementacja. Do tej pory Ruby używał green threads co pozwalało na pełną kontrolę nad runtimem (który nie musiał być thread-safe). Z tą świadomością przeprojektowany został jruby (choć już powstały pomysły jak zrealizować w nim kontynuacje). W maju tego roku kontynuacje zostały jednak dodane a ostatnio dodane zostały również fibers: http://www.infoq.com/news/2007/08/ruby-1-9-fibers > > Hm, zofftopiłem... ale zastanawia mnie czy / jaki będzie > następca Rubego. Wydawcy w rodzaju O'Reillego potrzebują > Brubych i Ciponow -- użyszkodnicy niekoniecznie jeszcze > jednego języka różniącego się o włos czy dwa. Tak więc mam > nadzieję że nie będzie. Nie sądzę żeby wydawcom chciało się > za jakiś czas wydawać książki o Perlu 6, ten język już miał > swój wodospad papieru... chociaż kto wie ;) Najchętniej Erlang znowu może mieć: http://www.pragmaticprogrammer.com/titles/jaerlang/ > bym widział coś Erlangopodobnego ale takiej rewolucji > się nie spodziewam. http://www.iolanguage.com/ ? http://metalua.luaforge.net/ ? może też scala, ale to już inna bajka... lopex
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Szymon 'tichy'
Date: Sat, 08 Sep 2007 13:19
Date: Sat, 08 Sep 2007 13:19
42 lines
2796 bytes
2796 bytes
Marcin Mielżyński wrote: >> >> Hm, zofftopiłem... ale zastanawia mnie czy / jaki będzie >> następca Rubego. Wydawcy w rodzaju O'Reillego potrzebują >> Brubych i Ciponow -- użyszkodnicy niekoniecznie jeszcze >> jednego języka różniącego się o włos czy dwa. Tak więc mam >> nadzieję że nie będzie. Nie sądzę żeby wydawcom chciało się >> za jakiś czas wydawać książki o Perlu 6, ten język już miał >> swój wodospad papieru... chociaż kto wie ;) Najchętniej > > Erlang znowu może mieć: > http://www.pragmaticprogrammer.com/titles/jaerlang/ > >> bym widział coś Erlangopodobnego ale takiej rewolucji >> się nie spodziewam. > > http://www.iolanguage.com/ ? > http://metalua.luaforge.net/ ? Opowiedź 'na szybko' (muszę na dłużej opuścić krzesło ;)) IO mi się nawet podoba, choć z ciekawostek wolałbym Factor (łatwo go wyklikać bo autorem jest Slava Pestov (nie wiem jak się go po naszemu 'pisze')). Nie sądzę żeby 'takie' języki się przebiły, chyba za bardzo odbiegają od 'średniej'. Oczywiście może być tak że Ruby czy Perl 6 nieco tę średnią 'przesunie'... mimo to jestem sceptykiem (jestem nim między innymi z powodu nie tyle nawet popularności PHP czy VB co różnych ochów i achów nad tymi gniotami ;>) Btw, O'Reilly o ile mi wiadomo zarzucił politykę 'Nie piszemy o Lispie, koniec kropka' (było kiedyś na ich stronie takie stwierdzenie). Widziałem nawet niedawno ich książkę która zawiera snipety Scheme. Btw, Japończycy mają 'swojego' Rubego, my mogli byśmy mieć Koguta ;) tzn. gdyby ludziom się chciało go używać... do usłyszenia niedługo (chyba mnie przed kąputerem nie będzie parę dni, ale jak wrócę to siadam do 'pisania' bloga w RoR :))
Re: Kontynuacja - przekleństwo czy błogosławieństwo?
Author: Maciej Piechotka
Date: Sat, 08 Sep 2007 15:59
Date: Sat, 08 Sep 2007 15:59
27 lines
2266 bytes
2266 bytes
On Sat, 08 Sep 2007 11:34:49 +0200, Szymon 'tichy' wrote: >> Narzekano na brak dyskucji na pl.comp.lang.ruby więc może zaproponuje >> temat 'świetej wojny' > > Rozumiem że nie chodziło Ci o 'klasy cośtam' (napisałeś że Ci się > pomyliło, ale teraz to nie wiem co miałeś na myśli) ? tu raczej nie ma > się o co spierać, tzn. czy warto czy nie. To jest z R. nieusuwalne w tym > sensie nie wiem czemu taka amputacja miała by służyć... poważne > ograniczenie i nic w zamian (tzn. żadnego uproszczenia / ułatwienia z > punktu widzenia deweloperów). % bzr log 1. Usłyszałem o klasach otwartych i spodobały mi się 2. Usłyszałem o kontynuacjach ale nigdy ich nie użyłem 3. Zapomniałem o <2> i jak się nazywa <1> 4. Zobaczyłem zapowiedź (choćby na stronie JRuby) że kontynuacje mają być usunięte w 2.0 jako nieprzenośne do Javy bez ingerencji w bytecode. 5. Uznałem, że <1> nazywa się <2> i wydawało mi się, że mają to usunąć. Za często pisze klasy otwrte za mało czytam jak one się nazywają. Pozdrawiam -- I've probably left my head... somewhere. Please wait untill I find it. Homepage (pl_PL): http://uzytkownik.jogger.pl/ (GNU/)Linux User: #425935 (see http://counter.li.org/)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads