鉴于不可能看到未来,与Clojure,Scala或Haskell相关的哪些因素可能决定其中一个是否能够吸引?
是否存在可能使其中一种语言优于其他语言的文化或经济问题?
或者由于它们的概念复杂性,这些语言都不可能获得牵引力吗?
答案 0 :(得分:20)
在我的头顶:
编辑:2009年11月
参见Refactoring to Scala DSLs and LiftOff 2009 Recap演示文稿,幻灯片10和11:
Martin明确地“了解”拥有高质量Scala工具支持的重要性
答案 1 :(得分:17)
在Haskell世界中,我看到了继续推进的主要内容:
除此之外,很难说。一些随机的想法:Haskell已经存在了20年,拥有非常庞大的用户群和大量的商业支持。相比之下,Clojure很小。 Scala和Clojure通过在.NET或JVM上运行获得“免费积分”。那有关系吗?运行时有多重要? GHC有一个非常快速的自定义并行运行时,因为它不是JVM,但人们喜欢使用JVM。对于.NET也是如此。成熟度/稳定性是否重要?
最重要的是,谁在做最好的外展?
答案 2 :(得分:10)
我认为要打入大联盟(即C,C#,C ++,Java),他们需要广泛接受来自少数大公司的内部人士开发,但本身不是软件公司。我想到的是大型银行,保险公司,服务公司,管理咨询公司等。
但是,如今这种接受存在很大的障碍;即支持,市场和稳定性。如果没有像Sun,IBM或微软这样的大公司提供支持,说服这些公司很难说任何新语言都是安全的赌注。
在没有说服这些公司的情况下,熟悉这些语言的开发人员的市场规模很小。只要有一小部分用户,该语言就可以承担社区要求的向后不兼容的更改。因此,非主流采用的恶性循环。
答案 3 :(得分:3)
Java所做的真正的事情是静态类型。虽然这对小型程序来说很烦人,但它可以构建大型稳定系统。它允许重建充满信心。
考虑一下:每种语言都有它支持的最大大小的程序。要超过这个规模,需要越来越高于平均水平的设计和实施。
作为次要考虑因素,Java非常快,并且具有相当完整的库。
所以,我猜这些是标准,因此Scala有机会。
唯一不利的是使用JVM运行廉价共享服务器Web主机的难度。
答案 4 :(得分:3)
其中一些语言可能很容易在非商业和开源环境中获得认可。或多或少发生在Perl,Python,Ruby(以及其他一些语言)上的事情。
易于部署软件(想想apt-get)和程序员的自由促进了开源世界的语言多样性。一旦某些软件变得足够重要,语言在支持方面就变得不朽。一旦它不朽,对每个人来说都是安全的赌注。小型开发人员将是第一个,如果他们从使用该语言中获得一些好处,大公司将会效仿。
因此,这是一个社区对开源(教学,文档,基础设施)更友好的问题,以及哪种语言允许程序员提高工作效率。
答案 5 :(得分:2)
由一家大型软件开发公司提供支持。看看Java和C#在什么地方得到它们。这也是其他人到达那里所需要的。
答案 6 :(得分:2)
一个文化因素是语言与现有流行语言的相似程度。例如,C - >的演变。 C ++ - > Java - > C#。
Haskell与主流的差距最大,不熟悉的语法,运行时堆栈,编程范例和社区更倾向于学术界而不是行业。
答案 7 :(得分:0)
在我看来,主要因素是研究的结果,旨在提供纯函数语言中的隐式并行性。如果/这将起作用,那么Haskell很可能成为主流。
至于Scala和Clojure ...... Scala具有历史上更可接受的语法。这太过分了。有些人可能认为Clojure有一个宏系统,但宏显然等同于clojures,所以这不是一个真正的优势。
无论如何,我认为静态类型的语言不适合所有领域,即Web开发。奇怪的是,现在有一种趋势,即以网络为基础。我不认为Ruby是一种炒作:它正在快速成熟。
答案 8 :(得分:-4)
Haskell或Ruby将扫除世界上的evryone。由于Haskell很复杂且难以学习,因此Ruby很有可能获得成功。
Ruby 2.x将成为'Scala和Clojure'的父亲。它将具有高速,GIL的新版本以及用于并行处理,功能编程,宏的内置模块。
进一步思考,为了完成各种任务,需要在ruby中构建更多的库。一旦版本2.X将与上述所有feechurs一起使用,这将完成。
我相信马茨和安东尼奥!!!!!
C ++,Java,.NET,Python,Scala将在博客中出现。 XXXXX
C,Perl和PHP仍然适用于小型应用程序/任务。
MySQL,Oracle,SQLServer也将出现在博物馆的“db部分”中。 XXXXX
SQlite,PostgreSQL将在外面活着。
干杯,
呃男人