Hack (limbaj de programare)
Hack limbaj de programare | |
---|---|
Autor | Julien Verlaguet, Alok Menghrajani, Drew Paroski și alții |
Data de origine | 2014 |
Ultima versiune | 3.15.0 (28 septembrie 2016) |
Utilizare | Mașină virtuală HipHop (HHVM) |
Tastare | static , dinamic , slab , gradual |
Influențată de | PHP , OCaml , Java , C # , Scala , Haskell |
Implementare referință | |
Sistem de operare | Cross-platform |
Licență | Licență BSD și licență MIT |
Site-ul web | hacklang.org/ |
Hack este un limbaj de programare pentru mașina virtuală HipHop (HHVM), creat de Facebook ca dialect al PHP . Implementarea limbajului este open-source , licențiată în condițiile licenței BSD. [1] [2]
Hack permite programatorilor să utilizeze atât tastarea dinamică, cât și cea statică în același timp. Acest model de tastare se numește tastare graduală , care este implementat și în alte limbaje de programare, cum ar fi ActionScript . [3] Sistemul de tip Hack language vă permite să specificați tipuri pentru parametrii funcției, valorile returnate și proprietățile clasei, dar tipul variabilelor locale este întotdeauna dedus de mașină.
Istorie
Hack a fost introdus pe 20 martie 2015. Înainte de anunțarea noului limbaj de programare, Facebook a implementat deja codul și l-a testat pe o mare parte a site-ului său.
Caracteristici
Hack-ul este conceput pentru a interacționa perfect cu PHP, un limbaj de scriptare open-source utilizat pe scară largă, care se concentrează pe dezvoltarea web și poate fi inclus în HTML . Majoritatea scripturilor valide în PHP sunt valabile și în Hack, cu toate acestea multe structuri PHP mai puțin utilizate nu sunt acceptate în Hack.
Sintaxă și semantică
Structura de bază a unui script de hack este similară cu cea a unui script PHP cu unele modificări. Un fișier de hack începe cu <? Hh versus <? Php pentru un script PHP:
<? hh
ecou „Hello World” ;
Scriptul de mai sus, similar cu PHP, va fi executat și următorul rezultat va fi trimis browserului:
Salut Lume
Un punct important de remarcat este că, spre deosebire de PHP, hack-ul și HTML-ul nu se amestecă. În mod normal, puteți amesteca codul PHP și HTML împreună în același fișier, ca aici:
< html >
< cap >
< title > Test PHP </ title >
</ head >
< corp >
<! - hh și html nu se amestecă ->
<? php echo '<p> Hello World </p>' ; ?>
</ body >
</ html >
Acest tip de cod nu este acceptat în Hack; trebuie utilizat un motor de șabloane precum XHP .
Funcții
Hack vă permite să specificați tipuri pentru parametrii funcției, precum și pentru valorile returnate. Funcțiile din Hack sunt apoi adnotate cu tipuri ca în exemplul de mai jos:
<? hh
// Funcțiile de hack sunt adnotate cu tipuri.
funcție negate ( bool $ x ) : bool {
întoarce-te ! $ x ;
}
Notă
- ^ Josh Lockhart, Facebook's Hack, HHVM și viitorul PHP , la radar.oreilly.com , O'Reilly Media , 3 aprilie 2014. Accesat 2 august 2014 .
- ^ Cade Metz, Facebook introduce „Hack”, limbajul de programare al viitorului . Wired.com , Wired , 20 martie 2014. Accesat la 15 aprilie 2014 .
- ^ Aseem Rastogi, Avik Chaudhuri Basil Hosmer, The Ins and Outs of Gradual Type Inference ( PDF ), cs.umd.edu , Association for Computing Machinery (ACM), ianuarie 2012. Accesat la 23 septembrie 2014 .
Elemente conexe
linkuri externe
- Site oficial , la hacklang.org .
- Depozitul sursă de hack , la github.com .
- ( RO ) Documentație oficială
- ( EN ) Facebook Q&A: Hack aduce tastarea statică în lumea PHP
- ( RO ) Un tutorial despre convertirea unui proiect PHP existent în Hack