BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 臧秀涛 关注 4 他的粉丝 发布于 2014年3月29日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

FB就是会玩儿啊 by feng kazaff

看介绍,还是非常期待Hack的~

语言感悟 by feng liu

不知道,是不是真的好用,会不会变得比原来更加复杂,现在编程语言实在是太多了

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT