FaceBook vydal jazyk Hack ako open source
Ide o jazyk s podobným zápisom ako PHP a pridáva mu ďalšiu funkcionalitu známu z C# and Java.
Na stránkach projektu je aj interaktívny tútoriál.
Pár vlastností z jazyka Hack.
- Statické typovanie
- Generické triedy a metódy
- Typ null (toto je bolesť PHP)
- Kolekcie na prácu s poliami
- Štruktúry
- Typedefs známe s C je v Hack, Type Aliasing
- Podpora asynchrónneho programovania
Súčasťou je aj nástroj na konverziu projektov z PHP do Hack.
Pre pridávanie komentárov sa musíte prihlásiť.
Našiel som si čas a prešiel som si tútoriál, treba opraviť chyby v skriptoch, alebo dopísať kód. Je to celkom sranda, odporúčam všetkým PHPčkárom, ale aj iným webárom. Po úspešnej oprave sa číslo lekcie podfarbí na zeleno.
Osobne by mi zaujímalo čo na Hack povie Mirec, eMDi a ďalší z tunajšej komunity ktorí sa stretávajú s vývojom web aplikácií.
vyzera zaujimavo, ale tutorial pod chromium asi nefici korektne ...
Vie to ošetrovať výstupy, netreba len echovať a ošetrovať si či ti tam niekto nevložil exploit. Statické typovanie na úrovní funkcií a metód, takže nedostaneš nejaký nedefinovaný stav. A tá obrovská guľa čo si ťahá PHP zo sebou je absencia NULL a vďaka tomu tie krásne zápisy ala === už v Hack neuvidíš.
Ozajstné štruktúry tiež môžu veľakrát sprehľadniť kód. No a zrovna som riešil ako nechať asynchrónne v PHP bežať dva procesy a tu je to out of box.
Nehovorím že na to zajtra prejdem, ale zaujalo to.
No a Mirec mi na Jabber napísal, že hocičo je lepšie ako PHP :)
Tak kecal som, zápis $i === null si ponechali z PHP, ale vyhodnocuje sa správne :)
Môžeš to rozviesť kedy sa to v PHP vyhodnocuje zle? Zatiaľ som na to nenarazil a v PHP robím už dosť dlho.
PHP pretože je dynamický jazyk nerobí rozdiel medzi premennou ktorá obsahuje null a tou čo neexistuje. Návratová hodnota objektu, metódy, funkcie v PHP nemá definovaný typ návratovej hodnoty, preto nevyhodnotí vrátený null ako chybu, keď sa napríklad očakáva int.
V ponímaní PHP to vlastne nie chyba je to jeho vlastnosť.