Erlang/OTP 18 RC1 发布,此版本是个 Alpha 版本,5 月份将会发布 Beta 版本,最终的 OTP 18.0 会在 2015 年 6 月份发布! Erlang/OTP 18.0 包括重要的新特性(Dialyzer, Maps),大量的改进(内存管理和性能)和一些兼容性改进。 OTP 版本构建重要信息 如果使用 "warnings as errors",构建可能会停止,如果要继续,那么可设置相关环境变量: export ERL_COMPILER_OPTIONS=nowarn_deprecated_function 此版本值得关注的特性: dialyzer: The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module. erts: The time functionality has been extended. This includes a new API for time, as well as "time warp" modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it will always be a scalability bottleneck. For more information see the Time and Time Correction chapter of the ERTS User's Guide. Here is a link http://www.erlang.org/documentation/doc-7.0-rc1/erts-7.0/doc/html/time_correction.html erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are scheduler specific timer wheels, scheduler specific BIF timer management, parallel retrieval of monotonic time and system time on OS:es that support it. erts: The previously introduced "eager check I/O" feature is now enabled by default. erts/compiler: enhanced support for maps. Big maps new uses a HAMT (Hash Array Mapped Trie) representation internally which makes them more efficient. There is now also support for variables as map keys. ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability. ssl: Remove default support for RC4 cipher suites, as they are consider too weak. stdlib: Allow maps for supervisor flags and child specs 详细发行说明请看这里: http://www.erlang.org/download/otp18rc1_relnotes.pdf Git tag OTP-18.0-rc1 https://github.com/erlang/otp/tree/OTP-18.0-rc1 文档: http://www.erlang.org/documentation/doc-7.0-rc1/doc/ 同时还发布了 Erlang 17.5 版本,此版本值得关注的改进如下: ERTS: Added command line argument option for setting the initial size of process dictionaries. Diameter: configurable incoming_max len and string_decode for diameter messages Bugfixes and minor small features in applications such as compiler, common_test, crypto, debugger, eldap, erts, hipe, inets, ssh, ssl, ... 43 contributions from 32 different contributors 详细信息请看:http://www.erlang.org/download/otp_src_17.5.readme 完整源代码下载: http://www.erlang.org/download/otp_src_17.5.tar.gz Erlang/OTP Git-repository at Github:https://github.com/erlang/otp tagged "OTP-17.5" Windows 二进制包: http://www.erlang.org/download/otp_win32_17.5.exe http://www.erlang.org/download/otp_win64_17.5.exe 完整 HTML 文档和 Unix 手册文件: http://www.erlang.org/download/otp_doc_html_17.5.tar.gz http://www.erlang.org/download/otp_doc_man_17.5.tar.gz 更多信息请看下载页面。 所有相关内容请看 Erlang 新闻页面。 Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。 使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅 只是一两个环节,比起C程序的线程切换要高效得多得多了。 使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。 Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断 的情况下更新。另外如果你需要更高效的话,字节代码也可以编译成本地代码运行。 Yaws: 一个Erlang写的服务器,据说并发能是apache的15倍 编程语言 Erlang/OTP 18 RC1 和 17.5 发布下载地址