Che si guardino video su YouTube, ci si colleghi con partner com­mer­cia­li tramite LinkedIn o si legga un articolo su Wikipedia, nei siti web con un elevato numero di visite di norma non si ri­scon­tra­no problemi di fun­zio­na­men­to. Soltanto chi intende rea­liz­za­re da sé un sito web si chiede quali dif­fe­ren­ti script vengano eseguiti in back­ground e come questi siano stati pro­gram­ma­ti.

Lo sviluppo web richiede in­nan­zi­tut­to una serie di decisioni, ad esempio in merito a lin­guag­gio di pro­gram­ma­zio­ne da uti­liz­za­re, alla pos­si­bi­li­tà di assumere uno svi­lup­pa­to­re con le com­pe­ten­ze ap­pro­pria­te o, nel caso siate voi stessi a pro­gram­ma­re, alla necessità di decidere con quale lin­guag­gio di pro­gram­ma­zio­ne web integrare op­por­tu­na­men­te le vostre co­no­scen­ze e va­lo­riz­za­re il vostro portfolio.

I linguaggi di pro­gram­ma­zio­ne web sono definiti da processi e istru­zio­ni logiche complesse. Mentre i linguaggi di markup, come HTML, creano esclu­si­va­men­te documenti, i linguaggi di pro­gram­ma­zio­ne per­met­to­no di rea­liz­za­re programmi partendo dalle proprie idee. Quali sono, allora, i linguaggi di pro­gram­ma­zio­ne par­ti­co­lar­men­te idonei al web? A cosa servono? Quali sono i linguaggi più versatili e quali risultano più semplici da imparare per un prin­ci­pian­te? Questa pa­no­ra­mi­ca sui linguaggi di pro­gram­ma­zio­ne web fornisce in­for­ma­zio­ni su tali argomenti.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

Java

Java è un lin­guag­gio di pro­gram­ma­zio­ne open source e in­di­pen­den­te dalla piat­ta­for­ma che, grazie alla sua ver­sa­ti­li­tà, può essere uti­liz­za­to per quasi tutte le tipologie di progetti. Come la maggior parte dei linguaggi web più popolari, Java è orientato agli oggetti, vale a dire che si orienta in base alla sua concreta area di ap­pli­ca­zio­ne. Gli in­nu­me­re­vo­li framework e librerie per la pro­gram­ma­zio­ne web, di norma am­pia­men­te do­cu­men­ta­ti, fa­ci­li­ta­no la rea­liz­za­zio­ne di progetti web anche molto complessi. I programmi in Java sono inoltre fa­cil­men­te espan­di­bi­li, mo­du­la­bi­li e di facile ma­nu­ten­zio­ne, ammesso che lo svi­lup­pa­to­re svolga bene il suo lavoro.

Poiché Java è piuttosto difficile da imparare e ci sono ten­den­zial­men­te meno esperti in questo lin­guag­gio, il cliente dovrà sostenere costi più elevati rispetto all’utilizzo di altri linguaggi di pro­gram­ma­zio­ne. I pro­gram­ma­to­ri che conoscono il lin­guag­gio Java hanno però delle buone pro­spet­ti­ve di guadagno.

Ja­va­Script

Il lin­guag­gio di scripting dinamico e orientato agli oggetti, no­no­stan­te il nome, non ha nulla a che fare con Java, eccetto il fatto che entrambi si basano su C. Netscape ha svi­lup­pa­to Ja­va­Script nel 1995, ini­zial­men­te con il nome di Li­ve­Script, con l’ambizione di estendere l’HTML e il CSS e con­sen­ti­re ai pro­gram­ma­to­ri di ana­liz­za­re le in­te­ra­zio­ni degli utenti e di pre­sen­ta­re di­na­mi­ca­men­te i contenuti. Oggi Ja­va­script non viene uti­liz­za­to soltanto per i web browser, ma anche per i mi­cro­con­trol­lo­ri e i server.

Ja­va­script dovette il suo nome alla po­po­la­ri­tà del lin­guag­gio Java, a cui ci si voleva rial­lac­cia­re all’epoca. Un grande successo: oggi i siti web più noti, quasi senza eccezioni, uti­liz­za­no Ja­va­script come primo lin­guag­gio di pro­gram­ma­zio­ne lato client. Inoltre per Ja­va­Script sono di­spo­ni­bi­li ampi framework e librerie.

Questo lin­guag­gio di pro­gram­ma­zio­ne è tipizzato di­na­mi­ca­men­te e non ha bisogno di definire prima una classe00203}. Consente ai pro­gram­ma­to­ri di scegliere tra pro­gram­ma­zio­ne orientata agli oggetti, pro­ce­du­ra­le o fun­zio­na­le ed è un lin­guag­gio di pro­gram­ma­zio­ne estre­ma­men­te fles­si­bi­le. Ciò è par­ti­co­lar­men­te evidente nei web browser: con Ja­va­Script si possono, ad esempio, ma­ni­po­la­re di­na­mi­ca­men­te i siti web, con­va­li­da­re i dati del modulo prima che vengano tra­sfe­ri­ti al server di de­sti­na­zio­ne, cambiare le finestre di dialogo e integrare gli script di download e upload.

Ja­va­Script è diventato in­di­spen­sa­bi­le anche per il marketing online, in quanto grazie ad esso è possibile pro­gram­ma­re un gran numero di annunci pub­bli­ci­ta­ri. Il lin­guag­gio può essere uti­liz­za­to anche per leggere e scrivere i cookies in linea con le moderne strategie di marketing, come il targeting. In breve: Ja­va­Script ha lasciato un’impronta decisiva nel mondo del web ed è da con­si­de­rar­si parte in­te­gran­te dell’espe­rien­za web odierna.

PHP

Hypertext Pre­pro­ces­sor, meglio co­no­sciu­to con lo storico acronimo PHP, è un lin­guag­gio di scripting basato su C e Perl. Viene prin­ci­pal­men­te uti­liz­za­to per la pro­gram­ma­zio­ne di siti web dinamici e ap­pli­ca­zio­ni web. PHP è con­si­de­ra­to semplice per un prin­ci­pian­te ed è in­te­gra­bi­le con HTML; infatti, è spesso uno dei primi linguaggi ad essere studiato da un aspirante pro­gram­ma­to­re. Molti gestori di siti web si affidano ancora oggi a PHP no­no­stan­te in generale risulti un po' obsoleto.

Tra i vantaggi più im­por­tan­ti vi sono un ampio supporto a diversi database e un’in­te­gra­zio­ne ef­fi­cien­te con il pro­to­col­lo Internet. Da quando è stato svi­lup­pa­to PHP è stato ag­gior­na­to diverse volte e at­tual­men­te è alla versione 7. ll lin­guag­gio è sotto licenza open source ed è di­spo­ni­bi­le gra­tui­ta­men­te.

Consiglio

Grazie al nostro tutorial su PHP per prin­ci­pian­ti im­pa­re­re­te le basi di questo lin­guag­gio di scripting.

PHP elabora il codice lato server e quindi bypassa l’in­ter­pre­ta­zio­ne del web browser, come avviene con altri popolari linguaggi di pro­gram­ma­zio­ne web. PHP può essere anche integrato con HTTP senza stato e interroga il server web molte più volte rispetto ai linguaggi di pro­gram­ma­zio­ne che tra­smet­to­no il codice sorgente solo una volta. La critica a PHP è dovuta alla ti­piz­za­zio­ne debole e alla mancanza di pos­si­bi­li­tà di una gestione degli errori stan­dar­diz­za­ta.

Tuttavia, il fatto che molti siti web im­por­tan­ti uti­liz­zi­no ancora PHP dimostra la po­po­la­ri­tà del lin­guag­gio. Po­treb­be­ro, però, sorgere problemi nel caso in cui gli operatori di siti web uti­liz­zi­no versioni obsolete di PHP che po­treb­be­ro com­pro­met­te­re la sicurezza e la stabilità del sito web.

Python

Python è un co­sid­det­to lin­guag­gio di pro­gram­ma­zio­ne ad alto livello e si basa su un codice compatto, ma facile da com­pren­de­re. Python è anche facile da digitare, perché ad esempio i blocchi non sono separati da caratteri speciali ma da rientri. Proprio per questo motivo è un lin­guag­gio semplice da imparare e da uti­liz­za­re. Consente di pro­gram­ma­re in base all’esigenza con orien­ta­men­to agli oggetti, agli aspetti o in modo fun­zio­na­le. Inoltre Python è dinamico e viene infatti uti­liz­za­to spesso come lin­guag­gio di scripting.

Il progetto Python è sup­por­ta­to da una comunità attiva e in par­ti­co­la­re viene tenuto ag­gior­na­to dalla fon­da­zio­ne no-profit Python Software Foun­da­tion. Il lin­guag­gio è gratuito e può essere uti­liz­za­to nella maggior parte dei sistemi operativi più comuni.

Molti noti servizi web come YouTube e altri progetti del gruppo Google si basano in parte su Python. Anche l’industria dei vi­deo­gio­chi utilizza questo lin­guag­gio di pro­gram­ma­zio­ne. Lo stesso vale per i progetti scien­ti­fi­ci in cui Python gode di grande po­po­la­ri­tà, so­prat­tut­to perché la maggior parte dei database scien­ti­fi­ci si possono integrare fa­cil­men­te con il lin­guag­gio e perché questo consente di eseguire ef­fi­ca­ce­men­te la raccolta di dati empirici. Python è dunque un lin­guag­gio di pro­gram­ma­zio­ne im­por­tan­te, so­prat­tut­to per i prin­ci­pian­ti del settore. I critici lamentano, tuttavia, la velocità di ese­cu­zio­ne re­la­ti­va­men­te bassa e la complessa de­fi­ni­zio­ne dei metodi.

Ruby

Un altro lin­guag­gio di pro­gram­ma­zio­ne superiore è il progetto Ruby, svi­lup­pa­to da Yukihiro Matsumoto a metà degli anni Novanta. Questo lin­guag­gio di pro­gram­ma­zio­ne fon­da­men­tal­men­te orientato agli oggetti convince non solo per la ti­piz­za­zio­ne dinamica e l’in­tro­spe­zio­ne, ma anche per la gestione au­to­ma­ti­ca della memoria. Il tratto di­stin­ti­vo di Ruby è la fo­ca­liz­za­zio­ne sul­l'og­get­to, per cui ogni valore e persino ogni classe sono con­si­de­ra­ti un oggetto. A dif­fe­ren­za di altri linguaggi di pro­gram­ma­zio­ne orientati agli oggetti, Ruby non prevede eccezioni per i tipi di dati primitivi. In breve: “Tutto è un oggetto”.

La sintassi di Ruby è fles­si­bi­le: per esempio l'uso delle parentesi è spesso opzionale. Questo rende il lin­guag­gio chia­ra­men­te leggibile e lo fa sembrare un lin­guag­gio di markup. Ruby resta comunque molto potente e permette di fare anche me­ta­pro­gram­ma­zio­ne, con cui i pro­gram­ma­to­ri creano i propri metodi, ma­ni­po­la­no la gerarchia di ere­di­ta­rie­tà e cambiano altre costanti del lin­guag­gio di pro­gram­ma­zio­ne secondo le loro idee. Pertanto Ruby è con­si­de­ra­to "facile da imparare, ma difficile da pa­dro­neg­gia­re”.

I critici sot­to­li­nea­no le con­se­guen­ze negative di errori di ti­piz­za­zio­ne nel codice del programma: infatti, errori in runtime inattesi possono portare ad attività di debuging este­nuan­ti. Ruby è spesso usato come lin­guag­gio di scripting per i server web, ma anche molto spesso nel­l'in­du­stria dei vi­deo­gio­chi. Il lin­guag­gio è di­spo­ni­bi­le per tutti i comuni sistemi operativi.

C++

C++ si basa su uno dei linguaggi di pro­gram­ma­zio­ne più vecchi: C. I progetti su questo lin­guag­gio, concepito all’epoca come esten­sio­ne di C, erano iniziati già nel 1979, ma sono stati resi pubblici solo nel 1985. Ancora oggi gode di grande po­po­la­ri­tà. C++ è un lin­guag­gio di pro­gram­ma­zio­ne stan­dar­diz­za­to secondo l’ISO (In­ter­na­tio­nal Or­ga­ni­za­tion for Stan­dar­di­za­tion) ed è con­si­de­ra­to vicino al lin­guag­gio macchina ed ef­fi­cien­te, nonché altamente astratto e complesso. C++ è facile da imparare, so­prat­tut­to perché il nucleo del lin­guag­gio è composto da circa 60 parole chiave. Il lin­guag­gio guadagna in com­ples­si­tà e portata grazie alla sua libreria standard.

I maggiori punti di forza di C++ sono la varietà di com­bi­na­zio­ne e l’efficace pro­gram­ma­zio­ne vicina al lin­guag­gio macchina. Anche i processi altamente complessi si possono rag­grup­pa­re in funzioni di base. Così C++ al­leg­ge­ri­sce il lavoro dei pro­gram­ma­to­ri che possono contare sul nucleo del lin­guag­gio e sulla libreria standard. In quanto stret­ta­men­te basato su C, questo lin­guag­gio di pro­gram­ma­zio­ne presenta alcuni svantaggi, come ad esempio la sintassi re­la­ti­va­men­te poco chiara. Tuttavia, C++ è uno dei linguaggi di pro­gram­ma­zio­ne oggi più popolari quando si parla di pro­gram­ma­zio­ne di sistemi e di ap­pli­ca­zio­ni. Nell’ambito dei linguaggi di pro­gram­ma­zio­ne web C++ viene comunque dopo Java, Ja­va­Script e C#.

C#

Il lin­guag­gio di pro­gram­ma­zio­ne C# ("C-Sharp") (anno di pub­bli­ca­zio­ne 2001) è con­si­de­ra­to un lin­guag­gio uni­ver­sa­le. È tipizzato, orientato agli oggetti e fon­da­men­tal­men­te in­di­pen­den­te dalla piat­ta­for­ma, ma è stato svi­lup­pa­to spe­ci­fi­ca­men­te come progetto Microsoft per il framework .NET. C# può essere spesso trovato con il nome "Visual C#", per lo più come im­ple­men­ta­zio­ne. Con­cet­tual­men­te, il lin­guag­gio è simile a Java e C++, ma estende il modello orientato agli oggetti con il co­sid­det­to attributo che memorizza in­for­ma­zio­ni su classi, oggetti e metodi, e anche con delegati che rimandano a metodi di de­ter­mi­na­te classi. Questo permette prin­ci­pal­men­te una de­scri­zio­ne degli errori più ef­fi­cien­te durante la com­pi­la­zio­ne del codice, facendo ri­spar­mia­re molto tempo agli svi­lup­pa­to­ri.

Molti vedono in C# il lin­guag­gio di pro­gram­ma­zio­ne più im­por­tan­te che gli svi­lup­pa­to­ri do­vreb­be­ro imparare insieme a Java. Come lin­guag­gio di pro­gram­ma­zio­ne web orientato agli oggetti, C# offre la migliore com­bi­na­zio­ne tra fun­zio­na­li­tà e com­ples­si­tà. I critici mettono in luce, però, che l’utilizzo di C# vincola al framework .NET di Microsoft. Tuttavia i pro­gram­ma­to­ri riescono a coprire un ampio settore del mercato: dallo sviluppo di sistemi Windows ai vi­deo­gio­chi per Xbox e PC, molti pro­gram­ma­to­ri si affidano oggi a C#. Come lin­guag­gio di pro­gram­ma­zio­ne web, il lin­guag­gio C# è usato prin­ci­pal­men­te per le API web e varie ap­pli­ca­zio­ni web.

Perl

Il lin­guag­gio di pro­gram­ma­zio­ne Perl apparve nel 1987 e suscitò interesse come lin­guag­gio di pro­gram­ma­zio­ne e di scripting insieme a PHP, Ja­va­script, Ruby e Python. Gli svi­lup­pa­to­ri erano orientati prin­ci­pal­men­te ai linguaggi di pro­gram­ma­zio­ne della famiglia C. Questo lin­guag­gio è fon­da­men­tal­men­te in­di­pen­den­te dalla piat­ta­for­ma ed è stato ini­zial­men­te pro­get­ta­to per la rete e l’am­mi­ni­stra­zio­ne di sistema. Nel frattempo Perl si è anche affermato come uno dei linguaggi di pro­gram­ma­zio­ne più diffusi nei settori del web software, della bio­in­for­ma­ti­ca e del settore fi­nan­zia­rio.

Con Perl i pro­gram­ma­to­ri godono di grande libertà e possono risolvere in modo ef­fi­cien­te i problemi. Ad esempio, i testi possono essere mo­di­fi­ca­ti con espres­sio­ni regolari; inoltre per Perl ci sono diversi moduli di­spo­ni­bi­li che si possono trovare nella libreria Perl CPAN. Come lin­guag­gio di pro­gram­ma­zio­ne Perl ha lo scopo di offrire al pro­gram­ma­to­re diversi metodi per rag­giun­ge­re l’obiettivo rimanendo semplice ed efficace e operando in maniera con­te­stua­le.

Perl divenne fon­da­men­ta­le con la dif­fu­sio­ne del World Wide Web e ricopre ancora oggi un ruolo im­por­tan­te come lin­guag­gio di pro­gram­ma­zio­ne web, tuttavia non viene tanto uti­liz­za­to se la pros­si­mi­tà dell’hardware (ad es. nei web server) e la velocità (ad es. nei driver) rivestono un ruolo im­por­tan­te.

I più noti siti web uti­liz­za­no questi linguaggi di pro­gram­ma­zio­ne

I prin­ci­pian­ti della pro­gram­ma­zio­ne si trovano spesso so­praf­fat­ti dalle numerose opzioni di­spo­ni­bi­li offerte dai diversi linguaggi. Ci si può comunque orientare guardando le pagine web prin­ci­pa­li: quali linguaggi di pro­gram­ma­zio­ne uti­liz­za­no Facebook, Twitter o Google? Quali sono adatti lato client, quali lato server?

Consiglio

Oggi non è ne­ces­sa­rio pa­dro­neg­gia­re un lin­guag­gio di pro­gram­ma­zio­ne per creare un sito web. Con IONOS MyWebsite viene offerto un kit di co­stru­zio­ne intuitiva con il quale è possibile creare in modo semplice e veloce un sito.

Questa pa­no­ra­mi­ca mostra come tutti i siti web citati uti­liz­zi­no Ja­va­Script lato client, mentre come lato server si basino su linguaggi di pro­gram­ma­zio­ne diversi. Solo Yahoo utilizza PHP lato server.

Sito web Lin­guag­gio di pro­gram­ma­zio­ne lato client Lin­guag­gio/i di pro­gram­ma­zio­ne lato server
Google Ja­va­Script C, C++, Go, Java, Python, PHP (HHVM)
Facebook Ja­va­Script Hack, PHP (HHVM), Python, C++, Java, Erlang, D, XHP, Haskell
YouTube Ja­va­Script C, C++, Python, Java, Go
Yahoo Ja­va­Script PHP
Amazon Ja­va­Script Java, C++, Perl
Wikipedia Ja­va­Script PHP, Hack
Twitter Ja­va­Script C++, Java, Scala, Ruby
Vai al menu prin­ci­pa­le