进化了的PHP:Facebook新的Hack编程语言

Facebook对PHP的偏爱众所周知。追溯到Facebook的创建初期,PHP支撑起了该公司的很多产品。PHP的一大优势是,它是一种动态语言,非常适合快速建立原型,但是动态特性也往往会导致大规模代码库开发和维护的复杂化。为处理这些问题,Facebook发布了Hack——一种希望在保持PHP优势的同时通过所谓的“渐变类型(gradual-typing)”和一些新语言特性加以增强的新编程语言。

渐变类型的使用意味着,在Hack中动态类型和静态类型代码可以在同一文件中互操作。这使得已有的PHP代码可以根据其所在的每个项目的需要转换为Hack,同时不需要很大的前期转换代价。为帮助从PHP向Hack迁移,Facebook正在提供转换工具。在用户编辑源文件时,Hack会予以监控。有个系统守护进程会监控本地文件系统,当修改被保存到磁盘时,一个类型检查器会快速分析所做修改。Facebook表示,这种转变平均会消耗200毫秒,很少会超过一分钟。

Hack不仅带来了类型特性,还提供了其他一些语言特性。其中包括类型注解、可以为空的类型、泛型、集合和Lambda。Hack语言参考提供了这些特性相关的、目前可用的所有细节信息。和Facebook的PHP代码一样,Hack也运行在Facebook的Hip Hop虚拟机(HVVM)上,HVVM使用即时编译技术(JIT)来提升程序性能。

如果想了解PHP在Facebook使用情况的更多背景,可以查看InfoQ发布的去年12月对Facebook的Keith Adam的访谈。

查看英文原文:PHP Evolved: Facebook's New Hack Programming Language

你可能感兴趣的:(进化了的PHP:Facebook新的Hack编程语言)