Il ruolo di Kotlin e Swift nel 2020

Quanto sono importanti Kotlin e Swift oggi? Kotlin è per Java quello che Swift rappresenta per Objective C?

Kotlin è una soluzione moderna e leggera per attingere al vasto ecosistema di librerie e funzioni di Java senza averne la pesantezza e l'arcaicità dei costrutti, ma introducendo una grande espressività e semplificazione della sintassi, che si avvicina molto di più a quella delle recenti versioni di Javascript o Python; di conseguenza la curva di apprendimento risulta estremamente ridotta se paragonata a Java, soprattutto per i neofiti o per chi proviene dal mondo del web, divenendo nei fatti un competitor vero e proprio delle soluzioni ibride e multipiattaforma, spesso da preferire in termini di produttività e qualità del codice sorgente.

Da un certo punto di vista, per quanto riguarda il mobile, potremmo interpretare Kotlin come la risposta di Google a Swift, sebbene il linguaggio non sia portato avanti direttamente dalla multinazionale di Mountain View. Objective C è stato cambiato da Apple nel corso tempo, semplificandosi nella sintassi, nel modo di gestire la memoria e nell'accesso all'hardware, fino a che è stato più semplice introdurre Swift come alternativa, accessibile ad un bacino di programmatori più ampio; per le stesse ragioni Kotlin si propone come alternativa a Java nel suo intero ecosistema, in generale non solo per Android ma anche ad esempio per lo sviluppo di applicazioni server-side.

Difficile dire per quanto tempo questi si affiancherà a Java e se andrà a sostituirlo effettivamente come linguaggio di programmazione ufficiale per Android, ma questo deve importarci relativamente e non deve diventare il fattore chiave di scelta nel per preferire l'uno rispetto all'altro, poichè la carriera di un professionista, a differenza di quanto si pensa appena usciti dall'università o dopo aver trovato (o perso) il primo posto di lavoro, è costellata di cambi di linguaggi e di framework.

Un valido sviluppatore saprà adattersi facilmente ad un nuovo paradigma e non verrà estromesso a causa del variare delle richieste del mercato in cui opera.

In ultima analisi quindi entrambi i due nuovi linguaggi nascono per soddisfare le esigenze dell'attuale mondo della programmazione, dove spesso non sono richieste più skill specialistiche e competenze mnemoniche in un unico linguaggio, ma validi basi teoriche, capacità di adattamento, di problem solving e di ragionamento da parte della persona che sta dietro alla tastiera, che vengono facilitate e amplificate da un linguaggio più espressivo e consentono meno bug, maggiore produttività e benessere psico-fisico dell'individuo.