🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #782

Re: j. funkcyjne - jakie zastosowania?

#782
From: Tomasz Zielonka
Date: Sun, 22 Jan 2006 20:03
43 lines
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-mail
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>

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