Un linguaggio non va giudicato dal nome

Se dovessimo giudicare un linguaggio in base al nome, Boo non partirebbe molto bene. Ma guardando il manifesto si capisce che ci sono alcuni aspetti molto interessanti per chi vuole essere pragmatico e non troppo idealista. Si tratta di un linguaggio derivato in parte da Python ma pensato espressamente per il .NET Framework, con queste caratteristiche principali:



  • Sintassi “libera” ma linguaggio tipizzato

  • Inferenza dei tipi a go-go

  • Quando serve (per fare Interop) si usano variabili non tipizzate (che in realtà hanno come tipo duck) che corrispondono agli object di VB.NET usati in Strict Option Off

  • Controlli automatici sugli argomenti di un metodo

  • Proprietà scritte come si deve (in C++/CLI ci sono arrivati ma perché non le abbiamo in C#?)

  • Macro (con cui hanno implementato la using – lasciatemelo dire, questo è geniale, se ci fosse un supporto totale da parte di IDE e compilatore e IntelliSense sarebbe il modo migliore per favorire l’adozione di pattern di programmazione corretti)

  • Estendibilità del compilatore: se ci fosse in C# potremmo avere FxCop integrato nel compilatore, e non solo nell’IDE

Che dire? Non so se è il linguaggio giusto per seguire uno dei miei buoni propositi per il 2005 (sicuri che qualcuno lo userà ancora tra un paio d’anni?) però oggettivamente potrebbe rivelarsi un linguaggio ad altissima produttività per fare piccoli tool e utility (che all’interno di un progetto ampio servono sempre). Un grazie ad Alessandro Perilli per la preziosa segnalazione.