🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.funkcyjne
45 messages
45 total messages Started by Grzegorz Rumatowski Tue, 10 Dec 2002 18:09
Jaki jezyk
#69
Author: Grzegorz Rumatowski
Date: Tue, 10 Dec 2002 18:09
14 lines
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
#70
Author: Lucifer
Date: Wed, 11 Dec 2002 01:43
20 lines
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
#74
Author: Marcin 'Qrczak' Kowalczyk
Date: Wed, 11 Dec 2002 09:25
12 lines
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
#75
Author: Grzegorz Rumatowski
Date: Wed, 11 Dec 2002 23:15
12 lines
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
#76
Author: Mariusz K. Grzeca
Date: Thu, 12 Dec 2002 11:21
7 lines
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
#77
Author: Marcin 'Qrczak' Kowalczyk
Date: Thu, 12 Dec 2002 14:03
12 lines
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
#78
Author: soovack
Date: Thu, 12 Dec 2002 17:39
23 lines
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
#71
Author: bajcik
Date: Thu, 12 Dec 2002 18:38
13 lines
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
#72
Author: Lucifer
Date: Fri, 13 Dec 2002 12:06
27 lines
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
#79
Author: Mariusz K. Grzeca
Date: Fri, 13 Dec 2002 13:33
37 lines
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
#80
Author: soovack
Date: Fri, 13 Dec 2002 18:24
61 lines
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
#81
Author: Michal Przybylek
Date: Fri, 13 Dec 2002 22:15
20 lines
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
#82
Author: soovack
Date: Sat, 14 Dec 2002 00:15
25 lines
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
#83
Author: Michal Przybylek
Date: Sat, 14 Dec 2002 22:14
53 lines
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
#84
Author: soovack
Date: Sun, 15 Dec 2002 01:04
82 lines
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
#103
Author: Mariusz K. Grzeca
Date: Sun, 15 Dec 2002 01:19
53 lines
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
#96
Author: Mariusz K. Grzeca
Date: Sun, 15 Dec 2002 01:32
17 lines
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
#93
Author: Mariusz K. Grzeca
Date: Sun, 15 Dec 2002 01:41
14 lines
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
#104
Author: Tomasz Zielonka
Date: Sun, 15 Dec 2002 09:03
18 lines
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
#94
Author: Michal Przybylek
Date: Sun, 15 Dec 2002 17:35
13 lines
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
#85
Author: Michal Przybylek
Date: Sun, 15 Dec 2002 17:35
45 lines
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
#97
Author: soovack
Date: Sun, 15 Dec 2002 17:37
33 lines
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
#108
Author: soovack
Date: Sun, 15 Dec 2002 18:09
85 lines
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
#109
Author: Krzysztof Parzyszek
Date: Sun, 15 Dec 2002 19:12
30 lines
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
#86
Author: Michal Przybylek
Date: Sun, 15 Dec 2002 19:15
12 lines
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
#110
Author: soovack
Date: Sun, 15 Dec 2002 22:10
26 lines
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
#88
Author: soovack
Date: Sun, 15 Dec 2002 22:30
50 lines
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
#87
Author: soovack
Date: Sun, 15 Dec 2002 22:38
16 lines
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
#89
Author: Adam Buraczewski
Date: Sun, 15 Dec 2002 23:35
17 lines
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
#113
Author: Beniamin Mazan
Date: Mon, 16 Dec 2002 07:32
7 lines
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
#91
Author: Lucifer
Date: Mon, 16 Dec 2002 07:38
8 lines
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
#98
Author: Lucifer
Date: Mon, 16 Dec 2002 07:47
29 lines
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
#105
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:11
32 lines
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
#95
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:19
18 lines
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
#100
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:21
7 lines
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
#111
Author: Mariusz K. Grzeca
Date: Mon, 16 Dec 2002 10:29
13 lines
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
#106
Author: Tomasz Zielonka
Date: Mon, 16 Dec 2002 11:56
15 lines
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
#90
Author: soovack
Date: Mon, 16 Dec 2002 22:34
11 lines
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
#92
Author: soovack
Date: Mon, 16 Dec 2002 22:41
10 lines
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
#99
Author: soovack
Date: Mon, 16 Dec 2002 22:52
32 lines
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
#101
Author: soovack
Date: Mon, 16 Dec 2002 22:59
15 lines
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
#112
Author: soovack
Date: Mon, 16 Dec 2002 23:05
25 lines
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
#107
Author: Mariusz K. Grzeca
Date: Tue, 17 Dec 2002 01:44
10 lines
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
#73
Author: bajcik
Date: Tue, 17 Dec 2002 02:24
28 lines
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
#102
Author: korek
Date: Sat, 15 Feb 2003 07:46
42 lines
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