没有标准且没有企业支持的语言的未来

时间:2009-03-06 17:35:10

标签: language-agnostic programming-languages

多年来我们已经看到(好吧,我有:)许多语言来去匆匆。有些人更容易被接受,有些则更少。所以我想知道,你认为哪种因素最能影响语言是否存在?它是否会有一个未来多年(我的意思是几十年左右)?

例如,fortran和C经受住了时间的考验。虽然它们很受欢迎,但它们也有很好的企业支持,融资和标准规范(ANSI和ISO)。

我今天看到的一些现代语言虽然很受欢迎,但却没有(目前的实现通常被认为是标准的)。这一切都很好,但10年或20年后,当他们的作者可能不再在这里时。我很少看到开源语言转变为企业融资。

如果你能说几句话,在你看来,什么是一种语言生存最重要的因素,为什么?

9 个答案:

答案 0 :(得分:4)

Ruby 很受欢迎,但它没有企业支持。它已经存在了14年。

Perl 已经存活了22年,并且可能会存活几年。

Python 没有公司支持(好吧,不知道你是否算上Google的参与度),但它已经向财富500强公司提供了。

另一方面:

Pascal 得到了公司的支持而死了。

Ada 拥有公司支持,实际上它已经减少为DSL用于航​​空电子设备。

答案 1 :(得分:3)

每种未来的语言都需要轻松解决现有问题

例如,目前在大多数语言中并发编程并不容易。这将通过一种新语言解决,因为我们不能轻易地将我们现有的范例哄骗到并行世界中。只需看看Java,它是从头开始构建的,考虑到线程,它有很多警告,你甚至敢于进行并发编程。

我们需要一个系统,使得并行编程变得如此容易,我们甚至不需要考虑它。我们需要一个内存模型来保护我们不必考虑这些问题。对于那些无法想象这样一个世界的人来说,你只是陷入了我们当前的范式。我们需要改变我们为此开发软件的方式。严重的问题需要改变。

语言生存的另一种方法是将其附加到整个系统。只需看看Objective C,它就是所有Apple产品的Apple语言。我认为这是要走的路。设计一个配得上自己语言的系统。

还有很多其他例子,我一直在考虑这个问题。

答案 2 :(得分:3)

我认为答案很大程度上取决于你定义生存的时间范围。这很重要,因为我认为有三个因素随着时间的推移而发生了变化,并且仍在发生变化:

  1. 硬件性能(即速度或内存)
  2. 硬件复杂性(即单核v.s.多核)
  3. 软件复杂性
  4. 我认为C幸存的原因是,直到最近几年,在很多应用中仍然需要最大的性能。也许总会有这样的需求,但我认为它在过去几年中变得越来越不相关。我认为它总会存在,但如果它在20年后被广泛使用,我会感到惊讶;在过去的五年里,它已经开始转向支持C#/ Java /等。

    最近(我的意思是过去五年左右)Python等语言的兴起也是对软件变得越来越复杂,而性能变得不那么重要的回应。因为消费者重视“现在”,所以快速发展是一个巨大的动力,并且如果有的话,后来担心速度。这对您用于开发的语言有很大的影响。

    如果将未来发展到20多年,我认为清晰度,可维护性和易用性是生存的最重要因素。

答案 3 :(得分:1)

据我所知,Fortran在成熟之前没有任何公司支持。 C得到了AT& T的支持,但他们真的不在乎是否还有人改编它。两者都有很好的建立,然后才有ANSI标准(另外,注意ANSI和ISO提供标准规范,而不是实现)

另一方面,IBM严重支持&提升PL / I,从未真正流行起来。美国政府试图让我们所有人都写Ada,但这也没有用。

那么,有什么用呢?好问题。让学校教它很好(当大学改用C ++和Java时,Pascal几乎消失了)。最近“网上的嗡嗡声”很好(引用:Java,Ruby)

答案 4 :(得分:1)

为了使语言能够生存,需要做几件事:

  • 它需要比其他类似选项更好地解决问题。这是主观方面,开发人员认为它更好,所以他们采用它。
  • 它需要有良好的工具。没有良好的工具,语言永远不会流行到群众。
  • 需要围绕它建立一个强大的社区。一个提供援助,帮助,组件等的社区......

我认为公司支持不会对这些项目产生直接影响。我认为它可以使诸如开发工具之类的东西更有可能,但是有太多的例子表明它有助于或者没有帮助采用一种语言。

答案 5 :(得分:1)

开源社区已经变得更像一个庞大的企业,不是吗?

答案 6 :(得分:1)

语言在使用时仍然存在,而人们则准备维护语言。人们经常准备在使用语言时保持语言。如果没有使用某种语言,它就会死亡。

可能存在各种有助于或确定语言是否会死亡的事物。如果公司赞助商不再看到该语言的利益(利润),或者他们希望人们使用替代方案,并且公司赞助商不愿意将代码发布给开源,并且没有开源,那么公司赞助的语言就会死亡替代品。

答案 7 :(得分:1)

我没有看到证据表明公司支持或标准化足以确定某种语言是否存在。有许多企业支持的语言未能获得强大的立足点(ADA浮现在脑海中)。有许多标准化语言(Common Lisp)也失败了。另一方面,有很多非标准的非公司语言受到欢迎(Perl,PHP,Ruby)。那里似乎没有因果关系。

语言的可行性实际上取决于它周围的社区。有一个积极的反馈循环。更多用户意味着更多支持和更多库,这反过来意味着更多用户。流行语言可能会受到影响,但它们并不会完全消亡。不是很久了。

如果我正在寻找一种必须使用的语言,那么我认为最重要的两个标准是:

  1. 它对我的问题域有效吗?
  2. 社区是否足够强大,可以自我延续?
  3. 如果这两个问题的答案都是真的,请使用该语言。如果任何一个答案都是假的,那就不要。

答案 8 :(得分:0)

虽然其他语言几乎被他们的企业支持= Delphi杀死了