【问题标题】:Moving to ASP.NET - VB or C#?迁移到 ASP.NET - VB 还是 C#?
【发布时间】:2010-09-11 04:05:32
【问题描述】:

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

【问题讨论】:

    标签: c# .net asp.net vb.net webforms


    【解决方案1】:

    学习 .Net(框架)需要时间。

    具体的语言无关紧要,更多的是品味问题。我通常建议尝试两种语言的一些游戏项目(以及任何其他你可能喜欢的语言),然后决定你更喜欢哪一个(或者更成功!)

    【讨论】:

    • 先生,直到今天我一直在 c# asp.net 上工作,但我的老板告诉我进一步的项目是在 vb asp.NET 上。在 asp.net 中更改平台(C# 到 vb)会影响我的职业生涯吗?
    【解决方案2】:

    首先,不要为了它而移植某些东西。如果它工作正常并且移植它没有什么好处,那就别管它,继续在 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 无缘无故地关闭并重命名事物,例如abstract(C#、C++、Java 等...)与 MustInherit(仅限 VB.Net)。
    • 普遍认为,一旦您熟悉这两种语言,就可以直观地解析 C# 代码比 VB.Net 代码容易得多
    • 您不会被 C# 人员“看不起”,并且可以帮助取笑 VB.Net 人员(如果您愿意 - 文化存在...)

    一旦您最初在 C# 中学习了它,那么转入 VB.Net 应该会比其他方式更容易。投资自己的未来。

    【讨论】:

    • 很好地把戈登。这对我有帮助。
    【解决方案3】:

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

    我写了很多年的基础知识(MS-BAsic、GW-Basic、Quick-Basic、Visual Basic、VBScript),但使用 VB.NET 非常困难,因为我总是尝试像以前使用 VB6 一样编写东西或 VBScript。

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

    此外,C# 是一门新语言(此时),而新的 VB.NET 关键字给他带来了 Cobol 的味道 :)

    【讨论】:

      【解决方案4】:

      此外,不要忘记您可以在项目中混搭!

      【讨论】:

      • @jrummell - 我能想到的原因有几个(我实际上不建议这样做)。你可以有一个用一种语言写的很棒的课程并且想要使用它。有些情况下不方便翻译代码。由于语言非常相似,如果使用一种语言进行操作更简单,我将用该语言编写整个内容并完成。
      【解决方案5】:

      我会选择语法你最熟悉的语言,因为在功能上几乎没有区别,尽管有人说 VB 和 c# 开发人员之间存在文化差异。另一种选择是两者都学习,在我看来,迁移到 .net 的最大障碍是学习庞大的 .net 框架,你应该能够很快掌握实际的语言语法。

      【讨论】:

        【解决方案6】:

        重要的是学习.NET。不是一种特定的语言,因为 C# 或 VB 只改变了语法。它们在.NET环境中的逻辑是一样的。

        【讨论】:

          【解决方案7】:

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

          请记住,您不应该(恕我直言)将 ASP 直接移植到 ASP.NET,因为您会丢失 .NET 中的许多功能,无论如何这将包括相当多的重写。所以我会选择 C#,因为我认为它不那么冗长,更容易编写和阅读。

          【讨论】:

          • 它当然不那么冗长,但对于具有 C 风格语言背景的人来说,它只会更容易阅读和写作。考虑到他们是带着一个 VBScript/ASP 项目进来的,他们的编码人员可能已经习惯了 VB 风格的代码,这对他们来说是更好的选择。
          • 我不同意,我不是来自 C 风格的背景,但发现 C# 真的很容易上手。
          • 确实如此,但即使使用 VB.NET,他们也必须学习新语法。我只是觉得在这方面付出更多的努力并学习 C# 是有道理的。但这当然只是一种意见。
          • 我有 C++ 背景,我发现 VB.Net 更易于阅读。这真的只是意见。
          【解决方案8】:

          .NET 实际上是关于框架和基类库的。 VB 或 C# - 正如 Chris 所说,实际上只是语法上的差异。

          既然您已经完成了 VBScript 迁移到 VB.NET 的工作,那就更自然了 - 您可以学习新的语法,然后转到 Framework 和 BCL,当您熟悉这些之后,您可以同时学习 C# 语法 - 双- 语言总是好的。

          2sontek:VB 中还有一些 C# 不支持的功能——我们不要去那里。 80%(或更多)的开发人员只使用了 20% 的功能,并且差异非常小——他们当然不适合 20%

          【讨论】:

            【解决方案9】:

            我在两者中都进行了开发,但我更喜欢 C#。

            你可以用两种语言做大部分事情,我当然不会用 c# 重新编写任何 vb 项目。

            但是对于 C#: 新的语言特性通常首先出现在 c# 中,例如linq中的lamda表达式 你可以用c#写代码 C# 将迫使你变得更整洁 C# 开发人员平均获得更多报酬,大多数大型项目只会是 c# C# 具有与 javascript 相似的语法和函数名称 .net 社区对 vb 开发者有些势利

            【讨论】:

              【解决方案10】:

              差别不大,但有一些差别(主要是句法性质的)。如果您的旧网站是 VBScript,那么使用 VB.NET 可能更容易。

              【讨论】:

                【解决方案11】:

                C# 3.5 中的一些功能在 Visual Basic 中不受支持,但语言选择始终是团队的偏好以及你们认为最有效率的方面。

                【讨论】:

                  【解决方案12】:

                  根据经验,最容易掌握您当前的技能组合。如果这是在 vb6/vbscript 等中,我会首先查看 vb.net。它还取决于任何项目的时间表和交付日期。您将在 vb.net 中更快地掌握速度。如果你有时间,我会认真考虑 c#,如果只是为了在你来寻找新的牧场时让你在开发市场上站稳脚跟。

                  【讨论】:

                    【解决方案13】:

                    您可能还想研究 C#。

                    VB.Net 和 C# 都非常适合创建 Web 应用程序,这实际上取决于您的需求。

                    例如,C# 擅长处理事件,而 VB.Net 擅长处理 XML。

                    我会说你的开发人员觉得更舒服。

                    【讨论】:

                      【解决方案14】:

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

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

                      【讨论】:

                        【解决方案15】:

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

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 2018-12-30
                          • 2011-12-10
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2011-07-06
                          • 1970-01-01
                          相关资源
                          最近更新 更多