Ho maturato da tempo la convinzione che la seconda domanda più ricorrente, dopo “Mamma come si fanno i bambini?”, è: “qual è il linguaggio migliore per cominciare a programmare?”. La risposta è sempre la stessa: Dipende. La scelta di un linguaggio di programmazione è in funzione dell’obiettivo che si vuole raggiungere. I linguaggi tra cui scegliere sono centinaia ed ognuno di essi è nato per uno scopo ben preciso (per poi evolversi e coprire anche altri segmenti). Nel presente articolo presenteremo i linguaggi più comuni illustrandone le peculiarità.
PHP
Il PHP è un linguaggio lato server tra i più utilizzati al mondo. Può essere inserito all’interno di una pagina html e l’output viene riportato direttamente in HTML. Uno dei vantaggi di PHP, da molti considerato anche uno dei suoi più grandi difetti, è l’assoluta mancanza di regole di scrittura. Lo sviluppatore può intraprendere innumerevoli strade differenti che portino allo stesso risultato. Ciò a discapito, spesso, delle performance del programma.
Il PHP è in grado di:
- Generare pagine web dinamiche
- Creare, aprire, leggere, modificare e chiudere i files presenti sul server
- Elaborare i dati provenienti dai form di un sito web
- Inviare e ricevere cookies
- Aggiungere, eliminare, modificare i dati presenti nel database
- Limitare l’accesso ad alcune pagine del sito web
- Crittare i dati
- Diversi output possibili:
- HTML
- Immagini
- SWF
- XHTML
Altre peculiarità:
- Utilizzabile su varie piattaforme (Windows, Linux, Unix, Mac OS, ecc.)
- Compatibile con quasi tutti server oggi in uso (Apache, IIS, ecc.)
- Supporta un’ampia gamma di Database
- Gratuito ed open source
- Facile da imparare
Alcuni dati statistici
- Il 65% dei siti web utilizzano il PHP
- Utilizzato da Facebook e Wikipedia
- WordPress, il CMS più conosciuto ed utilizzato, usa il PHP
Javascript
Javascript è un linguaggio di script per pagine web client-side e, a differenza del PHP, è di tipo client-side (il linguaggio non viene compilato sul server, ma interpretato direttamente dal browser che si sta utilizzando). Questa sua caratteristica lo rende visibile a chiunque acceda al codice sorgente della pagina web appena aperta (cosa, invece, non possibile con il PHP).
Utilizzato per pubblicità, monitoraggio dei visitatori (analytics), widgets, e molto altro. JQuery (framework Javascript per applicazioni web. Nasce con l’obiettivo di semplificare la selezione, la manipolazione, la gestione degli eventi e l’animazione di elementi DOM in pagine HTML, nonché implementare funzionalità AJAX. [Fonte: Wikipedia]) è la libreria più utilizzata nel web
MySQL
MySQL (Structured Query Language) non è un linguaggio di programmazione o di markup. Consente di interagire con i database, di inserire, modificare, eliminare ed estrapolare dati. Il MySQL (un Relational database management system (RDBMS – sistema per la gestione di basi di dati relazionali) è il software più utilizzato ed è un ottimo linguaggio con cui iniziare.
L’ SQL è in grado di:
- Eseguire Query (interrogazioni) di database
- Recuperare dati
- Inserire record
- Aggiornare record
- Eliminare record
- Creare nuovi DB
- Creare nuove tabelle
- Creare procedure predefinite
- Impostare permessi di accesso alle tabelle o ai dati da visualizzare.
Objective C
Objective C è un linguaggio orientato agli oggetti basato sul linguaggio C ed è utilizzato dagli sviluppatori Apple.
L’Objective C è in grado di:
- Sviluppare applicazioni per iOS
- Sviluppare applicazioni per OS X
Può essere utilizzato solo per iOS. Non può essere utilizzato per altre piattaforme (come Android per esempio).
C++
C++ è un linguaggio di programmazione OOP (Orientato agli Oggetti) utilizzato per lo sviluppo di software, videogiochi e molto altro. Data la sua ricchezza semantica ed il suo grande potenziale è un linguaggio diffuso in ambiti informatici, scientifici e universitari.
Il C++ è in grado di:
- Creare Applicazioni per Windows e Linux
- Video games
- APP per dispositivi mobili
E’, inoltre, un linguaggio supportato da varie piattaforme (Apple, Android, Windows Phone e Blackbarry).
Java
Java è un linguaggio di programmazione orientato agli oggetti, progettato per essere il più possibile indipendente dalla piattaforma di esecuzione (grazie ad una Virtual Machine). Nonostante il nome, non ha nulla a che vedere con lo Javascript.
E’ il linguaggio di programmazione utilizzato per sviluppare applicazioni Android. Per chi desidera cimentarsi nella creazione di APP Android questo è il linguaggio da utilizzare.
AJAX
Ajax non è un linguaggio di programmazione ma piuttosto è il modo di unire più linguaggi. Consiste nel utilizzare Javascript per comunicare con il server ed ottenere informazioni senza dover ricaricare la pagina web. Come riporta Wikipedia “è una tecnica di sviluppo software per la realizzazione di applicazioni web interattive (Rich Internet Application). Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l’aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte dell’utente.”
Molto utilizzato dai programmi di chat (Google talk per esempio), Gmail e Facebook (per foto e chat).
Per poterlo utilizzare occorre avere una buona conoscenza di Javascript, dei CSS e del xml.
Sintesi
Per creare pagine web statiche
- HTML
- CSS
Per creare pagine web interattive:
- Javascript
Per manipolare dati forniti da utenti:
- PHP
- MySQL
Per creare APP per dispositivi mobili
- Objective-C (iPhone)
- Java (Android)
- C++ (Android)
Risorse online
- Codeacademy
- Coursera
- OpenCourseWare Consortium
- Code.org
Qualunque siano i tuoi obiettivi ed il linguaggio da te scelto sappi che la programmazione richiede tanta passione, tempo, impegno e pazienza. Posso assicurare, però, che alla fine i risultati che si otterranno ripagheranno ampiamente i sacrifici compiuti. Quindi buon lavoro e che il codice sia con te!