多年来我们已经看到(好吧,我有:)许多语言来去匆匆。有些人更容易被接受,有些则更少。所以我想知道,你认为哪种因素最能影响语言是否存在?它是否会有一个未来多年(我的意思是几十年左右)?
例如,fortran和C经受住了时间的考验。虽然它们很受欢迎,但它们也有很好的企业支持,融资和标准规范(ANSI和ISO)。
我今天看到的一些现代语言虽然很受欢迎,但却没有(目前的实现通常被认为是标准的)。这一切都很好,但10年或20年后,当他们的作者可能不再在这里时。我很少看到开源语言转变为企业融资。
如果你能说几句话,在你看来,什么是一种语言生存最重要的因素,为什么?
答案 0 :(得分:4)
Ruby 很受欢迎,但它没有企业支持。它已经存在了14年。
Perl 已经存活了22年,并且可能会存活几年。
Python 没有公司支持(好吧,不知道你是否算上Google的参与度),但它已经向财富500强公司提供了。
另一方面:
Pascal 得到了公司的支持而死了。
Ada 拥有公司支持,实际上它已经减少为DSL用于航空电子设备。
答案 1 :(得分:3)
每种未来的语言都需要轻松解决现有问题
例如,目前在大多数语言中并发编程并不容易。这将通过一种新语言解决,因为我们不能轻易地将我们现有的范例哄骗到并行世界中。只需看看Java,它是从头开始构建的,考虑到线程,它有很多警告,你甚至敢于进行并发编程。
我们需要一个系统,使得并行编程变得如此容易,我们甚至不需要考虑它。我们需要一个内存模型来保护我们不必考虑这些问题。对于那些无法想象这样一个世界的人来说,你只是陷入了我们当前的范式。我们需要改变我们为此开发软件的方式。严重的问题需要改变。
语言生存的另一种方法是将其附加到整个系统。只需看看Objective C,它就是所有Apple产品的Apple语言。我认为这是要走的路。设计一个配得上自己语言的系统。
还有很多其他例子,我一直在考虑这个问题。
答案 2 :(得分:3)
我认为答案很大程度上取决于你定义生存的时间范围。这很重要,因为我认为有三个因素随着时间的推移而发生了变化,并且仍在发生变化:
我认为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)。那里似乎没有因果关系。
语言的可行性实际上取决于它周围的社区。有一个积极的反馈循环。更多用户意味着更多支持和更多库,这反过来意味着更多用户。流行语言可能会受到影响,但它们并不会完全消亡。不是很久了。
如果我正在寻找一种必须使用的语言,那么我认为最重要的两个标准是:
如果这两个问题的答案都是真的,请使用该语言。如果任何一个答案都是假的,那就不要。
答案 8 :(得分:0)
虽然其他语言几乎被他们的企业支持= Delphi杀死了