Thread View: pl.comp.lang.funkcyjne
16 messages
16 total messages
Started by coccyx
Fri, 21 Nov 2003 18:19
Ktory?
Author: coccyx
Date: Fri, 21 Nov 2003 18:19
Date: Fri, 21 Nov 2003 18:19
15 lines
1446 bytes
1446 bytes
Nie cierpię C++ (tego współczesnego, "postmodernistycznego", rozumiany jako C z klasami był jeszcze znośny). Java i C# też nie najlepszymi językami. Pomyślałem więc o funkcyjnych. Mam krótki wstęp do OCamla. Przeczytałem pierwsze dwieście stron Sussmanów. Ale po archiwum widać, że na grupie bardziej ceniony jest Haskell. Dlaczego? I jakie są znaczące różnice między nimi? (Np. C a Pascal każdy potrafi rozpoznać, ale takich wielkich rozbieżności między nimi nie ma). Czego mam się uczyć, jeśli chcę poznać tylko jeden język, ale za to lepiej? jaq -- ...muutoksat mahdollisia.
Re: Ktory?
Author: DecatonE
Date: Fri, 21 Nov 2003 18:27
Date: Fri, 21 Nov 2003 18:27
12 lines
1335 bytes
1335 bytes
coccyx... > Ale po archiwum widać, że na grupie bardziej ceniony jest Haskell. Haskell jest ładniejszy, bardziej ortodoksyjny... :) Od OCamla bardziej też podoba mi się zwykły SML. Są stosunkowo podobne zresztą - przynajmniej w podstawach. adam -- :: rectifier[X]mesa.eu.org :: e-mail (change [X] into @) :: :: www.mesa.eu.org :: my b&w photographs ::
Re: Ktory?
Author: Piotr Dembiński
Date: Sat, 22 Nov 2003 13:29
Date: Sat, 22 Nov 2003 13:29
8 lines
1125 bytes
1125 bytes
coccyx <mrok@salarrannsoknarfelagid.is> writes: [...] > Ale po archiwum widać, że na grupie bardziej ceniony jest Haskell. > Dlaczego? Bo w Haskellu są *monady* :>
Re: Ktory?
Author: Andrzej Wasowski
Date: Sat, 22 Nov 2003 23:49
Date: Sat, 22 Nov 2003 23:49
25 lines
2150 bytes
2150 bytes
> > > Ale po archiwum widać, że na grupie bardziej ceniony jest Haskell. > > Haskell jest ładniejszy, bardziej ortodoksyjny... :) > Od OCamla bardziej też podoba mi się zwykły SML. Haskell jest po prostu naprawde funkcjonalny, tzn. nieimperatywny. Nie ma zmiennych, petli itd. OCAML i SML sa tak naprawde imperatywne ale programowanie funkcjonalne jest w nich o wiele bardziej naturalne niz np. w Javie (gdzie zasadniczo nie jest mozliwe). To czy jezyk funkcjonalny musi byc naprawde czysty tak jak Haskell wypelnia ogromnie dlugie i zapewne niepotrzebne dyskusje. Niewatpliwe jednak jest, ze Haskell jest z tego powodu trudniejszy do nauczenia. Mym skromnym zdaniem OCAML jest akurat o tyle gorszy (od SMLa), ze wymusza o wiele bardziej imperatywny sposob programowania. Sama biblioteka jest juz bardziej imperatywna. Na pewno zaleta OCAMLa jest szybki kompilator i bogactwo bibliotek. Dla mnie do nauki optymalny jest SML. Jezyk maly, dobrze zdefiniowany i nie trzeba od razu poznawac wielkich teorii, zeby zapisac wiersz do pliku. Znajomosc SMLa pomaga potem docenic i zrozumiec Haskella. OCAML jest preferowany tylko jesli naprawde potrzebujesz szybkosci. To wszystko z discaimerem, ze to moje skromne zdanie. andrzej
Re: Ktory?
Author: Tomasz Zielonka
Date: Sun, 23 Nov 2003 07:52
Date: Sun, 23 Nov 2003 07:52
61 lines
3053 bytes
3053 bytes
Andrzej Wasowski napisał:
>>
>> > Ale po archiwum widać, że na grupie bardziej ceniony jest Haskell.
>>
>> Haskell jest ładniejszy, bardziej ortodoksyjny... :)
>> Od OCamla bardziej też podoba mi się zwykły SML.
>
> Haskell jest po prostu naprawde funkcjonalny, tzn. nieimperatywny. Nie
> ma zmiennych, petli itd.
Prawda jest, ze Haskell nie ma golych zmiennych i petli jak w C czy
pascalu. Udostepnia jednak pewne mechanizmy imperatywne w sposob nie
naruszajacy funkcyjnosci (czy tez referential transparency). Juz w
Haskellu 98 mozesz pisac petle w stylu:
for [1..1000] print
(gdzie for l f = mapM_ f l)
Fajne jest to, ze takie konstrukcje petlace mozna sobie napisac samemu.
Rozszerzenia takie jak referencje (IORef) czy imperatywne tablice sa
dostepne praktycznie we wszystkich kompilatorach.
> OCAML i SML sa tak naprawde imperatywne ale
> programowanie funkcjonalne jest w nich o wiele bardziej naturalne niz
> np. w Javie (gdzie zasadniczo nie jest mozliwe). To czy jezyk
> funkcjonalny musi byc naprawde czysty tak jak Haskell wypelnia ogromnie
> dlugie i zapewne niepotrzebne dyskusje.
Mozemy to uznac za kwestie osobistych preferencji.
> Niewatpliwe jednak jest, ze Haskell jest z tego powodu trudniejszy do
> nauczenia.
Ale moim zdaniem warty tego wysilku :)
> Mym skromnym zdaniem OCAML jest akurat o tyle gorszy (od SMLa), ze
> wymusza o wiele bardziej imperatywny sposob programowania. Sama
> biblioteka jest juz bardziej imperatywna.
Zgadzam sie. Miedzy innymi dlatego po jakims czasie przestal mi sie
podobac.
> Na pewno zaleta OCAMLa jest szybki kompilator i bogactwo bibliotek.
> Dla mnie do nauki optymalny jest SML. Jezyk maly, dobrze zdefiniowany i
> nie trzeba od razu poznawac wielkich teorii, zeby zapisac wiersz do
> pliku. Znajomosc SMLa pomaga potem docenic i zrozumiec Haskella. OCAML
> jest preferowany tylko jesli naprawde potrzebujesz szybkosci.
Z szybkoscia to bywa roznie. Ostatnio udaje mi sie pisac naprawde
szybkie programy w Haskellu.
> andrzej
Pozdrawiam,
Tomek
--
.signature: Too many levels of symbolic links
Re: Ktory?
Author: coccyx
Date: Mon, 24 Nov 2003 15:29
Date: Mon, 24 Nov 2003 15:29
30 lines
2154 bytes
2154 bytes
23 Nov 2003 00:49:38 +0100 w zerojedynkę zamieniając się Andrzej Wasowski <wasowski@see.my.sig>: > To czy jezyk funkcjonalny musi byc naprawde czysty tak jak Haskell > wypelnia ogromnie dlugie i zapewne niepotrzebne dyskusje. No właśnie. Przecież niektóre rzeczy naprawdę łatwiej zrobić imperatywnie. Np. http://www.merjis.com/richj/computers/ocaml/tutorial/ch6.shtml Poza tym, C++ jest może nienajszczęśliwszym przykładem "polepszania" funkcjonalności języka, jednak każdy musi przyznać, że obiektowość często pomaga w programowaniu. Tak więc chyba lepiej móc coś zrobić na kilka sposobów? > Mym skromnym zdaniem OCAML jest akurat o tyle gorszy (od SMLa), ze wymusza > o wiele bardziej imperatywny sposob programowania. Sama biblioteka jest juz > bardziej imperatywna. To nie musi być wadą. Dzięki temu łatwiej się przesiąść z "normanych" języków. Co masz na myśli, mówiąc "wymusza"? > Na pewno zaleta OCAMLa jest szybki kompilator i bogactwo bibliotek. Szybki kompilator, tzn. szybko kompiluje, czy dobrze kompiluje? BTW: Czy istnieje port QT pod któryś z funkcyjnych, a jeśli nie, to czy łatwo napisać wrapper? jaq -- ...muutoksat mahdollisia.
Re: Ktory?
Author: Andrzej Wasowski
Date: Mon, 24 Nov 2003 15:31
Date: Mon, 24 Nov 2003 15:31
46 lines
2697 bytes
2697 bytes
> > To czy jezyk funkcjonalny musi byc naprawde czysty tak jak Haskell > > wypelnia ogromnie dlugie i zapewne niepotrzebne dyskusje. > > No właśnie. Przecież niektóre rzeczy naprawdę łatwiej zrobić > imperatywnie.[CIACH] zauwaz ze piszac "niepotrzebne dyskusje" mialem na celu unikniecie podobnej argumentacji. Postawilem sie po prostu poza tym sporem. Niestosowne jest wiec napisanie "no wlasnie" i potem argumentowanie za impertywnymi konstrukcjami, niby ze idac po moim toku rozumowania. > > Mym skromnym zdaniem OCAML jest akurat o tyle gorszy (od SMLa), ze > > wymusza o wiele bardziej imperatywny sposob programowania. Sama > > biblioteka jest juz bardziej imperatywna. > > To nie musi być wadą. Dzięki temu łatwiej się przesiąść z "normanych" > języków. To jest wada w przypadku jezyka funkcjonalnego. Jak masz sie nauczyc programowac funkcjonalnie, kiedy nawet takie stirngi sa imperatywne. W zasadzie czegokolwiek sie niedotkniesz. > Co masz na myśli, mówiąc "wymusza"? Tzn. ze biblioteka ma duzo imperatywnych funkcji a nie ma ich nieimperatywnych odpowiednikow. Zatem jak tylko zaczynasz korzystac z biblioteki Twoj program staje sie imperatywny. W SMLu standardem pisania jest ze Twoj program w zasadzie jest funkcjonalny, a cech imperatywnych uzywa sie ekstremalnie rzadko (i do robienia IO). W ocamlu sprawa niemal sie odwraca. Wszystko robi sie imperatywne przez ta (cholerna) biblioteke. > > Na pewno zaleta OCAMLa jest szybki kompilator i bogactwo bibliotek. > > Szybki kompilator, tzn. szybko kompiluje, czy dobrze kompiluje? No oczywiscie mialem na mysli, ze dobrze kompiluje. Choc szybki tez jest. andrzej --
Re: Ktory?
Author: DecatonE
Date: Mon, 24 Nov 2003 15:44
Date: Mon, 24 Nov 2003 15:44
50 lines
3005 bytes
3005 bytes
coccyx...
> biektowość
> często pomaga w programowaniu. Tak więc chyba lepiej móc coś zrobić
> na kilka sposobów?
Hmm... obejrz sobie jeszcze Mozarta i Alice.
Mają wspólną (lub w znacznej mierze wspólną) maszynę wirtualną.
Mozart był wcześniej i jest nieco bardziej rozwinięty, Alice
za to ma przyzwoitą składnię, opartą na SML'u w olbrzymiej części
(można mówić o jakimś poziomie kompatybilności wręcz).
Oba mają dużo bajerów :)
www.mozart-oz.org
www.ps.uni-sb.de/alice/
Cyt.
"Alice is a functional programming language based on Standard ML,
extended with support for concurrent, distributed, and constraint
programming. Alice extends Standard ML with several new features:
Laziness: combining strict and transparent lazy functional programming
Futures: "logic variables" and concurrency
Higher-order modules: a more powerful module language
Components: platform-independence and type-safe dynamic
loading of modules
Packages: integrating static with dynamic typing and first class
modules
Pickling: higher-order and platform-independent, type-safe persistence
Constraints: solving combinatorical problems using constraints and
programmable search
The Alice system is a powerful, open-source programming system
featuring the following tools:
Interactive system: an interpreter-like interactive toplevel
Batch compiler: separate compilation
Static linker: type-safe bundling of components
Inspector: a tool for interactively inspecting data structures
Explorer: a tool for interactively investigating search
problems
Gtk+: a binding for the Gnome toolkit GUI library"
adam
--
:: rectifier[X]mesa.eu.org :: e-mail (change [X] into @) ::
:: www.mesa.eu.org :: my b&w photographs ::
Re: Ktory?
Author: coccyx
Date: Mon, 24 Nov 2003 16:47
Date: Mon, 24 Nov 2003 16:47
31 lines
2150 bytes
2150 bytes
24 Nov 2003 16:31:48 +0100 w zerojedynkę zamieniając się Andrzej Wasowski <wasowski@see.my.sig>: > zauwaz ze piszac "niepotrzebne dyskusje" mialem na celu unikniecie > podobnej argumentacji. Postawilem sie po prostu poza tym > sporem. Niestosowne jest wiec napisanie "no wlasnie" i potem > argumentowanie za impertywnymi konstrukcjami, niby ze idac po moim toku > rozumowania. No, rzeczywiście powinienem przeprosić. > To jest wada w przypadku jezyka funkcjonalnego. Jak masz sie nauczyc > programowac funkcjonalnie, kiedy nawet takie stirngi sa imperatywne. W > zasadzie czegokolwiek sie niedotkniesz. No to chyba rzeczywiście. > W ocamlu sprawa niemal sie odwraca. Wszystko robi sie imperatywne przez ta > (cholerna) biblioteke. No ale gdzie indziej pisze, że Ocaml ma więcej bibliotek niż inne funkcyjne. Czyli albo rybki, albo akwarium? > > > Na pewno zaleta OCAMLa jest szybki kompilator i bogactwo bibliotek. Tej zalety nie sposób przecenić. Jeśli chce się wygrać z C++ z jednej, a Javą z drugiej strony. jaq -- ...muutoksat mahdollisia.
Re: Ktory?
Author: Andrzej Wasowski
Date: Mon, 24 Nov 2003 19:55
Date: Mon, 24 Nov 2003 19:55
15 lines
1591 bytes
1591 bytes
> > W ocamlu sprawa niemal sie odwraca. Wszystko robi sie imperatywne > > przez ta (cholerna) biblioteke. > > No ale gdzie indziej pisze, że Ocaml ma więcej bibliotek niż inne > funkcyjne. Czyli albo rybki, albo akwarium? Z ta cholerna to oczywiscie mnie ponioslo. Przepraszam. Wszyscy wiemy, ze nie ma rzeczy idealnych. Biblioteka jest zle zaprojektowana z punktu widzenia programowania funkcjonalnego. Jest jednak dobra ze wzgledu na bogactwo (mialem tez na mysli biblioteki niestandardowe). andrzej --
Re: Ktory?
Author: Adam Przybyla
Date: Tue, 25 Nov 2003 10:02
Date: Tue, 25 Nov 2003 10:02
6 lines
1313 bytes
1313 bytes
coccyx <mrok@salarrannsoknarfelagid.is> wrote: > BTW: Czy istnieje port QT pod któryś z funkcyjnych, a jeśli nie, to czy > łatwo napisać wrapper? ... w allegro byla mozliiwosc pisania interface do c i bibliotek. Nie powinno byc z tym problemow. Z powazaniem Adam Przybyla
Re: Ktory?
Author: Michał Politowski
Date: Tue, 25 Nov 2003 10:29
Date: Tue, 25 Nov 2003 10:29
10 lines
1569 bytes
1569 bytes
On Mon, 24 Nov 2003 15:29:28 +0000 (UTC), coccyx <mrok@salarrannsoknarfelagid.is> wrote: [...] > BTW: Czy istnieje port QT pod któryś z funkcyjnych, a jeśli nie, to czy > łatwo napisać wrapper? http://www.mimuw.edu.pl/~alx/SPFiL/tematy.php#obronione -- Michał Politowski -- mpol@charybda.icm.edu.pl Talking has been known to lead to communication if practised carelessly.
Re: Ktory?
Author: coccyx
Date: Tue, 25 Nov 2003 13:58
Date: Tue, 25 Nov 2003 13:58
15 lines
1597 bytes
1597 bytes
Tue, 25 Nov 2003 10:29:49 +0000 (UTC) w zerojedynkę zamieniając się Michał Politowski <reply@reply-to.address>: > > BTW: Czy istnieje port QT pod któryś z funkcyjnych? > http://www.mimuw.edu.pl/~alx/SPFiL/tematy.php#obronione Przyszłość rysuje się w różowych barwach .-) Czy to poszło w świat? Na listę ocamla, do trolltechu? Jeszcze nie zacząłem czytać, ale jeśli coś zostało zrobione przez jedną osobę, ma większe szanse być lepszym od pracy grupy. Z powodu tzw. big view. jaq -- ...muutoksat mahdollisia.
Re: Ktory?
Author: coccyx
Date: Tue, 25 Nov 2003 14:03
Date: Tue, 25 Nov 2003 14:03
12 lines
1541 bytes
1541 bytes
Tue, 25 Nov 2003 13:58:01 +0000 (UTC) w zerojedynkę zamieniając się coccyx <mrok@salarrannsoknarfelagid.is>: > Tue, 25 Nov 2003 10:29:49 +0000 (UTC) w zerojedynkę zamieniając się Michał Politowski <reply@reply-to.address>: > > http://www.mimuw.edu.pl/~alx/SPFiL/tematy.php#obronione > > Przyszłość rysuje się w różowych barwach A może jednak nie. Rozdział 5. o problemach - studzi zapały. jaq -- ...muutoksat mahdollisia.
Re: Ktory?
Author: DecatonE
Date: Tue, 25 Nov 2003 14:25
Date: Tue, 25 Nov 2003 14:25
20 lines
1847 bytes
1847 bytes
coccyx... > A może jednak nie. Rozdział 5. o problemach - studzi zapały. Zobacz sobie jeszcze Cleana: http://www.cs.kun.nl/~clean/ Są tam przykłady gier i aplikacji okienkowych (scrabble). Clean z tego co zdążyłem się domyśleć z comp.lang.functional jest dość szanowanym językiem, a pod względem składni najbliżej mu chyba do Haskella. Duża i porządna instrukcja ;) Trochę bibliotek - sam zobacz czy wystarczą :) adam -- :: rectifier[X]mesa.eu.org :: e-mail (change [X] into @) :: :: www.mesa.eu.org :: my b&w photographs :: :: http://groups.yahoo.com/group/KenWilberPL/ ::
Re: Ktory?
Author: DecatonE
Date: Tue, 25 Nov 2003 14:29
Date: Tue, 25 Nov 2003 14:29
7 lines
1351 bytes
1351 bytes
DecatonE... > Zobacz sobie jeszcze Cleana: No chyba, że koniecznie ma być QT - z tym to już nie wiem. adam
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