linguaggi di alto livello creano programmi che sono più facile per un essere umano di decifrare , a differenza di linguaggi di basso livello , che una macchina può eseguire più facilmente . Essi possono essere classificati in paradigmi , cioè , le classificazioni di astrazioni utilizzate per comprendere la struttura di controllo del linguaggio . Linguaggi di programmazione non " scendono " da altre lingue . Tuttavia, i progettisti di lingua in prestito concetti e la sintassi da altre lingue . Questo rende nuovi linguaggi facile da imparare , una volta che hai imparato il paradigma di base . Lingua Typing
L'approccio alla tipizzazione lingua diversa per lingua . Digitando si riferisce alla classificazione di dati come un tipo, e se un tipo di dati può essere trattato come un altro tipo di dati da un programma. Ad esempio, qualsiasi numero , carattere alfanumerico o vero /falso valore è rappresentato da un valore binario . Pertanto, senza digitazione, si potrebbe fare un espressione giuridica che calcola il valore del simbolo " ! " diviso 2 . Linguaggi tipizzati prevenire questo , e le lingue di tipo statico digitando prova prima che il programma viene eseguito, in genere quando compilato.
Compilati e interpretati Lingue
Compilazione di un linguaggio converte in macchina codice , e compilato lingue sono progettati per essere eseguito in modo tale . Al contrario, un linguaggio interpretato corre perché un programma interprete analizza la sintassi del linguaggio e segue gli ordini logici che trova , senza la necessità di compilare in anticipo. La distinzione tra linguaggi compilati e interpretati è soprattutto una questione di preferenza del progettista lingua - in teoria , qualsiasi lingua può essere sia compilato o interpretato . I linguaggi interpretati sono anche chiamati " linguaggi di scripting ". C + + , dialetti più fondamentale e Common Lisp sono tutti i linguaggi compilati . Perl e Python sono interpretati lingue. Java combina entrambi compilati e interpretati paradigmi , in cui il normale codice Java viene compilato in bytecode Java , che viene poi interpretato dalla Java Virtual Machine .
Dichiarativa vs Imperativo
linguaggi di programmazione
può incarnare paradigmi dichiarative o imperative : guidato dalla logica computazionale o del flusso di controllo . Lingue progettati con il paradigma dichiarativo specificare ciò che una macchina deve compiere , senza necessariamente affermando come dovrebbe essere fatto . Essi comprendono linguaggi dedicati a un dominio specifico problema , come ad esempio HTML , e linguaggi di programmazione funzionale , senza uno stato persistente, come Lisp . Il paradigma imperativo , invece , tratta un programma come una serie di comandi che cambiano lo stato del programma . Linguaggi procedurali come il C sono imperativi , e strutturato linguaggi , come Java , utilizzare lo stile imperativo . Alcuni linguaggi , come quelli trovati in un makefile utilizzato per creare programmi , utilizzano entrambi gli stili dichiarative e imperative .
Strutturata e orientata agli oggetti
Una speciale classe di linguaggi imperativi , linguaggi strutturati dividono la logica del programma in sottosezioni discreti per ridurre " spaghetti code ", o salti logici casuali difficile da seguire parti del programma . L' approccio strutturato divenne solidificato dalla programmazione orientata agli oggetti , che ha diviso frammenti di codice in classi e metodi . Java e C + + sono linguaggi di programmazione orientati agli oggetti .
Metaprogramming
" Metaprogramming " si riferisce ai programmi che agiscono su altri programmi . Alcune lingue sono progettati specificamente per metaprogrammazione . La lingua effettuino, per esempio , è un semplice linguaggio di scripting che compila ed esegue programmi scritti in linguaggi compilati come C C + + e Python anche le caratteristiche di metaprogrammazione .