Programmeringssprog: Forskelle mellem versioner
Content deleted Content added
Flertydige WL: type → Datatype, Forth → Forth (programmeringssprog) |
|||
Linje 43:
{{uddybende|datatype}}
Et [[typesystem]] definerer hvordan et programmeringssprog klassificerer værdier og udtryk sådan at de hver især har [[
Nogle programmeringssprog tillader at man midlertidigt bryder ud af typesystemet (for eksempel ved at ''caste'' en variabels type til en anden, hvilket er muligt i C, C++ og Java). Det kan være en fordel hvis det man prøver at udtrykke faktisk er et gyldigt program, selvom typesystemet ikke kan godkende det, men det er en ulempe idet typesystemet ikke længere tjener et formål i den del af programmet. I C kan det blandt andet resultere i segmenteringsfejl, og i Java kan undtagelsen NullPointerException kastes.
Linje 55:
Et programmeringssprog kaldes gængst ''typet'' hvis det i nogen grad benytter typer.
Blandt ''utypede'' sprog findes [[assemblersprog]] hvor en hvilken som helst operation kan udføres på en hvilken som helst mængde data. Blandt utypede programmeringssprog af [[højniveau (programmering)|højere niveau]] findes [[BCPL]] og nogle varianter af [[Forth (programmeringssprog)|Forth]].
Man kan inddele typede sprog på flere måder, blandt andet i ''stærkt/svagt'' eller ''statisk/dynamisk'' afhængigt af hvor strikst typesystemet er og hvor i processen af programmets oversættelse og afvikling at typetjek sker. Nogle programmeringssprog understøtter såkaldte ''afhængige typer'' (eng. ''dependent types'') hvor hver type angiver hver enkelt værdi den kan tage (modsat typer som ''int'' og ''float'' i gængse programmeringssprog, der kan tage værdier i et omfattende interval).
|