Erlang
InfoQ 编程语言排行榜|编程语言巅峰之战,谁才是真正的王者?
此次 InfoQ 编程语言排行榜,我们特地设置了八个有代表性的问题,同时精心挑选了当前最流行、最受欢迎的编程语言,诚邀您来投上宝贵一票。
基于 Erlang 语言的视频相似推荐系统
本文介绍一个具体的基于内容的推荐算法的实现案例。。
22 个必知编程语言之「Erlang」
Erlang 是一种通用的面向并发的编程语言。
Elixir 1.7 改进错误处理、日志和测试
Elixir 1.7 致力于提升开发者体验,Elixir 创建者 José Valim 这样写道。其中包括新增 __STACKTRACE__ 结构检索堆栈堆栈踪迹,集成 Erlang 新增的:logger 模块,改进 Elixir 的单元测试库 ExUnit,支持文档元数据。
Rust 和 Erlang 的对比
本文将着重于 Erlang 和 Rust 之间的比较,详细说明它们的相似和不同之处。研究 Rust 的 Erlang 开发人员和研究 Erlang 的 Rust 开发人员可能都会对它感兴趣。最后一节将详细介绍每种语言的能力和缺点,并讨论在同一个项目中利用两种语言优势的可能性。
Elixir 1.3 带来新的语言功能、API 和改进后的工具
José Valim 最近宣布 Elixir 1.3 中弃用了必要赋值,添加了一些新的类型和存取器,提升了其 Mix 搭建工具和 ExUnit 单元测试框架。
LFE 将 Lisp 编程带到 Erlang 虚拟机上
经过 8 年的开发,Lisp Flavoured Erlang(LFE)达到了 1.0 版本,将 Lisp 编程稳定支持带到了 Erlang 虚拟机上(BEAM)。LFE 由 Erlang 最初开发者之一的 Robert Virding 创建。InfoQ 采访了 LFE 当前的维护者 Duncan McGreggor。
《Elixir in Action》书评及作者问答录
《Elixir in Action》是由 Manning 所出版的一本新书,本书为读者介绍了 Elixir 这门语言以及 Erlang 虚拟机,同时也讨论了与并发编程、容错以及与高可用性相关的话题。InfoQ 有幸与本书的作者 Saša Jurić进行了一次访谈。
Elixir:可能成为下一代 Web 开发语言
Elixir 是一种动态函数式语言,设计用于构建可扩展、可维护的应用程序。Lau Taarnskov 是一名有着 20 多年 Web 软件开发经验的开发人员。他认为,Elixir 将会对 Web 开发领域产生重大影响。近日,他在个人博客上阐述了这一观点。
QCon 讲师对对碰——洪小军采访梁宇鹏:就是爱 Golang
QCon 北京 2015 大会将于 4 月 23 日~25 日在北京国际会议中心召开。在大会开始之前,InfoQ 推出了讲师对对碰栏目,邀请一些技术专家相互采访,今天我们推出的是美图架构平台部门负责人洪小军对环信首席架构师梁宇鹏的采访。
褚霸:不要为了开源而开源
褚霸在 OSC 源创会年终盛典上分享了阿里巴巴如何使用开源软件构建 RDS 关系型数据库服务的实践经验,会后,InfoQ 专门采访了褚霸,与他共同探讨了阿里云 RDS 背后的技术挑战并听他讲述了他与开源的故事。
ErLLVM——面向 HiPE 的 LLVM 后端
High Performance Erlang(HiPE)是面向 Erlang 的一个高性能原生代码编译器,而 ErLLVM 项目就是为了给 HiPE 提供多后端支持而设计的。ErLLVM 使用了 LLVM 基础架构。
UPYUN:用 Erlang 开发的对象存储系统
黄慧攀(@oneoo)是 UPYUN 技术总监。在 QCon 上海 2013 大会上,黄慧攀介绍了 UPYUN 的 CDN 系统架构,包括 Nginx 的二次开发经验、防盗链服务的实现、海量小文件的性能处理等;在 QCon 北京 2014 大会上,他将对 UPYUN 底层的对象存储系统的研发经验进行分享。
Erlang/OTP R16B 带来改进的并行
新发布的 Erlang/OTP R16B 在新特性之中也带来了一些性能增强。现在可以以非阻塞方式加载代码模块,端口代码有所改进,虚拟机进程也已经并行化。
Chef 11 已经为超大规模 Web 运维做好准备
本月初 Opscode 发布了 Chef 11,为满足超大规模 Web 运维的需求增强了可伸缩性。在保持向后兼容的同时,Opscode 用 Erlang 重写了全部核心服务器 API。为表现重写采用 Erlang 这一事实,Opscode 将核心服务器 API 更名为“Erchef”。
今时今日,C 还适合当下之所需么?
来自 Couchbase 的 Damien Katz 认为 C 依然是非常适合于后端编程的一门语言,然而有的开发者则觉得 C 有太多的瑕疵,他们支持 C++ 或是 Java,还有一些人连这两种语言也不喜欢。
淘宝曹伟分析低成本、高性能 MySQL 云数据架构
曹伟是淘宝数据库研发组的成员,前不久他在内部分享了低成本、高性能 MySQL 云数据的架构分析和探索,包括架构的演变过程、系统中的角色和组件等。该文章被褚霸转发在“Erlang 非业余研究”上。
专访基于 Erlang 的开源 NoSQL 数据库 Tiger 创始人姚新明
Tiger 是一个 Erlang 开发的 NoSQL 数据库,基于 Erlang、zab 协议以及 leveldb、Redis 引擎实现,目的是提供高性能,高可靠性,高可用性的数据服务。Tiger 创始人姚新明在本次专访中谈到了 Tiger 的数据安全性、灾难恢复、性能、使用场景等特点。特别感谢 ZoomQuiet 和淘宝褚霸为本次采访提供问题。
Travis CI 宣布支持 Java,并计划推出 Travis Pro
Travis CI 是基于云的持续集成项目,供 Github 上的开源项目使用。最近他们宣布支持编译 Java,附带支持 Scala 和 Grovvy。在 Ruby 开源社区受到广泛关注后,该项目现在考虑向托管 CI 服务(代号 Travis Pro)扩展。
赵钟秋谈又拍网架构中的消息 / 任务系统
赵钟秋,又拍网核心开发人员,关注多种计算机语言、Web 技术和开源技术。他在 QCon 杭州 2011 大会的开放平台专题做了名为《又拍网架构中的消息 / 任务系统》的讲座,并和参会者做了热烈的讨论。会后,InfoQ 中文站对赵钟秋做了采访。
Akka 1.1 发布,对 Futures 和性能做出改进,降低了依赖性
Akka 1.1 已经发布,其中对性能和 Futures 等做出了很多改进。基本的 Akka 仅仅需要 Scala 2.9 就可以运行。InfoQ 有幸采访了 Jonas Bonér,了解到 Akka 当前的状态以及对将来的计划。
Python 赢得 Tiobe 2010 年度语言大奖
Tiobe 大奖被授给 2010 年获得最多市场份额的编程语言。在 2010 年的大部分时间内,Objective-C 都成为最主要的语言,但却在上两个月有一定的下滑。自 2010 年 1 月以来,Python 的市场份额上升了 1.81%,这几乎是 SAP 编程语言 ABAP 的 4 倍。
Cloudant 发布了基于 Java 的 CouchDB 视图服务器
CouchDB 背后的公司 Cloudant 刚发布了针对 CouchDB 的 Java 视图服务器。这意味着不仅仅是 Erlang 和解释性语言如 Javascript 或者 Python 可以用于 Map-Reduce 工作,基于 JVM 的语言也可以用于 Map-Reduce 工作。
面向对象编程──走错了路?
在 2010 年伦敦的 QCon 大会上我们采访了 Joe Armstrong 和 Ralph Johnson。Joe Armstrong 是 Erlang 语言的早期开发人员,而 Ralph Johnson 则长期从事 Smalltalk、面向对象编程和模式等领域的研究。采访问题是:这些年我们在对象操作上是否已经走在了“错误的路上”。受访者都表明目前我们都已经在这条“错路”上了,但这是由于实现上的缺陷导致的,并不是面向对象的思想本身有问题。
QCon 北京 2010:从架构层面探讨语言的艺术
QCon 北京 2010 大会即将在 4 月 23~25 日举行,“语言的艺术”是本次大会六大主题之一,旨在从架构层面上介绍当前流行的开发语言,尤其是动态语言,比如 Python、Groovy、Scala、F#等,Groovy 和 F#的核心成员,以及豆瓣网的首席架构师将分享他们的经验。3 月 31 日前报名享受 85 折优惠,仅剩最后 5 天!
OpenCredo 宣布为 Spring Integration 增加 AMQP 支持
近日 OpenCredo Ltd 宣布支持 Spring Integration(轻量级类似于 ESB 的消息框架)与基于 Advanced Message Queuing Protocol(AMQP)的消息服务器的通信,这有助于那些不支持 JMS 的 MOM 厂商争取 Spring Integration 用户。虽然一些 Message Queues(如 RabbitMQ)可伸缩性非常棒,但却不支持 JMS。
BERT-- 作为 Protocol Buffers/Thrift 的动态替代
Google 的 ProtocolBuffers 和 Facebook 的 Thrift 都是二进制序列化的候选,然而它们却不能让 GitHub 的团队满意——因此他们创建了 BERT/BERT-RPC,它们基于 Erlang 的'外部术语格式'。BERT/BERT-RPC 现在为 Github 的一部分内部通讯提供强劲的支持。
使用 Haskell 和 Hubris 加强 Ruby
在 Ruby 或者 Rails 应用中嵌入 C 代码是解决性能瓶颈的办法之一,RubyInline 大大简化了这个过程。Mark Wotton 近期推出的 Hubris 使得在 Ruby 中调用 Haskell 代码成为可能。
通过 Blackboard 探索 Ruby 的元组空间持久化
Ruby 因为其 1.8 版本的用户空间线程而饱受批评。Luc Castera 在 RubyNation 会议上给出了通过 Ruby 和元组空间进行并行编程的演讲。他介绍了使用 Ruby 实现元组空间的两种方法:Rinda 以及基于 Redis 的 Blackboard,并计划将后者移植到 Erlang 之上。
Erlang 和 Ruby 近况:37Signals 和 Erlectricity
37Signals 公司最近也开始结合使用 Erlang 和 Ruby 了。近期的 Erlang Factory 会议上还有在 EngineYard 中使用 Erlang 的例子,以及有关 Erlectricity(结合 Erlang 和 Ruby 的库)的演讲。