2014-03-28 103 views
2

最近,Facebook發佈了一種名爲Hacklang的新語言,它由HHVM編譯爲機器碼。Hacklang是一種有狀態語言還是無狀態語言?

所以我只是想知道,哈克朗是一種有狀語言嗎?

謝謝。

+2

這個問題已關閉,沒有很好的理由,這是一個合法的問題。所以我會在這裏回答。 PHP是無狀態的,除非你使用某種機制來存儲狀態(認爲是memcache,會話,數據庫等),但是你不能使用全局變量或某些語言特定的功能來這樣做。 Hacklang是一個位於PHP之上的層,它增加了靜態類型以及其他一些東西,但它仍然是一種無狀態語言。 – Claudiu

+1

不用擔心。請注意,該語言本身不會將代碼編譯到機器代碼,HHVM(運行時)。它也適用於PHP。 Hacklang主要是typechecker靜態檢查類型錯誤的代碼,並增加了一些運行時(異步函數,集合作爲幾個例子) – Claudiu

回答

7

除非使用某種機制來存儲狀態(認爲是memcache,會話,數據庫等),否則PHP是無狀態的,但不能使用全局變量或某些語言特定的功能來執行此操作。 Hacklang是PHP之上的一個層,它增加了靜態類型以及其他一些東西,但它仍然是無狀態的。

由於這是一個答案,我有更多的空間,缺乏狀態實際上是PHP正確的事情之一,每一個請求都從一個乾淨的平板開始,避免了在請求之間出現大量的錯誤,每個其中一個與其他人隔離。所以哈克做得很好,保持同樣的方式。開始每個請求都會產生額外的費用,但是在HHVM的性能提升後,您失去了什麼。

相關問題