VB в C #, трудно сделать переключатель?

2

Я изучаю VB.NET с лета, и мне было интересно, имеет ли смысл пропустить изучение вещей в VB.NET, которые я не знаю, и перейти на С#.

Я думаю, что я могу быть более удобным на С#, потому что я уже более двух лет использую ActionScript 3 и играю с Java и C.

С другой стороны, я никогда не делал ничего серьезного с C или Java.

Итак, закончите VB.NET или изучите С#?

Теги:

5 ответов

3
Лучший ответ

.NET - это .NET... разница между VB.NET и С# является просто синтаксисом. Вы никогда не сможете "закончить" обучение VB.NET в любом случае, так что вы можете также изучить синтаксис С# для выполнения тех же действий, которые вы знаете, как это сделать в .NET.: -)

Любые новые объекты или библиотеки, которые вы изучаете на одном языке, могут использоваться в другом, с незначительной разницей синтаксиса в том, как его называть. Поэтому, даже изучая новый синтаксис с С#, вы также будете улучшать ".NET" часть знаний VB.NET.

  • 0
    @ Рон - правда в том, что мне нет дела до .NET-части VB.NET. Для «паутин» всегда есть PHP. Я заинтересован в настольных приложениях. Спасибо за ответ. +1
  • 2
    @Moshe - часть .NET предназначена не только для веб-сетей, но и для клиентских приложений. Мы делаем оба (веб и клиент), где я работаю.
Показать ещё 7 комментариев
2

Вам не нужно выбирать, делайте то и другое. Я все время переключаюсь туда и обратно. В целом (будучи очень общим:)) большинство ваших вызовов в любом случае - это просто вызовы инфраструктуры, и между ними существуют только некоторые различия в стиле синтаксиса и кодирования.

ИМХО, вы будете впереди, чтобы быть знакомы с обоими.

  • 1
    @ Адам - «ИМХО, вы будете впереди, чтобы ознакомиться с обоими». Хороший балл +1
2

Большая часть обучения для .NET находится в библиотеках, а не на языках, поэтому вам не нужно беспокоиться о том, что вы потратили впустую то, что узнали до сих пор. Просто переключитесь, и когда вы закончите с С#, вы, вероятно, обнаружите, что вы тоже лучше на VB.NET.

  • 0
    @ Джон - Спасибо за поддержку, +1.
2

Там есть различия между ними, по отношению к:

  • Дженерики
  • Дополнительные параметры (это изменяется в 4.0)
  • Catch/When clauses
  • with в VB
  • named/unnamed indexers
  • и т.д...

Если сказать, что они 99,9% одинаковы, просто вопрос синтаксиса. Я начал с VB.Net, потому что это был проект в моем первом Co-Op, с тех пор я переключился на С# несколько лет назад и нашел, что это намного проще... это вопрос вкуса, но не очень важно переключиться. Это фреймворк, который вы используете, язык - это всего лишь нюанс, это все IL в конце.

То, что вы можете делать на одном языке, а не на другом, обычно тривиально, и вы получаете продвинутый очень, если он не работает. Команда .Net делает очень хорошую работу по синхронизации языков и их возможностей в эти дни (это началось примерно год назад, когда настал момент LINQ, до этого было еще много различий).

  • 0
    Я не уверен, что следую примечанию на Generic. Действительно ли это было различием между .Net и .Net, или вы подразумевали, что в C # есть что-то лучшее, другое или более эффективное в отношении Generics. (Я не фанат VB.Net ... но я думал, что VB.Net ПРЕДЛАГАЕТСЯ поддерживать дженерики, действительно я их потреблял, но никогда не создавал их в VB.Net)
  • 0
    @Jason - Это связано с тем, что некоторые обобщенные элементы обрабатываются в среде IDE, а Visual Studio, хотя и имеет лучшую частичную фоновую компиляцию при кодировании, по иронии судьбы хуже в intellisense для обобщенных типов ... по крайней мере в последний раз, когда я ее использовал. Сейчас его можно улучшить, но IDE, не зная, с каким типом вы имели дело, нанес огромный удар по производительности. Кроме этого, главное отличие заключается в удобочитаемости ... лично я не могу смотреть на объявления универсальных классов VB.Net более 10 секунд, прежде чем вспыхнет инстинкт борьбы или бегства и вынудит меня удалить проект :)
Показать ещё 1 комментарий
0

Просто мое мнение, но я бы сказал, что знаком с обоими, но специализируюсь на С#. Таким образом, если/при изменении ландшафта вы будете знакомы на языке с классическим синтаксисом типа C, который даст вам набор основных навыков, который будет больше похож на такие вещи, как Python, Ruby et al. Намного легче переключиться с языков C-ish на quirkier, чем наоборот.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню