I linguaggi per sviluppare software sono molteplici e ciascuno sviluppatore ha le sue preferenze/competenze.
Ogni produttore di ambienti di sviluppo cerca di tirare l’acqua al suo mulino vantando peculiarità di vario genere e cercando di specializzarsi in un determinato contesto, il problema di chi produce ambienti di sviluppo è come fare a guadagnare più o meno direttamente o creare in qualche modo una dipendenza.

A questo punto ho derivato questa riflessione, premesso che ciascuno da il peso che vuole a seconda delle situazioni ai singoli fattori, cosa dovrebbe avere il ‘linguaggio ideale’ dal punto di vista dello sviluppatore?
Ovvero la scelta di un linguaggio è stremamente condizionante per il futuro, di quali fattori tenere conto?

Io tengo conto principalmente di questi…

E’ Open Source?
Ha un buon tasso di produttività (inteso come rapporto tra tempi di sviluppo e qualità del risultato)?
Permette di scrivere l’algoritmo in modo chiaro e sintetico?
Genera dipendenze da componenti da acquistare?
Necessita di RunTime?
Permette di scrivere all’occorrenza indifferentemente codice open o closed?
Gira indistinamente lato server o lato client?
E’ multipiattaforma?
Permette l’agganciamento al massimo numero di database diversi?
Permette l’accesso alle interfacce (seriale o altre), e ai device (stampanti di sistema)?
Usa un runtime?
Se usa un runtime, è ’stabile’? ha dei ‘fork’ incompatibili?
Il programma risultante è sufficentemente rapido nell’esecuzione?
La versione successiva dell’ eventuale runtime è compatibile con la precedente?
Ha una sintassi semplice e leggibile?
E’ object-oriented?
Possiede tools per costruire graficamente le interfaccie?
Possiede tools per costruire graficamente le i report?
Ha un debugger integrato, semplice ed efficace?
Ha un buon parco routines?
Possiede un ambiente di sviluppo integrato (con editor, debugger ecc.)?
Per le installazioni/update ha un sistema semplice ed efficace?
Possiede una vasta comunità a supporto?
Possiede una documentazione completa con tutorials ed esempi?
Esistono all’esigenza aziende in grado di fornire supporto a pagamento?

Un linguaggio che fa tutto ciò non esiste e forse non potrà esistere, ma queste sono le cose a cui do peso quando devo operare una scelta.
In pratica valuto il problema e i pro e i contro di volta in volta, derivante da una scelta o un altra.