移动到ASP.NET-VB或C#?

移动到ASP.NET-VB或C#?,c#,.net,asp.net,vb.net,webforms,C#,.net,Asp.net,Vb.net,Webforms,我们有一个庞大的ASP经典代码库,但我希望在ASP.NET中进行未来的开发(并可能在未来跨现有端口进行开发)。语言的自然选择似乎是VB(现有代码是VBScript),但我是不是太匆忙了?从长远来看,语言的选择会产生影响吗?没有太大的影响,但存在一些差异(主要是句法上的差异)。如果您的旧站点是VBScript,那么使用VB.NET可能更容易。您可以在C#或VB.NET中执行相同的操作。最后,选择哪一个更容易移植 请记住,您不应该(IMHO)将ASP直接移植到ASP.NET,因为您已经失去了.NET

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

没有太大的影响,但存在一些差异(主要是句法上的差异)。如果您的旧站点是VBScript,那么使用VB.NET可能更容易。

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


请记住,您不应该(IMHO)将ASP直接移植到ASP.NET,因为您已经失去了.NET中的许多功能,这将包括大量的重写。因此,我选择C#,因为我认为C#不那么冗长,更易于编写和阅读。

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

需要时间的是学习.Net(framework)


具体的语言并不重要,更重要的是品味。我通常会建议您尝试使用两种语言(以及您喜欢的任何其他语言)进行一些游戏项目,然后决定您更喜欢哪种语言(或更成功!)

我会选择您最喜欢的语法语言,因为功能上几乎没有什么不同,尽管有人说VB和c开发者之间存在某种文化差异。另一个选择是学习两者,在我看来,迁移到.net的最大障碍是学习庞大的.net框架,即您应该能够相当快地掌握的实际语言语法。

根据经验,最容易掌握您当前的技能。如果这是在vb6/vbscript等中,我将首先查看vb.net。它还取决于任何项目时间表和交付日期。在vb.net中,您的速度会更快。如果你有时间在我的手中,我会认真考虑C,如果只给你一个更稳固的立足点在开发市场当你来寻找牧场新。

< P>。NET实际上是关于框架和基类库。VB或C#-正如Chris提到的,实际上只是语法上的差异

由于您已经完成了VBScript到VB.NET的迁移,因此更自然-您可以学习新语法,然后进入框架和BCL,当您熟悉这些语法时,您可以像weel一样学习C#语法-双语总是好的


2sontek:VB中还有一些功能在C#中不受支持-我们先别说了。80%(或更多)的开发人员只使用了20%的功能,差异非常小——它们当然不适合20%的功能。你也可以看看C

VB.Net和C#都非常适合创建web应用程序,这取决于您的需要

例如,C#非常适合处理事件,VB.Net非常适合处理XML


我想说的是,让开发者觉得更舒服的就去吧。

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


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

当我从ASP.3迁移到ASP.NET时,我最终选择使用C而不是VB.NET

我写了几年的基础知识(MS BAsic、GW BAsic、Quick BAsic、Visual BAsic、VBScript),使用VB.NET非常困难,因为我总是试图像使用VB6或VBScript那样编写东西

所以C#对我来说是一个更好的选择:我没有因为习惯的重量而慢下来


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

首先,不要为了它而移植某些东西。如果它工作正常,并且移植它没有什么好处,那就别管它,继续在VBScript中进行错误修复和小的增强。如果有足够的理由将事情转移到不同的位置,那么在那一点上就这样做,但是你最好先熟悉.Net版本的web应用程序,而不是尝试在运行中学习,如果你预先做了端口的话。在“干净”的环境中学习PostBack和ViewState等新概念要容易得多

在移植东西时,打破旧思维方式的余地也较小(只是让它以任何旧方式工作,而不是在需要的地方重新设计)

归根结底,从长远来看没有太大的区别,这主要是感性的,也是个人品味的问题,但我建议先学习C,因为缺乏熟悉会强调你正在学习新东西的事实。希望这能帮助你学会用自然的.Net方式做事,而不是用程序化的VB(脚本)方式。你既在努力学习,也在努力忘却。熟悉一些关键词会对你不利

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

  • 未来潜在收益:由于感知上的差异,C#开发人员通常比VB.Net开发人员更有价值
  • 大多数开源的.Net代码都是C#,而且它的质量通常(尽管不总是)会更高
  • 互联网上C#的问答和示例比VB.Net更多。在我发布这篇文章时,有1572篇用C#标记的文章,只有185篇用VB.Net在堆栈溢出上
  • C#OO关键字是相当标准的,这使得阅读其他OO语言代码更加容易。Net将没有任何原因,例如抽象(C,C++,java和更多…)与MustInherit(VB.NET)进行重命名和重命名。