Ohjelmointi

Facebookin Hack-ohjelmointikieli rakentaa kooditurvallisuuden PHP: hen

Facebook on julkaissut Hack-nimisen ohjelmointikielen, joka yhdistää PHP: n helppouden vanhempien kielten, kuten C ++: n, tiukalla turvavalvonnalla.

PHP-ohjelmoijien tulisi helposti ymmärtää Hack, joka kopioi monia samoja PHP: n ominaisuuksia ja toimintoja ja lisää muutaman oman tuottavuuden parantamiseksi, kertoi projektin Facebook-insinööri Bryan O'Sullivan.

[Työskentele älykkäämmin, ei kovemmin - lataa kehittäjien selviytymisopas kaikista vinkeistä ja trendeistä, jotka ohjelmoijien on tiedettävä. | Pysy ajan tasalla uusimmista kehittäjäuutisista Developer World -uutiskirjeellä. ]

Kuluneen vuoden aikana Facebook on muuttanut lähes kaiken PHP-koodipohjansa Hackiksi, joka muodostaa verkkosivuston ytimen.

Hackia luodessaan Facebook käytti lähestymistapaa, joka oli samanlainen kuin Microsoftin TypeScript, joka on pohjimmiltaan JavaScriptiä, joka lisää Hackin tapaan staattista kirjoittamista.

Molemmat projektit pyrkivät vahvistamaan suosittua dynaamista ohjelmointikieliä, jotta suuret ohjelmistotiimit voivat käyttää sitä helpommin tehtäväkriittisten sovellusten suunnittelussa.

Yksilöt hyötyisivät myös Hackin käytöstä, O'Sullivan sanoi sekä verkkosivustojensa suorituskyvyn parantamiseksi että koodinsa yleisen laadun parantamiseksi.

Hack vaatii Facebookin HHVM: n (Hip Hop Virtual Machine) suorittamisen. HHVM on virtuaalikone, joka kokoaa PHP: n, yleensä tulkitun kielen, tavukoodiksi, jotta se voi toimia nopeammin.

Hack on pohjimmiltaan PHP-kielen laajennus sisäänrakennetulla staattisella kirjoittamisella, ominaisuus löytyy perinteisemmistä ohjelmointikielistä, kuten C / C ++ ja Java, O'Sullivan sanoi.

Monilla uudemmilla verkkokeskeisillä ohjelmointikielillä, kuten PHP ja JavaScript, ei ole staattista kirjoittamista, joten niitä kutsutaan dynaamisesti kirjoitetuiksi kieliksi. Dynaamisen kirjoituksen avulla "lähdekoodissa ei ole nimenomaista tietoa, joka kuvailisi millaista tietoa ohjelma käsittelee", O'Sullivan sanoi.

Staattinen kirjoittaminen sitä vastoin vaatii ohjelmoijan määrittelemään tietotyypin jokaiselle muuttujalle ennen kyseisen ohjelman kääntämistä tai suorittamista. Vaikka toteuttaminen vaatii ylimääräistä työtä, staattinen kirjoittaminen estää ajonaikaiset virheet, jotka tapahtuvat, kun väärä tietotyyppi syötetään ohjelmaan joko ihmisen syötöllä tai jollakin muulla tietokoneen toiminnolla.

"On olemassa tietyntyyppisiä virheitä ja kaatumisia", jos ohjelmoija ei ole varovainen muuttujille määritettyjen tietojen suhteen, O'Sullivan sanoi. "Nämä piilevät virheet voivat piiloutua pitkään dynaamisesti kirjoitetuilla kielillä."

HHVM-virtuaalikoneessa on sisäänrakennettu tyyppitarkistus, joka varmistaa, että kaikki kirjoitetut tiedot ovat oikeita. Hack antaa ohjelmoijan jopa määrittää yksilölliset tietotyypit.

"Syntaktisesti Hack on hyvin lähellä PHP: tä. Annoimme sen, että PHP ja Hack-koodi voidaan suorittaa rinnakkain, jotta voit muuntaa kielikooditasi asteittain PHP: stä Hackiksi", O'Sullivan sanoi.

Joitakin vanhentuneita PHP-ominaisuuksia ei kuitenkaan tueta Hackissä, eikä niitä ole kourallinen ominaisuuksia, jotka eivät toimi hyvin staattisessa kirjoittamisessa.

Hack sisältää myös useita lisäyksiä, joita ei löydy PHP: stä. Yksi on Kokoelmat, tapa luoda taulukoita, joissa on enemmän vivahteita kuin itse PHP: n tarjoama matriisitoiminto, O'Sullivan sanoi.

Hack myös helpottaa sulkemisten käyttöä käyttämällä Lambda-lausekkeita. Java 8: een lisätyt sulkemiset "helpottavat melko monimutkaisten datamuunnosten ytimekästä kirjoittamista", O'Sullivan sanoi.

Hackin Lambda-lausekkeet tarjoavat tavan luoda sulkemisia "pienemmällä määrällä näppäimiä, mikä on suuri voitto tuottavuudelle", hän sanoi.

Facebook on toimittanut useita tekstieditorin laajennuksia Hack-verkkosivustolle auttaakseen koodereita kirjoittamaan kielellä, vaikka yritys toivoo vapaaehtoisten rakentavan muutamia tarkempia.

O'Sullivan ei paljastanut mitään erityisiä suunnitelmia tarjota Hack-lisäyksiä takaisin PHP: n ylläpitäjille, vaikka hän totesi, että yritys aikoo "tehdä tiivistä yhteistyötä avoimen lähdekoodin yhteisön kanssa" kielen edelleen kehittämiseksi.

Joab Jackson käsittelee yritysohjelmistoja ja yleisiä teknologiauutisia Uutispalvelu. Seuraa Joabia Twitterissä osoitteessa @Joab_Jackson. Joabin sähköpostiosoite on [email protected]