【问题标题】:VB.net application in "Real World" software?“真实世界”软件中的 VB.net 应用程序?
【发布时间】:2011-01-01 21:09:28
【问题描述】:

我很想知道用 VB.net 编码的程序的传播程度。 我在问,因为我在大学期间从事航空航天工程时使用 VB.net 进行编码,因为我们的信息学教授希望我们这样做,并且我们至少学到了非常基本的编程经验。 因此,我编写了一个地平线探测器作为项目工作,并请我的一位信息学学生朋友帮助我解决一些未解决的问题。

他真的问我我的教授是否想在他的一颗卫星上使用这个 vb.net 程序。 (好吧,即使我不希望我的程序在真正的卫星上,即使是在它打算用于的这颗纳米测试卫星上:))。我回答说,我知道,他在其中使用了其他 vb.net 的东西。 他说,这个 vb.net 并没有在现实世界的程序中使用,它比其他语言慢,而且没有那么灵活。 他说,除了使用 vb.net 之外,还有其他方法可以使这颗卫星坠毁;)

所以我想知道在 vb.net 中作为 PC 应用程序和自动化机器等软件中编码的程序百分比的粗略估计。

如果不需要它,那为什么还有人在里面编码呢? :D

感谢您对此的任何回复!

安德烈亚斯

【问题讨论】:

    标签: vb.net language-comparisons


    【解决方案1】:

    有很多需要它。它是很多人的主要编程语言。它并不比 C# 快或慢,因为它们都编译为相同的本机代码。谁告诉你 VB.NET 没有在现实世界的应用程序中使用是错误的。

    【讨论】:

    • 我知道这是一个技术问题,但我认为说它们都编译为相同的本机代码是一种误导。它们实际上都编译为 IL,并且在运行时及时编译为本机代码。
    • 你是对的,这是一个真的无关的技术性。除非您能证明 VB.NET 生成的 IL 始终存在问题。
    • ehhh... 好吧,我可以接受这是一个技术问题。但出于所有意图和目的,它们在运行时是相同的。
    【解决方案2】:

    vb.net 用于我们的日常软件,因为它易于编码并且语法相对简单。我不知道百分比,但我想说这几天很常见。

    当然,如果您追求稳健性和速度,C++、C 和可能的 C# 会做得更好。但是没有这么严格要求的应用程序肯定可以在 VB.NET 中编码

    【讨论】:

    • C# 和 VB.NET 几乎是等价的。 C# 不会为您提供更多的稳健性或速度 - 事实上,在大多数情况下,您无法真正分辨出编译库中的区别。
    • 这就是我说“可能是 C#”的原因,因为我不确定。感谢您对此进行纠正。
    • 另外,你甚至说关于 C 或 C++ 的说法都是可疑的——.NET 代码的性能优于类似的 C++ 代码是相当普遍的,并且由于垃圾收集,编写健壮的代码要容易得多,缺少指针等...
    • 我确信 C++ 仍然会比任何 .NET 代码更快。但看来我可能错了?!
    • 由于 C# 允许访问“不安全”代码(即指针),因此可能有一些应用程序/算法可以在 C# 中变得更快。但是,我不会称 VB.Net 不那么“健壮”。代码稳健性与程序员能力的关系比其他任何事情都重要。
    【解决方案3】:

    根据 PDC 语言团队的讨论,该计划是针对 VB.NET 和 C#,从 Visual Studio 2010 开始,在功能方面几乎保持同等水平。

    这意味着 VB.NET 在语言方面与 C# 一样“真实”。在 VB.NET 中确实没有什么是您不能在 C# 中完成的。两种语言都为 CLR 编译成相同的 IL,并且具有几乎相同的优化。

    【讨论】:

    • 我不认为 Microsoft 计划向 VB.Net 添加对“不安全”代码的访问权限。
    • 这可能是真的。我指的是在 VB.NET 和 C# talk @ PDC 的 hte 未来期间制作的一些 cmets - MS 的目标是使语言接近功能等效(但可能总会有一些差异)。
    • 这是一段来自 Microsoft 的 Anders Hejlsberg 在 TechEd 上的类似演讲视频,他现在是 C# 和 VB.Net 架构的负责人blogs.msdn.com/vbteam/archive/2009/06/20/…
    【解决方案4】:

    虽然 VB.NET 可能不是实时应用程序的首选语言,但它实际上仍然是微软最受欢迎的语言之一,并被用于无数的商业应用程序中。

    一个这样的例子是我的雇主,埃森哲的Claims Components Services,这是一个被 70% 的保险公司使用的 .NET 应用程序(据公司称)。

    在选择语言或技术时,您应该始终考虑您的需求。如果您回答“具有大量控制的高性能”,您可能不想使用 VB;我可能有偏见,但我认为 VB 和 C# 实际上适用于绝大多数(商业)应用程序。

    【讨论】:

    • 实时是个好点,这就是为什么我不想在这颗卫星上看到我的地平线探测器,因为它可以在相机图像上探测到地球的地平线,但这需要很多时间时间;)当处理完成并且程序将显示,你在哪里,你离这个地方大约100公里,图像被拍摄了;)。幸运的是,之后我的工作只是一个概念证明;)
    • 这并不表示 VB.Net 很慢。您完全有可能选择了最糟糕的方式来实现您的算法等。现在,如果您的代码真的从语言中获得了所有可能的性能,那么您可以转向较低级别的语言。但是使用 C/C++/C#/Ocaml/whatever 并不能消除对精心设计的代码的需求。
    【解决方案5】:

    我在圣诞晚会上与一位在 VB.NET 中编写糖尿病血糖水平测试软件的公司工作的绅士聊天。它目前正在移植到 C++ 以在嵌入式设备上工作。我知道的不多(那是一个聚会);但这至少是轶事。

    【讨论】:

    • 派对就是派对,所以我完全理解! :) 我在微控制器方面没有很多经验,但我所知道的都是用 C 工作。所以如果他打算为耐心口袋准备一个设备,那么很可能他不能使用他的 vb.net 代码并且必须移植它这个控制器理解的东西。
    【解决方案6】:

    别担心 :)。它在开发工具中非常棒而且非常快。 请看看我在结构分析领域的 CAE(计算机辅助工程)全 3D 管理软件 (VB WPF)。
    微软表示,对于任何常见的应用程序来说,它都是最快的开发语言。 我非常同意这个观点。

    所以,链接是 Screenshots on Silverlightusual screenshots

    也许这样说是正确的: 如果你来自 C、C++,你会觉得 C# 更好, 如果你来自旧 VB、Pascal 和 Delphi - VB.NET。

    两者都是平等的,而且非常漂亮!

    目前我在一个解决方案中同时使用这两种方法。我认为这是很好的方法。

    【讨论】:

      猜你喜欢
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2011-04-14
      相关资源
      最近更新 更多