Sebbene praticamente tutti i linguaggi di programmazione utilizzino le variabili per gestire i dati, una manciata è senza tipo, il che significa che non richiedono di specificare testo, numeri, date o altri tipi di dati insieme al nome della variabile. Tuttavia, sebbene ciò renda più semplice l'apprendimento delle lingue senza testo, rende anche più difficile la manutenzione e il debug dei programmi.

Insegnante e studente con un computer

Variabili tipizzate e non tipizzate

In un linguaggio tipizzato tradizionale, un programmatore crea variabili specificando un nome e il tipo di dati contenuti nella variabile. Ad esempio, in COBOL, una variabile per contenere un nome cliente potrebbe essere chiamata "CUST-NAME". COBOL specifica il tipo di dati con la clausola "IMMAGINE" e un tipo di dati di testo alfabetico è una "X". L'intera specifica potrebbe essere "05 CUST-NAME PICTURE X (30)" per mettere da parte 30 caratteri di memoria per il campo. Altri tipi di dati includono numeri interi, date e numeri con virgola decimale mobile. Una variabile senza tipo, al contrario, ha solo un nome.

Più facile da imparare

Uno studente che apprende il suo primo linguaggio di programmazione può trovare un tipo senza testo come TCL più facile da affrontare rispetto a un linguaggio tipizzato tradizionale come Java. Non deve perdere tempo ad apprendere le differenze tra i diversi tipi di dati; la lingua gestisce automaticamente i tipi di dati internamente; e funzioni come "expr" determinano anche cosa fa il programma con le variabili.

Mancanza di chiarezza

Qualcuno che legge il programma di un'altra persona può avere difficoltà a comprendere un linguaggio senza nome. Poiché le variabili non sono definite con un tipo, l'uso di variabili per il testo e l'aritmetica diventa più ambiguo e potenzialmente confuso. Un programmatore può attenuarlo in qualche modo includendo al codice commenti ben scritti che descrivono come usa le variabili per svolgere un compito. Anche le scelte migliori per i nomi delle variabili fanno la differenza; nomi vaghi come "x", "cust1" o "d" trasmettono meno significato di "customer_name", "total_sales" e "birthday".

Modifiche più rapide

Senza la necessità di definire e ridefinire i tipi, i programmatori possono apportare modifiche al codice esistente in meno tempo. È possibile aggiornare un determinato modulo o funzione senza dover modificare le definizioni delle variabili o altro codice che utilizza le stesse variabili. In generale, le lingue senza testo hanno tempi di andata e ritorno più rapidi tra la modifica del codice e la visualizzazione della modifica. Questo è un vantaggio per semplici programmi di utilità scritti al volo per risolvere problemi immediati, nonché per progetti più grandi destinati a compiti a lungo termine.

Errori di runtime

Sebbene la creazione di variabili con tipi di dati richieda più lavoro, ha il vantaggio di una migliore affidabilità. I tipi di dati applicano regole utilizzate dalla lingua per contrassegnare potenziali errori. In una lingua digitata, ad esempio, non è possibile moltiplicare una stringa di testo per un'altra; la lingua ti dà un errore di sintassi, costringendoti a correggere l'errore. In un linguaggio non tipizzato, è possibile assegnare erroneamente il testo alle variabili destinate ai numeri, causando l'arresto anomalo del programma in esecuzione.