我们有一个大型的 ASP 经典代码库,但我希望在 ASP.NET 中进行未来的开发(并且可能在我们拥有的未来移植中)。语言的自然选择似乎是 VB(现有代码是 VBScript),但我是不是太仓促了?从长远来看,语言的选择是否会产生影响?
15 回答
学习.Net(框架)需要时间。
具体的语言无关紧要,更多的是品味问题。我通常建议尝试两种语言的一些游戏项目(以及任何其他可能让你喜欢的项目),然后决定你更喜欢哪一个(或者更成功!)
首先,不要为了它而移植一些东西。如果它工作正常并且移植它没有什么好处,那就别管它,继续在 VBScript 中进行错误修复和小改进。如果有足够的理由进行迁移,那么就在那时进行,但是如果您预先进行移植,您最好先熟悉 Web 应用程序的 .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#'ers '看不起',并且可以帮助取笑 VB.Net 的人(如果你愿意 - 文化存在......)
一旦您最初在 C# 中学习了它,那么转入 VB.Net 应该比反过来更容易。投资于自己的未来。
当我从 ASP3 迁移到 ASP.NET 时,我最终选择使用 C# 而不是 VB.NET。
我写了很多年的基础知识(MS-BAsic、GW-Basic、Quick-Basic、Visual Basic、VBScript),使用 VB.NET 非常困难,因为我总是尝试像以前使用 VB6 或 VBScript 那样编写东西。
所以 C# 对我来说是一个更好的选择:我并没有因为习惯的重量而放慢脚步。
此外,C# 是一门新语言(此时),而新的 VB.NET 关键字给他带来了 Cobol 的味道 :)
此外,不要忘记您可以在项目中混合搭配!
我会选择语法你最熟悉的语言,因为在功能上几乎没有区别,尽管有人说 VB 和 c# 开发人员之间存在文化差异。另一种选择是两者都学习,在我看来,迁移到 .net 的最大障碍是学习庞大的 .net 框架,你应该能够很快掌握实际的语言语法。
重要的是学习.NET。不是一种特定的语言,因为 C# 或 VB 只改变了语法。它们在 .NET 环境中的逻辑是相同的。
您可以在 C# 或 VB.NET 中执行相同的操作。最后,它会是一个更容易移植的选择。
请记住,您不应该(恕我直言)将 ASP 直接移植到 ASP.NET,因为您会丢失 .NET 中的许多功能,无论如何这将包括相当多的重写。所以我会选择 C#,因为我认为它不那么冗长,更容易编写和阅读。
.NET 实际上是关于框架和基类库的。VB 或 C# - 正如 Chris 所说,实际上只是语法上的差异。
由于您已经完成了 VBScript 向 VB.NET 的迁移,因此更自然 - 您可以学习新语法,然后转到 Framework 和 BCL,当您熟悉这些时,您可以学习 C# 语法 - 双语是总是好的。
2sontek:VB 中还有一些 C# 不支持的功能——我们不要去那里。80%(或更多)的开发人员只使用了 20% 的功能,并且差异非常小——他们当然不适合 20%
我在两者中都进行了开发,但 C# 将是我的首选。
你可以用两种语言做大部分事情,我当然不会用 c# 重新编写任何 vb 项目。
但是对于 C#:新的语言特性通常首先出现在 c# 中,例如 linq 中的 lamda 表达式你可以在 c# 中编写代码 C# 将迫使你变得更整洁 C# 开发人员平均获得更多报酬,大多数大型项目只会是 c# C# 有类似的javascript 的语法和函数名称 .net 社区对 vb 开发人员有些势利
差别不大,但有一些差别(主要是语法性质的)。如果您的旧站点是 VBScript,那么使用 VB.NET 可能更容易。
C# 3.5 中的一些功能在 Visual Basic 中不受支持,但语言选择始终是团队的偏好以及你们觉得最有效率的东西。
从经验来看,最容易掌握您当前技能的位置。如果这是在 vb6/vbscript 等中,我会首先查看 vb.net。它还取决于任何项目的时间表和交付日期。您将在 vb.net 中更快地掌握速度。如果你有时间我会认真考虑c#,如果只是为了在你来寻找新的牧场时让你在开发市场上站稳脚跟。
您可能还想研究 C#。
VB.Net 和 C# 都非常适合创建 Web 应用程序,这实际上取决于您的需求。
例如,C# 擅长处理事件,而 VB.Net 擅长处理 XML。
我会说你的开发人员觉得更舒服。
我最近在看一个网站,该网站列出了基于技术的英国平均工资。现在找不到链接(典型!),但我记得 C# 的平均工资比 VB.NET 的平均工资高出大约 5000 英镑。
如果您不打算同时学习两者(实际上没有理由不学习,因为它们之间唯一真正的区别是语法)我会选择 C#。
.net 或 c# 由您决定如何解决问题以及什么让您更有创造力。但我认为.net 将被删除,c# 将是唯一可以在 asp 中使用的语言。我开始学习 .net 概念,然后在我将我的语言更改为 c# for asp.net mvc 之后,所以我建议你必须去 c#,因为它将来对你有更多帮助。