Muuttujien tyypityksen vaikutus verkko-ohjelman ohjelmoimiseen
Koskinen, Teemu (2021)
Koskinen, Teemu
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021081216995
https://urn.fi/URN:NBN:fi:amk-2021081216995
Tiivistelmä
Työssä tutkittiin, miten muuttujien tietotyyppien staattinen asettaminen vaikuttaa ohjelmointiin. Vertailuun otettiin TypeScript, joka on staattisesti tyypitetty kieli ja JavaScript, joka on dynaamisesti tyypitetty kieli. Tavoitteena oli selvittää, miten staattinen tyypitys vaikuttaa koodiin ja ohjelmoinnin prosessiin. Työn tueksi kysyttiin Tampereen ammattikorkeakoulun tietojenkäsittelyn opiskelijoilta, millaisia kokemuksia heillä on TypeScriptin ja JavaScriptin käytöstä.
Tuloksena saatiin selville, että staattisella tyypittämisellä on vaikutuksia ohjelmointiprosessiin ja koodiin itsessään. Missä kohtaa koodin tietotyyppivirheet tarkastetaan, on suuri merkitys niin koodin kehityksen kuin virheiden ennaltaehkäisyn kannalta. Kun mahdolliset virheet tarkastetaan jo kääntäjässä, on niiden huomaaminen ja korjaaminen helpompaa. Koodi on myös rakenteellisesti toimivampaa ja vähemmän alttiimpaa virheille, jotka voivat johtua käyttäjän syötteistä, ilman mittavia käsin kirjoitettuja lisätarkistuksia. Koska iso osa yleisimmistä ohjelmointikielistä on myös staattisesti tyypitettyjä, esimerkiksi Java ja Python, voi staattisesti tyypitetyn vaihtoehdon valitseminen auttaa uusien kielien oppimisessa.
Tuloksena saatiin selville, että staattisella tyypittämisellä on vaikutuksia ohjelmointiprosessiin ja koodiin itsessään. Missä kohtaa koodin tietotyyppivirheet tarkastetaan, on suuri merkitys niin koodin kehityksen kuin virheiden ennaltaehkäisyn kannalta. Kun mahdolliset virheet tarkastetaan jo kääntäjässä, on niiden huomaaminen ja korjaaminen helpompaa. Koodi on myös rakenteellisesti toimivampaa ja vähemmän alttiimpaa virheille, jotka voivat johtua käyttäjän syötteistä, ilman mittavia käsin kirjoitettuja lisätarkistuksia. Koska iso osa yleisimmistä ohjelmointikielistä on myös staattisesti tyypitettyjä, esimerkiksi Java ja Python, voi staattisesti tyypitetyn vaihtoehdon valitseminen auttaa uusien kielien oppimisessa.