Programming languages 应该受到所有批评吗?

Programming languages 应该受到所有批评吗?,programming-languages,enterprise,dynamic-typing,Programming Languages,Enterprise,Dynamic Typing,我在网上读了几篇关于企业编程语言选择的文章。最近,很多动态类型语言都很流行,如Ruby、Python、PHP和Erlang。但是很多企业仍然停留在C、C++、C和java等静态类型语言上。 是的,静态类型语言的好处之一是编程错误在编译时比在运行时更早被捕获。但动态类型语言也有一些优点。() 企业没有开始使用Erlang、Ruby和Python等语言的主要原因似乎是它们是动态类型的。这似乎也是StackOverflow上的人们反对Erlang的主要原因。看 然而,似乎有人强烈批评企业中的动态类型,

我在网上读了几篇关于企业编程语言选择的文章。最近,很多动态类型语言都很流行,如Ruby、Python、PHP和Erlang。但是很多企业仍然停留在C、C++、C和java等静态类型语言上。 是的,静态类型语言的好处之一是编程错误在编译时比在运行时更早被捕获。但动态类型语言也有一些优点。()

企业没有开始使用Erlang、Ruby和Python等语言的主要原因似乎是它们是动态类型的。这似乎也是StackOverflow上的人们反对Erlang的主要原因。看

然而,似乎有人强烈批评企业中的动态类型,但我真的不明白为什么它是那么strong


真的,为什么在企业中有那么多反对动态类型的危机?它真的对项目的成本有那么大的影响吗?但也许我错了。

这可能更多地是关于人们所熟悉的东西,而不是其他任何东西。从管理者的角度来看,他/她需要一个很好的理由来使用以下技术:

  • 可能从未被公司用于某个项目
  • 团队中没有人有过
  • 没有微软、IBM等可靠的“企业”公司的支持
如果项目需要维持多年,这些因素尤为重要


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

这可能更多地是关于人们所熟悉的东西,而不是其他任何东西。从管理者的角度来看,他/她需要一个很好的理由来使用以下技术:

  • 可能从未被公司用于某个项目
  • 团队中没有人有过
  • 没有微软、IBM等可靠的“企业”公司的支持
如果项目需要维持多年,这些因素尤为重要

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

企业这个词对我来说并没有任何意义,所以我只是假设你说的是大公司

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

另一件大事是,动态语言并不像静态语言那样成熟。像C++、java和C语言这样的语言已经在企业界使用了多年和时间,而动态类型语言最近才开始发挥作用。用Java编写的代码比用Python编写的代码多得多,对前者的支持也更多


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

企业这个词对我来说并没有任何意义,所以我假设你说的是大公司

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

另一件大事是,动态语言并不像静态语言那样成熟。像C++、java和C语言这样的语言已经在企业界使用了多年和时间,而动态类型语言最近才开始发挥作用。用Java编写的代码比用Python编写的代码多得多,对前者的支持也更多



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

这是主观的,会引起争论,而且事实上也没有明确的依据。正如Justin Ethier指出的,商业中的语言选择通常基于商业原因,而不是技术原因,因此,商业选择语言的原因几乎肯定与静态和动态类型无关。这是主观的,会引起争论,而且事实上也没有明确的依据。正如Justin Ethier指出的,业务中的语言选择通常基于业务原因,而不是技术原因,因此业务选择语言的原因几乎肯定与静态和动态类型无关。