Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP之后要学什么?Scala还是Clojure?_Php_Scala_Clojure - Fatal编程技术网

PHP之后要学什么?Scala还是Clojure?

PHP之后要学什么?Scala还是Clojure?,php,scala,clojure,Php,Scala,Clojure,我有丰富的PHP网络开发背景。我学习函数式编程语言的原因是: 提高我的编程技能。有人强烈建议学习FPL会有所帮助。这是我的首要任务,因为我想变得越来越好 学习一种通用编程语言来解决诸如脚本(操作系统脚本、文本操作等)之类的任务 在web开发中用作PHP的替代方案 还有哪一个有更好的社区支持、教程和书籍以及更好的web应用程序框架 请随意推荐其他语言。我建议学习具有web前端以外框架的语言,如(JavaEE[JSP/JSF]+Java)或.NET(+C#等)。这将为您的职业选择提供更多的余地,您将

我有丰富的PHP网络开发背景。我学习函数式编程语言的原因是:

  • 提高我的编程技能。有人强烈建议学习FPL会有所帮助。这是我的首要任务,因为我想变得越来越好
  • 学习一种通用编程语言来解决诸如脚本(操作系统脚本、文本操作等)之类的任务
  • 在web开发中用作PHP的替代方案
  • 还有哪一个有更好的社区支持、教程和书籍以及更好的web应用程序框架


    请随意推荐其他语言。

    我建议学习具有web前端以外框架的语言,如(JavaEE[JSP/JSF]+Java)或.NET(+C#等)。这将为您的职业选择提供更多的余地,您将能够相对轻松地将服务器组件连接到web前端。

    我尝试了Scala,发现它有点多(大量的操作员需要回忆如何使用)。但那可能就是我。我听说Clojure在功能上更纯粹,更接近Lisp,但还没有证实


    是微软的函数式语言,你可能想看看。我听说它已经被用于工业中的几个项目。

    Web开发完全取决于:第一,Web框架的质量,第二,开发工具。我不知道您为什么要使用函数式语言来编写web应用程序

    Python允许一些用于编程的函数结构,并且它有框架和工具。Lua允许相同级别的函数式编程,它既没有用于web开发的高质量框架,也没有工具,但是它的简单性/原始性是它的优雅


    现在作为一个清教徒,我会说看看哈斯克尔,但这是适得其反的:d,。你我的朋友在找Python。我还没有评估过Ruby,但它可能有一些函数结构。

    我的建议是学习JavaScript


    我的意思是,真正学会它。

    从PHP跳到Scala或Clojure将是一场巨大的文化冲击。PHP非常专注于快速/肮脏地完成任务(或者90%干净,最后10%肮脏(-)),而函数式编程语言则会在您的思维中强加一定的正确性和抽象性。在您使用Scala或Clojure之前,您会想要介于两者之间的东西。如果是我,我会

  • 选择Clojure作为我的最终目标,因为(据我所知)您可以使用Clojure获得整个Java标准库,这使得它立即比Scala之类的纯Java标准库更有用

  • 我会花一些时间用Java构建一些东西,只是为了体验一种强类型的OO语言因为一旦你来到Clojure,它将被证明是有用的。Google Web Tools可能是一个很好的起点。这是一种Web开发,但非常类似Java,而不是PHP/HTML

  • 花些时间研究jQuery的精髓,或者开发自己的jQuery模块,或者添加一个核心功能。这将使您习惯于功能性思维方式,同时将其应用于您熟悉的问题

  • 最后一点建议:尝试使用您选择的语言/平台的常用方法。不要尝试将您的PHP编码风格应用到任何一种语言中。虽然一开始似乎更容易,并且可以让您获得某种结果,但您将错过练习的重点,即以不同的方式更广泛地思考问题

    祝你好运!

    Ruby可能是最“功能性”的主流语言,它也适合编写脚本。Python紧随其后,但Ruby隐式返回函数/块中最后一个表达式的结果的习惯对我来说是一个突破

    它们都有优秀的web框架(分别是Rails和Django),在编写PHP之后,它们肯定会拓宽您的视野。同时,它们将为增量学习提供大量机会

    它们都不使用S表达式,并且都允许命令式编程,因此不会有任何东西迫使您彻底放弃命令式编程


    最后,备受痛惜的TCL基本上是一种脚本和扩展语言Scheme。我不确定它现在在哪里,但ArsDigita社区系统是用TCL编写的。

    以下是一位自称Clojure拥护者对Scala的看法。当然,你可以自己拿主意,但你可能会发现他的观点很有用


    您可能还对他要说的内容感兴趣。

    我的$0.02是要查看Perl。我可能听起来像个怪人,但请记住Perl有CPAN()还有很多非常非常有用的在线资源。

    这是一个非常困难的要求。我个人认为Scala作为web开发人员的通用语言更有用。有很多web框架可以使用它,或者可以适应它。例如,在非常快和脏的方面,有。在全面的Comet支持方面,有

    但是你谈到了学习以功能性风格编程。在这方面,Scala无法与Clojure竞争。Scala可以在功能性风格中使用,但它确保你不必这样做。另一方面,在Clojure中,除了功能性风格之外做任何事都是痛苦的

    所以,如果你想要PHP的替代品,我敢打赌Scala。如果你真的想学习函数式编程,Clojure


    最后,让我声明,我不认为Clojure不是一种通用语言,也不认为它不能用于web开发。我只是认为Scala在这两个方面都更重要。

    对于函数式语言,同时学习这两种语言。你将从这两种语言中学习新的思维方式。去学习一些