Non ti va di leggere? Prova ad ascoltare l'articolo in modalità audio 🎧
Tutti i computer del mondo funzionano allo stesso modo: una serie di 0 ed 1 che rappresentano comandi e dati da elaborare. Non è però così semplice programmare direttamente in linguaggio macchina. Sono nati quindi i linguaggi di programmazione di più alto livello per permettere di astrarre la programmazione dei computer e avvicinare lo sviluppo a modelli più facilmente comprensibili dai programmatori. Nel corso dei decenni sono stati creati tantissimi linguaggi di programmazione, e anche oggi il processo creativo non si è fermato! Ognuno di questi linguaggi si rifà ad uno specifico modello o risolve in maniera diversa un particolare problema eventualmente introdotto da un linguaggio precedente. Negli ultimi 10 anni durante i quali ho svolto il lavoro di Tech Community Manager, mi sono confrontato con tantissimi sviluppatori che preferivano un linguaggio di programmazione piuttosto che un altro e ho frequentato tantissimi meetup, gli incontri serali organizzati da programmatori accomunati dal desiderio di condividere la passione per il proprio linguaggio di programmazione preferito. Anche durante il periodo del Covid-19 che stiamo vivendo gli incontri sono continuati online come, per esempio, abbiamo fatto con le“Dev Community Night” promosse da Talent Garden Innovation School che mi hanno visto attivo in prima linea con gli appuntamenti fissi del giovedì sera che, dopo la pausa estiva di agosto, riprendono anche a settembre. Durante questi mesi ho deciso di “interrogare” la Dev Community e gli sviluppatori con cui sono in contatto (oltre 800 persone!) in merito ad alcune tematiche. Mi hanno già detto che cosa pensano in merito alle 8 figure fondamentali nel mondo della programmazione mentre per quest'ultimo articolo ho voluto concentrarmi sui linguaggi di programmazione grazie a una semplice domanda: Qual è il linguaggio di programmazione su cui puntare? Di seguito, ecco quello che mi hanno risposto, suddiviso in una lista di 10 punti.

1. Python

print("Hello, world!")


Python ha ormai 30 anni di vita! Il suo creatore, l’olandese Guido van Rossum, iniziò a lavorarci alla fine degli anni ’80 e il linguaggio è stato rilasciato pubblicamente nel 1991. Deve il nome alla passione del suo inventore per i Monty Python e per la loro serie televisiva Monty Python's Flying Circus, in onda sulla BBC nel corso degli anni ’70. Attualmente lo sviluppo di Python è gestito dall’organizzazione no-profit Python Software Foundation grazie all’aiuto della vastissima community internazionale di sviluppatori. Python è un linguaggio di programmazione ad alto livello, open-source e dispone di migliaia di librerie e framework. Sebbene Python venga di solito considerato un linguaggio interpretato, in realtà il codice sorgente passa prima da una fase di pre-compilazione in bytecode, che viene quasi sempre riutilizzato dopo la prima esecuzione del programma, evitando così di reinterpretare ogni volta il sorgente e migliorando le prestazioni. Inoltre, è un linguaggio multipiattaforma; infatti, il codice può girare su qualsiasi piattaforma che disponga di un interprete. E’ un linguaggio semplice da imparare ed usare. L’intenzione del suo creatore era, infatti, quella che fosse un linguaggio immediatamente intuibile. È fornito di una libreria estremamente ricca, che insieme alla gestione automatica della memoria e alla robusta gestione delle eccezioni lo rendono uno dei linguaggi più ricchi e comodi con cui programmare. Viene utilizzato in tantissimi contesti: dal desktop al web, dallo sviluppo di videogiochi allo scripting di sistema. E’ anche considerato uno dei migliori linguaggi di programmazione per il Machine Learning. E’ fortemente supportato da Facebook, Amazon e soprattutto da Google. Sito web ufficiale: https://www.python.org/

2. JavaScript

<script type="text/javascript">
     alert('Hello world');
</script>
JavaScript, spesso abbreviato in JS, è un linguaggio interpretato di alto livello, che fa parte dei linguaggi di scripting. Fu originariamente sviluppato da Brendan Eich di Netscape Communications su commissione della stessa azienda al fine di realizzare un linguaggio da integrare nel proprio browser che permettesse di estenderne le funzionalità in maniera semplice e, soprattutto, rapida. Denominato dapprima Mochan e successivamente LiveScript, solo in seguito è stato rinominato JavaScript per la partnership con Sun Microsystems che stava lanciando Java. Netscape nel 1995 aveva, infatti, deciso di dotare il proprio browser di un linguaggio di scripting che permettesse ai web designer di interagire con i diversi oggetti della pagina (immagini, form, link, ecc.), ma soprattutto con le applet Java. Le due aziende nel dicembre del ‘95 annunciarono la nascita di questo nuovo linguaggio. Standardizzato per la prima volta nel 1997 dalla ECMA con il nome ECMAScript, è anche uno standard ISO. Microsoft non si fece attendere e rispose con VBScript all’interno di Internet Explorer e la creazione di una propria versione di JavaScript chiamata JScript che era la versione di JavaScript di Internet Explorer: siamo nel luglio del 1996. JavaScript ottenne grande successo tra gli sviluppatori e i web designer non per l’interazione con le applet Java come Netscape e Sun Microsystems avrebbero voluto ma per l’utilizzo che ne fecero gli sviluppatori che introdussero tramite gli script effetti dinamici nelle pagine web innescati dall’interazione dell’utente tramite mouse, tastiera, caricamento di pagine, ecc. Oggi, insieme ad HTML e CSS, JavaScript è una delle tecnologie più importanti del Web e tutti i principali browser hanno un proprio motore JavaScript dedicato. Inoltre, i motori JavaScript, originariamente utilizzati solo nei browser, oggi girano anche sui server, tramite Node.js per esempio, e in una varietà di applicazioni create con framework come Electron e Cordova. Grazie al proliferare di librerie e framework, JavaScript è diventato un linguaggio molto diffuso, multipiattaforma e dopo tanti anni sta vivendo una nuova giovinezza! Sito web ufficiale: www.ecmascript.org

3. C#

using System;

class HelloWorldApp
{
     public static void Main(string[] args)
     {
          Console.WriteLine("Hello World");
          Console.ReadLine ();
     }
}
C# (si pronuncia “C Sharp”) è un linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft all'interno del framework .NET. E’ stato successivamente approvato come standard ECMA ed è anche uno standard ISO. Il suo ideatore James Gosling, nonché Bill Joy di Sun Microsystem, lo definirono un’imitazione di Java, mentre, secondo il progettista principale Anders Hejsberg, l’informatico danese che precedentemente sviluppò i linguaggi Turbo Pascal e Borland Delphi, la struttura di C# è più vicina a quella del linguaggio C++. Il suo nome provvisorio era “Cool”, acronimo di "C-like Object Oriented Language", ma alla presentazione ufficiale del progetto .NET alla Professional Developers Conference tenutasi nel luglio 2000 a Orlando, venne presentato appunto come C#. Durante la stessa conferenza venne aggiunto il supporto C# alle librerie e al runtime di ASP.NET. Il linguaggio C# è adatto per scrivere applicazioni per Windows, per sviluppare pagine Web, applicazioni Android e per sistemi Embedded. Viene anche utilizzato in Unity per sviluppare videogiochi. Una curiosità: il nome del linguaggio, C Sharp, è ispirato dalla notazione musicale. Il simbolo diesis (♯) è un'alterazione, in senso crescente, dell'intonazione della nota cui si riferisce; ovvero scritto a sinistra di una nota la rende più acuta di un semitono. Sito web ufficiale: docs.microsoft.com/it-it/dotnet/csharp

4. Typescript

let message:string = "Hello World" 

console.log(message)
TypeScript è un linguaggio di programmazione open-source sviluppato e gestito da Microsoft che può essere utilizzato per sviluppare applicazione JavaScript sia client che server (grazie a Node.js). E’ un superset di JavaScript cioè estende la sintassi di quest’ultimo per fornire allo sviluppatore quelle caratteristiche dei moderni linguaggi di programmazione che permettono la progettazione di applicazioni JavaScript complesse in maniera più facile. Tutto il codice JavaScript può essere usato come TypeScript. Puoi partire appunto da JavaScript puro e migrare gradualmente il tuo codice per usare le caratteristiche di TypeScript. TypeScript compila in JavaScript. Addirittura puoi decidere la versione di JavaScript che il compilatore TypeScript deve produrre. Il vantaggio è che puoi usare tutte le moderne caratteristiche del linguaggio nelle tue applicazione e supportare al tempo stesso anche i browser più vecchi. Alcuni puristi di JavaScript sembrano resistergli mentre chi arriva da altri linguaggi, come Java e C# sembra amarlo. TypeScript sta diventando sempre più popolare a tal punto da rientrare nella Top ten nel più recente “StackOverflow Developer Survey”. Per un vecchio sviluppatore Delphi come me, è fantastico che a questo linguaggio ci lavori attivamente Anders Hejlsberg – il papà di Turbo Pascal e di Delphi – che è anche il creatore di C#. Sito web ufficiale: www.typescriptlang.org

5. Go

package main

import "fmt"

func main() {
     fmt.Printf("Hello, World\n")
}

Go – anche chiamato GoLang – è un linguaggio di programmazione open-source sviluppato da Google a partire dal 2007 e rilasciato ufficialmente nel 2009. I suoi creatori, Robert Griesemer, Rob Pike e Ken Thompson di Google, hanno voluto creare un linguaggio con una filosofia iniziale ben chiara: pulizia, semplicità, praticità e chiarezza. Come disse Rob Pike in un talk del 2012, “Go è un linguaggio sviluppato da Google per cercare di risolvere i problemi di Google, e Google ha bisogno di risolvere grossi problemi…Lo scopo principale per cui è stato creato Go è di ridurre la lentezza dello sviluppo software in Google e di riflesso rendere i processi più produttivi e scalabili”. Go ha solo qualche decina di parole chiave e si impara in una giornata. Compila nativamente in codice macchina, non sono necessarie virtual machine e non è interpretato. E’ quindi molto veloce ed efficiente. Sono disponibili compilatori per tutti i principali sistemi operativi. La sintassi somiglia a quella del C eccetto che per la dichiarazione dei tipi e la mancanza delle parentesi tonde per i cicli for e if. La gestione della memoria è affidata ad un garbage collector. Alcuni dei progetti attualmente di maggior successo ed utilizzati nel mondo IT come Docker e Kubernetes sono scritti in Go. Google, Amazon, AT&T, Facebook, IBM, Netflix, Zalando e tantissime altre aziende lo utilizzano per progetti in produzione. La mascotte di Go è una particolare specie di roditore del Nord America chiamata Gopher. Sito web ufficiale: www.golang.org

6. Java

class HelloWorld
{
public static void main(String[] args)
     {
          System.out.println("Hello World");
     }
}
Java è un linguaggio di programmazione ad alto livello, orientato agli oggetti che gira sulla piattaforma software Java Virtual Machine (JVM) creata per rendere il linguaggio indipendente dall’hardware sul quale viene eseguito. Gli albori di Java come linguaggio di programmazione risalgono agli inizi degli anni ’90 dal lavoro di ricerca della Stanford University. Ma andiamo per passi: nel ‘92 nasce il linguaggio Oak (“quercia”), prodotto da Sun Microsystems e realizzato da un gruppo di sviluppatori guidati da James Gosling ma fu necessario presto cambiare il nome in Java in quanto Oak era già un linguaggio di programmazione. La sua sintassi di base fu resa molto simile a quella del C++, che andava in voga in quegli anni, per rendere l’adozione di Java più appetibile ai programmatori. Nel 1993, con l'esplosione di Internet, Java iniziò a farsi notare, infatti Netscape annunciò la scelta di dotare il suo allora celebre browser della Java Virtual Machine (JVM). Questo segnò l’inizio di una nuova era perché grazie agli applet le pagine web diventarono interattive. Java fu annunciato ufficialmente nel ‘95 alla conferenza SunWorld  con il motto “Write Once, Run Anywhere” che è uno dei principi fondamentali del linguaggio. Nel 2006 la Sun Microsystems ha distribuito il compilatore e la JVM sotto licenza GPL e l’anno successivo anche le librerie rendendo di fatto Java un linguaggio di programmazione open-source. Si racconta che il suo nome è associato al caffè in quanto i suoi ideatori si ritrovavano spesso a berne una tazza per parlare del progetto – Java è una qualità di caffè dell’Indonesia – mentre una leggenda mai confermata rivela che il nome del linguaggio sia l’acronimo di "Just Another Vacuum Acronym”, un ironico riferimento al proliferare di abbreviazioni utilizzate in ambito informatico. Dopo tanti anni, oggi, rimane ancora uno dei linguaggi di programmazione più usati al mondo. Sito web ufficiale: www.java.com

7. Dart

main() {
     print('Hello World!');
}

Dart, che all’inizio si chiamava Dash, è un linguaggio di programmazione open-source, object-oriented e general-purpose sviluppato da Google. Fu presentato per la prima volta nel 2011 alla conferenza per programmatori GOTO in Danimarca. Lo scopo dichiarato era quello di sostituire JavaScript, per risolvere tutti quei problemi che non si possono risolvere con l’evoluzione del linguaggio, offrendo, al tempo stesso, migliori prestazioni, una migliore produttività in progetti di grosse dimensioni e migliori funzionalità legate alla sicurezza. Il compilatore Dart permette di scrivere programmi per il web ma anche per desktop e server; infatti, può compilare sia in JavaScript sia in codice nativo. La Virtual Machine di Dart doveva essere integrata direttamente nel browser Chrome già nel 2011 ma Google nel 2015 c’ha rinunciato in favore della compilazione in JavaScript. Tanti sviluppatori hanno iniziato ad interessarsi a Dart solo quando si è affermato Flutter. Flutter è un SDK per app mobili, completo di framework, widget e strumenti, che offre agli sviluppatori un modo per creare e distribuire app mobile native per Android e iOS, scritte in Dart. Oltre Google, aziende come Alibaba, Adobe, MailChimp e JetBrains stanno usando questo linguaggio in produzione. Sito web ufficiale: www.dart.dev

8. Rust

fn main() {
     println!("Hello, world!");
}
Rust è un linguaggio di programmazione open-source per sistemi che si focalizza su velocità, sicurezza e parallelismo. Il linguaggio è stato creato da Graydon Hoare, dipendente di Mozilla, e dal 2010 il suo sviluppo è supportato direttamente da Mozilla Foundation. Anche se è un linguaggio molto giovane sembra già molto maturo. Così come campeggia sul sito ufficiale, Rust è “il linguaggio che dà potere a tutti di creare software affidabile ed efficiente”! Non c’è bisogno di un background di basso livello per scrivere programmi efficienti e affidabili. Rust è incredibilmente veloce ed efficiente in termini di memoria: senza runtime o garbage collector, può essere utilizzato per servizi critici riguardo le prestazioni, funzionare su dispositivi embedded e integrarsi facilmente con altri linguaggi. Tanti sviluppatori stanno usando Rust per creare una vasta gamma di nuove applicazioni software come motori per i videogiochi, sistemi operativi, file system, componenti per i browser, motori di simulazione per la realtà virtuale. La stessa Mozilla utilizza Rust per Servo, il proprio motore per browser Web, e parti fondamentali di Firefox. Inoltre, è utilizzato in produzione anche da Dropbox, npm, Postmates, Braintree e tante altre aziende. Rust utilizza un gestore di pacchetti chiamato Cargo. Così come npm in JavaScript o Ruby Gems, Cargo permette di ottenere e compilare tutto quello che c’è bisogno per i propri progetti: viene utilizzato per creare un nuovo progetto in Rust così come per controllare gli errori, compilare e gestire le dipendenze. Una curiosità finale: il compilatore di Rust, rustc, è stato compilato da se stesso! Sito web ufficiale: www.rust-lang.org

9. Swift

import UIKit

print("Hello, world!")

Swift è stato sviluppato per 4 anni in segreto, nessuno sapeva della sua esistenza al di fuori di Apple. Ha fatto poi la sua prima comparsa durante la WWDC – la conferenza per sviluppatori Apple – del 2014. L’intenzione di Apple era quella di un nuovo linguaggio per macOS, iOS e il suo ecosistema. Oggi Swift è un linguaggio open-source e general-purpose che ha guadagnato velocemente popolarità e contributi da parte della community dei programmatori. E’ sviluppato per coesistere con il linguaggio Objective-C, già ampiamente utilizzato sui sistemi Apple, semplificando la scrittura del codice. Creato da Chris Lattner, con il contributo di molti altri programmatori della stessa Apple, si ispira ad altri linguaggi di programmazione come Objective-C, Rust, Haskell, Ruby, Python, C# e tanti altri. Nel 2016 Apple ha rilasciato un’applicazione per iPad gratuita, Swift Playgrounds, che permette soprattutto ai più giovani, grazie ad una grafica semplice ed intuitiva, di iniziare velocemente ad imparare a programmare in Swift. Sito web ufficiale: www.swift.org

10. Kotlin

fun main() {
     println("Hello World")
}
Alla Google I/O – la conferenza di Google per sviluppatori – di maggio 2017, Google annunciò che avrebbe iniziato a supportare un nuovo linguaggio per sviluppare su Android. Si trattava di Kotlin, creato da JetBrains, l’azienda di software dietro l’IDE Java più popolare, IntelliJ IDEA. Dal 2019, Kotlin è il linguaggio consigliato da Google per lo sviluppo di applicazioni Android. Appare, infatti, come prima opzione nell'IDE Android Studio. Alla JetBrains gli sviluppatori erano stanchi della verbosità di Java. Volevano un linguaggio compatibile ma più conciso. Quando hanno iniziato a lavorare a Kotlin hanno deciso di renderlo open-source e il linguaggio ne ha beneficiato immensamente grazie al supporto della grande comunità Java. Lo sviluppo è iniziato nel 2011 e il linguaggio prende il nome dall'omonima isola vicino a San Pietroburgo. Kotlin si basa sulla Java Virtual Machine, è orientato verso la programmazione ad oggetti ma anche alla programmazione funzionale, si ispira e prende spunti da altri linguaggi quali Scala,  lo stesso Java ma anche dal Pascal e dai moderni Go e F#. Come ha dichiarato Andrey Breslav, leader del progetto, Kotlin è stato creato per essere pienamente operativo con l’ambiente Java e il suo enorme ecosistema superandone, però, limitazioni e criticità. Oltre a girare sugli ambienti JVM il compilatore è in grado di generare codice JavaScript, può compilare direttamente in codice macchina sui sistemi supportati e può essere usato per qualsiasi tipo di sviluppo server, client e Android. Sito web ufficiale: www.kotlinlang.orgInnocenzo Sansone Programmo fin da bambino, quando mi fu regalato dai miei genitori un Commodore 16. Oltre 15 anni fa, uno dei primi in Italia, ho iniziato a lavorare come Community Manager in ambito Tech per un’importante multinazionale del settore. Continuando questo lavoro anche con altre aziende, ho dato vita e supportato moltissime Dev Community, ho ideato e organizzato centinaia di eventi tecnici, ho diretto programmi e dipartimenti Tech Community. Oggi, come libero professionista, dialogo con migliaia di sviluppatori, professionisti e appassionati di tecnologia, startup, aziende, community e associazioni. Continuo ad occuparmi di Community gestendo le Pubbliche Relazioni (con il network diretto – la propria community – e il network indiretto – tutte le altre), organizzando eventi online e dal vivo, ideando nuovi format, occupandomi di Comunicazione e Marketing specifici per la Community, supportando nello sviluppo di prodotti e servizi atti a valorizzare l’interazione con il proprio pubblico. Mi trovate suwww.innosans.it, a presto!
Articolo aggiornato il: 09 agosto 2023
Talent Garden
Scritto da
Talent Garden, Digital Skills Academy

Continua a leggere

Data Visualization: i tool che devi assolutamente conoscere

La corretta presentazione del dato, studiata in modo tale che sia comprensibile e pensata in base a chi dovrà ...

Come diventare Growth Hacker: intervista a Theodore Moulos

Come diventare Growth Hacker? Imparando dai migliori. È per questo che abbiamo intervistato Theodore Moulos, l'ospite ...

Come creare il tuo primo portfolio senza aver ancora lavorato

Tra i grandi interrogativi della vita come designer jr., ce n’è uno che merita un posto d’onore: come creare un ...

Data Science & Covid-19: l'analisi dei dati per il tracciamento dei contagi

E se i social network potessero dirci molto più di quello che già sappiamo sulle epidemie come quella del Covid-19, a ...