Emacs客户端-服务器应用程序的可伸缩性如何?

4

Emacs官方被称为“文本编辑器”,但许多人将其用作操作系统。更准确地说,Emacs可以描述为Lisp解释器和开发交互式应用程序的环境。它具有客户端-服务器体系结构和大量功能,文档记录齐全。作为Lisp解释器,它也非常可配置。

然而,除了所有这些优点之外,我从未听说过基于Emacs的商业(或者说是“高负载”)客户端-服务器应用程序。它似乎主要由具有IT /数学背景的高技能个人使用。为什么会这样呢?难道没有人想过将Emacs(和Elisp)用于他的重要客户端-服务器应用程序,或者Emacs根本不适合这种任务吗?它是否不够可扩展,或者计算模型不适用于工业环境中的团队开发?

在使用Emacs作为大规模客户端-服务器应用平台时有哪些限制?是否可以将Emacs服务器用于Web应用程序(以Web浏览器作为客户端)?


你打算用哪个编辑器来编写你的应用程序? - shellholic
2个回答

1

当然,这是可能的(显然是图灵完备的链接)。

然而,Emacs不支持多线程,我怀疑是否有人会编写非线程化的Web服务...


啊 - 这可能是一个长问题的简短答案。 - Thorsten

1

Emacs的设计目标并不是可扩展性,因为对于文本编辑器或任何运行在Emacs上的其他应用程序来说,这都是不必要的。通常情况下,这些应用程序更注重客户端而非服务器,因为强大的编辑环境对客户端更有用。


我的问题与我对开源ERP软件的调查有关。在这个领域里,有很多营销活动,但是人们可以发现营销声明和实际软件系统之间存在很大的差距。使用Emacs,我发现几乎所有ERP系统提供的功能都可以在Emacs中找到,而且通常具有更多的功能和更少的错误。许多程序员、自由职业者和科学家都像使用ERP一样使用Emacs——为一个非常小的(1人)企业。因此,我想知道为什么Emacs没有被用作开发平台。 - Thorsten
阅读你的评论,看起来我之前想到的一个主意可能是合理的:使用Emacs(作为非常丰富的客户端)和Git(作为文本文件的服务器/数据库)的组合来实现类似分布式客户端-服务器架构的东西,这样企业就可以在服务器上共享配置和文本文件,但每个用户在桌面上都有自己的单线程Emacs安装。 - Thorsten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接