Dit is een klasse van programmeertalen op hoog niveau die een gemeenschappelijk kenmerk delen: ze hebben of gebruiken geen gegevenstypen. Gegevenstypen zijn bepaalde typen gegevens, zoals een tekenreeks die tekst kan bevatten, of een Boolean die alleen waar/onwaar-waarden kan bevatten. Deze talen gebruiken natuurlijk nog steeds data, maar herkennen geen datatypes.
Technipages legt Typeless uit
De overgrote meerderheid van programmeertalen maakt wel onderscheid tussen datatypes. Dat betekent dat alle ingevoerde gegevens als een gegevenstype moeten worden gedefinieerd. Er zijn er veel en ze kunnen enigszins verschillen van taal tot taal, maar veel voorkomende zijn strings, floats, integers en Booleans. Als gegevens worden gedeclareerd als het verkeerde gegevenstype (bijvoorbeeld letters in een variabele die alleen cijfers bevat), kan dit problemen veroorzaken en ervoor zorgen dat een programma niet of in ieder geval correct wordt uitgevoerd.
Hoewel de inhoud van een variabele kan veranderen, kan het gegevenstype dat meestal niet - gegevens moeten worden verplaatst of gekopieerd naar een nieuwe variabele. In typeloze talen is dit niet het geval. Variabelen en gegevens bestaan nog steeds en ze kunnen op dezelfde manier functioneren als in andere talen, maar effectief er bestaat slechts één gegevenstype - alle gegevens worden in hetzelfde type opgeslagen en daarom kan elke variabele elk soort bevatten gegevens. Dit kan bepaalde problemen voorkomen, namelijk fouten veroorzaakt door foutieve declaraties, maar het kan ook een ongemak zijn, omdat het onmogelijk is om halverwege het programma te testen of een bepaalde variabele een bepaalde is type.
Typeloze talen zijn bijvoorbeeld TCL, Rexx en BLISS. Veelvoorkomende talen zoals Java, C++ en Python worden allemaal getypt.
In zo'n taal is er in wezen maar één gegevenstype, zodat een variabele elk type gegevens kan opslaan (en het type gegevens dat in een variabele is opgeslagen, kan veranderen terwijl het programma wordt uitgevoerd). Een programmeertaal (zoals JavaScript) is ideaal voor scripting, waarin variabelen kunnen staan voor computersysteem bronnen of componenten naast de gegevenstypen die normaal worden aangetroffen in sterk of zwak getypte programmering talen. Een taal zorgt voor snelle programmaontwikkeling en maximale flexibiliteit, maar er wordt geen typecontrole uitgevoerd; om deze reden worden fouten mogelijk pas gedetecteerd nadat de code is uitgevoerd. Zie datatype, JavaScript, scripttaal, sterk typen, type, typecontrole, zwak typen.
Veelvoorkomend gebruik van Typeless
- Typeloze talen gebruiken geen traditionele gegevenstypen om gegevens te categoriseren.
- Variabelen in typeloze talen kunnen alle soorten gegevens opslaan.
- Typeloze talen geven geen prioriteit aan typeveiligheid.
Veelvoorkomend misbruik van Typeless
- Typeloze talen hebben geen toetsenbord nodig om te typen.