转到ASP.NET - VB或C#?

时间:2008-09-19 09:21:38

标签: c# .net asp.net vb.net webforms

我们有一个很大的ASP经典代码库,但是我希望在ASP.NET中进行未来的开发(并且可能在我们拥有的未来端口中)。语言的自然选择似乎是VB(现有代码是VBScript),但我是否太仓促?从长远来看,语言的选择是否会产生影响?

15 个答案:

答案 0 :(得分:16)

它正在学习.Net(框架),花费时间。

特定的语言无关紧要,更多的是品味。我通常建议尝试两种语言的游戏项目(以及任何其他可能让你喜欢的游戏项目),然后决定哪一种你更熟悉(或者更成功!)

答案 1 :(得分:12)

首先,不要为了它而移植东西。如果它工作正常并且移植它几乎无法获得,请不要管它,并继续在VBScript中进行错误修正和小改进。如果有足够的理由将事情移动,那么就这样做,但是你最好先熟悉.Net版本的Web应用程序,而不是在事先做端口的情况下尝试即时学习。在“干净”的环境中学习PostBack和ViewState等新概念要容易得多。

当您移植东西时,也可以缩小旧思维方式的范围(只需将其用于任何旧的方式而不是在需要的地方重新设计)。

最终,从长远来看,没有太大的区别,主要是感性和个人品味,但我建议首先学习C#,因为它缺乏熟悉会强调你正在学习新东西的事实。希望这将帮助您学习以自然的.Net方式而不是基于程序的VB(脚本)方式。你想要忘却和学习。熟悉某些关键字会对您不利。

在一些帖子中回应其他好处,并添加一些我自己的好处:

  • 未来潜在收益:由于感知差异,C#开发人员通常比VB.Net开发人员更有价值。
  • 大多数开源.Net代码都是C#,它的质量一般(虽然并不总是)往往更高。
  • 在C#上有比Q.A更多的Q& A和示例以及示例。当我发布此帖时, 1572 帖子标记为C#,只有 185 ,VB.Net就在Stack OverFlow上。
  • C#OO关键字是相当标准的,它使得更容易阅读其他OO语言代码。 VB.Net关闭并重命名事物,例如: abstract (C#,C ++,Java等等)vs MustInherit (仅限VB.Net)。
  • 人们普遍认为,一旦熟悉这两种语言,可视化解析C#代码比VB.Net代码更容易
  • 你不会被C#'ers'看到'并且可以帮助嘲笑VB.Net的人(如果你愿意的话 - 文化存在......)。

一旦你最初在C#中学习它,它应该比转向VB.Net要容易得多。投资你自己的未来。

答案 2 :(得分:6)

当我从ASP3迁移到ASP.NET时,我终于选择使用C#而不是VB.NET。

我写了Basics多年(MS-BAsic,GW-Basic,Quick-Basic,Visual Basic,VBScript)并且使用VB.NET非常困难,因为我总是尝试像以前一样用VB6编写东西或VBScript。

所以C#对我来说是一个更好的选择:我没有因为我的习惯而减速。

此外,C#是一种新语言(此时),而新的VB.NET关键字给了他一个Cobol气味:)

答案 3 :(得分:3)

另外,不要忘记您可以在项目中混合搭配!

答案 4 :(得分:2)

我会选择具有您最熟悉语法的语言,因为功能上几乎没有什么区别,尽管有人说VB和c#开发人员之间存在文化差异。另一种选择是学习两者,在我看来,移动到.net的最大障碍是学习庞大的.net框架,你应该能够快速掌握的实际语言语法。

答案 5 :(得分:2)

重要的是学习.NET。不是特定的语言,因为C#或VB只改变了语法。它们在.NET环境中的逻辑是相同的。

答案 6 :(得分:1)

您可以在C#或VB.NET中执行相同的操作。最后,它是一个更容易移植的选择。

请记住,你不应该(恕我直言)直接将ASP移植到ASP.NET,因为你已经失去了.NET中的许多功能,这包括相当多的重写。所以我会选择C#,因为我认为它更简洁,更容易编写和阅读。

答案 7 :(得分:1)

.NET实际上是关于框架和基类库。 VB或C# - 正如克里斯提到的那样,实际上只有语法差异。

由于你已经完成了对VB.NET的VBScript迁移更自然 - 你可以学习新的语法,然后转到Framework和BCL,当你熟悉那些你可以学习C#语法的那些 - 是bi - 语言总是很好。

2sontek:VB中还有一些功能在C#中不受支持 - 让我们不去那里。 80%(或更多)的开发人员只使用20%的功能,差异非常小 - 他们肯定不适合20%

答案 8 :(得分:1)

我在两者中都有所发展,但C#将是我的优先考虑。

你可以用两种语言完成大部分工作,而且我不会在c#中重写任何vb项目。

但是使用C#: 新的语言功能通常首先来到c#,例如linq中的lamda表达式 你可以用c#编写代码 C#会迫使你变得更整洁 C#开发人员平均得到的报酬更多,而大多数大型项目只会是c# C#具有与javascript类似的语法和函数名称 .net社区对vb开发人员有一些势利意味

答案 9 :(得分:0)

没有多大区别,但有一些差异(主要是语法上的)。如果您的旧站点是VBScript,那么使用VB.NET可能更容易。

答案 10 :(得分:0)

C#3.5中有一些功能在Visual Basic中不受支持,但语言选择始终是团队的首选,也是您感觉效率最高的。

答案 11 :(得分:0)

从经验来看,最简单的方法是使用技能组合所处的位置。如果这是在vb6 / vbscript等我首先看看vb.net。它还取决于任何项目的时间表和交付日期。您将在vb.net中更快地加速。如果你有时间在我手上,我会认真考虑c#,如果只是为了让你在开发市场找到更好的立足点,那么你来寻找新的牧场。

答案 12 :(得分:0)

您也可以考虑使用C#。

VB.Net和C#都非常适合创建Web应用程序,它实际上取决于您的需求。

例如,C#非常适合使用事件,VB.Net非常适合使用XML。

我会说你的开发者感觉更舒服。

答案 13 :(得分:0)

我最近在查看一个网站,其中列出了基于技术的英国平均工资。现在找不到链接(典型!)但我记得平均C#工资比VB.NET平均工资高出约5万英镑。

如果你不打算同时学习(并且没有理由不这样做,因为它们之间唯一真正的区别就是语法)我会选择C#。

答案 14 :(得分:0)

.net或c#它会告诉您如何解决问题以及什么使您更有创意。但我认为.net将被删除,c#将是唯一可以在asp中使用的语言。我开始学习.net概念然后我将我的语言改为c#for asp.net mvc所以我建议你必须去c#因为它将来会对你有所帮助。