Facebook的黑客编程语言编译代码的安全性到PHP

Facebook的黑客编程语言编译代码的安全性到PHP

Facebook已经发布了一个编程语言叫做哈克,其中结婚的PHP的易用性与较旧的语言如C + +的严格的安全控 […]

2014-03-22

Facebook已经发布了一个编程语言叫做哈克,其中结婚的PHP的易用性与较旧的语言如C + +的严格的安全控制。
PHP程序员应该很容易理解哈克,它复制了许多相同的特性和PHP的功能,并添加了一些自己的更大的生产力,说布赖恩奥沙利文,一个Facebook的工程师对项目。
在过去的一年,Facebook已经转换几乎所有的PHP代码基地哈克,它构成了其网站的核心。
在创建哈克,Facebook的了,这是类似于微软与打字稿,这种方法基本上是JavaScript的一个超集,像哈克,增加了静态类型。
这两个项目是要加强流行的动态编程语言,因此它可以更容易地使用大型软件团队来设计关键任务应用程序。
个人也将通过哈克受益,奥沙利文说,无论是在提高自己的网站的性能和提高其代码的整体素质。
黑客需要Facebook的HHVM(嘻哈虚拟机)上运行。HHVM是一个虚拟机编译PHP,通常一种解释型语言,成字节码,因此它可以更快速地运行。
黑客基本上是PHP语言,内置静态类型,在更传统的编程语言如C / C + +和Java的发现功能的延伸,奥沙利文说。
许多较新的面向Web编程语言,如PHP和JavaScript,没有静态类型,因此他们被称为动态类型语言。
与动态类型,“有一个在源代码中描述了什么样的信息的程序是处理没有明确的信息,”奥沙利文说。
相比之下,静态类型要求程序员定义的数据类型为每个变量的程序被编译之前或运行。
虽然它需要额外的工作来实现,静态类型时,防止了错误的数据类型输入到程序中出现运行时错误,或者通过人工输入或其他一些电脑的功能。
“有某些类型的错误和可能发生的崩溃,”如果程序员不小心哪些数据被分配给变量,奥沙利文说。“这些潜在的错误可以隐藏很长一段时间在一个动态类型语言。”
该HHVM虚拟机有一个内置的类型检查,以确保所有的类型的信息是正确的。黑客甚至允许程序员定义独特的数据类型。
“在语法上,哈克是非常接近的PHP,我们允许它可以运行PHP和哈克代码并排侧,因此您可以逐步将你的代码库的语言从PHP哈克,”奥沙利文说。
某些过时的PHP的功能,但是,不支持黑客,也不是少数的功能,不与静态类型的工作。
哈克还自带了一些补充在PHP中没有发现。一个是集合,一个方法来创建比由PHP本身所提供的数组函数更细微的阵列,奥沙利文说。