Perchè sto iniziando ad apprezzare VB.NET
Quando ho deciso che era arrivato il momento di trasformare T&C da un rudimentale accrocchio di file interpretati in qualcosa di più sensato (almeno dal punto di vista della software engineering) passando ad Asp.NET, la prima decisione importante che mi spettava prendere è stata quella del linguaggio da utilizzare.
Vista la facilità di portare codice dal VbScript di ASP in VB.NET ho scelto questo linguaggio, nonostante il C# sia evidentemente più elegante e meno prolisso nei costrutti.
C'è poi da dire che il Framework.Net permette la commistione di linguaggi (sebbene sia necessario separare i diversi "dialetti" in assembly diversi), quindi in futuro potrei realizzare migrazioni parziali e/o pezzi di sito o librerie interne senza difficoltà in C# con poco lavoro aggiuntivo.
Però ora devo ammettere che le idee non sono più così nitide e definite...
Durante questi mesi ho dovuto però ammettere che VB.NET ha due punti notevoli a suo favore sul C#:
- Visual Basic.Net non è case-sensitive: l'interazione uomo-macchina ci insegna che un dialogo tra una macchina e l'utente deve essere tollerante verso l'errore, la mia opinione è che nonostante i programmatori siano notoriamente più intimi con le macchine dell'utente medio, sia comunque la macchina che si debba adattare al programmatore.
E' frustrante e fa perdere un sacco di tempo correggere maiuscole in minuscole o viceversa: a lungo andare ci si può anche fare l'abitudine (ne ho usati tanti anch'io di linguaggi case sensitive) ma eliminare la problematica riduce senza dubbio il carico cognitivo del programmatore, che può quindi concentrarsi maggiormente sul codice che sta scrivendo - I programmi in C# devono essere compilati per controllare se compilano, quelli in VB.NET no: quando mi son trovato a scrivere in C# la prima cosa che ho notato è che l'ambiente di sviluppo non ti segnala il problema se prima non compili il progetto. La prima cosa che si impara e la scorciatoia per compilare, e poi via: un pò di codice e CTRL+SHIFT+B, e via così fino a consumare questi tre tasti sulla tastiera...
VB.NET è in grado invece di dirti in anticipo se qualcosa non va, effettuando una precompilazione in background mentre si scrive il codice.
E' la seconda peculiarità che mi fa apprezzare davvero tanto il VB, tanto da farmi pensare di spostarlo sopra al C# in cima alla lista dei miei linguaggi preferiti in .NET.
Quelle adorabili righe ondulate azzurre o verdi che ti segnalano quando stai sbagliando qualcosa, stai chiamando un metodo che non esiste, eccetera eccetera... quanto tempo mi han fatto risparmiare!
PS: Resharper risolve questo secondo problema per C#, alla modica cifra di 349USD
luglio 12th, 2007 - 00:31
Prova a considerarti di più… Python!
luglio 12th, 2007 - 21:28
Ovviamente si tratta di un confronto a due… gli outsider per ora non sono considerati