1

我在互联网上阅读了几篇关于企业编程语言选择的文章。最近流行了很多动态类型语言,如Ruby、Python、PHP和Erlang。但许多企业仍然使用静态类型语言,如 C、C++、C# 和 Java。

是的,静态类型语言的好处之一是编程错误在编译时被更早地捕获,而不是在运行时。但是动态类型语言也有优势。(更多在维基百科

企业没有开始使用像 Erlang、Ruby 和 Python 这样的语言的主要原因似乎是它们是动态类型的。这似乎也是 StackOverflow 上的人们决定反对 Erlang 的主要原因。看看你为什么决定“反对” Erlang

然而,在企业中似乎有对动态类型的强烈批评,但我真的不明白为什么它如此强大。

真的,为什么企业对动态类型有如此多的批评呢?它真的会影响项目的成本吗,还是什么?但也许我错了。

4

2 回答 2

3

“企业”这个词对我来说没有任何意义,所以我只是假设你在谈论大公司。

动态类型就是这样:动态的。没有办法使用动态类型语言有效地静态分析您的程序。静态类型允许开发人员在编译或运行代码之前发现错误,这在企业界非常重要。它使调试变得不那么痛苦,从而提高了整体生产力(或者这就是他们所争论的,无论如何)。静态类型在团队设置中也非常重要,因为它允许您的 IDE 告诉您如何使用您从未见过的方法。这些类型的“提示”即使不是不可能,也很难用动态类型语言实现。

另一件大事是动态语言根本不如静态语言成熟。C++、Java 和 C# 等语言已经在企业界使用多年,而动态类型语言最近才开始发挥作用。用 Java 编写的代码比用 Python 编写的代码多得多,而且对前者的支持也多得多。


请注意,我不是为任何一方争论。我个人更喜欢动态类型语言,因为它们让我可以更快地编写代码并且花更少的时间思考问题,但我可以看到像 C# 这样的语言在巨大的企业环境中的吸引力。

于 2010-07-16T21:12:05.023 回答
2

它可能更多地是关于人们熟悉的东西而不是其他任何东西。从经理的角度来看,他/她需要有充分的理由使用以下技术:

  • 公司可能从未在项目上使用过,
  • 团队中没有人有任何经验,
  • 没有(似乎)得到微软、IBM 等坚实的“企业”公司的支持

如果项目需要在未来多年维护,这些因素尤其重要。

我不是为这种观点辩护,只是指出它存在并且可能是这种批评的来源。

于 2010-07-16T18:31:13.363 回答