Richiedi informazioni

I campi contrassegnati con * sono obbligatori

Sito protetto da Google reCAPTCHA.Privacy Policy Termini di servizio

html e css non sono linguaggi di programmazione

Molto spesso, nei curriculum che ci arrivano, capita di trovare annoverati tra i linguaggi di programmazione conosciuti dai candidati HTML e CSS. Seppure la loro conoscenza per il tipo di attività che si svolge in Retorica sia fondamentale, è sbagliato metterli sotto la voce “linguaggi di programmazione conosciuti”.

Vediamo rapidamente assieme il perché di questa cosa, descrivendo cosa sono, per cosa vengono utilizzati e perché non sono linguaggi di programmazione.

Cosa definisce un linguaggio di programmazione

I linguaggi di programmazione sono dei linguaggi formali che definendo un lessico una sintassi ed una semantica permettono l’elaborazione dei dati in input per generare un output.

Per fare questo i linguaggi di programmazione mettono a disposizione degli strumenti di base come le istruzioni, ovvero comandi che modificano lo stato interno del calcolatore che sta eseguendo il programma.

Altri strumenti messi a disposizione dei programmatori dai linguaggi di programmazione sono le variabili, ovvero dei contenitori per i dati. Quasi la totalità dei linguaggi di programmazione mette a disposizione quest’astrazione seppure implementandola, magari, in maniera piuttosto differente.

La capacità di eseguire calcoli tramite espressioni è poi un’altra caratteristica di base che i linguaggi di programmazione. Le espressioni permettono di combinare variabili e costanti tramite degli operatori logici. Le espressioni implementate nei linguaggi di programmazione non sono da intendere solamente come espressioni matematiche. La loro computazione varia in base agli operatori coinvolti (operatori logici, concatenazione di stringhe ecc…).

Altre caratteristiche fondamentali sono le strutture dati, che permettono di immagazzinare ed accedere dati complessi e le strutture di controllo che permettono di alterare e manipolare il flusso di controllo del programma. Le strutture di controllo più diffuse sono rappresentate dalle strutture condizionali come l’if oppure da cicli come for, each, while.

Ultimi due aspetti sono la possibilità di organizzare il codice in sottoprogrammi, facilitando così il riuso del codice e raccogliere input dati (da tastiera o altre sorgenti) per poi elaborarli e generare un output.

Pare chiaro già da ora che HTML e CSS non hanno nulla di quello che definisce un linguaggio di programmazione a parte la definizione di una sintassi ed una semantica.

A cosa servono quindi HTML e CSS?

HTML

L’HTML è un linguaggio di markup, e serve a descrivere la struttura gerarchica di un documento. Lo fa utilizzando dei tag che racchiudono le informazioni. I tag servono a descrivere il significato semantico del contenuto racchiuso. I tag possono racchiudere altri tag, in questo modo viene definita la struttura gerarchica del documento da cui poi si può ricavare una struttura ad albero.

Le regole di base su come utilizzare i tag, quali attributi possono avere e quali tag possono racchiudere sono parte stessa della definizione di HTML. Tuttavia non ci sono controlli intrinseci per verificare che queste regole sono rispettate. La maggior parte dei browser interpreta l’HTML anche se non scritto in maniera del tutto corretta.

CSS

Il CSS è un linguaggio che definisce la formattazione dei documenti di markup. Nato appositamente per separare la formattazione del documento e favorire riuso e pulizia del codice. Il css può essere contenuto all’interno del file HTML in apposite sezioni, può essere scritto inline oppure secondo quella che è la pratica più comune può essere scritto all’interno di file appositi che poi vengono linkati all’interno del documento principale. Spetterà poi al browser interpretare il codice css e formattare il documento in maniera corretta.

In conclusione

Non è solo pignoleria pretendere che HTML e CSS non compaiano assieme a veri e propri linguaggi di programmazione come C, C++, Java, PHP, Javascript all’interno di un curriculum. E non è pignoleria pretendere che chi conosce solo HTML e CSS non si definisca programmatore. Abbiamo visto che è proprio errato, perché HTML e CSS sono carenti di tutte le caratteristiche principali di un linguaggio di programmazione.