Passare ad un nuovo linguaggio di programmazione è un grande passo e non è mai semplicissimo. Si tratta appunto di studiare, spesso da zero, le logiche e le direttive di una nuova piattaforma. Di recente abbiamo spesso parlato di Python, ma oggi vogliamo descrivervi alcuni dei motivi per cui un developer dovrebbe valutare anche Go come soluzione per il proprio lavoro.
Tra le motivazioni per cui uno sviluppatore si avvicina a Go vi sono sicuramente le sue performance di alto livello. Go è estremamente performante, persino rispetto a Python che offre di per sé prestazioni già sufficientemente elevate. Ad oggi diversi linguaggi di programmazioni vengono sfruttati come se fossero un semplice collante tra l'applicazione e il database sottostante, dunque le performance del linguaggio vengono non di rado sottovalutate in favore del livello di integrazione tra gli aspetti funzionali e il supporto all'archiviazione. Go però non rientra in questa categoria.
Python è sicuramente un linguaggio molto versatile, ma per determinate esigenze potrebbe non rappresentare la scelta ottimale, ad esempio nei processi di serializzazione e deserializzazione, ranking ed aggregation, diversi benchmark dimostrano la superiorità di Go nell'elaborazione dei dati e durante la fase di compilazione.
Dunque esistono dei settori in cui Go è per sua natura effettivamente avvantaggiato. Go obbliga inoltre lo sviluppatore a programmare in modo coerente con la logica del linguaggio senza poter esplorare metodi di sviluppo non "ortodossi", questo fa si che il suo codice sia estremamente più semplice da leggere e capire rispetto a Python, ma è anche vero che in certi contesti Python è decisamente più flessibile.
Go non introduce molte innovazioni in termini di programmazione, tuttavia le goroutines e i channels possono fare comodo e sono davvero utili durante la realizzazione di un progetto, anche perché Go non offre la caratteristica del polimorfismo e non è un linguaggio object oriented. Tuttavia è bene non abusare di queste caratteristiche di Go, altrimenti si rischia di ottenere del codice disordinato e di renderlo difficile da debuggare in futuro.
Dunque Go offre delle caratteristiche interessanti: è performante, dispone di un grande ecosistema, di una vasta community di developer e ci sono diversi settori in cui Go rende meglio di Python. A seconda delle proprie esigenze di sviluppo non c'è quindi motivo per non valutare Go invece di Python.
Via The Stream Blog