Thread View: pl.comp.lang.funkcyjne
45 messages
45 total messages
Started by Grzegorz Rumatowski
Tue, 10 Dec 2002 18:09
Jaki jezyk
Author: Grzegorz Rumatowski
Date: Tue, 10 Dec 2002 18:09
Date: Tue, 10 Dec 2002 18:09
14 lines
1198 bytes
1198 bytes
Hej pclf! Wreszcie ta grupa. Na poczatek latwe chyba pytanie. Od jakiego jezyka zaczac "zabawe" w programowanie funkcyjne: OCaml, Haskell, Gopher ? Grzechu -- G.R.Z.E.C.H.U.: General Robotic Zombie Engineered for Calculation and Hazardous Utility 01000111 01110010 01111010 01100101 01100011 01101000 01110101 http://republika.pl/grumatow/netykieta.html JID# grzechur@jabberpl.org
Re: Jaki jezyk
Author: Lucifer
Date: Wed, 11 Dec 2002 01:43
Date: Wed, 11 Dec 2002 01:43
20 lines
1630 bytes
1630 bytes
Grzegorz Rumatowski wrote: > Hej pclf! > > Wreszcie ta grupa. > > Na poczatek latwe chyba pytanie. Od jakiego jezyka zaczac "zabawe" w > programowanie funkcyjne: OCaml, Haskell, Gopher ? > > Grzechu W jakim chcesz, ja zaczynalem od ocamla (i poki co nie wchodzilem glebiej w nic innego), wiec o OCamlu: dokumentacji jest sporo, jest ksiazka w jezyku angielskim, ktora wprowadza w jezyk, biblioteke, prezentuje kilka jego zasotoswan. Jest tez uaktualniany z kazda wersja podrecznik - teoria o jezyku + dokladny opis biblioteki standardowej (bez przykladow). OCaml ma przyjemne api dla C, jest bardzo wydajny i wogóle sysko w nim gra ;) -- Lucifer
Re: Jaki jezyk
Author: Marcin 'Qrczak' Kowalczyk
Date: Wed, 11 Dec 2002 09:25
Date: Wed, 11 Dec 2002 09:25
12 lines
1387 bytes
1387 bytes
Tue, 10 Dec 2002 19:09:03 +0100, Grzegorz Rumatowski <grumatowZERO_SPAM@poczta.onet.pl> pisze:
> Na poczatek latwe chyba pytanie. Od jakiego jezyka zaczac "zabawe"
> w programowanie funkcyjne: OCaml, Haskell, Gopher ?
OCaml i Haskell na pewno są w porządku. Gofer to stary, nie rozwijany
już eksperymentalny odłam Haskella - można o nim zapomnieć.
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
Re: Jaki jezyk
Author: Grzegorz Rumatowski
Date: Wed, 11 Dec 2002 23:15
Date: Wed, 11 Dec 2002 23:15
12 lines
1226 bytes
1226 bytes
Marcin 'Qrczak' Kowalczyk wrote: > OCaml i Haskell na pewno są w porządku. Gofer to stary, nie rozwijany > już eksperymentalny odłam Haskella - można o nim zapomnieć. A co powiesz o Clean (http://www.cs.kun.nl/~clean/) ? Grzechu -- G.R.Z.E.C.H.U.: General Robotic Zombie Engineered for Calculation and Hazardous Utility http://republika.pl/grumatow/netykieta.html
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Thu, 12 Dec 2002 11:21
Date: Thu, 12 Dec 2002 11:21
7 lines
1218 bytes
1218 bytes
Grzegorz Rumatowski wrote: > A co powiesz o Clean (http://www.cs.kun.nl/~clean/) ? Qrczak nie lubi Cleana, bo jego autorzy mają niepoważny stosunek do najliczniejszej grupy użytkowników swojego kompilatora - do użytkowników systemów unixowych :)
Re: Jaki jezyk
Author: Marcin 'Qrczak' Kowalczyk
Date: Thu, 12 Dec 2002 14:03
Date: Thu, 12 Dec 2002 14:03
12 lines
1473 bytes
1473 bytes
Thu, 12 Dec 2002 12:21:01 +0100, Mariusz K. Grzeca <mgrzeca@sokrates.mimuw.edu.pl> pisze:
> Qrczak nie lubi Cleana, bo jego autorzy mają niepoważny stosunek do
> najliczniejszej grupy użytkowników swojego kompilatora - do użytkowników
> systemów unixowych :)
Poza tym uważają, że tab ma 4 spacje :-P
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
Re: Jaki jezyk
Author: soovack
Date: Thu, 12 Dec 2002 17:39
Date: Thu, 12 Dec 2002 17:39
23 lines
2059 bytes
2059 bytes
Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w wiadomości news:at9sg6$km0$1@news.tpi.pl... > > A co powiesz o Clean (http://www.cs.kun.nl/~clean/) ? > > Qrczak nie lubi Cleana, bo jego autorzy mają niepoważny stosunek do > najliczniejszej grupy użytkowników swojego kompilatora - do użytkowników > systemów unixowych :) Moze zamiast pisac co kto lubi lub nie podasz pare faktow na temat tego jezyka (bo kto ma to zrobic jesli nie Ty). Nie jest on tak popularny jak ocaml czy haskell i chyba z czegos to wynika (nie liczac dlugosci taba). Prosze o podanie jego zalet i wad oraz ogolna opinie czy warto uczyc sie tego jezyka (jesli tak to z jakich powodow). I w ogole od jakiego jezyka zaczac swoja przygode z programowaniem funkcyjnym? Bede tez wdzieczny za podanie jakiegos tytulu ksiazki czy doka ktory omawialby od podstaw idee i filozofie tego rodzaju programowania (taki "a must read" dla kazdego zainteresowanego poznaniem tego tematu. Z gory dziekuje za odpowiedz. Pozdrawiam, soovack
Re: Jaki jezyk
Author: bajcik
Date: Thu, 12 Dec 2002 18:38
Date: Thu, 12 Dec 2002 18:38
13 lines
1565 bytes
1565 bytes
Świadek Lucifer zeznał: > OCaml ma przyjemne api dla C, jest bardzo wydajny i > wogóle sysko w nim gra ;) to api do C to po to by można go było osadzać w zwykłym programie? Czy jedynie do robienia rozszerzeń? bajcik -- .----- Krzysztof Garus ----- http://kolos.math.uni.lodz.pl/~bajcik/ --. | http://kolos.math.uni.lodz.pl/~bajcik/duskc/ - proszę o krytykę :) | `---------------------------------------------------------- mcxcvi ---'
Re: Jaki jezyk
Author: Lucifer
Date: Fri, 13 Dec 2002 12:06
Date: Fri, 13 Dec 2002 12:06
27 lines
2049 bytes
2049 bytes
bajcik@kolos.math.uni.lodz.pl wrote: > Świadek Lucifer zeznał: > >>OCaml ma przyjemne api dla C, jest bardzo wydajny i >>wogóle sysko w nim gra ;) > > > to api do C to po to by można go było osadzać w zwykłym programie? Czy > jedynie do robienia rozszerzeń? > > bajcik Jedno i drugie. Jesli do osadzania w kodzie C - kompilujesz ml'e do plikow obiektowych, w C wywolujesz caml_main (albo jakos tak) i wszystko razem konsolidujesz. Jesli rozszerzenia - masz do dyspozycji makra, ktore odtaguja i wyciagna z typu value to co chcesz, mozna tez z poziomu C korzystac z ocamlowego odsmiecacza (custom_blocks) - czyli mozesz zaalokowac dowolna strukture C, przypisac jej destruktor z czestotliwoscia, haszowanie, porownywanie i serializacje i prawie nie martwic sie o jej automatyczne wywalenie (u mnie nie zawsze to dziala, musze z poziomu ocamla kazac odsmiecaczowi zrobic przeglad, bo program sie konczy i nie sa zwalniane wszystkie smieci). -- Lucifer
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Fri, 13 Dec 2002 13:33
Date: Fri, 13 Dec 2002 13:33
37 lines
2522 bytes
2522 bytes
soovack wrote: > Nie jest on tak popularny jak ocaml czy haskell i chyba z czegos > to wynika (nie liczac dlugosci taba). Wynika to z: - lekceważenia innych niż wintel platform - lekceważenia bug-reportów - licencji - niedostępności źródeł (teraz już są, ale za późno) - faktu iż dość długo Clean był tylko językiem pośrednim pozbawionym lukru syntaktycznego - faktu że to Haskell powstał jako standardowy, leniwy język funkcyjny, więc to wokól niego skupiała się cała naukowa burza mózgów. > Prosze o podanie jego zalet i wad oraz ogolna opinie czy > warto uczyc sie tego jezyka (jesli tak to z jakich powodow). Warto się uczyć każdego języka i warto poznać jak najwięcej języków. Clean jest *bardzo* podobny do Haskella, jest czysto funkcyjnym, leniwym językiem funkcyjnym - to determinuje więkość jego wad i zalet: jest elegancki, ekspresywny, a przy tym mało wydajny i pamięciożerny. Moim zdaniem warto poznać i Cleana i Haskella, zaczynając od Cleana (bo gdy poznasz Hasella już nie wrócisz do Cleana...) > I w ogole od jakiego jezyka zaczac swoja przygode z programowaniem > funkcyjnym? Wybór nie jest taki znów duży, więc to nie ma dużego znaczenia. Najlepiej jednocześnie od Haskella i SMLa... > Bede tez wdzieczny za podanie jakiegos tytulu ksiazki czy doka > ktory omawialby od podstaw idee i filozofie tego rodzaju > programowania Przepraszam, za naiwne pytanie, ale czy gugla wyłączyli? :)
Re: Jaki jezyk
Author: soovack
Date: Fri, 13 Dec 2002 18:24
Date: Fri, 13 Dec 2002 18:24
61 lines
3740 bytes
3740 bytes
Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w wiadomości news:atcnnk$6c4$2@news.tpi.pl... > > Nie jest on tak popularny jak ocaml czy haskell i chyba z czegos > > to wynika (nie liczac dlugosci taba). > > Wynika to z: [cut] > - faktu iż dość długo Clean był tylko językiem pośrednim pozbawionym > lukru syntaktycznego Co mam rozumiec przez pojecie: "lukier syntaktyczny" ? > Clean jest *bardzo* podobny do Haskella, jest czysto funkcyjnym, leniwym > językiem funkcyjnym - to determinuje więkość jego wad i zalet: jest > elegancki, ekspresywny, a przy tym mało wydajny i pamięciożerny. Moim > zdaniem warto poznać i Cleana i Haskella, zaczynając od Cleana (bo gdy > poznasz Hasella już nie wrócisz do Cleana...) > Apropos "*bardzo* podobny do Haskella" - czy tym co je rozni jest pojecie 'sequential' i 'concurrent' ? I przy okazji prosilbym o wytlumaczenie powyzszych terminow bo w faq'u c.l.f. ani slowa o tym nie wspomniano a wg tej cechy podzielono wszystkie jezyki funkcyjne (nie wiem czy do imperatywnych tez sie to odnosi?). A i jeszcze jedno - pieszesz ze clean jest "malo wydajny i pamieciozerny" - czy to sa cechy wspolne z haskell'em czy raczej to je rozni? A jesli jest to ich wspolny mianownik to jaki w takim razie jezyk jest ich przeciwienstwem - lub chociaz tylko wydajny? > > I w ogole od jakiego jezyka zaczac swoja przygode z programowaniem > > funkcyjnym? > > Wybór nie jest taki znów duży, więc to nie ma dużego znaczenia. > Najlepiej jednocześnie od Haskella i SMLa... > Jak to nie ma duzego wyboru - w w/w faq'u naliczylem 20 jezykow! Dla kogos takiego jak ja (czytaj: lamera) to o 19 za duzo ;-) O wiekszosci z nich nigdy nie slyszalem wiec tym trudniej cos wybrac. A poza tym jak wiadomo to co jest popularne nie zawsze jest dobre. Ale widze ze jednak haskell jest no 1. > > Bede tez wdzieczny za podanie jakiegos tytulu ksiazki czy doka > > ktory omawialby od podstaw idee i filozofie tego rodzaju > > programowania > > Przepraszam, za naiwne pytanie, ale czy gugla wyłączyli? :) > To nie bylby taki glupi pomysl - ile to postow w stylu: zaloz sobie gogle, google twoim przyjacielem itp itd mniej na grupach ;-) A tak na powaznie to doskonale wiesz jak duzo jest linkow do hasla "functional programming" - i tak samo dobrze wiesz ktore sa warte odwiedzenia bo bez nich nie wiedzialbys tego co wiesz dzisiaj (a wiesz bardzo duzo). Poza tym nie kazda praca poswiecona temu tematowi jest dobra. A zreszta nie bede juz dalej ciagnal tematu tylko zdam sie na to co polecaja goscie z c.l.f. w swoim faq'u. Dziekuje za odpowiedz i pozdrawiam, soovack
Re: Jaki jezyk
Author: Michal Przybylek
Date: Fri, 13 Dec 2002 22:15
Date: Fri, 13 Dec 2002 22:15
20 lines
1931 bytes
1931 bytes
"soovack" <soovack@gazeta.pl> wrote: > Jak to nie ma duzego wyboru - w w/w faq'u naliczylem 20 jezykow! > Dla kogos takiego jak ja (czytaj: lamera) to o 19 za duzo ;-) > O wiekszosci z nich nigdy nie slyszalem wiec tym trudniej > cos wybrac. A poza tym jak wiadomo to co jest popularne > nie zawsze jest dobre. > Ale widze ze jednak haskell jest no 1. Zacznij od Scheme - nie wypacza muzgu, lagodnie uczy deklaratywnego myslenia, jest maly, mily, przyjemny, latwy w nauce, posiada ciekawe i calkiem zaawansowane mechanizmy, pozwala na latwa implementacje pozostalych (co jest szczegolnie wazne, albowiem daje mozliwosc poznania owych mechanizmow "od srodka"), jest do niego sporo dobrej i darmowej literatury. Haskell jest chyba najgorszym z mozliwych wyborow na poczatek nauki... mp
Re: Jaki jezyk
Author: soovack
Date: Sat, 14 Dec 2002 00:15
Date: Sat, 14 Dec 2002 00:15
25 lines
2248 bytes
2248 bytes
Użytkownik "Michal Przybylek" <pkmichal@poczta.onet.pl> napisał w wiadomości news:atdmfs$kdp$1@news.tpi.pl... > Zacznij od Scheme - nie wypacza muzgu, lagodnie uczy deklaratywnego > myslenia, jest maly, mily, przyjemny, latwy w nauce, posiada ciekawe i > calkiem zaawansowane mechanizmy, pozwala na latwa implementacje pozostalych > (co jest szczegolnie wazne, albowiem daje mozliwosc poznania owych > mechanizmow "od srodka"), jest do niego sporo dobrej i darmowej literatury. > OK - rozgladne sie za tym - moze jak raz bedzie to strzal w 10. > Haskell jest chyba najgorszym z mozliwych wyborow na poczatek nauki... > Dlaczego tak uwazasz? I moze tak przy okazji haskell'a - czemu zawdziecza on swoja popularnosc? Co prawda Mariusz napisal ze powstal on jako /pierwszy w pelni/ (- to jest moje domniemanie i nie wiem czy sluszne wiec jakby co to prosze mnie poprawic) standardowy leniwy jezyk funkcyjny ale czy to jedyny powod? A jesli prawda jest ze jest on podobnie jak clean malo wydajny i pamieciozerny to juz zupelnie nie wiem w czym tkwi jego sila. Z gory dziekuje za odpowiedz. Pozdrawiam, soovack
Re: Jaki jezyk
Author: Michal Przybylek
Date: Sat, 14 Dec 2002 22:14
Date: Sat, 14 Dec 2002 22:14
53 lines
2816 bytes
2816 bytes
"soovack" <soovack@gazeta.pl> wrote: > > Haskell jest chyba najgorszym z mozliwych wyborow na poczatek > > nauki... > > > Dlaczego tak uwazasz? Haskell jest ucielesnieniem wyobrazenia bandy scjentystow o elegancji jezyka. Niektorzy to cenia (np. ja), niektorzy kochaja, a niektorzy sa szczesliwi, ze znalezli w Haskell'u od dawna poszukiwana "silver bullet". Ci zdrowi smieja sie zas... bo smiesznym jest celowe komplikowanie rzeczy prostych... Prawda jest, ze aby zrozumiec ten jezyk trzeba miec samemu zboczenie w strone "science". Nie polecam na poczatek, bo a) nie jest dobra inwestycja w przyszlosc (nauczy Cie tylko malego kawalka "programowania" ; sam jezyk jest bardzo "sztywny") b) wpaja deklaratywizm az do granic fanatyzmu, a ten jak kazdy inny nigdy nie prowadzi do niczego dobrego i c) nie nalezy do najprostszych jezykow programowania. > I moze tak przy okazji haskell'a - czemu zawdziecza on swoja > popularnosc? Jaka popularnosc ? Jedna jaskolka wiosny nie czyni. Dwie takze... > Co prawda Mariusz napisal ze powstal on jako > /pierwszy w pelni/ (- to jest moje domniemanie i nie wiem czy > sluszne wiec jakby co to prosze mnie poprawic) standardowy > leniwy jezyk funkcyjny To juz pytanie nie do mnie. Sa na tej grupie osoby bardziej kompetentne w tej sprawie niz ja. > ale czy to jedyny powod? Powod na co ? ;-) > A jesli prawda jest ze jest on podobnie jak clean malo wydajny > i pamieciozerny to juz zupelnie nie wiem w czym tkwi jego sila. Ogolnie jest mniej wydajny od Clean'a. Sam jezyk jako taki. Poza tym, ma duzo gorsze kompilatory. ps. ze srodowisk do nauki Scheme polecam PLT Scheme. mp
Re: Jaki jezyk
Author: soovack
Date: Sun, 15 Dec 2002 01:04
Date: Sun, 15 Dec 2002 01:04
82 lines
4582 bytes
4582 bytes
Użytkownik "Michal Przybylek" <pkmichal@poczta.onet.pl> napisał w wiadomości news:atgan1$4mj$1@news.tpi.pl... > Haskell jest ucielesnieniem wyobrazenia bandy scjentystow o elegancji > jezyka. > Niektorzy to cenia (np. ja), niektorzy kochaja, a niektorzy sa szczesliwi, > ze znalezli w Haskell'u od dawna poszukiwana "silver bullet". Ci zdrowi > smieja sie zas... bo smiesznym jest celowe komplikowanie rzeczy prostych... > Prawda jest, ze aby zrozumiec ten jezyk trzeba miec samemu zboczenie w > strone "science". > Niestety zboczony nie jestem wiec chyba dam sobie spokoj z tym jezykiem (przynajmniej do czasu az zalapie o co chodzi w tym programowaniu funkcyjnym). > > Nie polecam na poczatek, bo a) nie jest dobra inwestycja w przyszlosc > (nauczy Cie tylko malego kawalka "programowania" ; sam jezyk jest bardzo > "sztywny") b) wpaja deklaratywizm az do granic fanatyzmu, a ten jak kazdy > inny nigdy nie prowadzi do niczego dobrego i c) nie nalezy do najprostszych > jezykow programowania. > OK - wierze Ci na slowo - haskell bedzie musial poczekac na swoja kolejke (a jest ona dluga jak okiem siegnac). Tych wszystkich jezykow jest tak duzo (mam tu na mysli jezyki programowania roznej masci - nie tylko funkcyjne) ze az glowa boli jak trzeba sie na cos zdecydowac. > > I moze tak przy okazji haskell'a - czemu zawdziecza on swoja > > popularnosc? > > Jaka popularnosc ? > Jedna jaskolka wiosny nie czyni. Dwie takze... > Byc moze jestem po prostu w bledzie. Wniosek ten wyciagnalem z przegladania grup dyskusyjnych (p.c.l.c i p.c.p) i tam jezyk ten (obok ocamla) byl najczesciej wymieniany kiedy dyskusja tyczyla PF. Przyznaje ze nie mam bladego pojecia jak to sie ma do rzeczywistosci czyli zastosowania jezyka w praktyce. Moze duzo sie o nim tylko mowi a pisze w nim znacznie mniej. > > Co prawda Mariusz napisal ze powstal on jako > > /pierwszy w pelni/ (- to jest moje domniemanie i nie wiem czy > > sluszne wiec jakby co to prosze mnie poprawic) standardowy > > leniwy jezyk funkcyjny > > To juz pytanie nie do mnie. Sa na tej grupie osoby bardziej kompetentne w > tej sprawie niz ja. > > > ale czy to jedyny powod? > > Powod na co ? ;-) > Chodzilo mi o to ze moze jego domniemana przeze mnie popularnosc wziela sie stad ze powstal jako ... (tutaj cytat odnosnie Mariusza). Ale to i tak juz nie jest wazne wiec moze zostawmy temat popularnosci haskella w spokoju (niech r.i.p. ;-) > > A jesli prawda jest ze jest on podobnie jak clean malo wydajny > > i pamieciozerny to juz zupelnie nie wiem w czym tkwi jego sila. > > Ogolnie jest mniej wydajny od Clean'a. Sam jezyk jako taki. Poza tym, ma > duzo gorsze kompilatory. > No to juz calkiem mnie przekonales - jezeli juz to predzej zabiore sie za cleana niz haskella. > ps. ze srodowisk do nauki Scheme polecam PLT Scheme. > Uprzedziles moje pytanie - ale mimo to chcialbym prosic Cie o uzasadnienie. W faqu do scheme'a zalecane sa przynajmniej trzy srodowiska - plt, mit i chez. A i innych nie brakuje wiec ciekaw jestem dlaczego wybrales akurat plt. I jeszcze jedno pytanko (juz na koniec) - z jakiej ksiazki proponujesz zaczac nauke tego jezyka? Wlasnie zakonczylem wyszukiwanie w sieci roznych dokumentow na ten temat ale jest tego tak duzo ze nie wiem od czego zaczac - chetnie poznam Twoje typy do najlepszego opracowania. Dziekuje za pomoc. Pozdrawiam serdecznie, soovack
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Sun, 15 Dec 2002 01:19
Date: Sun, 15 Dec 2002 01:19
53 lines
3131 bytes
3131 bytes
soovack wrote: > Co mam rozumiec przez pojecie: "lukier syntaktyczny" ? Czysto składniowe konstrukcje, wprowadzone wyłącznie dla wygody programisty. > Apropos "*bardzo* podobny do Haskella" - czy tym co je > rozni jest pojecie 'sequential' i 'concurrent' ? Nie, oba są sekwencyjne (wbrew potocznej opinii o Cleanie...). Nazwa 'Concurrent Clean' jest związana raczej z historią języka, niż jego cechami - powstał przy okazji badań nad równoległą redukcją grafów, ale nigdy nie posiadał wsparcia dla programowania współbieżnego. Istotnie różni je sposób w jaki łączą imperatywność z czystą funkcyjnością - Clean używa typów liniowych, a Haskell monad. > I przy okazji prosilbym o wytlumaczenie powyzszych terminow Gugiel i Foldoc nie wiedzą co znaczy concurrent i sequential? Aż mi się nie chce wierzyć... ;) concurrent = współbieżny sequential = sekwencyjny, czyli niewspółbieżny :) > (nie wiem czy do imperatywnych tez sie to odnosi?). Oczywiście. > A i jeszcze jedno - pieszesz ze clean jest "malo wydajny i > pamieciozerny" - czy to sa cechy wspolne z haskell'em > czy raczej to je rozni? To jest cecha leniwości. Każda implementacja leniwego języka, która nie oszukuje jest mało wydajna i pamięciożerna. > A jesli jest to ich wspolny mianownik to jaki w takim razie > jezyk jest ich przeciwienstwem - lub chociaz tylko wydajny? C :) A wśród funkcyjnych dowolny silnie typowany, gorliwy. > Jak to nie ma duzego wyboru - w w/w faq'u naliczylem 20 jezykow! Część umarła, np. LML, Miranda, Gofer, Hope. Cześć różni się tylko 'kolorem lakieru', np. Miranda, Gofer, Haskell i Clean, albo SML i OCaml. Więc istotnie różnych języków, które w ogóle można sprawdzić w akcji nie jest dużo :) > Dla kogos takiego jak ja (czytaj: lamera) to o 19 za duzo ;-) > O wiekszosci z nich nigdy nie slyszalem wiec tym trudniej > cos wybrac. Rzuć kostką ;) To naprawdę nie ma aż tak dużego znaczenia...
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Sun, 15 Dec 2002 01:32
Date: Sun, 15 Dec 2002 01:32
17 lines
1732 bytes
1732 bytes
soovack wrote: > Dlaczego tak uwazasz? Bo Michał nie lubi czystej deklaratywności :) > I moze tak przy okazji haskell'a - czemu zawdziecza on swoja > popularnosc? Co prawda Mariusz napisal Ale nie napisał, że jest popularny. Cleana nikt nie używa, więc Haskell jest w porównaniu z nim popularny. Ale ma pewnie kilka rzędów wielkości mniej użytkowników niż lispy, czy nawet ocaml. > A jesli prawda jest ze jest on podobnie jak clean malo wydajny > i pamieciozerny to juz zupelnie nie wiem w czym tkwi jego sila. ??? A w czym tkwi siła języków funkcyjnych?
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Sun, 15 Dec 2002 01:41
Date: Sun, 15 Dec 2002 01:41
14 lines
1783 bytes
1783 bytes
Michal Przybylek wrote: > Ogolnie jest mniej wydajny od Clean'a. Ehehe. Pisanie w każdej publikacji, że Clean jest najwydajniejszym leniwym językiem funkcyjnym przynosi skutki. Sam się dałem na to nabrać. Są kłamstwa, cholerne kłamstwa i benchmarki, ale mimo wszystko wolę te ostatnie, niż puste słowa. A benchmarki wskazują, że Clean wcale nie jest tak mocny jak sugerują jego autorzy. > Poza tym, ma duzo gorsze kompilatory. Jesteś pewien, czy uwierzyłeś Rinusowi i spółce? ;) Clean ma niestety zaskakująco nędzny kompilator...
Re: Jaki jezyk
Author: Tomasz Zielonka
Date: Sun, 15 Dec 2002 09:03
Date: Sun, 15 Dec 2002 09:03
18 lines
1609 bytes
1609 bytes
Mariusz K. Grzeca napisał: > > To jest cecha leniwości. Każda implementacja leniwego języka, która nie > oszukuje jest mało wydajna i pamięciożerna. Co masz na myśli mówiąc "oszukuje"? Jakieś niebezpieczne optymalizacje? PS. Moim zdaniem przesadzasz trochę ciągle powtarzając jaki to Haskell jest mało wydajny i pamięciożerny. Owszem, leniwość ma swój koszt, ale GHC w wielu przypadkach zaskoczył mnie jednak bardzo dobrą wydajością i dużymi możliwościami ręcznej optymalizacji kodu. pozdrawiam, tomek -- .signature: Too many levels of symbolic links
Re: Jaki jezyk
Author: Michal Przybylek
Date: Sun, 15 Dec 2002 17:35
Date: Sun, 15 Dec 2002 17:35
13 lines
1504 bytes
1504 bytes
"Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> wrote: [...] > > Poza tym, ma duzo gorsze kompilatory. > > Jesteś pewien, czy uwierzyłeś Rinusowi i spółce? ;) Clean ma niestety > zaskakująco nędzny kompilator... Kiedy z Toba rozmawiam to niczego nie jestem pewien ;-) mp
Re: Jaki jezyk
Author: Michal Przybylek
Date: Sun, 15 Dec 2002 17:35
Date: Sun, 15 Dec 2002 17:35
45 lines
3223 bytes
3223 bytes
"soovack" <soovack@gazeta.pl> wrote: > > ps. ze srodowisk do nauki Scheme polecam PLT Scheme. > > > Uprzedziles moje pytanie - ale mimo to chcialbym prosic Cie > o uzasadnienie. W faqu do scheme'a zalecane sa przynajmniej > trzy srodowiska - plt, mit i chez. A i innych nie brakuje > wiec ciekaw jestem dlaczego wybrales akurat plt. PLT Scheme to pakiet stworzony wlasnie z mysla o nauce. Ma bardzo przyjemne srodowisko, dobra dokumentacje i prawi glupie komantarze przy ustawieniu odpowiedniego poziomu zaawansowania ;-) > I jeszcze jedno pytanko (juz na koniec) - z jakiej ksiazki > proponujesz zaczac nauke tego jezyka? Wlasnie zakonczylem > wyszukiwanie w sieci roznych dokumentow na ten temat > ale jest tego tak duzo ze nie wiem od czego zaczac - chetnie > poznam Twoje typy do najlepszego opracowania. Hmm... Sam musisz zobaczyc co Ci najbardziej "lezy". Wszystkie ksiazki stoja na bardzo wysokim poziomie. Razem z paczuszka z PLT dostajesz gratis "Teach Yourself Scheme in Fixnum Days" ktora polecam szczegolnie. Spojrz tez na "An Introduction to Scheme and its Implementation" (moj brat sie z tego uczyl - z calkiem dobrym rezultatem :-)). Troszke trudniejsza od poprzednich jest "How to Design Programs". Oto moje trzy typy. Zreszta, jak mowie, wartosc merytoryczna wszystkich ksiazek jest naprawde na bardzo dobrym poziomie, wiec nie to jest wazne od ktorej z nich zaczniesz. Najwazniejsze, abys sie nie zniechcil po parunastu stronach. Kiedy bedziesz mial problemy z jakims zagadnieniem, czytaj tak dlugo az zrozumiesz. Jezeli okaze sie to niemozliwe, poszukaj tego zagadznienia w innej ksiazce. Jezeli nadal nic - oposc je i wroc do niego gdy okaze sie to niezbedne (na pewno bedziesz mial problemy z "hygienic macro" i kontynuacjami - oba mechanizmy sa z jednej strony dziecinnie proste, z drugiej maja skomplikowana implementacje, co drastycznie utrudnia zrozumienie ; proponuje poczatkowo przesledzic je tylko pobieznie). Zawsze tez mozesz pytac na grupie :-) Powodzenia ! mp
Re: Jaki jezyk
Author: soovack
Date: Sun, 15 Dec 2002 17:37
Date: Sun, 15 Dec 2002 17:37
33 lines
2583 bytes
2583 bytes
Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w wiadomości news:atgong$dl9$4@news.tpi.pl... > > Dlaczego tak uwazasz? [Dodam ze chodzi o to ze haskell wg Michala nie jest najlepszym wyborem na pierwszy jezyk funkcyjny do nauki.] > > Bo Michał nie lubi czystej deklaratywności :) > Nie mam pojecia o tym co to jest deklaratwynosc a o czystej juz nawet nie wspomne wiec ciekaw jestem co na to Michal. A wracajac do wyboru Michala (przypomne ze poleca Scheme'a) to jakie jest Twoje zdanie na ten temat. Prosze mi wybaczyc ze tak draze ten temat ale chcialbym zaczac nauke od jakiegos mniej skomplikowanego jezyka funkcyjnego zeby nie sparzyc sie juz przy pierwszym podejsciu. > > I moze tak przy okazji haskell'a - czemu zawdziecza on swoja > > popularnosc? Co prawda Mariusz napisal > Ale nie napisał, że jest popularny. Cleana nikt nie używa, więc Haskell > jest w porównaniu z nim popularny. Ale ma pewnie kilka rzędów wielkości > mniej użytkowników niż lispy, czy nawet ocaml. > Czyli juz mam jasnosc w temacie popularnosci haskella - po prostu bylem w bledzie - dzieki za sprostowanie. > > A jesli prawda jest ze jest on podobnie jak clean malo wydajny > > i pamieciozerny to juz zupelnie nie wiem w czym tkwi jego sila. > > ??? A w czym tkwi siła języków funkcyjnych? > Tego jeszcze nie wiem ale sie dowiem. Dziekuje za odpowiedz i pozdrawiam, soovack
Re: Jaki jezyk
Author: soovack
Date: Sun, 15 Dec 2002 18:09
Date: Sun, 15 Dec 2002 18:09
85 lines
4589 bytes
4589 bytes
Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w wiadomości news:atgona$dl9$3@news.tpi.pl... > > Co mam rozumiec przez pojecie: "lukier syntaktyczny" ? > Czysto składniowe konstrukcje, wprowadzone wyłącznie dla wygody programisty. > Dzieki za wytlumaczenie. Pozwolisz ze sie jeszcze zapytam czy jakis jezyk imperatywny posiada takie konstrukcje (jesli tak to jaki)? > > Apropos "*bardzo* podobny do Haskella" - czy tym co je > > rozni jest pojecie 'sequential' i 'concurrent' ? > > Nie, oba są sekwencyjne (wbrew potocznej opinii o Cleanie...). Nazwa > 'Concurrent Clean' jest związana raczej z historią języka, niż jego > cechami - powstał przy okazji badań nad równoległą redukcją grafów, ale > nigdy nie posiadał wsparcia dla programowania współbieżnego. > Istotnie różni je sposób w jaki łączą imperatywność z czystą > funkcyjnością - Clean używa typów liniowych, a Haskell monad. > No to widze ze chlopaki z c.l.f. maja byki w faq'u - dzieki za sprostowanie nieprawdziwej informacji. > > I przy okazji prosilbym o wytlumaczenie powyzszych terminow > > Gugiel i Foldoc nie wiedzą co znaczy concurrent i sequential? Aż mi się > nie chce wierzyć... ;) > Zeby sprawdzic znaczenie tych slow nie musze zapuszczac neta (az tak zle ze mna nie jest ;-) Sprawdzilem w slowniku ... > concurrent = współbieżny > sequential = sekwencyjny, czyli niewspółbieżny :) > ... i dopiero wtedy mnie oswiecilo (ale post juz poszedl). O programowaniu wspolbieznym juz gdzies slyszalem przy okazji C/C++ wiec odpowiedz na ponizsze pytanie jest oczywista. > > (nie wiem czy do imperatywnych tez sie to odnosi?). > Oczywiście. > > > A i jeszcze jedno - pieszesz ze clean jest "malo wydajny i > > pamieciozerny" - czy to sa cechy wspolne z haskell'em > > czy raczej to je rozni? > > To jest cecha leniwości. Każda implementacja leniwego języka, która nie > oszukuje jest mało wydajna i pamięciożerna. > W takim razie jakie sa powody stosowania tej leniwosci? O oszukiwanie sie nie pytam bo Tomek mnie juz uprzedzil - ale tak samo jestem ciekaw odpowiedzi. > > A jesli jest to ich wspolny mianownik to jaki w takim razie > > jezyk jest ich przeciwienstwem - lub chociaz tylko wydajny? > > C :) > A wśród funkcyjnych dowolny silnie typowany, gorliwy. > Widze ze musze sie nieco zapoznac z terminologia bo inaczej to zaleje grupe jednowierszowymi pytaniami ;-) > > Jak to nie ma duzego wyboru - w w/w faq'u naliczylem 20 jezykow! > > Część umarła, np. LML, Miranda, Gofer, Hope. Cześć różni się tylko > 'kolorem lakieru', np. Miranda, Gofer, Haskell i Clean, albo SML i > OCaml. Więc istotnie różnych języków, które w ogóle można sprawdzić w > akcji nie jest dużo :) > No to juz lepiej - pole manewru sie zaweza ;-) > > Dla kogos takiego jak ja (czytaj: lamera) to o 19 za duzo ;-) > > O wiekszosci z nich nigdy nie slyszalem wiec tym trudniej > > cos wybrac. > > Rzuć kostką ;) To naprawdę nie ma aż tak dużego znaczenia... > Ja bym tego nie powiedzial. A czy nie jest wazne zeby nie zaczynac nauki programowania (szczegolnie techniki oop) od C++ - to sa Twoje slowa (nie doslownie ale cos w ten desen ;-) A ile to razy juz slyszalem (nie tylko ja zreszta) zeby zaczac od C++ bo cos tam. Nie chcialbym popelnic drugi raz tego samego bledu ;-) Dziekuje za odpowiedz i pozdrawiam, soovack
Re: Jaki jezyk
Author: Krzysztof Parzyszek
Date: Sun, 15 Dec 2002 19:12
Date: Sun, 15 Dec 2002 19:12
30 lines
2176 bytes
2176 bytes
On Sun, 15 Dec 2002 19:09:00 +0100, soovack wrote: [ciach lukier syntaktyczny] > Dzieki za wytlumaczenie. Pozwolisz ze sie jeszcze zapytam czy > jakis jezyk imperatywny posiada takie konstrukcje (jesli tak to > jaki)? Np. C: foo->bar jest równoważne (*foo).bar > Ja bym tego nie powiedzial. A czy nie jest wazne zeby nie zaczynac > nauki programowania (szczegolnie techniki oop) od C++ - to sa > Twoje slowa (nie doslownie ale cos w ten desen ;-) > A ile to razy juz slyszalem (nie tylko ja zreszta) zeby zaczac od > C++ bo cos tam. Nie chcialbym popelnic drugi raz tego samego > bledu ;-) Ja tradycyjne polecam SMLa. Ma silny system typów, ``pattern matching'', który uprzyjemnia pisanie, wyjątki, przypisanie (w odróżnieniu od Haskella), normalne I/O (też w odróżnieniu od Haskella). Zdaje się, że na tej grupie znajdziesz więcej zwolenników OCamla, który jest bardzo podobny (AFAIK) do SMLa, więc możesz zająć się tym właśnie językiem. -- <>> kristof@swissmail.org <Krzysztof Parzyszek> 9/2/2002 <<> "If you can't convince them, confuse them" -- HS Truman
Re: Jaki jezyk
Author: Michal Przybylek
Date: Sun, 15 Dec 2002 19:15
Date: Sun, 15 Dec 2002 19:15
12 lines
1654 bytes
1654 bytes
"Michal Przybylek" <pkmichal@poczta.onet.pl> wrote: > Razem z paczuszka z PLT dostajesz gratis "Teach Yourself Scheme in Fixnum > Days" ktora polecam szczegolnie. Spojrz tez na "An Introduction to Scheme > and its Implementation" (moj brat sie z tego uczyl - z calkiem dobrym > rezultatem :-)). Troszke trudniejsza od poprzednich jest "How to Design > Programs". Oto moje trzy typy. Eh... Pomylilem HtDP z TYSiFD. mp
Re: Jaki jezyk
Author: soovack
Date: Sun, 15 Dec 2002 22:10
Date: Sun, 15 Dec 2002 22:10
26 lines
2324 bytes
2324 bytes
Użytkownik "Krzysztof Parzyszek" <kristof@swissmail.org> napisał w wiadomości news:atik7l$do6$1@rmf-fm.presscom.net... > [ciach lukier syntaktyczny] > > Dzieki za wytlumaczenie. Pozwolisz ze sie jeszcze zapytam czy > > jakis jezyk imperatywny posiada takie konstrukcje (jesli tak to > > jaki)? > > Np. C: > foo->bar jest równoważne (*foo).bar > Szczerze mowiac to ten lukier nie wydaje mi sie byc za slodki ;-)) > > Ja tradycyjne polecam SMLa. Ma silny system typów, ``pattern > matching'', który uprzyjemnia pisanie, wyjątki, przypisanie > (w odróżnieniu od Haskella), normalne I/O (też w odróżnieniu > od Haskella). Zdaje się, że na tej grupie znajdziesz więcej > zwolenników OCamla, który jest bardzo podobny (AFAIK) do SMLa, > więc możesz zająć się tym właśnie językiem. > Dzieki za info na temat SML'a ale juz sie zdecydowalem na Scheme'a. Nie wiem czy jest to dobry wybor ale co tam - raz kozie smierc ;-)) A co do ocaml'a to raczej bankowo jest podobny do sml'a bo to w koncu jedna rodzina meta jezykow (tak bynajmniej jest napisane w faq'u z c.l.f.). Dziekuje za odpowiedz i pozdrawiam, soovack
Re: Jaki jezyk
Author: soovack
Date: Sun, 15 Dec 2002 22:30
Date: Sun, 15 Dec 2002 22:30
50 lines
3513 bytes
3513 bytes
Użytkownik "Michal Przybylek" <pkmichal@poczta.onet.pl> napisał w wiadomości news:atieui$52p$2@news.tpi.pl... > PLT Scheme to pakiet stworzony wlasnie z mysla o nauce. Ma bardzo przyjemne > srodowisko, dobra dokumentacje i prawi glupie komantarze przy ustawieniu > odpowiedniego poziomu zaawansowania ;-) > Wyprobuje go (ale mit'a tez) i zobacze ktory bardziej bedzie mi odpowiadal. Pozostalych srodowisk na razie nie bede ruszal. > Razem z paczuszka z PLT dostajesz gratis "Teach Yourself Scheme in Fixnum > Days" ktora polecam szczegolnie. Spojrz tez na "An Introduction to Scheme > and its Implementation" (moj brat sie z tego uczyl - z calkiem dobrym > rezultatem :-)). Troszke trudniejsza od poprzednich jest "How to Design > Programs". Oto moje trzy typy. > Mam wszystkie trzy i chyba zaczne od tego tutoriala zeby nie zglupiec jak zaczne wertowac ktoras z tych fachowych ksiazek (bo rzeczywiscie wygladaja one na bardzo dobre opracowania - cos jak "Thinking in C++" Eckel'a ktora dzieki bogu jest za free). Szkoda tylko ze pozostale ksiazki nie sa darmowe (swoja droga to az mi sie wierzyc nie chce ze na zachodzie ukazalo sie tyle ksiazek tyczacych tylko Scheme'a - u nas nie ma tylu pozycji do chociazby Javy - ale odstajemy od reszty cywilizowanego swiata :-( > Najwazniejsze, abys sie nie zniechcil po parunastu stronach. Tego sie wlasnie najbardziej boje. Tym bardziej ze te wszystkie jezyki oparte sa na rachunku lambda o ktorym nie mam zielonego pojecia. Apropos - czy jego znajomosc (chociaz pobiezna) jest _niezbedna_ (bo pomocna to na pewno) do nauki programowania? > Kiedy bedziesz mial problemy z jakims zagadnieniem, czytaj tak dlugo az > zrozumiesz. Jezeli okaze sie to niemozliwe, poszukaj tego zagadznienia w > innej ksiazce. Jezeli nadal nic - oposc je i wroc do niego gdy okaze sie to > niezbedne (na pewno bedziesz mial problemy z "hygienic macro" i > kontynuacjami - oba mechanizmy sa z jednej strony dziecinnie proste, z > drugiej maja skomplikowana implementacje, co drastycznie utrudnia > zrozumienie ; proponuje poczatkowo przesledzic je tylko pobieznie). Zawsze > tez mozesz pytac na grupie :-) > Dzieki za dobre rady - a o grupie bede na pewno pamietal. > Powodzenia ! > Dziekuje - bedzie potrzebne ;-) Pozdrawiam serdecznie, soovack
Re: Jaki jezyk
Author: soovack
Date: Sun, 15 Dec 2002 22:38
Date: Sun, 15 Dec 2002 22:38
16 lines
1903 bytes
1903 bytes
Użytkownik "Michal Przybylek" <pkmichal@poczta.onet.pl> napisał w wiadomości news:atikmu$bim$1@news.tpi.pl... > > Razem z paczuszka z PLT dostajesz gratis "Teach Yourself Scheme in Fixnum > > Days" ktora polecam szczegolnie. Spojrz tez na "An Introduction to Scheme > > and its Implementation" (moj brat sie z tego uczyl - z calkiem dobrym > > rezultatem :-)). Troszke trudniejsza od poprzednich jest "How to Design > > Programs". Oto moje trzy typy. > > Eh... Pomylilem HtDP z TYSiFD. > Wlasnie to zauwazylem ale to drobiazg - i tak mam wszystkie pozycje ktore wymieniles wiec moge korzystac ze wszystkich na raz. Pozdrawiam, soovack
Re: Jaki jezyk
Author: Adam Buraczewski
Date: Sun, 15 Dec 2002 23:35
Date: Sun, 15 Dec 2002 23:35
17 lines
1715 bytes
1715 bytes
soovack <soovack@gazeta.pl> wrote: > Mam wszystkie trzy i chyba zaczne od tego tutoriala zeby nie > zglupiec jak zaczne wertowac ktoras z tych fachowych ksiazek Polecam jeszcze "Structure and Interpretation of Computer Programs": http://mitpress.mit.edu/sicp/ Jest to bardzo sympatyczny podręcznik uczący programowania w MIT Scheme od podstaw. Pozdrawiam! -- Adam Buraczewski <adamb@polbox.pl> * Linux registered user #165585 GCS/TW d- s-:+>+:- a- C+++(++++) UL++++$ P++ L++++ E++ W+ N++ o? K? w-- O M- V- PS+ !PE Y PGP+ t+ 5 X+ R tv- b+ DI? D G++ e+++>++++ h r+>++ y?
Re: Jaki jezyk
Author: Beniamin Mazan
Date: Mon, 16 Dec 2002 07:32
Date: Mon, 16 Dec 2002 07:32
7 lines
1327 bytes
1327 bytes
Nie zauwazylem w tych watkach wspomnienia o sml, mosml. Czy sa dostepne gdzies w sieci tutoriale nt. interfejsu uzytkownika do progow w sml - ktos mi jakis czas temu powiedzial,ze jest cudo, ale co to, skad to wziac? To juz nie wiem. Interesowalyby mnie wersje zarowno pod lin jak i pod winde - jesli ktos moze, plizzz, niech pomoze Beniamin
Re: Jaki jezyk
Author: Lucifer
Date: Mon, 16 Dec 2002 07:38
Date: Mon, 16 Dec 2002 07:38
8 lines
1411 bytes
1411 bytes
soovack wrote: > Dzieki za dobre rady - a o grupie bede na pewno pamietal. Kolejna nawrocona duszyczka, cieszmy sie i chwalmy ten dzien ;) -- Lucifer
Re: Jaki jezyk
Author: Lucifer
Date: Mon, 16 Dec 2002 07:47
Date: Mon, 16 Dec 2002 07:47
29 lines
2359 bytes
2359 bytes
soovack wrote: > Prosze mi wybaczyc ze tak draze ten temat ale chcialbym > zaczac nauke od jakiegos mniej skomplikowanego jezyka > funkcyjnego zeby nie sparzyc sie juz przy pierwszym podejsciu. Przypomne ocamla i jego ksiazke (w sieci, w htmlu i pdfach), odpal interpreter (ocaml ma kompilator i interpreter), otworz ksiazeczke i przerabiaj przyklady - samo wejdzie w krew, jak choroba weneryczna ;) Sa przyklady gier, aplikacji sieciowych, gui itp. Haskell jest zbyt 'powaznym' jezykiem, zeby ktos sie wysilil na tak gladki tekst wprowadzajacy nowicjuszy. (Ja przynajmniej nie znalazlem.) >>>I moze tak przy okazji haskell'a - czemu zawdziecza on swoja >>>popularnosc? Co prawda Mariusz napisal >> >>Ale nie napisał, że jest popularny. Cleana nikt nie używa, więc Haskell >>jest w porównaniu z nim popularny. Ale ma pewnie kilka rzędów wielkości >>mniej użytkowników niż lispy, czy nawet ocaml. > > Czyli juz mam jasnosc w temacie popularnosci haskella - po prostu > bylem w bledzie - dzieki za sprostowanie. Tak, wlasnie przeszedles na ciemna strone mocy, te jezyki sa w opozycji do calej reszty. -- Lucifer
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:11
Date: Mon, 16 Dec 2002 10:11
32 lines
2840 bytes
2840 bytes
On Sun, 15 Dec 2002, Tomasz Zielonka wrote: > Mariusz K. Grzeca napisał: > > > > To jest cecha leniwości. Każda implementacja leniwego języka, która nie > > oszukuje jest mało wydajna i pamięciożerna. > > Co masz na myśli mówiąc "oszukuje"? Jakieś niebezpieczne optymalizacje? Chodzi o optymistyczną ewaluację, jak jest w eH, albo będzie w GHC 6.x, albo optymalizacje na całym kodzie programu, jak to robił GRIN. Pierwsze ewaluuje wszystko gorliwie do momentu, aż uzna, że trafiło na jakieś bardzo kosztowne obliczenie, albo na wyrażenie, które sie nie terminuje, dopiero wtedy tworzy thunka. Drugie może wszystko... > PS. > Moim zdaniem przesadzasz trochę ciągle powtarzając jaki to Haskell jest > mało wydajny i pamięciożerny. Bo jest. Używamy go, jego wydajność nam wystarcza, ale twierdzenie, że skoro nam wystarcza tzn. że nie jest mało wydajny i pamięciożerny w porównaniu z niemal każdym innym językiem jest dość... dziecinne... > Owszem, leniwość ma swój koszt, ale GHC w wielu przypadkach zaskoczył > mnie jednak bardzo dobrą wydajością i dużymi możliwościami ręcznej > optymalizacji kodu. Oczywiście, GHC jest zaskakująco dobry. Te wszystkie ręczne inline'owania, specjalizacje, reguły redukcji dają duże pole do popisu programiście. Ale nietrudno znaleźć problem, którego eleganckie rozwiązanie jest rząd wielkości mniej wydajne, niż jego odpowiednik w OCamlu...
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:19
Date: Mon, 16 Dec 2002 10:19
18 lines
2379 bytes
2379 bytes
On Sun, 15 Dec 2002, Michal Przybylek wrote: > > Jesteś pewien, czy uwierzyłeś Rinusowi i spółce? ;) Clean ma niestety > > zaskakująco nędzny kompilator... > > Kiedy z Toba rozmawiam to niczego nie jestem pewien ;-) Clean jest niezły jeśli chodzi o operacje na stringach, bo traktuje je jak normalny język, a nie jak Haskell ;) Jest niezły jeśli chodzi o tablice i imperatywne operacje na rekordach. Jest niezły w przypadku gorliwego kodu pierwszego rzędu, operującego na wartościach typów prostych (potrafi je niemal zawsze przekazywać unboxowane, nieotagowane, przez stos B). Ma bardzo dobry analizator gorliwości i bibliotekę standardową nafaszerowaną 'strictness annotations', więc sam potrafi uczynić kod bardziej gorliwym, niż to sobie założył programista. Ale kiedy tylko pojawiają sie zagnieżdżone funkcje, funkcje wyższego rzędu, funkcje 'curried', leniwość z która analizator sobie nie poradził to Clean robi się marny, duużo słabszy niż GHC 5.x.
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:21
Date: Mon, 16 Dec 2002 10:21
7 lines
1575 bytes
1575 bytes
On Sun, 15 Dec 2002, soovack wrote: > A wracajac do wyboru Michala (przypomne ze poleca Scheme'a) > to jakie jest Twoje zdanie na ten temat. Podobne. Scheme to świetny język na początek. Prosciutki, ładniutki i bardzo przyjemny.
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:29
Date: Mon, 16 Dec 2002 10:29
13 lines
1819 bytes
1819 bytes
On Sun, 15 Dec 2002, soovack wrote: > W takim razie jakie sa powody stosowania tej leniwosci? Dokładnie takie same, jak funkcyjności w ogóle. Poczytaj np. "Why functional programming matters" Johna Hughesa. > Ja bym tego nie powiedzial. A czy nie jest wazne zeby nie zaczynac > nauki programowania (szczegolnie techniki oop) od C++ - to sa > Twoje slowa (nie doslownie ale cos w ten desen ;-) Ale wśród języków funkcyjnych (tych bardziej znanych) nie ma takich bubli jak C++. Każdy z tych jezyków jest niezły...
Re: Jaki jezyk
Author: Tomasz Zielonka
Date: Mon, 16 Dec 2002 11:56
Date: Mon, 16 Dec 2002 11:56
15 lines
1702 bytes
1702 bytes
Mariusz K. Grzeca napisał: > > Bo jest. Używamy go, jego wydajność nam wystarcza, ale twierdzenie, że > skoro nam wystarcza tzn. że nie jest mało wydajny i pamięciożerny w > porównaniu z niemal każdym innym językiem jest dość... dziecinne... Mówiąc "używamy go" wypowiadasz się w imieniu swoim, naszym, czy może jakiejś instytucji, firmy? Miło byłoby się dowiedzieć, że polskie firmy używają języków funkcyjnych. pozdrawiam, tomek -- .signature: Too many levels of symbolic links
Re: Jaki jezyk
Author: soovack
Date: Mon, 16 Dec 2002 22:34
Date: Mon, 16 Dec 2002 22:34
11 lines
1709 bytes
1709 bytes
Użytkownik "Adam Buraczewski" <adamb@polbox.pl> napisał w wiadomości news:k6gvc-ca1.ln1@adamb.mielonka.polbox.pl... > Polecam jeszcze "Structure and Interpretation of Computer Programs": > http://mitpress.mit.edu/sicp/ > Jest to bardzo sympatyczny podręcznik uczący programowania w MIT > Scheme od podstaw. > Dziekuje za linka (jakos go kurcze przegapilem). The search has already begun ;-) Pozdrawiam, soovack
Re: Jaki jezyk
Author: soovack
Date: Mon, 16 Dec 2002 22:41
Date: Mon, 16 Dec 2002 22:41
10 lines
1721 bytes
1721 bytes
Użytkownik "Lucifer" <przemek@nospam.pa55.bytom.sdi.tpnet.pl> napisał w wiadomości news:atjskn$2a6$1@news.tpi.pl... > Kolejna nawrocona duszyczka, cieszmy sie i chwalmy ten dzien ;) > Chcialbym byc takim optymista jak Ty ;-) Poki co to jestem tylko ciekawskim lamerem ktoremu znudzil sie C++ (co nie znaczy ze sie go nie ucze - jak mawial nasz byly prezydent - nie kcem ale muszem ;-) Pozdrawiam, soovack
Re: Jaki jezyk
Author: soovack
Date: Mon, 16 Dec 2002 22:52
Date: Mon, 16 Dec 2002 22:52
32 lines
2721 bytes
2721 bytes
Użytkownik "Lucifer" <przemek@nospam.pa55.bytom.sdi.tpnet.pl> napisał w wiadomości news:atjt48$7dk$1@news.tpi.pl... > > Prosze mi wybaczyc ze tak draze ten temat ale chcialbym > > zaczac nauke od jakiegos mniej skomplikowanego jezyka > > funkcyjnego zeby nie sparzyc sie juz przy pierwszym podejsciu. > > Przypomne ocamla i jego ksiazke (w sieci, w htmlu i pdfach), odpal > interpreter (ocaml ma kompilator i interpreter), otworz ksiazeczke i > przerabiaj przyklady - samo wejdzie w krew, jak choroba weneryczna ;) Sa > przyklady gier, aplikacji sieciowych, gui itp. > Dzieki za rade ale jak juz pisalem zdecydowalem sie na Scheme'a i jak widze z postu Mariusza to dobrze zrobilem. Ocamla nie bede ruszal poki dobrze nie zrozumiem calej tej filozofii programowania funkcyjnego. > Haskell jest zbyt 'powaznym' jezykiem, zeby ktos sie wysilil na tak > gladki tekst wprowadzajacy nowicjuszy. (Ja przynajmniej nie znalazlem.) > To tez juz wiem - koledzy mnie uprzedzili przed tym jezykiem ;-) > Tak, wlasnie przeszedles na ciemna strone mocy, te jezyki sa w opozycji > do calej reszty. > To sie nawet dobrze sklada bo ja lubie byc w opozycji ;-) A tak na powaznie to po prostu kiedys na jakiej grupie zobaczylem krociotki kod napisany w ktoryms z jezykow funkcyjnych ktory byl kilka razy krotszy od kodu napisanego w C++ i kilkaset razy bardziej od niego nieczytelny (dla mnie oczywiscie). I tak sie zaczelo - zobaczymy jaki bedzie final. Pozdrawiam, soovack
Re: Jaki jezyk
Author: soovack
Date: Mon, 16 Dec 2002 22:59
Date: Mon, 16 Dec 2002 22:59
15 lines
1864 bytes
1864 bytes
Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w wiadomości news:Pine.LNX.4.44L.0212161120000.7239-100000@sokrates.mimuw.edu.pl... > > A wracajac do wyboru Michala (przypomne ze poleca Scheme'a) > > to jakie jest Twoje zdanie na ten temat. > > Podobne. Scheme to świetny język na początek. Prosciutki, ładniutki i > bardzo przyjemny. > No to swietnie - az mi sie lzej na duszy zrobilo ;-) Z ta swiadomoscia bedzie mi chyba latwiej zaczac nauke. Dzieki za dobra nowine (i przy okazji dziekuje Michalowi za pomoc w trafnym wyborze). Pozdrawiam, soovack
Re: Jaki jezyk
Author: soovack
Date: Mon, 16 Dec 2002 23:05
Date: Mon, 16 Dec 2002 23:05
25 lines
2275 bytes
2275 bytes
Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w wiadomości news:Pine.LNX.4.44L.0212161121560.7239-100000@sokrates.mimuw.edu.pl... > > W takim razie jakie sa powody stosowania tej leniwosci? > > Dokładnie takie same, jak funkcyjności w ogóle. Poczytaj np. "Why > functional programming matters" Johna Hughesa. > Dziekuje za inforamcje o ksiazce - juz zapuszczam googla. > > Ja bym tego nie powiedzial. A czy nie jest wazne zeby nie zaczynac > > nauki programowania (szczegolnie techniki oop) od C++ - to sa > > Twoje slowa (nie doslownie ale cos w ten desen ;-) > > Ale wśród języków funkcyjnych (tych bardziej znanych) nie ma takich > bubli jak C++. Każdy z tych jezyków jest niezły... > To cale szczescie. Co jednak nie zmienia faktu ze jedne jezyki sa latwiejsze do nauki (przynajmniej dla lamera) a drugie sprawiaja pewne trudnosci nawet "starym wyjadaczom". Ale najwazniejsze ze juz ustalilismy co i jak odnoscie wyboru tego pierwszego jezyka do nauki. Teraz nie pozostaje mi nic innego jak tylko zaczac sie go uczyc. Pozdrawiam, soovack
Re: Jaki jezyk
Author: Mariusz K. Grzeca
Date: Tue, 17 Dec 2002 01:44
Date: Tue, 17 Dec 2002 01:44
10 lines
1685 bytes
1685 bytes
On Mon, 16 Dec 2002, Tomasz Zielonka wrote: > Mówiąc "używamy go" wypowiadasz się w imieniu swoim w imieniu bliżej nieokreślonej grupy użytkowników tego języka > Miło byłoby się dowiedzieć, że polskie firmy > używają języków funkcyjnych. Owszem. Ale niestety nie znalazłem takiej firmy w Polsce :(
Re: Jaki jezyk
Author: bajcik
Date: Tue, 17 Dec 2002 02:24
Date: Tue, 17 Dec 2002 02:24
28 lines
2100 bytes
2100 bytes
Świadek Lucifer zeznał: > bajcik@kolos.math.uni.lodz.pl wrote: >> Świadek Lucifer zeznał: >> >>>OCaml ma przyjemne api dla C, jest bardzo wydajny i >>>wogóle sysko w nim gra ;) >> >> >> to api do C to po to by można go było osadzać w zwykłym programie? Czy >> jedynie do robienia rozszerzeń? >> >> bajcik > > Jedno i drugie. > > Jesli do osadzania w kodzie C - kompilujesz ml'e do plikow obiektowych, > w C wywolujesz caml_main (albo jakos tak) i wszystko razem konsolidujesz. Fajnie. To mam propozycje dla chętnego: dorobić wsparcie dla OCamla w moim menadżerze plików. Za przykład niech posłuży (zrobiona już) obsługa języków Python, Lua i Scheme (guile). Adres w sygnaturce bajcik -- .----- Krzysztof Garus ----- http://kolos.math.uni.lodz.pl/~bajcik/ --. | http://kolos.math.uni.lodz.pl/~bajcik/duskc/ - proszę o krytykę :) | `--------------------------------------------------------- mccxiii ---'
Re: Jaki jezyk
Author: korek
Date: Sat, 15 Feb 2003 07:46
Date: Sat, 15 Feb 2003 07:46
42 lines
2977 bytes
2977 bytes
On Sun, 15 Dec 2002, soovack wrote:
> Użytkownik "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl> napisał w
> wiadomości news:atgong$dl9$4@news.tpi.pl...
>
> > > I moze tak przy okazji haskell'a - czemu zawdziecza on swoja
> > > popularnosc? Co prawda Mariusz napisal
> > Ale nie napisał, że jest popularny. Cleana nikt nie używa, więc Haskell
> > jest w porównaniu z nim popularny. Ale ma pewnie kilka rzędów wielkości
> > mniej użytkowników niż lispy, czy nawet ocaml.
> >
> Czyli juz mam jasnosc w temacie popularnosci haskella - po prostu
> bylem w bledzie - dzieki za sprostowanie.
Nie do końca: Ze względu na wyjątkową przejrzystość, Haskell jest
chętnie używany w prezentacjach algorytmów (tj. Pascal - typowy język
szkolny). Poza tym w Haskellu programy są zazwyczaj bardziej treściwe niż
w ML-u (ze względu na lepszą składnię).
Dlatego (i dlatego że ma wygodnie mechanizmy wysokopoziomowe, tj. klasy)
jest zazwyczaj polecany jako język "pierwszego razu" i do zastosowań
badawczych.
Dla porównania Scheme/Lisp ma bardzo specyficzną składnie (za to więcej
dobrych narzędzi, niż Haskell).
> > > A jesli prawda jest ze jest on podobnie jak clean malo wydajny
> > > i pamieciozerny to juz zupelnie nie wiem w czym tkwi jego sila.
> >
> > ??? A w czym tkwi siła języków funkcyjnych?
> >
> Tego jeszcze nie wiem ale sie dowiem.
Pamięciożerność i mniejsza wydajność jest częsta w mechanizmach
wysokopoziomowych (np. CORBA). W większości zastosowań da się
problem zmniejszyć (tak, że nie przeszkadza), albo w ogóle zlikwidować
(patrz: OCaml).
Za to mniej się pisze, łatwiej poprawia błędy itp.
Pozdrawiam :-) ;-) :-))
Michał
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