
Joseph Goodman
0
2246
249
For 10 år siden blev Facebook lanceret i et sovesal fra Harvard. Oprindeligt var det bare Mark Zuckerberg, der hackede væk på en kodebase, der udelukkende bestod af PHP-kode. Hvordan fungerer Facebook? Nødder og bolte [Teknologi forklaret] Hvordan fungerer Facebook? Nødder og bolte [Technology Explained], der interagerer med en MySQL-database.
Siden da har den balloneret i størrelse, både hvad angår brugere og udviklere, der arbejder på en codebase, der konstant vokser. Det viste sig snart, at selvom PHP var et godt sprog at starte Facebook med, var det ikke længere tilpasset virksomhedens behov.
Og dermed skabte de Hack, som er et specialbygget sprog, der giver mulighed for hurtigere udvikling, større udviklingshold, mens de opretholder fuld interoperabilitet med det populære PHP-programmeringssprog Lær at bygge med PHP: En Crash Course Lær at bygge med PHP: A Crash Course PHP er det sprog, som Facebook og Wikipedia bruger til at tjene milliarder af anmodninger dagligt; de-facto-sproget, der bruges til at lære folk webprogrammering. Det er smukt enkelt, men strålende kraftfuldt. .
Udviklingssamfundets modtagelse af Hack har været intet mindre end fantastisk. Folk er meget begejstrede for et sprog, der er hurtigt, men alligevel let at udvikle, mens de opretholder bagudkompatibilitet med de mange PHP-biblioteker, der findes lige nu.
Her er alt, hvad du har brug for at vide om installation af Hack, samt hvordan du får dine fødder våde med sproget.
Hvad er så specielt ved Hack?
Fantastisk spørgsmål. Du ved sandsynligvis, at nogle programmeringssprog er kompileret til byte-kode, der kører på en speciel virtuel maskine (som Java og Clojure), mens andre sprog (som PHP, Ruby og Python) kører i en tolk.
Du ved sandsynligvis også, at fortolkede sprog i sig selv er langsommere end sprog, der producerer byte-kode, som specifikt er optimeret til de virtuelle maskiner, de kører på. Det er af denne grund, at der er dialekter af henholdsvis Python og Ruby (kaldet henholdsvis Jython og JRuby), der kører på Java Virtual Machine. Hvad er Java Virtual Machine, og hvordan fungerer det? Hvad er den virtuelle Java-maskine og hvordan fungerer den? Selvom det ikke er strengt nødvendigt at vide, at det fungerer for at programmere i Java, er det stadig godt at vide, fordi det kan hjælpe dig med at blive en bedre programmør. .
Hack kører entydigt på sin egen virtuelle maskine, kaldet Hip Hop Virtual Machine. Det er denne VM, der er blevet brugt af Facebook til at skalere for milliarder af daglige brugere.
Hack er mere end den VM, hvorpå den løber på. Det kommer også med typeanotationer, så du kan erklære variabler baseret på det indhold, som de vil gemme (streng, heltal, boolsk), lambda (anonyme) funktioner samt generiske funktioner.
Installation af Hack
Jeg har fået dårlige nyheder til OS X- og Windows-brugere. Hack fungerer enten ikke på disse platforme, eller support er så flassende, at det ikke er værd at diskutere. I stedet er du enten nødt til at affyre en Linux VPS Lær alt om virtuelle private servere på to minutter Lær alt om virtuelle private servere på to minutter Med så mange gode webhostingstjenester tilgængelige er det svært at beslutte den rigtige til passer til dine behov. eller VM.
Ud af ren dovenskab sluttede jeg med at skabe en Linux VPS med Digital Ocean, som er en af mine foretrukne VPS-udbydere. Jeg oprettede en lille dråbe, der kørte Ubuntu 13:10 Ubuntu 13.10, der blev lanceret med Friends-rækkevidde, Dash-filtre og mere Ubuntu 13.10, der blev lanceret med Friends-anvendelsesområdet, Dash Filters og mere Canonical har lanceret den nyeste og fantastiske version af verdens mest populære gratis og open source desktop-operativsystem, Ubuntu 13.10 “Saucy Salamander”. , og installerede derefter Hack med følgende kommandoer.
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu saucy main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get-opdatering sudo apt-get upgrade sudo apt-get install hhvm-nightly
Som du kan se her, downloader jeg GPG-nøglen til Hack-oplagrene; tilføj depotet til min kildeliste; opdater mine kildedefinitioner; opgradere mit system og installer derefter Hack. Enkelt, virkelig.
Hacking med hack
Nu er det tid til at skrive nogle Hack-koder. Vi starter med det afprøvede "Hello World" -program. Denne vil ikke køre i en webbrowser, men snarere udskrive 'Hello World' til konsollen.
Opret en ny fil ved navn HelloWorld.php (ja, af en eller anden grund insisterer Hack på at bruge .php som standard filtypenavn) i din favorit teksteditor (mit foretrukne valg er VIM The Top 7 Årsager til at give Vim Text Editor en chance De Top 7 grunde til at give Vim Text Editor en chance I årevis har jeg prøvet en tekst redaktør efter den anden. Navngiv det, jeg prøvede det. Jeg brugte hver eneste af disse redaktører i over to måneder som min primære daglige redaktør. På en eller anden måde jeg…) og tilføj følgende linjer.
Hvilket skulle udskrive Hej Verden til konsollen, når den løb med 'hhvm', som sådan.
Okay, lad os prøve at køre et Hack-program i browseren. Først skal vi installere Apache og PHP. Jeg har berørt dette i en tidligere artikel Tilmeldt SSH-kun Web Hosting? Vær ikke bekymret - Installér let websoftware, der er tilmeldt SSH-kun Web Hosting? Vær ikke bekymret - Installer let websoftware Kender du ikke den første ting til at betjene Linux gennem dens magtfulde kommandolinje? Bekymre dig ikke mere. , men for at opdatere din hukommelse løber jeg igennem den igen. Kør følgende kommandoer.
sudo apt-get install apache2 sudo apt-get install php5
Du kan også installere Apache, PHP, MySQL og en hel masse andre nyttige værktøjer med følgende kommando. (Glem ikke caret i slutningen af linjen - lampeserver er ikke en enkelt pakke, men snarere en samling)
sudo apt-get install lamp-server ^
Det anbefales, at du kører dette, hvis du planlægger at se nærmere på webudvikling med programmeringssproget Hack, da det indeholder en masse værktøjer, som du måske finder ganske nyttigt.
Når du har gjort det, skal du genstarte Hip Hop VM med følgende kommando.
sudo /etc/init.d/hhvm start
Kontroller, at Apache kører ved at åbne en browser og navigere til IP-adressen på din webserver. Hvis alt kører, skal du se dette.
Store! Naviger nu til / var / www og fjern den side, du lige har set (kaldet 'index.html') med følgende kommandoer.
cd / var / www rm index.html
Opret nu en fil kaldet index.php og tilføj de samme linjer, som du skrev før.
Hej Verden";
Når du har gjort det, skal du besøge din webserver igen med din valgte webbrowser.
Som du kan se, er der noget underligt ved, at Hack genkender slutningen af en streng. Som et resultat vil jeg gerne benytte lejligheden til at minde dig om, at selvom denne teknologi er ret cool, er den stadig temmelig rå og muligvis ikke klar til produktionsinstallationer. Jeg vil dog tilføje, at jeg kører den natlige version af Hack, som er den mest blødende kantversion, der er tilgængelig. Som et resultat burde det ikke være for overraskende, at nogle ting ikke løber perfekt.
Hvis du kender PHP, kan du muligvis genkende "Echo" -angivelsen, jeg brugte før. Nå, Hack kan ringe til enhver PHP-funktion. Her kalder jeg 'phpinfo ();' inden for et Hack-program.
Nogle hackspecifikke funktioner
Hack bringer en hel masse til bordet med hensyn til nye sprogfunktioner. Jeg diskuterede nogle af dem før, inklusive typedeklarationer. Desværre vil vi ikke være i stand til at dække alt i denne ene artikel, men jeg regnede med, at det måske var en god ide at se på, hvordan Hack håndterer typedefinitioner.
Så for at sammenfatte, skriv definitioner her, hvor du definerer en variabel baseret på det indhold, den ville indeholde. Hvordan fungerer det? Nå, lidt som dette.
Som du kan se, starter vi med typedeklarationen, efterfulgt af navnet på variablen (starter med et dollartegn, ligesom i traditionel PHP), efterfulgt af den værdi, der er tildelt variablen.
Dette kommer også i spil med funktionserklæringer. Når du erklærer en funktion og videregiver den til en parameter, skal du erklære den type variabel, du vil videregive til den. Hvis du ikke gør det, eller videregiver den forkerte type variabel, kan du forvente at græde og knebet tænder.
Så hvordan fungerer dette egentlig i Hack? Lad os finde ud af det.
Opret en ny fil kaldet 'function.php' og skriv følgende linjer.
Hvis du tidligere har brugt PHP, kan du muligvis afkode noget af dette. Vi har oprettet en funktion, som vi har kaldt 'hej'. Vi sender den derefter en streng, som derefter gentages til konsollen, efter ordet 'Hej'.
Men hvad er det? : ugyldigt bit? Nå, i Hack, er vi nødt til at fortælle computeren, om funktionen vil returnere en værdi. Hvis det ikke er det, siger vi, at funktionen er 'ugyldig'. Som alt sammen med Hack er vi nødt til at erklære den type værdier, der vil blive returneret.
Vi kører derefter denne kode med kommandolinjeprogrammet 'hhvm', og vi skal se denne.
Konklusion
Der er meget at elske ved Hack.
Det er et sprog, der giver dig mandat til at skrive bedre kode, samtidig med at det er let at forstå og latterligt hurtigt. Det har også støtte fra et af de største teknologivirksomheder lige nu, der bruger det dagligt i produktionen til at gøre et af de største steder, der findes, skala til millioner af brugere.
På trods af det er det stadig et meget nyt sprog. Faktisk skrev jeg denne artikel dagen efter, at den blev frigivet for offentligheden. Det er svært at anbefale, at nogen begynder at sætte det i produktion lige nu, men bestemt lege med det.
Men det er bare min mening. Vil du prøve det? Giv mig en kommentar nedenfor, og lad mig vide, hvad du synes.