Vahva ja heikko tyypitys
Vahva ja heikko tyypitys on ohjelmointikielien tyyppijärjestelmän ominaisuus, joka määrittelee miten erityyppisten muuttujien väliset muunnokset käsitellään keskenään. Kieli voi käyttää joko vahvaa tai heikkoa tyypitystä.
Vahvan ja heikon tyypityksen karkeaksi eroksi voidaan sanoa, että heikko tyypitys tekee muunnokset toisiinsa liittymättömien tyyppien välillä implisiittisesti, kun taas vahva tyypitys ei salli muunnosta.[1] Vahvasti tyypitetty kieli vaatii eksplisiittisen muunnoksen tyyppien välillä kuten cast-operaattorin käytön.[1] Toisiinsa liittymättömillä tyypeillä tarkoitetaan eri perhettä: lyhyt ja pitkä kokonaisluku voivat liittyä samaan mutta merkkijono ja kokonaisluku eivät.[1]
Huomaa, että joistakin kielistä kuten C-kielestä on esitetty ristiriitaisia tietoja vahvan ja heikon tyypityksen suhteen.[2] Osoittimen käytöllä tyyppijärjestelmän voi ohittaa kokonaan.[3]
Eri ohjelmointikielet käyttävät joko vahvaa tai heikkoa tyypitystä. Vahvan tyypityksen ansiosta ohjelmointikielen kääntäjä huomaa jotkin ohjelmointivirheet automaattisesti.
Lähteet
- Weakly Typed Languages i-programmer.info. 3.11.2010. Viitattu 19.2.2020. (englanniksi)
- https://wiki.c2.com/?StronglyTyped
- Programming Languages (PDF) cs.nyu.edu. Arkistoitu 19.2.2020. Viitattu 19.2.2020. (englanniksi)
- Mikä on TypeScript? Symfony Finland. Viitattu 16.10.2021.