Sviluppo in Visual Basic .Net dal 2001 e lo adoro e lo odio !!!
L'ordine di presentazione di questi punti si basa solo sull'ordine in cui mi è venuto in mente ...
In vb.net con Visual Studio, c'è un'interruzione di linea visiva tra ogni metodo, proprietà. Per molte persone, non è un buon motivo per preferire vb.net a c # ma non capisco perché il team c # di Microsoft non lo abbia implementato. C'è un componente aggiuntivo che traccia questa linea in c # ma grazie ancora Microsoft per avere un team ac # e un team di Visual Basic che non parlano tra loro.
In vb.net, quando crei un winform, hai due combobox in visual studio nella parte superiore dell'editor e puoi generare automaticamente un evento quando selezioni un evento nel combobox giusto. Quando alleghi dozzine di eventi ogni giorno, può essere molto complicato non avere questa funzione. Con c #, hai un piccolo pulsante nella parte superiore della griglia delle proprietà che può generare eventi ma non è veloce come in vb.net. Inoltre, se si allega un evento di controllo in c # e si elimina il controllo nel modulo, il delegato creato sul codice generato automaticamente per gestire l'evento deve essere eliminato manualmente. Grazie ancora Microsoft.
In vb.net, quando si tenta di modificare un metodo che contiene una query linq senza modificare la query stessa, nessun problema, ma in c #, tutto il codice del metodo viene bloccato. Se hai molte query linq o espressioni lambda, la funzione modifica e continua sarà rapidamente una buona vecchia cosa. Ok, un po 'di esagerazione ... ma :)
In vb.net, quando si crea un nome di metodo e si tocca invio, "end sub" verrà automaticamente creato. In c #, fallo da solo. Ok, se hai installato resharper o devexpress, sarà meglio, ma perché tutte queste piccole ma grandi funzionalità non sono state implementate in c #.
In vb.net, quando si hanno errori sul codice, gli errori vengono visualizzati automaticamente e quando lo si corregge, questi errori vengono rimossi dallo stack in tempo reale. In c #, devi costruire il tuo progetto per capire che hai corretto con successo o meno gli errori specificati. Perché il team c # non ha messo un'opzione per verificare in tempo reale l'errore come in vb.net. Con una grande soluzione, nessuna verifica in tempo reale dell'errore può essere una bella ottimizzazione delle prestazioni, ma adoro vedere sparire una serie di errori mentre lo correggo.
Come altri hanno già detto, penso che sia più facile leggere le condizioni di vb.net se..end if, seleziona caso ... fine seleziona ma con la staffa di pittura devexpress, dimentica quello che ho detto.
Con vb.net, ci sono molti molti bug in Visual Studio. Solo per citarne uno in Visual Studio 2010, gli intellettuali non filtrano correttamente l'enumerazione se hai attivato la modalità "comune" anziché "tutto".
Con vb.net, sei percepito come un ragazzo fittizio perché staticamente, i programmatori più cattivi usano vb.net invece di c # perché c # è più difficile da imparare e promuovere migliori pratiche di programmazione.
Come altri hanno detto, il programmatore c # ha maggiori possibilità di avere un buon lavoro con più soldi.
Nella testa del cliente, vb.net = ragazzo che programma nel suo seminterrato con un buco di spaghetti di codice. c # = wow, sei molto intelligente. Il fatto è che non è perché programmi in c #, che fai un buon programma ma staticamente sì.
Con tutti questi punti, ho scelto di convertire tutto il mio codice vb in c #. Programmo con tutte le migliori pratiche di orientamento agli oggetti, modello di progettazione, codice pulito con standard e sintassi rigorosa e posso programmare così per 50 anni, ma agli occhi della comunità non sono un buon programmatore. Convertirò il mio codice in c # senza altre best practice e sarò un'altra persona; un ragazzo eccezionale che devi rispettare ..... :( che barzelletta ... !!! ma è la realtà.