W Visual Basic .Net rozwijam się od 2001 roku, uwielbiam go i nienawidzę !!!
Kolejność prezentacji tych punktów jest oparta na kolejności, w jakiej przyszedł mi do głowy ...
W vb.net ze studiem wizualnym istnieje wizualny podział linii między każdą metodą, właściwością. Dla wielu osób nie jest to dobry powód, aby preferować vb.net niż c #, ale nie rozumiem, dlaczego zespół c # w Microsoft nie wdrożył go. Istnieje dodatek, który rysuje tę linię w c #, ale jeszcze raz dziękuje Microsoftowi, aby mieć zespół ac # i zespół Visual Basic, którzy nie rozmawiają ze sobą.
W vb.net, kiedy tworzysz formularz win, masz dwa combobox w Visual Studio na górze edytora i możesz automatycznie generować zdarzenie automatycznie po wybraniu zdarzenia na prawym combobox. Gdy dołączasz dziesiątki wydarzeń każdego dnia, może to być bardzo kłopotliwe, jeśli nie masz tej funkcji. Dzięki c # masz mały przycisk u góry siatki właściwości, który może generować zdarzenia, ale nie jest szybki jak w vb.net. Ponadto, jeśli dołączysz zdarzenie sterujące w c # i usuniesz formant w formularzu, uczestnik utworzony w automatycznie wygenerowanym kodzie do obsługi zdarzenia musi zostać usunięty ręcznie. Jeszcze raz dziękuję Microsoft.
W vb.net, gdy próbujesz zmodyfikować metodę zawierającą zapytanie linq bez modyfikacji samego zapytania, nie ma problemu, ale w języku c # cały kod metody jest zablokowany. Jeśli masz wiele zapytań linq lub wyrażeń lambda, funkcja edycji i kontynuacji szybko stanie się dobrą starą rzeczą. Ok, trochę przesady ... ale :)
W vb.net, gdy utworzysz nazwę metody i stukniesz Enter, automatycznie utworzy się „end sub”. W c #, zrób to sam. Ok, jeśli masz zainstalowany resharper lub devexpress, będzie lepiej, ale dlaczego wszystkie te małe, ale wspaniałe funkcje nie zostały zaimplementowane w języku c #.
W vb.net, kiedy masz błędy w kodzie, są one automatycznie wyświetlane, a kiedy je poprawisz, błędy te są usuwane ze stosu w czasie rzeczywistym. W c # musisz zbudować swój projekt, aby zdać sobie sprawę, że pomyślnie poprawiłeś określone błędy lub nie. Dlaczego zespół c # nie ma opcji weryfikacji błędu w czasie rzeczywistym, tak jak w vb.net. Dzięki dużemu rozwiązaniu żadna weryfikacja błędu w czasie rzeczywistym nie może być bardzo dobrą optymalizacją wydajności, ale uwielbiam widzieć, jak stos błędów znika, gdy go poprawiam.
Jak wspomniała inna osoba, myślę, że łatwiej jest odczytać warunek vb.net, jeśli… i jeśli, wybierz przypadek… zakończ wybierz, ale z nawiasami malarskimi devexpress, zapomnij o tym, co powiedziałem.
Dzięki vb.net w studiu wizualnym jest wiele błędów. Wystarczy wspomnieć o jednym w Visual Studio 2010, intellisensy nie filtrują poprawnie wyliczenia, jeśli aktywowano tryb „common” zamiast „all”.
Dzięki vb.net jesteś postrzegany jako manekin, ponieważ statystycznie więcej złych programistów używa vb.net zamiast c #, ponieważ c # jest trudniejszy do nauczenia się i promowania lepszej praktyki programowania.
Jak inni mówili, programista c # ma większą szansę na dobrą pracę z większymi pieniędzmi.
W głowie klienta, vb.net = facet, który programuje w swojej piwnicy za pomocą spaghetti kodu. c # = wow, jesteś bardzo inteligentny. Faktem jest, że to nie dlatego, że programujesz w języku c #, że tworzysz dobry program, ale statycznie tak.
Po tych wszystkich punktach postanowiłem przekonwertować cały mój kod VB w C #. Programuję ze wszystkimi najlepszymi praktykami zorientowanymi obiektowo, wzorami projektowymi, czystym kodem ze standardami i ścisłą składnią i mogę programować w ten sposób przez 50 lat, ale z perspektywy społeczności nie jestem dobrym programistą. Przekształcę mój kod w c # bez żadnych innych dobrych praktyk i będę inną osobą; świetny facet, którego musisz szanować .....: co za żart ... !!! ale to prawda.