physis#24
A tudomány által közvetlenül ihletett, azoknak a szellemét még közvetlenül magukon hordozó szoftverek, hogy ezek mennyire praktikusak, vagy mennyire esetlenek, mennyire sutácskák, menyire sok igéret és lehetőség van előttük...
... szóval ez a kérdés régóta terítéken van. A funkcionális programozók körében mindenképp, főleg a Haskell közösségben. Nem is beszélve a rengeteg algebrai, kategoriaelméleti, logikai programnyelvről (egy durvább példát említve, Charity).
Az akadémiai szféra néha meglepő módon közvetlenül is betörni az IT világába. Például a funkcionális proramnyelvek sok jó tulajdonsága annak köszönhető, hogy nagy elméleti tisztaságra törekednek, és erős matematikai eszközöket használnak. (John Hughes: Why functional prgramming matters.) És ezen nemcsak függvényeket értek, hanem olyan mély matematikai elméletekből köcsönzött ötleteket is, mint például a kategóraelméletből kölcsönzött ,,monászok'':
én is használtam már monászokat parse-olásra, XML-feldolgozásra, sőt, primitív, sablonos, természetes nyelvi fordításra is jól beváltak, leglábbis tudtak annyit, mint a yacc. De ezenkívül még rengeteg dologra jók, ez igazából egy keretrendszer, és elképesztően különböző dogokat foglal szerves egységbe.
Hogy menyire szabad szoftver mindez, azt nem tudom, azt sem is tudom, hogy ez a kérdés így felmerült-e valaha, ugyanis ezeknek a dolgoknak a nagy része eleve az akadémiai körökből érkezett, ebből azt gondolom, hogy a zártság ötlete nem is nagyon merült fel. A Miranda, úgy tudom, nem volt szabad, de a Haskell szerintem mindig is szabad volt, megalkotói tudatosan törekedtek rá, hogy a Haskell funkcionális programozás lingua franca-jává válhassék (ez a cél sikerült is szerintem).
Ha az előbb említett szoftverre korlátozzuk a vitát (darcs), akkor is felmerül itt ez a vita, hogy a tudósi és a mérnöki szemlélet hogyan viszonyul egymáshoz: