Я розвиваюсь у Visual Basic. Net з 2001 року, і я люблю це, і ненавиджу його !!!
Порядок викладу цих пунктів якраз ґрунтується на тому порядку, в якому він прийшов мені до душі ...
У vb.net із візуальною студією існує візуальний розрив ліній між кожним методом, властивістю. Для багатьох людей це не вагомий привід віддавати перевагу vb.net над c #, але я не розумію, чому команда c # в Microsoft не реалізує цього. Існує надбудова, яка намалює цю лінію в c #, але знову подякує Microsoft, що вона має команду ac # та основну візуальну команду, які не спілкуються між собою.
На vb.net, коли ви створюєте форму виграшів, у візуальній студії у верхній частині редактора є два комбобокси, і ви можете автоматично генерувати подію, автоматично вибираючи подію у правій панелі комбо. Коли ви додаєте десятки подій щодня, ця функція може бути дуже громіздкою. З c # у вас є маленька кнопка у верхній частині сітки властивостей, яка може генерувати події, але це не швидко, як у vb.net. Більше того, якщо ви додаєте подію керування в c # і видалите елемент керування у формі, делегат, створений на автоматично створеному коді для обробки події, потрібно видалити вручну. Ще раз дякую Microsoft.
У vb.net, коли ви намагаєтесь змінити метод, що містить запит linq, не змінюючи сам запит, немає проблем, але в c #, весь код методу заблокований. Якщо у вас є багато запитів на linq або лямбда-вираз, функція редагування та продовження швидко стане хорошою справою. Гаразд, трохи перебільшення ... але :)
У vb.net, коли ви створюєте ім'я методу та натискаєте клавішу Enter, автоматично буде створено 'кінцевий підрозділ'. У c # зробіть це самостійно. Гаразд, якщо у вас встановлено resharper або devexpress, буде краще, але чому всі ці маленькі, але великі функції не були реалізовані в c #.
У vb.net, коли у вас є помилки у вашому коді, помилки автоматично відображаються, а коли виправляєте, ці помилки видаляються з стеку в режимі реального часу. У c # ви повинні побудувати свій проект, щоб зрозуміти, що ви успішно виправили чи не вказані помилки. Чому команда c # не поставила можливість перевірити помилку в режимі реального часу, як на vb.net. З великим рішенням, жодна перевірка помилок у реальному часі не може бути дуже приємною оптимізацією продуктивності, але я люблю бачити, що степка помилок не зникає, коли я її виправляю.
Як і інші особи, про які згадував, я думаю, що простіше прочитати умову vb.net, якщо ... і, якщо, виберіть регістр ... виберіть кінець, але з дужкою малювання Devexpress забудьте, що я сказав.
З vb.net у візуальній студії є багато чимало помилок. Зазначимо лише один у візуальній студії 2010 року, інтелісенс не фільтрує неправильно перерахування, якщо у вас активований режим "загальний" замість "усі".
З vb.net вас сприймають як манекена, оскільки статично більше поганих програмістів використовують vb.net замість c #, тому що c # важче вивчити та просувати кращу практику програмування.
Як і інші кажуть, програміст c # має більше шансів мати гарну роботу з більшими грошима.
В голові замовника vb.net = хлопець, який програмує у своєму підвалі велику кількість спагетті коду. c # = вау, ви дуже розумні. Справа в тому, що ви робите хорошу програму не тому, що ви програмуєте на c #, але статично, так.
Зі всіма цими пунктами я вирішив конвертувати весь свій vb-код у c #. Я програмую з усіма найкращими методами об'єктно-орієнтованого, дизайнерського шаблону, чистого коду зі стандартами та суворим синтаксисом, і я можу програмувати це протягом 50 років, але з очей громади я не хороший програміст. Я перетворять свій код в c # без інших кращих практик, і я стану іншою людиною; чудовий хлопець, якого ти повинен поважати ..... :( який жарт ... !!! але це реальність.