Article View: pl.comp.lang.funkcyjne
Article #782Re: j. funkcyjne - jakie zastosowania?
From: Tomasz Zielonka
Date: Sun, 22 Jan 2006 20:03
Date: Sun, 22 Jan 2006 20:03
43 lines
2898 bytes
2898 bytes
Piotr Dembiński wrote: > Artur Siekielski <gruesome@REMOVEpoczta.onet.pl> writes: > > [...] > >> Aha, pisząc w Haskellu dosięgła nas następująca zmora: okazało się, >> że żeby zrobić "coś", trzeba wprowadzić monadę, co wymagałoby >> przepisania praktycznie całego programu (oczywiście ze zmianą >> wszystkich typów funkcji włącznie)... > > O, o, o. Czyli programy haskellowe są trudne w modyfikacji? > Pytam, bo nie wiem, a akurat próbuję 'siedzieć' w refaktoryzacji. To nie jest takie proste. Problem, o jakim pisze Artur, pojawia sie, kiedy napiszesz duzo czysto-funkcyjnego kodu, bez uzycia monad. To, ze napisales tak duzo kodu w tym stylu, moze byc zwiazane z natura problemu - tym, ze latwo bylo go zapisac matematycznie. Byc moze gdyby nie czysto-funkcyjny styl Haskella w ogole bys tak daleko nie zaszedl (czasem sam mam takie wrazenie). Byc moze w innym jezyku nie mialbys tego problemu, bo w ogole nie mialbys kodu... ;-) Oczywiscie troche przesadzam. Jestem pewien, ze Artur jest w stanie rozwiazac swoj problem w innym jezyku. Szczegolnie, ze w innym jezyku moze byc latwiej wnioskowac o wydajnosci. Przy dobrej modularyzacji programu jest szansa, ze jesli pojawi sie potrzeba wprowadzenia monad, to zmiany beda dosyc ograniczone. Ostatnio jak wprowadzalem taka zmiane w kodzie wczytujacym dane z bazy (dla zwiekszenia wydajnosci) udalo mi sie to zrobic przez kilka refaktoryzacji poprawiajacych modularyzacje - potem wlasciwa zmiana sposobu dzialania dotyczyla kilku linijek w jednej funkcji. No i taka potrzeba wcale nie musi zajsc - mi przydazylo sie pare razy, i nigdy nie bylo to duzo pracy. Ale juz mowilem, ze lubie monady i dosyc wczesnie je wprowadzam ;-) Pozdrawiam Tomasz -- I am searching for programmers who are good at least in (Haskell || ML) && (Linux || FreeBSD || math) for work in Warsaw, Poland
Technical Details
Message-ID:
<slrndt7pib.5nj.tomasz.zielonka@localhost.localdomain>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.atman.pl!not-for-mailReferences:
<dpc61g$f0l$1@news.onet.pl> <dqouds$run$1@opal.futuro.pl> <slrndt000n.evc.tomasz.zielonka@localhost.localdomain> <dqpuif$g25$1@opal.futuro.pl> <8764od6hqy.fsf@hector.domek>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.atman.pl!not-for-mail From: Tomasz Zielonka <tomasz.zielonka@gmail.com> Newsgroups: pl.comp.lang.funkcyjne Subject: Re: j. funkcyjne - jakie zastosowania? Date: Sun, 22 Jan 2006 20:03:48 +0000 (UTC) Organization: ATMAN Lines: 43 Message-ID: <slrndt7pib.5nj.tomasz.zielonka@localhost.localdomain> References: <dpc61g$f0l$1@news.onet.pl> <dqouds$run$1@opal.futuro.pl> <slrndt000n.evc.tomasz.zielonka@localhost.localdomain> <dqpuif$g25$1@opal.futuro.pl> <8764od6hqy.fsf@hector.domek> Reply-To: tomasz.zielonka@gmail.com NNTP-Posting-Host: chello062179088055.chello.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1137960228 56200 62.179.88.55 (22 Jan 2006 20:03:48 GMT) X-Complaints-To: abuse@atman.pl NNTP-Posting-Date: Sun, 22 Jan 2006 20:03:48 +0000 (UTC) User-Agent: slrn/0.9.8.1pl1 (Debian) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit