Programování

Zapomeňte na PHP! Místo toho se modul HHVM Facebooku přepne na Hack

Hip Hop Virtual Machine (HHVM) společnosti Facebook, rychlý motor pro PHP, nebude zaměřen na PHP 7, nejnovější hlavní vydání PHP, ale místo toho se zaměří na Hack, spinoff PHP.

Příští vydání dlouhodobé podpory HHVM, verze 3.24, má vyjít počátkem roku 2018 a bude posledním, kdo se zaváže k podpoře PHP 5.

"Pokus o podporu PHP 7 i Hack by vedl k nežádoucím kompromisům na obou frontách." Plánujeme se ještě více oddělit od PHP, abychom mohli Hack udělat skvělým, aniž bychom museli počítat se všemi nejstaršími a nejtemnějšími stránkami designu PHP, “uvedl tým týmu HHVM.

Následné vydání PHP 7 (neexistovalo žádné vydání PHP 6) představuje zásadní odklon od PHP 5, měnící více chování, z nichž některé nebyly zpětně kompatibilní. Vzhledem k tomu, že PHP 7 mapuje kurz od PHP 5, chtějí stavitelé HHVM udělat totéž. "Proto HHVM nebude usilovat o cílení na PHP 7," uvedl tým. "Tým HHVM věří, že máme jasnou cestu k tomu, aby se Hack stal fantastickým jazykem pro vývoj webových aplikací, odpoutaným od jeho původu v PHP."

Facebook používá HHVM po celá léta téměř výlučně ke spuštění Hack. Tento jazyk již řešil mnoho nedostatků PHP5, které PHP 7 také opravuje, stejně jako další, které neřeší, řekl tým.

Tím, že se HHVM uvolní z PHP, doufá, že vývojářům poskytne lepší a výkonnější zkušenosti s HHVM a Hack. Uvádí mnoho funkcí, knihoven a výkonnostních příležitostí. Plánovaná vylepšení designu pro Hack zahrnují:

  • dokončení polí hacků s datovými strukturami podobnými maticím, které se snadněji typově kontrolují
  • eliminace destruktorů a odkazů
  • pomocí uvolňování paměti k dosažení měřitelného zlepšení výkonu.

Hack byl postaven na ekosystému PHP a Facebook plánuje, aby byl HHVM kompatibilní s aktuálními verzemi hlavních nástrojů PHP, jako jsou Composer a PHPUnit.

Ale konečným cílem je, aby Hack měl svůj vlastní ekosystém základních rámců. Mezi hackerské nástroje a knihovny v dílech patří Hack Standard Library; TypeAssert, pro převod netypových dat na typová data; a automatický podavač pro třídy, aliasy typů a funkce.

$config[zx-auto] not found$config[zx-overlay] not found