В наше время C #, несомненно, является местом для начала.
- VB.NET не так уж плох в языке, но синтаксис настолько отличается от всех других популярных языков, что навыки не очень хорошо переносятся.
- Java невероятно ограничена как в своих возможностях, так и в способности говорить на других языках. Это также требует, чтобы вы использовали много «анти-паттернов» при программировании, потому что в нем отсутствуют фундаментальные функции, такие как свойства, делегаты и истинные обобщения.
- Динамические языки, такие как Ruby, Python или PHP, не так плохи, как Java, но не помогут вам освоить многие фундаментальные концепции программирования, как в C #, плюс для новичка их сложнее использовать, поскольку они не имеют Intellisense, и т.д.
- Функциональные языки, такие как ML, F # и Haskell, являются настоящими помощниками. Это хорошие языки, чтобы научиться быть всесторонне развитыми, но не для слабонервных.
Я бы начал с занятия по C # в местном местном колледже, а затем взял несколько книг и некоторое время читал. Это даст вам представление как о языке, так и о NET Framework.
Как только вы освоите сам язык и поймете, как использовать некоторые части NET Framework, я бы скачал исходный код для некоторых простых приложений WPF (или Silverlight) и изучил их, чтобы увидеть, как они работают. WPF был бы лучшим выбором для начала, чем ASP.NET, потому что ASP.NET вносит массу дополнительных сложностей в работу с обратными ссылками, HTML и JavaScript, которых вообще нет в WPF. Кроме того, похоже, что будущими приложениями на базе браузера будут Rich Internet Applications (RIA), которые используют механизм, гораздо более близкий к WPF / Silverlight, чем ASP.NET. Я бы начал с WPF до Silverlight просто потому, что когда вы без коробки, вы можете самостоятельно изучить технологию пользовательского интерфейса без необходимости изучать все сложности, связанные с песочницей, и необходимость доступа к базам данных на сервере.
Только после всего этого я смогу погрузиться в разработку n-уровневого приложения. Опять же, я бы посмотрел на многие примеры, прежде чем делать один самостоятельно. Выберите простые и подражайте им. Многие из них вы найдете слишком сложными.