Переход на ASP.NET - VB или C#?

У нас есть большая классическая база кода ASP, но я планирую в будущем заниматься разработкой в ​​ASP.NET (и, возможно, в будущем портировать то, что у нас есть). Кажется, что естественным выбором языка является VB (существующий код - VBScript), но не слишком ли поспешно? Имеет ли значение выбор языка в конечном итоге?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
3 721
15
Перейти к ответу Данный вопрос помечен как решенный

Ответы 15

Небольшая разница, но есть разница (в основном синтаксическая по своей природе). Если у вас старый сайт на VBScript, возможно, будет проще использовать VB.NET.

Вы можете делать то же самое как на C#, так и на VB.NET. В конце концов, будет выбор, на что проще портировать.

Имея в виду, что вы не должны (IMHO) напрямую переносить ASP на ASP.NET, поскольку вы потеряете большую часть функций в .NET, это в любом случае потребует значительного количества переписывания. Поэтому я бы выбрал C#, так как считаю, что он менее подробный и его легче писать и читать.

Он, конечно, менее подробный, но его легче читать и писать только людям с опытом работы на языках C-стиля. Учитывая, что они приходят с проектом VBScript / ASP, их программисты, вероятно, уже привыкли к коду в стиле VB, что делает его лучшим выбором для них.

Chris Charabaruk 19.09.2008 13:26

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

Simon Keep 19.09.2008 13:29

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

rslite 19.09.2008 13:33

У меня есть опыт работы на C++, и мне легче читать VB.Net. Это действительно просто мнение.

Joel Coehoorn 19.09.2008 17:41

В C# 3.5 есть несколько функций, которые не поддерживаются в Visual Basic, но выбор языка всегда является предпочтением команды, и вы, ребята, чувствуете себя наиболее продуктивно.

Ответ принят как подходящий

На изучение .Net (фреймворка) нужно время.

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

сэр, до сегодняшнего дня я работал над C# asp.net, но мой босс сказал мне, что дальнейший проект находится на vb asp.NET. Повлияет ли смена платформы (с C# на vb) на мою карьеру в asp.net?

C Sharper 06.07.2013 09:13

Я бы выбрал язык с наиболее удобным для вас синтаксисом, так как функциональные возможности очень незначительны, хотя некоторые говорят, что между разработчиками на VB и C# существует определенная разница в культуре. Другой вариант - изучить оба, самое большое препятствие при переходе на .net, на мой взгляд, - это изучение огромного фреймворка .net, фактического синтаксиса языка, который вы должны уметь быстро освоить.

Исходя из опыта, проще всего понять, в чем заключается ваш набор навыков в настоящее время. Если это в vb6 / vbscript и т. д., Я бы сначала посмотрел на vb.net. Это также зависит от сроков и сроков поставки проекта. Вы будете быстрее работать с vb.net. Если у вас есть время, я бы серьезно подумал о C#, хотя бы для того, чтобы дать вам более прочную точку опоры на рынке разработки, когда вы приходите искать новые пастбища.

.NET - это действительно платформа и библиотека базовых классов. VB или C# - как упомянул Крис, на самом деле существует синтаксическая разница.

Поскольку вы выполнили переход с VBScript на VB.NET, это более естественно - вы можете изучить новый синтаксис, затем перейти к Framework и BCL, когда вы познакомитесь с ними, вы можете изучить синтаксис C# как хорошо - быть двуязычным всегда хорошо.

2sontek: В VB также есть функции, которые не поддерживаются в C# - не будем туда заходить. 80% (или более) разработчиков используют только 20% функций, и различия очень незначительны - они определенно не вписываются в 20%.

Вы также можете изучить C#.

VB.Net и C# отлично подходят для создания веб-приложений, это действительно зависит от ваших потребностей.

Например, C# отлично справляется с событиями, а VB.Net отлично справляется с XML.

Я бы посоветовал использовать то, что вашим разработчикам удобнее.

Недавно я просматривал сайт, который перечисляет среднюю заработную плату в Великобритании на основе технологий. Не могу найти ссылку сейчас (типично!), Но я помню, что средняя заработная плата C# была примерно на 5 тысяч фунтов стерлингов выше, чем средняя заработная плата VB.NET.

Если вы не собираетесь изучать оба варианта (а на самом деле нет причин не делать этого, поскольку единственное реальное различие между ними - синтаксис), я бы выбрал C#.

Когда я перешел с ASP3 на ASP.NET, я, наконец, решил использовать C# вместо VB.NET.

Я писал Основы в течение многих лет (MS-BAsic, GW-Basic, Quick-Basic, Visual Basic, VBScript), и было очень сложно использовать VB.NET, потому что я всегда стараюсь писать что-то, как раньше, с VB6 или VBScript.

Так что C# был для меня лучшим выбором: меня не замедлили мои привычки.

Кроме того, C# был новым языком (в то время), а новые ключевые слова VB.NET придавали ему запах кобола :)

Во-первых, не переносите что-либо ради этого. Если он работает нормально и от его переноса мало что можно получить, оставьте его в покое и продолжайте исправлять ошибки и небольшие улучшения в VBScript. Если есть достаточная причина для перемещения вещей, сделайте это на этом этапе, но вам гораздо лучше сначала ознакомиться с версией веб-приложений .Net, чем пытаться изучить это на лету, если вы сделаете перенос заранее. Намного легче изучить новые концепции, такие как PostBack и ViewState, в «чистой» среде.

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

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

Повторяю другие преимущества в некоторых сообщениях и добавляя несколько своих собственных:

  • Будущие потенциальные доходы: разработчики C# обычно стоят больше, чем разработчики VB.Net из-за разницы в восприятии.
  • Большая часть кода .Net с открытым исходным кодом - это C#, и его качество в целом (хотя и не всегда) имеет тенденцию быть выше.
  • В Интернете больше вопросов и ответов на C#, чем на VB.Net. В то время, когда я публикую это, есть сообщения 1572 с тегами C#, только 185 с VB.Net прямо здесь, на Stack OverFlow.
  • Ключевые слова C# OO достаточно стандартны, это упрощает чтение кода на других языках OO. VB.Net отключается и переименовывает вещи без уважительной причины, например. Абстрактные (C#, C++, Java и другие ...) против MustInherit (только VB.Net).
  • Принято считать, что когда вы знакомы с обоими языками, вам будет намного проще визуально анализировать код C#, чем код VB.Net.
  • На вас не будут `` смотреть сверху вниз '' специалисты по C#, и вы можете посмеяться над людьми VB.Net (если хотите - культура существует ...)

После того, как вы впервые выучили его на C#, вам будет намного проще перейти на VB.Net, чем было бы наоборот. Инвестируйте в собственное будущее.

Красиво поставил Гордон. Это мне помогло.

TheCarver 07.07.2012 23:05

Я развиваюсь в обоих направлениях, но предпочитаю C#.

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

Однако с C#: Новые языковые функции обычно появляются в первую очередь в C#, например лямда-выражения в linq Вы можете писать код на C# C# заставит вас быть аккуратнее Разработчикам на C# в среднем платят больше, и большинство крупных проектов будут только на C#. C# имеет синтаксис и имена функций, аналогичные javascript В сообществе .net наблюдается некоторый снобизм по отношению к разработчикам vb.

Важно изучить .NET. не конкретный язык, потому что C# или VB изменяют только синтаксис. Логика, стоящая за ними в среде .NET, такая же.

Кроме того, не забывайте, что вы можете смешивать и сочетать в рамках проекта!

@jrummell - Есть несколько причин, о которых я могу думать (ни одна из которых я бы не рекомендовал делать). У вас может быть отличный класс, написанный на одном языке, и вы захотите его использовать. Бывают случаи, когда переводить код неудобно. Поскольку языки очень похожи, если на одном языке операция будет проще, я просто напишу все на этом языке и покончу с этим.

MAW74656 08.01.2012 05:18

.net или C# - от вас зависит, как вы решите проблему и что сделает вас более креативным. Но я думаю, что скорее .net будет удален, и C# будет единственным языком, который можно использовать в asp. Я начинаю изучать концепцию .net, а затем, после того, как меняю язык на C# для asp.net mvc, поэтому я предлагаю вам перейти на C#, потому что это поможет вам больше в будущем.

Другие вопросы по теме