Programavimas

Pamirškite PHP! Vietoj to „Facebook“ HHVM variklis persijungia į „Hack“

Greitas „PHP“ variklis „Facebook“ „Hip Hop Virtual Machine“ (HHVM) nebus skirtas PHP 7 - naujausiam svarbiausiam PHP leidimui, o daugiausia dėmesio bus skiriamas „Hack“, kuris yra „PHP spinoff“.

Kitas ilgalaikis HHVM palaikymo leidimas, versija 3.24, bus pateiktas 2018 m. Pradžioje ir bus paskutinis, pasiryžęs palaikyti PHP 5.

„Bandymas palaikyti tiek PHP 7, tiek„ Hack “sukeltų nepageidaujamus kompromisus abiem frontais. Mes planuojame dar labiau atsieti save nuo PHP, kad galėtume padaryti „Hack“ puikų, neprivalėdami atsiskaityti už visus seniausius, tamsiausius PHP dizaino kampelius “, - teigė komandos HHVM komanda.

PHP 7, tolesnis leidimas (nebuvo PHP 6 leidimo) reiškia esminį nukrypimą nuo PHP 5, pakeisdamas daugybę elgesio būdų, kai kurie iš jų nebuvo suderinami atgal. PHP 7 pateikdami kursą nuo PHP 5, HHVM kūrėjai nori padaryti tą patį. "Vadinasi, HHVM nesieks nukreipti PHP 7", - sakė komanda. „HHVM komanda tiki, kad turime aiškų kelią, kad„ Hack “taptų fantastiška kalba, kuria galima kurti internetą, neatsiejama nuo PHP ištakų.“

„Facebook“ HHVM daugelį metų naudojo beveik išimtinai „Hack“ paleisti. Kalba jau pašalino daugelį PHP5 trūkumų, kuriuos taip pat ištaiso PHP 7, taip pat kitus, kurių nepašalina, teigė komanda.

Atsikratydama PHP, HHVM komanda tikisi suteikti kūrėjams geresnę, našesnę HHVM ir „Hack“ patirtį. Jame buvo pateikta daugybė funkcijų, bibliotekų ir našumo galimybių. Planuojami „Hack“ dizaino patobulinimai:

  • užbaigti „Hack“ masyvus su į masyvą panašiomis duomenų struktūromis, kurias lengviau patikrinti
  • naikinantys naikintuvus ir nuorodas
  • naudojant šiukšlių surinkimą išmatuojamam veiklos pagerinimui.

„Hack“ buvo sukurtas PHP ekosistemoje, o „Facebook“ planuoja suderinti HHVM su dabartinėmis pagrindinių PHP įrankių, tokių kaip „Composer“ ir „PHPUnit“, versijomis.

Tačiau galutinis tikslas yra, kad „Hack“ turėtų savo pagrindinių sistemų ekosistemą. „Hack“ įrankiai ir bibliotekos yra Hack Standard Library; „TypeAssert“, skirtas netipuotiems duomenims konvertuoti į įvestus duomenis; ir automatinis padavėjas klasėms, tipų slapyvardžiams ir funkcijoms.