Я изучаю VB.NET с лета, и мне было интересно, имеет ли смысл пропустить изучение вещей в VB.NET, которые я не знаю, и перейти на С#.
Я думаю, что я могу быть более удобным на С#, потому что я уже более двух лет использую ActionScript 3 и играю с Java и C.
С другой стороны, я никогда не делал ничего серьезного с C или Java.
Итак, закончите VB.NET или изучите С#?
.NET - это .NET... разница между VB.NET и С# является просто синтаксисом. Вы никогда не сможете "закончить" обучение VB.NET в любом случае, так что вы можете также изучить синтаксис С# для выполнения тех же действий, которые вы знаете, как это сделать в .NET.: -)
Любые новые объекты или библиотеки, которые вы изучаете на одном языке, могут использоваться в другом, с незначительной разницей синтаксиса в том, как его называть. Поэтому, даже изучая новый синтаксис с С#, вы также будете улучшать ".NET" часть знаний VB.NET.
Вам не нужно выбирать, делайте то и другое. Я все время переключаюсь туда и обратно. В целом (будучи очень общим:)) большинство ваших вызовов в любом случае - это просто вызовы инфраструктуры, и между ними существуют только некоторые различия в стиле синтаксиса и кодирования.
ИМХО, вы будете впереди, чтобы быть знакомы с обоими.
Большая часть обучения для .NET находится в библиотеках, а не на языках, поэтому вам не нужно беспокоиться о том, что вы потратили впустую то, что узнали до сих пор. Просто переключитесь, и когда вы закончите с С#, вы, вероятно, обнаружите, что вы тоже лучше на VB.NET.
Там есть различия между ними, по отношению к:
with
в VBЕсли сказать, что они 99,9% одинаковы, просто вопрос синтаксиса. Я начал с VB.Net, потому что это был проект в моем первом Co-Op, с тех пор я переключился на С# несколько лет назад и нашел, что это намного проще... это вопрос вкуса, но не очень важно переключиться. Это фреймворк, который вы используете, язык - это всего лишь нюанс, это все IL в конце.
То, что вы можете делать на одном языке, а не на другом, обычно тривиально, и вы получаете продвинутый очень, если он не работает. Команда .Net делает очень хорошую работу по синхронизации языков и их возможностей в эти дни (это началось примерно год назад, когда настал момент LINQ, до этого было еще много различий).
Просто мое мнение, но я бы сказал, что знаком с обоими, но специализируюсь на С#. Таким образом, если/при изменении ландшафта вы будете знакомы на языке с классическим синтаксисом типа C, который даст вам набор основных навыков, который будет больше похож на такие вещи, как Python, Ruby et al. Намного легче переключиться с языков C-ish на quirkier, чем наоборот.