Ohjelmointiparadigman vaikutus ongelmanratkaisuun
Kivivasara, Jaani (2026)
Kivivasara, Jaani
2026
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2026-04-29
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202604284566
https://urn.fi/URN:NBN:fi:tuni-202604284566
Tiivistelmä
Ohjelmointiparadigmat ovat keskeinen osa ohjelmistokäsitystä, sillä ne määrittelevät tavan mallintaa ja ajatella ohjelmia. Tässä tutkielmassa vertaillaan imperatiivista ja funktionaalista ohjelmointiparadigmaa ja kummastakin paradigmasta tutkitaan, milloin se on perusteltu valinta.
Tutkielma on toteutettu kirjallisuuskatsauksena, jota täydennetään pienellä empiirisellä koodivertailulla. Vertailu toteutettiin Python-kielellä, jolla tehtiin binäärihakualgoritmi kummallakin eri paradigmalla. Algoritmeista mitattiin suoritusaika ja muistinkäyttö. Paradigmoja vertaillaan neljästä näkökulmasta: koodin rakenne ja ilmaisutapa, luettavuus ja ymmärrettävyys, oppiminen ja kognitiivinen kuorma sekä virheet ja testattavuus.
Vertailu osoitti, että paradigmat eroavat monilla tavoilla ja keskeisimpiä eroja olivat tilan käsittely ja koodin rakenne. Imperatiivisessa ohjelmoinnissa suoritetaan askel askeleelta käskyjä ja tila muuttuu ohjelman aikana. Funktionaalisessa ohjelmoinnissa ohjelma koostuu funktioista ja muuttumattomista arvoista.
Tutkielma on toteutettu kirjallisuuskatsauksena, jota täydennetään pienellä empiirisellä koodivertailulla. Vertailu toteutettiin Python-kielellä, jolla tehtiin binäärihakualgoritmi kummallakin eri paradigmalla. Algoritmeista mitattiin suoritusaika ja muistinkäyttö. Paradigmoja vertaillaan neljästä näkökulmasta: koodin rakenne ja ilmaisutapa, luettavuus ja ymmärrettävyys, oppiminen ja kognitiivinen kuorma sekä virheet ja testattavuus.
Vertailu osoitti, että paradigmat eroavat monilla tavoilla ja keskeisimpiä eroja olivat tilan käsittely ja koodin rakenne. Imperatiivisessa ohjelmoinnissa suoritetaan askel askeleelta käskyjä ja tila muuttuu ohjelman aikana. Funktionaalisessa ohjelmoinnissa ohjelma koostuu funktioista ja muuttumattomista arvoista.
Kokoelmat
- Kandidaatintutkielmat [10929]
