出处: http://erlang-china.org/misc/scalaris_and_build-in-json.html
最近比较活跃的 Erlang 社区事件是 Scalaris 的代码公布以及 火热的 json BIF 讨论。
Scalaris 就是我们在上一篇中提到的 Alexander Reinefeld 在 Erlang eXchange 2008 上展示的神秘的 Yet An Other Key-Value DB 项目。目前它的源码已经“全文公开”的 host 在 google code 上了,在 [这里] 还有一份 pdf 的 Slide 可以看,比起其他的两个项目,其特色是:
All In Memory 数据存储在 gbtree 中 —— 目前还没有提供存储到磁盘的特性。
实现了N多传说中的算法。比如,用来在 P2P 的 DHT 网络中寻址的 Chord 算法 和用来进行数据备份的 Paxos 算法。
据说代码写得相当清晰,极具学习价值。(默念10遍: OpenSource 就是好,就是好,就是好来,就是好)。
另外一件事就是 Joe 老爷爷最近提出了一个 EEP
(Erlang Enhancement Process —— Erlang 的特性增强过程,类似于 Java 的 JCP) 要增加一个
Json <--> Term 的 BIF (内建函数)。确实也该如此,现如今 Json 大有称霸江湖的意思,Erlang
的世界里也已经有了 N 多个版本的 Json <--> Term 库,我至少已经领教过 4 个不同的版本了,每个库的 spec
都“略有不同”,颇有些“各自为战,谁都不爽”的意思。推出一个受到广泛认可的 BIF 无疑能够让这个世界立马变得清静许多。
说实话 Json <--> Term 乃至在语法之中直接加入 Json 的支持都算不上是什么难事,但相比由 OTP Team
在下一个版本的 Erlang 中静悄悄的加入某个 BIF 的“独裁”方式, EEP 无疑会是一个更社区化的过程。也就是说,它必然会经历
“提案,方案,辩论,投票” (或类似)的民主化过程,很多时候,这会很“乱糟糟”和“低效”。不过,这些代价绝对能值回票价 ——
最终我们会得到一个无论是在效率还是 API 上都更优秀的 Json <--> Term BIF
。除此之外,对于广大的使用者而言,这个[ “辩论”和“争吵”]的过程,也富有营养 —— 我们不仅(将会)知道最终的方案是什么,还能知道这个方案是怎么来的(比如说,它 PK 掉了哪些其他方案,它们存在着什么样的问题),这一切就发生在眼前。
分享到:
相关推荐
孟岩谈Erlang:并行计算和云计算,详细介绍了新一代编程语言Erlang在并行计算和云计算方面的特性
Introducing Erlang: Getting Started in Functional Programming by Simon St. Laurent English | 6 Mar. 2017 | ASIN: B06XHSP5SH | 212 Pages | AZW3 | 1.85 MB If you’re new to Erlang, its functional style...
学习erlang的时候尝试编写的小例子,使用post方式发送json数据来进行http请求,希望能帮到大家~
Erlang是一种通用的面向并发的编程语言,它有瑞典电信设备制造商爱立信所辖的CS-Lab开发, 目的是创造一种可以应对大规模并发活动的编程语言和运行环境。
编程 Erlang:并发世界的软件(练习) 这是我完成的练习集。 我所做的每一章都在一个单独的目录中,例如chapter_1等。我还计划将我在每章中沿途捡起的markdown格式的笔记放在一起。 最终将在本自述文件中找到更重要...
SCALARIS是一个用ERLANG开发的KEY/VALUE分布式数据库系统。德国人开发的。
Scalaris是可扩展的,可交易的,分布式的和容错的键值存储,对于在线数据库和Web 2.0服务具有很强的数据一致性。 可以在《找到说明 可以在项目主页上找到其他信息,包括rpm软件包的下载链接: :
Programming+Erlang.pdf+ 面对软件错误构建可靠的分布式系统.pdf+ Concurrent Programming in ERLANG
Erlang/OTP 19.1 is a service release containing mostly bug fixes, as well as a number of new features and characteristics improvements. Some highlights of the release are: erts: Improved dirty ...
mongodb-erlang:Erlang的MongoDB驱动程序
awesome-erlang:精选的Erlang库,资源和闪亮内容的精选列表
OpenEmbedded / Yocto Project层,用于Erlang和Elixir支持 此层提供对与和/或构建系统一起使用的和支持: 文献资料 请参阅。 依存关系 该层取决于: URI:git://git.openembedded.org/bitbake分支:主 URI:git:...
Centos7安装RabbitMQ的文档和安装包,包含erlang的安装文档和安装包。RabbitMQ版本是3.7.12。
yamerl:纯Erlang中的YAML 1.2和JSON解析器
Erlang和RabbitMQ Server版本说明: Erlang/OTP 19.1 RabbitMQ Server 3.6.5
Erlang 18兼容性:可选的回调支持( ),eunit兼容性( ) 增强的-behavior属性支持:自动完成,冲突检查( ) 拼写检查 非法图案/防护罩检查( , ) 代码编辑/缩进/格式改进( , , , , , , ) 运行配置...
Erlang入门:构建application练习3,实例演示如果构建一个最简单的Erlang Application
Erlang 的 Docker 镜像打包#它是什么? 包括码头工人集装箱图像 ,与沿和构建和发布工具。 Erlang/OTP 的最新版本以标签的形式提供。 #我可以用来做什么? 使用它来试用 erlang shell,作为 erlang 开发环境,或将...
Jiffy-Erlang的JSON NIF JSON解析器作为NIF。 这是对我在Yapl的EEP0018中所做的工作的完整重写。 这个新版本是一个手工制作的状态机,它在不对解析的JSON施加任何约束的情况下,尽其最大的努力是使其尽可能快和高效...