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

有帮助吗?

解决方案

学习.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 等)与 必须继承 (仅限 VB.Net)。
  • 人们普遍认为,一旦熟悉了这两种语言,直观地解析 C# 代码就会比 VB.Net 代码容易得多
  • 您不会被 C# 人员“瞧不起”,并且可以帮助取笑 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 就更自然了 - 您可以学习新语法,然后转向框架和 BCL,当您熟悉这些语法时,您可以学习 C# 语法 - 双语是总是好的。

2森泰克: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 的平均工资高出 5,000 英镑左右。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top