迁移到ASP.NET-VB还是C#?
我们有一个大型的ASP经典代码库,但我正在寻求将来在ASP.NET中进行开发(并可能在将来通过我们拥有的端口进行开发)。语言的自然选择似乎是VB(现有代码是VBScript),但是我是否太匆忙?从长远来看,语言的选择是否会有所作为?
解决方案
差别不大,但有一些区别(本质上主要是句法上的)。如果旧站点是VBScript,则使用VB.NET可能更容易。
我们可以在两个Cor VB.NET中执行相同的操作。最后,可以选择哪种移植更容易。
请记住,我们不应该将ASP直接(IMHO)移植到ASP.NET,因为我们将放弃.NET中的许多功能,因此无论如何这都将包括大量重写。所以我会选择Csince,因为我认为它不那么冗长,而且更容易读写。
C3.5中有一些Visual Basic不支持的功能,但是语言选择始终是团队的偏爱,也是你们觉得最有生产力的地方。
学习.Net(框架)需要花费时间。
特定的语言无关紧要,而更取决于口味。我通常建议我们尝试使用两种语言(以及可能会喜欢的其他语言)进行一些游戏项目,然后再确定我们更喜欢哪一种(或者取得更大的成功!)
我会选择最适合语法的语言,因为在功能上几乎没有差异,尽管有些人说VB和开发人员之间在文化上有所不同。另一个选择是两者都学习,我认为迁移到.net的最大障碍是学习庞大的.net框架,我们应该能够很快掌握实际的语言语法。
根据经验,最容易掌握技能的所在。如果这是在vb6 / vbscript等中,我首先会看vb.net。它还取决于任何项目的时间范围和交付日期。我们将可以在vb.net上更快地获得速度。如果我们有时间,我会认真考虑使用c#,如果我们在寻找新的牧场时只是为了在开发市场上站稳脚跟。
.NET实际上是关于框架和基类库的。 VB或者Cas Chris提到,实际上只是语法上的差异。
由于我们已经很自然地将VBScript迁移到VB.NET,因此我们可以学习新的语法,然后转到Framework和BCL,熟悉这些语言后,我们就可以学习Csyntax,因为双语总是很不错的。
2sontek:Vlet中还有Clet's go那里不支持的功能。 80%(或者更多)的开发人员仅使用20%的功能,而差异很小,他们当然不适合20%
我们可能还想研究C#。
VB.Net和Care都非常适合创建Web应用程序,这实际上取决于需求。
例如,Cis非常适合事件,而VB.Net非常适合XML。
我想说说开发人员感到更舒服的地方。
我最近在看一个站点,该站点根据技术列出了英国的平均工资。现在找不到链接(典型!),但我记得平均Cwage比VB.NET的平均工资高出约5k。
如果我们不想同时学习两者(并且实际上没有理由不学习,因为它们之间的唯一真正区别是语法),我会选择C#。
当我从ASP3迁移到ASP.NET时,我最终选择使用Cinstead而不是VB.NET。
我写了多年的Basics(MS-BAsic,GW-Basic,Quick-Basic,Visual Basic,VBScript),使用VB.NET非常困难,因为我总是尝试像以前使用VB6或者VBScript一样编写东西。
所以Cwa对我来说是一个更好的选择:我并没有因为自己的习惯而放慢脚步。
另外,Cwas是一种新语言(此时),而新的VB.NET关键字给了他Cobol的味道:)
首先,不要为此目的移植某些东西。如果它运行良好,并且从移植中收获不多,请不要理会它,并继续在VBScript中进行错误修复和小的增强。如果有足够的理由进行迁移,那么可以在此时进行。但是,最好是先熟悉Web应用程序的.Net版本,而不要尝试先进行动态学习,而不要先进行尝试。在"干净"的环境中学习诸如PostBack和ViewState之类的新概念要容易得多。
在移植内容时,也没有太大的空间可以突破旧思维方式(只是使它以任何旧方式工作,而不是在需要的地方进行重新设计)。
最终,从长远来看,并没有太大的差异,这主要是感性的和个人品味的问题,但是我建议学习Cfirst,因为它缺乏熟悉性,会强调我们正在学习新事物。希望这将学习自然的.Net方式,而不是程序性的VB(script)方式。我们正在尝试学习和学习。熟悉某些关键字会对我们不利。
在某些帖子中回荡其他好处,并添加一些我自己的内容:
- 潜在的潜在收益:由于感知上的差异,C#开发人员通常比VB.Net开发人员更有价值。
- 那里的大多数开源.Net代码都是C#,并且它的质量通常(尽管并非总是如此)趋向于更高。
- 与VB.Net相比,C#上的Internet中有更多的问答和示例。在我发布本文时,有1572个用C#标签的帖子,而在VB.Net上只有185个帖子在Stack OverFlow上。
- C#OO关键字是合理的标准,它使阅读其他OO语言代码更加容易。 VB.Net毫无理由地关闭并重命名了内容,例如抽象(C#,C ++,Java等)与MustInherit(仅限VB.Net)。
- 人们普遍认为,一旦我们熟悉这两种语言,就可以比VB.Net代码更直观地解析C#代码。
- 我们将不会被C#的人"瞧不起",并且可以帮助VB.Net的人戳趣(如果我们愿意-这种文化存在...)
一旦我们最初在C#中学习了它,就可以轻松地过渡到VB.Net,而反之亦然。投资自己的未来。
我在这两个方面都有发展,但我会偏爱Cwoul。
我们可以使用两种语言进行大多数操作,并且我通常不会用c#编写任何vb项目。
但是使用C#:
新的语言功能通常是最重要的,例如linq中的lamda表达式
我们可以在C中编写代码
会强迫你变得更整洁
开发人员平均获得的报酬更多,而大多数大型项目将仅获得
将类似于javascript的语法和函数名称
.net社区对VB开发人员有一些势利
重要的是学习.NET。不是一种特定的语言,因为Cor VB仅更改语法。 .NET环境中它们背后的逻辑是相同的。
另外,不要忘记我们可以在项目中混合搭配!