【发布时间】:2010-09-11 04:05:32
【问题描述】:
我们有一个大型的 ASP 经典代码库,但我希望在 ASP.NET 中进行未来的开发(并且可能在我们拥有的未来移植中)。语言的自然选择似乎是 VB(现有代码是 VBScript),但我是不是太仓促了?从长远来看,语言的选择是否会产生影响?
【问题讨论】:
标签: c# .net asp.net vb.net webforms
我们有一个大型的 ASP 经典代码库,但我希望在 ASP.NET 中进行未来的开发(并且可能在我们拥有的未来移植中)。语言的自然选择似乎是 VB(现有代码是 VBScript),但我是不是太仓促了?从长远来看,语言的选择是否会产生影响?
【问题讨论】:
标签: c# .net asp.net vb.net webforms
学习 .Net(框架)需要时间。
具体的语言无关紧要,更多的是品味问题。我通常建议尝试两种语言的一些游戏项目(以及任何其他你可能喜欢的语言),然后决定你更喜欢哪一个(或者更成功!)
【讨论】:
首先,不要为了它而移植某些东西。如果它工作正常并且移植它没有什么好处,那就别管它,继续在 VBScript 中进行错误修复和小改进。如果有足够的理由进行迁移,那么就在那时进行,但是如果您预先进行移植,您最好先熟悉 Web 应用程序的 .Net 版本,而不是尝试即时学习。在“干净”的环境中学习 PostBack 和 ViewState 等新概念要容易得多。
在您移植东西时,打破旧思维方式的空间也较小(只需使其以旧方式工作,而不是在需要时重新设计)。
从长远来看,最终并没有太大的区别,这主要是感性的和个人品味的问题,但我建议先学习 C#,因为它不熟悉会强调你正在学习新东西的事实。希望这将帮助您学习以自然的 .Net 方式而不是主要程序化的 VB(脚本)方式来做事。你试图忘记和学习。熟悉某些关键字会对您不利。
在一些帖子中呼应其他好处,并添加一些我自己的:
一旦您最初在 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#,因为它会在未来帮助你更多。
【讨论】: