Sono, e mi piace essere, un programmatore VB.net. Ho un paio di programmi di grandi dimensioni in c # che devo mantenere e non mi piace scrivere codice C # durante lo sviluppo. Non è orribile ma preferisco di gran lunga l'ambiente VB.net per lo sviluppo.
Comunque recentemente ho iniziato a scrivere tutti i miei test in C #. Ho iniziato a fare questo in modo da poter utilizzare tutti i grandi strumenti, come le librerie finte, disponibili in C #.
Ma anche dopo aver trovato Teleriks estremamente capace justmock in edizione gratuita per VB.net ho scoperto che scrivo ancora quasi tutti i miei test in C # (che ora usa la versione C # di JustMock BTW). Anche quando non ho bisogno di questi strumenti di test, trovo che mi piace solo C # per scrivere i test.
Penso che mi piace VB.net per la codifica generale mentre risolvo i problemi mentre scrivo perché: 1. Come la dolcezza zuccherosa di cose come XML Literals. Inoltre, LINQ sembra più semplice e più espressivo in VB. 2. Non ho bisogno di preoccuparmi della sintassi quasi quanto (involucro, terminatori di linea, ecc.) Posso concentrarmi sulle mie idee. (La verbosità extra è gestita dal n. 3 in basso e da coderush e altri strumenti IDE) 3. Pensa che la stretta integrazione con IDE di Visual Studio e VB.net (la compilazione di background per esempio) sia solo per le api. (Anche se C # sta migliorando molto.)
Ma per i test non sto pensando al quadro generale o alla risoluzione dei problemi. Ogni metodo di prova è indipendente e la concisione di C # rafforza e facilita questo fatto.
Inizialmente ho trovato questo sorprendente perché ho sempre pensato che un linguaggio di tipo scripting sarebbe stato migliore per scrivere test. Ma dopo averne scritto molte migliaia, non vedo alcun vantaggio nell'usare un linguaggio di scripting. Infatti trovo Option Strict ed Explicit essere true (che trasforma la natura scripty di vb) ancora più utile nei progetti di test.
Ma forse ho torto e ci sono lingue ancora più adatte per scrivere test? Qualcosa come IronPython sarebbe buono per scrivere test? Forse BOO con i suoi macro? Non penserei così ma potrebbe un linguaggio funzionale portare qualcosa sul tavolo?
Più semplicemente, ci sono caratteristiche linguistiche che aiutano a scrivere buoni test? E se sì quale lingua ha il maggior numero di queste caratteristiche desiderabili?