【问题标题】:Is Hacklang a stateful or stateless language?Hacklang 是有状态语言还是无状态语言?
【发布时间】:2014-05-07 07:13:26
【问题描述】:

最近,Facebook 发布了一种名为 Hacklang 的新语言,由 HHVM 编译为机器码。

所以我只是想知道,Hacklang 仅仅是一种有状态的语言吗?

谢谢。

【问题讨论】:

  • 这个问题无缘无故被关闭,这是一个合法的问题。所以我会在这里回答。 PHP 是无状态的,除非您使用某种机制来存储状态(想想 memcache、会话、数据库等),但您不能使用全局变量或某些特定于语言的特性来这样做。 Hacklang 是 PHP 之上的一个层,它添加了静态类型以及其他一些东西,但它仍然是一种无状态语言。
  • 不用担心。请注意,语言本身不会将代码编译为机器代码,HHVM(运行时)会。它也适用于 PHP。 Hacklang 主要是类型检查器,它静态检查您的代码中的类型错误,并在运行时添加了一些附加功能(异步函数、集合作为几个示例)

标签: stateless stateful hacklang


【解决方案1】:

PHP 是无状态的,除非您使用某种机制来存储状态(想想内存缓存、会话、数据库等),但是您不能使用全局变量或某些特定于语言的特性来这样做。 Hacklang 是 PHP 之上的一个层,它添加了静态类型以及其他一些东西,但它仍然是无状态的。

既然这是一个答案,而且我有更多空间,缺少状态实际上是 PHP 做对的事情之一,每个请求都从一个干净的状态开始,这避免了每个请求之间出现的许多错误他们中的一部分与其他人隔离开来。因此,哈克很好地保持了这一点。启动每个请求都会产生额外的成本,但是您在那里失去的东西会随着 HHVM 的性能提升而赢回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2017-07-16
    • 2012-06-19
    • 2023-04-09
    • 2014-07-23
    相关资源
    最近更新 更多