Your web app does not require Erlang!
I have some experience with Erlang. I used it to write a poker server and then a high-performance test harness for another one. Everything these days is about web development, though, and this is where Erlang is being pushed. Here’s what I think…
Your web app does not require Erlang. Use Rails and you will be pleased, or, if you are Yariv Sadan, don’t set your hopes too high. Disappointment is the result of expectations not matching reality and the last thing that Erlang needs is disappointed programmers.
If you do chose to use Erlang for web development then be prepared to re-implement the wealth of libraries and infrastructure that’s already built on top of Rails. Ericsson and the OTP team are not going to come to your rescue.
Ericsson is a for-profit organization and Erlang/OTP is driven by paying customers, most of whom I’m assuming are in telecom and none likely to be doing web development! The High-Performance Erlang compiler (HiPE) team is enjoying less funding these days and I’m sure HiPE is more important to Ericsson than new libraries for web development.
There’s something to be said about the wisdom of crowds. On the one hand, I know of a single web-based business that’s running on Erlang. That’s Kreditor and the software was built by a small team led by Claes Wikstrom, the creator Yaws, the Erlang web server. On the other hand, I read about new Rails app launching daily. Please don’t take me to task by showing me another web app or two, it does not matter. Show me scores or hundreds of commercial web apps powered by Erlang!
All of the above only applies if you are trying to build a business, make money, get to market quickly. By all means, feel free to experiment and soak in a bit of Erlang. Maybe you are yearning for a new paradigm, or maybe you have been spending too much time on Reddit. Be my guest, give it a shot but when you are done please do not blame Erlang for not meeting your expectations.
Use Erlang if you are building a telco app, network server, binary protocol converter. You will be amazed and delighted. Keep in mind, though, that there are lots of different ways to handle concurrency and plenty of high-performance network servers have been written using fork().
Trading apps have been running without Erlang’s help for years and years and they have been doing very well. Wall St. is home to some of the highest-performing servers and network apps, the apps that handle real-time algorithmic trading or data feeds. All of these apps are architected as standalone servers running on a message bus made by Tibco, 29West and others. It does not matter what you do with the message inside your server, how you pass it around or how many threads you use to handle it. What matters is how fast you process that message and put the results back on the message bus.
This just goes to say that Erlang is not the only alternative for highly concurrent fault-tolerant applications.
What does all this have to do with me?
I lost my passion for programming and regained my passion for problem-solving and that includes sales and marketing. Sales and marketing is what I would like to get to FAST rather than implement a RDBMS interface for the umpteenth time.
From my perspective it does not matter if my Rails app is creaking under a heavy load. If it does then I must have enough users to afford a few more servers and a load-balancer or two. It’s more important for me to get to market fast, throw my app out there and maybe even throw it out if there’s not enough uptake.
Make your app, make it run then make it run better. Don’t worry about Erlang. Use Rails. Worse IS better!
http://cn.udclub.com/forum/viewthread.php?tid=8&extra=page%3D1
分享到:
相关推荐
1. **Erlang与Web开发**:Erlang语言由爱立信公司在20世纪80年代末开发,初衷是为了编程下一代电信应用。这些应用的特点是分布式、容错性高、支持大规模并发和软实时操作,同时具备高可用性需求。这些软件层面的要求...
Erlang是一种面向并发的、基于actor模型的编程语言,由瑞典电信设备制造商Ericsson开发,主要用于构建高可用性、容错性和可扩展性的分布式系统。在Web服务器领域,Erlang由于其天然的并发处理能力和强大的错误恢复...
1. Erlang是一种用于构建可伸缩系统的编程语言,特别适合于开发需要持续运行的应用程序。它广泛应用于电信行业,但其用途远远不限于此。Erlang语言的无类型特性(Lack of Types)和开放电信平台(OTP—For More Than...
[奥莱理] Building Web Applications with Erlang Working with REST and Web Sockets on Yaws (E-Book) ☆ 出版信息:☆ [作者信息] Zachary Kessin [出版机构] 奥莱理 [出版日期] 2012年06月14日 [图书页数] ...
在本文中,我们将探讨如何使用Erlang编程语言和Yaws Web服务器开发RESTful服务。Erlang是一种面向并发和分布式系统的语言,以其高可靠性而著称,而Yaws是由Claes Wikström用Erlang编写的高性能Web服务器,能够处理...
在此基础上,我们将进一步了解如何与Yaws服务器交互以及相关的Web开发技术。 Erlang是一种专门为需要高可用性、容错性和分布式计算的系统而设计的编程语言。Erlang的无类型系统(Lack of Types)允许在运行时进行热...
3. **Web开发**:Erlang框架如YAWS和Chicago Boss为构建高性能Web应用提供了可能。 **学习资源与进阶** - 《Erlang编程》一书是学习Erlang的入门经典,适合初学者阅读。 - OTP(Open Telecom Platform)是Erlang的...
Erlang Web框架,如标题所示,是一种基于Erlang编程语言构建的Web开发框架,用于构建高效、可扩展和高并发的Web应用程序。Erlang因其强大的并发处理能力和容错性,在分布式系统和实时通信领域备受推崇。而Erlang Web...
Erlang框架是一种基于Erlang编程语言的全功能Web框架,主要设计用于构建高度并发、可扩展且容错...不过,Erlang和其框架的学习成本相对于传统Web开发语言可能较高,因此在选择时应根据项目需求和技术团队的背景来评估。
根据给出的文件信息,我们可以提炼出以下知识点: 1. **Erlang编程语言**: - **无类型系统**: Erlang被描述为一个"无类型"的语言,这...这些知识对于想要深入学习Erlang在Web开发中应用的开发者来说是非常重要的。
erlang + delphi demo with Web UI`可能是通过Web界面展示Erlang和Delphi的集成,这可能使用了Erlang的Web开发框架,如Yaws或Mochiweb,与Delphi后端进行交互。 - `12. erlang demo with hot update`可能展示了...
安装过程中,你可能会被询问是否要添加Erlang环境变量到PATH,这个选项建议选中,以便在命令行中可以直接使用erl命令。此外,安装路径的选择也很关键,最好选择一个不会频繁变动的位置,以避免日后升级或重装带来的...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson...同时,Erlang社区还提供了一系列框架,如 Cowboy(Web服务器),Ecto(ORM),Phoenix(Web应用框架)等,帮助开发者更高效地开发应用程序。
总之,Erlang作为一种强大且适应性强的编程语言,尤其适合构建分布式系统和处理并发。RabbitMQ作为基于Erlang的消息队列,为异步通信提供了可靠的解决方案。在面对下载问题时,可以尝试多种策略以获取Erlang安装包,...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入...
ChicagoBoss, Erlang web MVC,现在有Comet 芝加哥老板:开始小,梦想大 注意这是一个支持 Erlang 18的主分支。 对于旧的Erlang版本使用遗留分支。芝加哥老板是一个由 Rails 启发并用Erlang编写的服务器框架。 它...
3. **ErlyJS**: ErlyJS是一个纯Erlang实现的JavaScript编译器,它面向Erlang VM,旨在提供高性能的服务器端JavaScript,简化Ajax和Comet Web应用的开发。ErlyJS可以与CouchDB的JSON API无缝对接。 【代码层面的结合...
例如,使用Erlang的Ranch和Cowboy库可以构建高性能的Web服务器和API。 9. **实时性与并发性**:Erlang的实时性使其在通信、物联网(IoT)和云计算等领域具有优势,因为这些领域需要快速响应和大规模并发处理能力。 ...
Erlang是一种并发性极强的编程语言,由瑞典电信公司Ericsson开发,因其在容错和高可用性方面的优秀特性,成为构建RabbitMQ的基础。 在安装RabbitMQ之前,首先需要安装Erlang环境,因为RabbitMQ是用Erlang编写的。...