在技术飞速发展的今天,编程语言作为软件开发的基石,承载着巨大影响力。埃里兰(Erlang),这门由瑞典电信巨头爱立信(Ericsson)于上世纪80年代中期自主研发的编程语言,曾凭借其卓越的并发处理能力和极强的错误恢复机制,引领了电信级系统的技术革新。然而,尽管取得了震撼业界的成就,埃里兰却在爱立信内部遭遇了禁用,以至于这段曲折的经历成为IT行业少为人知的传奇。埃里兰的故事始于1982年,当时爱立信决定尝试通过编程语言的创新来提升电话设备研发效率。面对当时已有的20余种编程语言,包括Lisp、Prolog和Parlog等,他们设定了两大关键筛选标准。首先,必须是“高级”和“符号化”的语言,具备良好的人类可读性和简洁表达能力,以便简化软件开发流程。
其次,语言需内建支持并发处理与错误恢复,并且执行模型不能允许回溯,这使得程序能高效进行多个任务的同步执行,且具备自愈能力。经过3年的紧密筛选,团队发现所有现有语言均无法满足以上复合标准。于是,团队决定自行设计一门全新的语言,将各语言优点融合。由此,埃里兰诞生,旨在成为面向电信系统的革命性工具。1987年,研发工作启动,到1989年,已有约10%的爱立信MD-110电话交换系统采用埃里兰重写,尽显潜力。在性能方面,尽管埃里兰的执行速度远低于传统语言,但其开发效率惊人提升。
根据埃里兰联合创始人乔·阿姆斯特朗的回忆,最初测得的开发时间缩短幅度高达8倍,但为了更令人信服,团队有意将其降低至3倍,依然显示巨大优势。然而,这样的成果在爱立信内部引起巨大争议,很多人宁愿相信是“程序员个人能力”而非语言本身带来的提升,背后折射出企业对新技术的排斥心理。尽管面临质疑,埃里兰团队坚信他们所做的正确无误。他们不仅专注于优化语言核心,使运行速度提升近40倍,还积极在国际会议上展示语言独特的容错设计,开创编写能自动恢复错误的软件的先河。90年代初,埃里兰开始对外推广,与美洲电信巨头Bellcore建立合作,为全球通信领域带来了新希望。但命运的转折点出现在1995年,爱立信旗下Ellemtel公司负责的AXE-N通信交换系统项目因技术与管理失误彻底失败,令整个企业震惊。
这场惨痛的教训让爱立信重新思考软件策略,决定以埃里兰取代原计划采用的C++,启动名为AXD的新项目。AXD不仅沿用了旧硬件资源,更成为迄今最大的埃里兰项目,凝聚了60余名开发者不断攻坚克难。埃里兰代码规模庞大,首发版本即超过110万行,最终累积超260万行,相当于传统C语言的五倍代码量,展示了极致的高效表达。AXD项目的成功不可用数据言尽,其高达九个九的服务可用率——即服务端连续在线时间超过99.9999999%——成为通信行业的传奇,体现了埃里兰卓越的容错与稳定能力。此项成就极大提升了团队士气,也奠定埃里兰在通信软件领域的独特地位。即使多数程序员此前对函数式编程和并发机制一无所知,却在短期内掌握并应用埃里兰开发出稳定系统,彰显该语言的易学性和高效性。
尽管项目取得辉煌,埃里兰的命运却陡转直下。早在AXD正式发布前夕,1998年爱立信旗下无线系统部门突然禁止使用埃里兰,该部门理由多半围绕语言的专有性质和内部统一标准。业界普遍认为这类借口难以服众,更多声音猜测是企业内部文化冲突、管理层对新技术的排斥以及保护老旧技术链的意愿共同促成了禁令。埃里兰团队再次面临困境,他们积极游说管理层,最终成功推动爱立信将埃里兰开源,以拓展社区支持与应用前景。这一里程碑事件于1998年12月实现,也为埃里兰打开了更广阔的技术世界。开源后,绝大多数埃里兰核心开发者离开爱立信,成立了Bluetail公司,由知名风险投资人简·瓦勒鲁德担任CEO。
Bluetail公司后于两年内以1.52亿美元价格卖给了诺텔网络,显示埃里兰技术商业价值的巨大潜力。然而幸运并未长久,随后爆发的IT泡沫破裂导致多数团队成员失业,打击了这支新兴力量。总的来看,埃里兰在爱立信的兴衰历程为我们展现了技术创新与企业管理之间错综复杂的关系。它不仅证明了一门语言对提升软件开发效率和系统稳定性的重要性,更揭示了即使技术卓越,仍难免遭遇组织保守势力的阻挠。此外,埃里兰的开源历程鼓舞了全球开发者,使其在打造通信、金融及互联网高可用系统方面发挥持续影响。回望埃里兰的传奇,乔·阿姆斯特朗的坚持与信念令人敬佩。
他们设计出世界上第一批真正能“自我修复”的系统,颠覆了传统不可避免系统崩溃的观念。如今,埃里兰不仅仍广泛应用于如WhatsApp、Facebook Messenger等分布式系统,也激励着新一代语言和架构追求高并发与容灾能力的理想。埃里兰的故事告诉我们,技术的伟大不仅源自于发明本身,更需要企业文化和管理层的支持与理解。只有当创新与开放真正结合,才能催生出破局变革的强大力量。爱立信埃里兰之路虽充满坎坷,却也为未来通信软件发展树立了宝贵的里程碑。