ASP.NET - C # против VB.NET - Косвенные различия и вещи, которые вы не могли бы изначально рассмотреть - PullRequest
7 голосов
/ 07 января 2010

Я не заинтересован в том, чтобы начать еще одну дискуссию "кто имеет больший член" против дебатов VB против C # (https://stackoverflow.com/questions/158229/what-are-the-pros-of-vb-net, кажется, уже охватывает это), хотя меня интересуют косвенные различия, которые могут повлиять на развитие одного против Другой. Все мои коммерческие разработки .NET были приложениями для настольных компьютеров на VB до последних 3 месяцев, когда у меня был веб-проект, и я решил, что это хорошая возможность заставить себя изучать C #. При этом я заметил несколько нетехнических отличий:

  • В C # доступно гораздо больше зрелых приложений с открытым исходным кодом и подробных примеров, чем для VB.

  • Сторонние производители надстроек для таких вещей, как рефакторинг и документация, как правило, поддерживают C # лучше, чем VB (если вообще), при этом поддержка VB для аналогичных функций из сопоставимых версий C # часто отстает или отсутствует.

  • Задания ASP.NET с таргетингом на C # в среднем платят примерно на 15-20% больше, чем идентичные в других случаях работы в VB (по крайней мере, в Австралии, для справки ищите seek.com.au и careerone.com.au) ).

Переход к ASP.NET, MVC и C # привел к множеству скачков скорости, но я думаю, что оно того стоило. Решение, которое мне нужно принять сейчас, заключается в том, чтобы направить больше энергии на разработку C # для будущего развития .NET или я мог бы также придерживаться VB. Существуют ли какие-либо другие различия между языком (кроме уже рассмотренных прямых сравнений характеристик языка), которые следует учитывать в этом случае?

Ответы [ 6 ]

4 голосов
/ 07 января 2010
  • На веб-сайте Microsoft 2009 Mix Конференция разработчиков, все презентации, которые я посетил включенные примеры кода в C #, а не в VB.

  • В StackOverflow обратите внимание, как вопросы с тегом C # в основном превосходят по численности vb.net и В.Б.

  • Джон Скит написал C # по глубине , а не VB по глубине .

4 голосов
/ 07 января 2010

Я считаю, что VS делает больше автоматического завершения кода для VB, чем C #.

Очень полезно знать оба языка, и я лично должен лучше познакомиться с C #, чтобы я мог спокойно подать заявку на работу на C #, которая должна утроить мои возможности.

2 голосов
/ 12 января 2010

Специально для веб-разработки, знание C # сделало написание javascript (и выполнение сложных вещей с использованием jQuery) намного проще, поскольку синтаксис очень похож.

2 голосов
/ 07 января 2010

Одна вещь, которая была широко заявлена, когда я принимал участие в найме (и в качестве менеджера по найму, и в качестве кандидата), состоит в том, что C # и Java достаточно близки, чтобы преобразовать кандидата из одного в другого довольно легко, и что это не так для кандидата VB.NET в C # или Java. Это утверждение было даже распространено на C ++, говоря, что обучить разработчика на C # или Java (программированию на C ++) проще, чем на VB.NET.

Хотя я склонен не соглашаться (я думаю, что это больше о том, как человек видит программирование в целом), я знаю, что несколько крупных, уважаемых фирм примут кандидатов на вакансии C # или Java, которые перечисляют опыт C ++, C # или Java. Эти же фирмы, как правило, не будут рассматривать кандидатов, которые указывают только VB.NET или VB.NET в качестве основного языка.

1 голос
/ 07 января 2010

Я согласен с вашими пунктами, особенно с первым. Я бы добавил, что, похоже, разработчиков на C # больше, чем на VB.NET. Если вы хотите нанять другого разработчика, вы можете получить больше (количество или качество) из пула C #. А работодатели, считая, что C # более популярен, пойдут в этом направлении, и будет больше спроса на программистов на C # (отсюда и более высокие зарплаты / ставки, которые вы заметили)

0 голосов
/ 31 мая 2013

Я знаю, что это старый пост, но я хотел бы добавить еще один фактор: все новые вещи выполняются в C # в первую очередь. Это происходит из моего опыта ранней разработки WPF. Все примеры, когда в C # и мы работали в VB.Net. Просто потребовалось дополнительное время для перевода. Другой пример - лямбда-выражения, изначально вы могли использовать выражения (однострочные) или операторы (многострочные) в C #, но только выражения в VB.Net. Когда впервые появился .Net, я думаю, что было много людей из VB6, которые на самом деле не получили .Net, и что это было совершенно другое животное. Я думаю, что эти люди были частично ответственны за негативное восприятие VB.Net. Но это было 10 лет назад, и уже не фактор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...