Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
我应该考虑Erlang的Web MVC吗?_Erlang - Fatal编程技术网

我应该考虑Erlang的Web MVC吗?

我应该考虑Erlang的Web MVC吗?,erlang,Erlang,我可以这样做吗? 我担心这可能是一种过激的做法,最终我的工作效率将大大低于Ruby/Python/you name等传统堆栈。我知道如果你开始使用新技术,你的工作效率会大大降低,但是。。是否值得尝试并最终将Erlang作为web开发和所有后端工作的唯一工具 还是Erlang更适合只执行某些高性能后端任务?可能不适合 你能吗?当然可以。你应该吗?可能不会 如果你的目标是学习一门新的语言,那么一定要这样做。学习一门语言的最好方法就是投入并使用它 也就是说,已有的web框架和语言之所以流行是有原因的,

我可以这样做吗? 我担心这可能是一种过激的做法,最终我的工作效率将大大低于Ruby/Python/you name等传统堆栈。我知道如果你开始使用新技术,你的工作效率会大大降低,但是。。是否值得尝试并最终将Erlang作为web开发和所有后端工作的唯一工具

还是Erlang更适合只执行某些高性能后端任务?

可能不适合

你能吗?当然可以。你应该吗?可能不会

如果你的目标是学习一门新的语言,那么一定要这样做。学习一门语言的最好方法就是投入并使用它

也就是说,已有的web框架和语言之所以流行是有原因的,因为它们是有效的。更重要的是,如果你将来需要别人和你一起工作,使用一种更晦涩的语言会缩小你的人才库。在过去,我曾几次遇到过这个问题,有些东西最初是作为学习X语言的练习,后来却投入了生产。然后,一旦开发人员开始或进入另一个项目,或者规模对于单个开发人员来说太大,你就很难招募新的人才


正如Jer的评论所说,您确实需要问问自己,为什么要将Erlang用于web应用程序。某些工具和技术能够很好地适应某些任务,有些则不然。例如,螺丝刀在拧螺丝方面很好,但只是一把尚可使用的锤子。

我敢肯定,您在Python/Ruby中的工作效率会明显高于Erlang,尤其是考虑到web开发

说到Python,我将更多地讨论它。大量的库使得大多数与web相关的功能更容易实现,大量的手册涵盖了您计划做的任何事情的几乎每个方面


Erlang是一个用于不同任务的工具,它背后有一个较小的社区(例如,在我写我的时,只有一个新答案出现;如果是Python线程,至少会有十个:)

看看它是一个仅基于Erlang的web框架。

氮很好,但不是真正的mvc

你是否应该使用它的问题实际上取决于你的项目。如果您有使用Erlang的项目的其他方面,那么“无人知道Erlang”的论点就没有意义了

现在仍然很难说Erlang Web技术最终会达到什么样的应用水平,但是Erlang通常是一个坚实的平台,一旦您理解了它,它就是一种非常高效的语言。这个社区比你相信的其他社区更强大


ejabberd是规范的XMPP服务器,rabbitmq正在成为规范的AMQP服务器,Damien Katz使用它是有原因的。Erlang为分布式、可扩展、容错服务器提供了最好的平台,Web服务器也不例外——没有理由认为不能采用更广泛的应用。

< P>真正的问题是您是否应该考虑MVC。在我看来,MVC的概念有点过时,它只会给阻塞的框架带来简单的假象

如果你想拥有一个轻量级的框架或工具包,它具有最小的触角,这有助于Erlang的优秀性能,那么可以考虑Erlang。


您应该从关注web应用程序的特定答案旁边的

开始Erlang.org获取自己对生产率的估计:

5.16…估计Erlang项目的生产率

粗略的经验法则是,代码行数大致相同 在C项目中按开发人员生成。相当复杂的 涉及分布和容错的问题将大致相同 Erlang比C短五倍

减缓项目进度的传统方法,如增加军队 顾问完成了一半,花了一年时间编写详细设计 在编写任何代码之前,严格遵循 瀑布模型,在多个国家和地区推广开发 召开团队会议,决定所用餐巾纸的颜色 在午餐时间,对于Erlang和其他语言来说都一样有效


事实上,我可以。对于构建RESTAPI,我使用WebMachine,对于构建web应用程序,我非常喜欢

<>但是,考虑Web应用程序的需求是非常重要的。虽然Erlang确实拥有相当多的第三方库,但它并不适合Ruby、Python或Java


不同的开发人员的生产力是不同的。一个开发人员,使用SpringMVC可能会非常高效。我真正关心的是“打造”你的系统。对于Clojure和Erlang,我觉得我确实在编写代码。

首先要做的一件事是问问自己为什么要使用Erlang来实现这个目的。如果你还没有做到这一点,那么就去做吧,如果你真的不能找到一个合适的答案,你可能会感到惊讶。你能解释一下为什么你认为MVC已经过时了吗?我的观点与此无关:过了一段时间,你会发现用你想要的组件构建一个更精简的堆栈实际上更容易,而不是包含典型框架中不使用的80%的内容,这有时会根据其设计产生不必要的开销。