dimos.homatas:. Αν και για να πω την αλήθεια το πρόβλημα είναι η ποιότητα του κώδικα που βρήκα μπροστά μου και όχι η ίδια η VB.
Αυτό είναι ίσως η μεγαλύτερη διαφορά των δύο γλωσσών, πέρα από τις σημαντικές διαφορές σε features και νοοτροπία. Αντίθετα με όσα έγραψε ο Νίκος, διαφορές σε δυνατότητες υπάρχουν, με τα πιο ισχυρά features να έρχονται στην C# και τα πιο "βολικά" στη VB.NET.
Η μεγάλη διαφορά όμως είναι το κοινό στο οποίο απευθύνονται και κατά συνέπεια και ο κώδικας που γράφεται σε κάθε γλώσσα. Η VB.NET, όπως και η VB, απευθύνονται σε όσους θέλουν να φτιάξουν μία εφαρμογή για να καλύψουν μία ανάγκη σύντομα και έχουν σε δεύτερη προτεραιότητα την καθαρότητα του κώδικα ή την ευκολία συντήρησης. Είναι λουκούμι π.χ. για IT Pros οι οποίοι θέλουν να φτιάξουν μία εφαρμογή πρωτοκόλου για τη γραματεία μέχρι να βρεθεί μία οριστική λύση.
Δυστυχώς, το "γρήγορο" συνήθως σημαίνει και τσαπατσούλικο, με αποτέλεσμα η γενική φιλοσοφία του κώδικα και των προγραμματιστών VB.NET να μην είναι και η καλύτερη από πλευράς ποιότητας. Και όταν "όλοι" γύρω σου γράφουν τσαπατσούλικα, μαθαίνεις κι εσύ στο τσαπατσούλικο.
Από την άλλη, δεν θα βρεις κανένα framework ή βιβλιοθήκη, και ελάχιστα open source projects, γραμμένα σε VB.NET. Όταν κάτι πρόκειται να χρησιμοποιηθεί ευρέως, σε ενδιαφέρει και πολύ μάλιστα η καθαρότητα και η εύκολη συντήρηση, ακόμα και αν πρέπει να κάνεις μερικά βήματα παραπάνω στη σχεδίαση π.χ. για να συμπεριλάβεις κάποιο Inversion of Control, προκειμένου να κάνεις ευκολότερο το testing ή να μειώσεις τις εξαρτήσεις μεταξύ κλάσεων.
Δεν είναι ότι η VB.NET σε εμποδίζει να χρησιμοποιήσεις IoC ή ORMs. Απλά η κουλτούρ των ανθρώπων (και συνεπώς της γλώσσας) είναι να τελειώνουν στα γρήγορα ακόμα αν γράψουν μερικές γραμμές κώδικα παραπάνω με copy-paste.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos