( geza42 | 2018. 11. 29., cs – 14:27 )

> Egy algoritmust C++ vagy Pascal nyelvben kb. egy az egyben meg lehet feleltetni a gondolkodásodnak, csak le kell írnod, Haskellben meg még azt is ki kell találnod, hogy hogy lehet megoldani a rendelkezésre álló nyelvi elemekkel.

Azért ez előny is lehet a Haskell számára. Nézd meg pl. az alap quicksortot Haskellben. Még ha nem is ismered a nyelvet, kb. látszik rajta, hogy ez miért quicksort. És igaziból, ha a fordítója csúcsszuper lenne, akkor ez az alap implementáció olyan gyors lehetne, mint a kézzel szénné optimalizált C++-os verzió (mondjuk ez nem mostanában fog bekövetkezni, de elméletileg lehetséges volna). Szóval nem mindig rossz, hogy nem procedurálisan írunk le egy problémát. Bár amúgy tőlem is távol áll ez az egész, de azért mondjuk meglepő volt számomra, hogy egy quicksort ennyire rövid és frappáns Haskellben.

> Amúgy a CLang vagy a GCC simán jobb kódot fordít annál, amit kézzel írnál.
Nálam ugyan nem :) Inkább az a ritka, hogy teljesen optimális kódot csinálnak. Egyre jobbak, ez kétségtelen, de még mindig messze vagyunk attól, hogy elérjék azt a szintet, amit egy tapasztalt asm programozó tud.