È la classica domanda che viene fatta agli informatici, quella sul linguaggio migliore “per iniziare”.
È una domanda interessante ma non c’è una risposta unica. In questo articolo ti proporrò tre soluzioni che tipicamente soddisfano gli utenti. Commenta pure se hai iniziato in modo diverso!
Per tutti i giorni: Python
Python è un ottimo linguaggio per il programmatore hobbista. Si può imparare in poco tempo e può fare delle cose davvero carine.
Permette, ad esempio, di sviluppare bot per Telegram, Wikipedia e di lavorare agilmente con i database.
Python è il linguaggio di alto livello per eccellenza, facile da adoperare, con comandi in inglese semplici e chiari. Abitua fin da subito ad indentare, pratica che rende molto più leggibile il codice.
Per capire: C
Per contro il Python è talmente astratto da non permettere di pensare con precisione informatica.
Invece il C è molto più formale e permette di avvicinarsi molto al pensiero del computer.
Ad esempio in Python non sono necessarie cose come:
- Dichiarare il tipo di una variabile: Ad esempio in Python “ciao = 2” e “ciao = ‘Bello’ ” è perfettamente giusto, mentre in C dovete dire se state parlando di caratteri, interi o numeri a virgola mobile
- In Python la gestione delle stringhe è cosa ovvia, in C richiede altre librerie ed è più pensata a livello calcolatore
- In C si può lavorare direttamente con la memoria, ad esempio con i puntatori. In Python queste cose si possono sognare.
Pertanto C è in linguaggio d’elezione per chi vuole capire realmente il computer, è infatti tipicamente usato nelle scuole e dovrebbe essere nel bagaglio culturale di ogni informatico che si rispetti, anche se si dedica alla potatura dei bonsai, all’eliminazione dei virus o ai sistemi.
Per il Web: HTML+CSS+JS/PHP
Programmare per il Web può essere interessante.
Per prima cosa chiariamo che sviluppare siti web semplici non è programmazione ed è giusto così. Per crearsi il blog personale basta un po’ di conoscenza e WordPress. Anche per creare piccole paginette in HTML non servono grandi capacità.
Programmare vuol dire creare pagine in grado di adattarsi agli stimoli, di cambiare in base ai dati ricevuti.
Ma per programmare sul web è comunque necessario conoscere il webdesign, conoscere HTML per definire la struttura della pagina e CSS per la grafica.
Infatti quasi sempre poi si usano template già fatti, tipicamente Bootstrap. Senza sapere però HTML o CSS potete anche essere i migliori programmatori PHP del mondo e caverete poco dal buco.
Ma che differenza c’è tra PHP e JS?
PHP è un linguaggio lato server. Vuol dire che prende delle informazioni, che possono essere date dall’utente o prese, per esempio, da un database o da un cookie e le elabora.
Un esempio di applicazione fattibile in PHP è un social network: Si salvano in un database gli utenti, i loro post e i loro amici. Quando si fa login il sistema permetterà di aggiungere post e di vedere quelli dei propri amici. Tutte cose fatte nel server.
E se servisse lavorare nel client? Per quello c’è JavaScript.
Pensate ad un’applicazione che svolge calcoli. Quasi sempre non c’è grande differenza se il calcolo viene svolto dall’utente o dal server, dunque è preferibile evitare la richiesta al server e definire la funzione in JS facendola in locale.
JavaScript è inoltre in grado di modificare la pagina, inserendo nuovi elementi o cambiandone il design per esempio.
Può essere usato anche per preliminari controlli, ad esempio se il campo “nome utente” non può essere vuoto può impedire che sia persino inviata una richiesta con nome utente vuoto. Attenzione, però: Essendo sul computer client è facile da scassinare per chi ha fini non proprio puliti. Mai usare JavaScript come unico controllo!