Keskustelu:Funktionaalinen ohjelmointi

Wikipediasta
Siirry navigaatioon Siirry hakuun

Koodiesimerkeistä ei kertakaikkiaan käy ilmi funktionaalisuuden pointti. Varsinkin tuo eka on ihan yhtä tyhjän kanssa. arcatan 17. elokuuta 2006 kello 13.10 (UTC)

Jep, funktionaalisuuden pointti ei ole Schemen syntaksi. Siinä oli myös aika paljon sekoitettu käsitteitä. Kirjoitin tuon uudelleen melkein kokonaan. --Anurmi 12. syyskuuta 2007 kello 20.53 (UTC)

"Melko usein tietojenkäsittelytieteen perusteet opetetaan Scheme-kielellä, joka on Lispin yksinkertainen murre."

Mihin väite perustuu? Käsitykseni mukaan yhdessäkään suomalaisessa yliopistossa ei ohjelmoinnin perusteopetusta anneta Schemellä. Kommentin jätti 130.232.135.45 (keskustelu – muokkaukset).

Olisiko vanhaa tietoa? Schemeä käytettiin ennen TKK:lla, mutta käytäntö muuttui näköjään vuonna 2003.[1] --Silvonen 14. syyskuuta 2008 kello 19.05 (EEST)[vastaa]
Käytin erittäin huonoa sanavalintaa: "melko usein". Vaihdoin tarkemman lauseen tilalle samalla kun tein muitakin oikaisuja ja lisäyksiä. --Anurmi 20. huhtikuuta 2009 kello 19.52 (EEST)[vastaa]


Muutamia hassuja kohtia[muokkaa wikitekstiä]

  • sekaisin termit lambda-kalkyyli ja lambda-laskenta/laskento – oikea suomennos olisi kai lambda-laskento?
  • "Puhtaasti funktionaalisissa ohjelmissa ei ole lainkaan tilaa" – tilan voi käsittää hiukan eri tavalla. Laskennalla on aina jokin tila ja ohjelman pysäyttämällä tämä tila voidaan ottaa havainnoitavaksi. Ohjelmassa ei ole niinkään staattisesti määritettävää muuttujien tilarakennetta, johon voisi viitata.
  • "ja suuret tietomäärät käsitellään rekursion avulla." – entäs pienet tietomäärät. Haettu asia on silmukoiden tai toiston toteutus.
  • "monimutkainen syötön ja tulostuksen toteutus, joka vastaavasti on helppo toteuttaa jos sivuvaikutukset sallitaan" – lähinnä ohjelmoijan subjektiivinen kokemus, en sanoisi asiaa monimutkaiseksi pelkästään sen takia, että se joudutaan koodaamaan eri laskentamalliin – esim. haskellissa on melko hyvä tuki i/o:lle.
  • " jolloin ohjelma voidaan helposti kirjoittaa vastaamaan määritelmää ja todistaa oikeaksi induktiolla." – funktionaalisilla kielillä voi myös määritellä koinduktiivisia rakenteita, joiden todistus on äärettömän pituuden vuoksi mahdotonta induktiolla. Vai mitä tässä ajettiin takaa?
  • listassa mainitaan geneerisyys, muttei kerrota, mihin geneerisyyteen tällä viitataan. Funktionaalisessa kontekstissa geneerisyys tarkoittaa hiukan eri asiaa kuin esim. Javassa

Demise 28. joulukuuta 2009 kello 02.43 (EET)[vastaa]