Fördelar och nackdelar med typlösa programmeringsspråk

Lärare och elev med en dator

Typlösa språk är en bra introduktion till datorprogrammering.

Bildkredit: BananaStock/BananaStock/Getty Images

Även om praktiskt taget alla programmeringsspråk använder variabler för att hantera data, är en handfull typlösa, vilket betyder att de inte kräver att du anger text, siffror, datum eller andra datatyper tillsammans med variabelns namn. Men även om detta gör typlösa språk lättare att lära sig, gör det också att underhålla och felsöka program svårare.

Typlösa och typlösa variabler

På ett traditionellt maskinskrivet språk skapar en programmerare variabler genom att ange ett namn och vilken typ av data variabeln har. Till exempel, i COBOL kan en variabel som innehåller ett kundnamn kallas "CUST-NAME". COBOL anger datatyp med "PICTURE"-satsen och en alfabetisk textdatatyp är ett "X". Hela specifikationen kan vara "05 CUST-NAME PICTURE X(30)" för att avsätta 30 teckens lagringsutrymme för fält. Andra datatyper inkluderar heltal, datum och tal med flytande decimaler. En typlös variabel har däremot bara ett namn.

Dagens video

Lättare att lära sig

En elev som plockar upp sitt första programmeringsspråk kan tycka att ett typlöst språk som TCL är lättare att hantera än ett traditionellt maskinskrivet språk som Java. Hon behöver inte lägga tid på att lära sig skillnaderna mellan olika typer av data; språket hanterar automatiskt datatyper internt; och funktioner som "expr" avgör också vad programmet gör med variabler.

Inte tillräckligt klargjort

Någon som läser en annan persons program kan ha svårt att förstå ett typlöst språk. Eftersom variablerna inte är definierade med en typ, blir användningen av variabler för text och aritmetik mer tvetydig och potentiellt förvirrande. En programmerare kan mildra detta något genom att inkludera välskrivna kommentarer till koden som beskriver hur han använder variablerna för att utföra en uppgift. Bättre val för variabelnamn gör också skillnad; vaga namn som "x", "cust1" eller "d" förmedlar mindre betydelse än "customer_name", "total_sales" och "birthday".

Snabbare förändringar

Utan att behöva definiera och omdefiniera typer kan programmerare göra ändringar i befintlig kod på kortare tid. Du kan uppdatera en viss modul eller funktion utan att behöva ändra variabeldefinitioner eller annan kod som använder samma variabler. I allmänhet har typlösa språk snabbare tur och retur mellan ändring av kod och att se ändringen. Detta är en fördel för enkla hjälpprogram skrivna i farten för att lösa omedelbara problem, såväl som större projekt avsedda för långsiktiga uppgifter.

Run-Time Errors

Även om det är mer jobb att skapa variabler med datatyper, har det fördelen av bättre tillförlitlighet. Datatyperna tillämpar regler som språket använder för att flagga potentiella fel. I ett maskinskrivet språk kan du till exempel inte multiplicera en textsträng med en annan; språket ger dig ett syntaxfel, vilket tvingar dig att åtgärda felet. På ett typlöst språk kan du av misstag tilldela text till variabler som är avsedda för siffror, vilket får det pågående programmet att krascha.