Scrivo software da… uhm… tanti anni e ho visto nascere, crescere e morire molti linguaggi del futuro.
Nei primi anni di MS-DOS e anche nei primi anni di Windows (diciamo dal 3.0 in avanti) queste erano piattaforme entusiasmanti su cui scrivere. C’erano dei bachi sia nel sistema operativo sia nei tool di sviluppo, ma erano ben noti e quasi sempre facilmente aggirabili. C’erano molte librerie di terze parti (anche senza Internet le informazioni circolavano benissimo tra i programmatori) che sopperivano alle carenze delle librerie standard dei linguaggi e alle necessità dei programmatori. C’era chi pubblicava compilatori, chi pubblicava librerie e chi comprava i due per creare programmi.
Poi è successo qualcosa, credo attorno al 1995/1996. Windows si è trasformato in una piattaforma di utilizzo in cui i tool di sviluppo c’erano, ma gestiti quasi esclusivamente dal produttore del sistema operativo. Sono usciti prodotti interessanti, ma la potenza di fuoco di Micorosft è sempre stata soverchiante: quante volte hanno cambiato il modello di accesso ai database in Access e/o in Visual Basic con la motivazione (sempre uguale) che il nuovo modello è migliore di quello vecchio, ogni occorrenza del quale nel vostro codice deve essere isolata e distrutta come un campione di malattia infettiva? La prima volta ci siamo stati dietro, la seconda abbiamo storto il naso, la terza è partita una raffica di moccoli verso Redmond ed il codice è rimasto invariato.
È inutile che Ballmer, sudato come un cammello, si metta ad urlare «Developers! Developers! Developers!» sul palco delle presentazioni di Microsoft se poi loro stessi fanno scappare gli sviluppatori innovando i loro linguaggi ogni 18 mesi. Ma credono davvero che le aziende che sviluppano (per non parlare del software sviluppato in house) abbiano soldi da buttare per stare dietro ai loro capricci?! Anche ars tecnica recentemente ha trattato il problema dello sviluppo sotto Microsoft.
E allora cosa rimane a noi sviluppatori? Una buona alternativa potrebbe essere l’utilizzo dell’interfaccia HTML generata da un linguaggio server side che si appoggia su un motore SQL. La piattaforma del web browser è oramai ben consolidata presso l’utente finale, che ha una discreta familiarità con essa e ne accetta le limitazioni. Su questo fronte ci sono vari linguaggi, molti dei quali gratuiti, integrabili tra loro e con un’ampia base di installato e di librerie pronte per vari scopi. L’innegabile vantaggio di queste soluzioni è la portabilità tra gli ambienti e la facilità con cui interagiscono con altre piattaforme attraverso protocolli aperti.
Vista la natura di questi linguaggi e di queste tecnologie, è anche più facile trovare sviluppatori, anche giovani, entusiasti di poter mettere a frutto le loro esperienze e vogliosi di crescere.
Quando Ballmer se ne accorgerà sarà sempre comunque troppo tardi.