Pagina 1 di 1

[Risolto] linguaggio di programmazione HACK (php based).

Inviato: domenica 7 giugno 2015, 2:05
da SuperStep
Salve, mi sono imbattuto in questo linguaggio di programmazione di copyright di facebook (http://hacklang.org/). E devo dire che l'idea mi piace non poco.

Gia' introdurre i tipi di ritorno in php 7 mi ha esaltato moltissimo, ma da quanto ho capito hack e' un linguaggio di programmazione basato su php interpretato ma che puo' essere compilato? ho capito bene?

Qualcuno puo' darmi qualche delucidazione, pultroppo scrivendo le keywords 'hack php facebook' becco di tutto.

Re: linguaggio di programmazione HACK (php based).

Inviato: domenica 7 giugno 2015, 2:10
da Zoff
Hack è un dialetto di PHP compatibile esclusivamente con HHVM, cioé Hip Hop la versione di PHP introdotta da facebook.
Utilizza la compilazione JIT (Just In Time), "alla python" per intenderci, e il codice viene eseguito dalla HHVM (Hip Hop Virtual Machine).

Non c'è altro da dire in realtà.
Anche PHP può essere compilato JIT se usato su HHVM.

NB: HHVM è una alternativa al mod_php di apache o a FPM

Re: linguaggio di programmazione HACK (php based).

Inviato: domenica 7 giugno 2015, 2:21
da SuperStep
è possibile tenere entrambi i moduli di apache (php ed hhvm) abilitati? vorrei fare una prova per vedere se alcune delle mie applicazioni funzionano correttamente. Ho trovato una guida solo per nginx, ma vorrei sfruttare apache se possibile.

Re: linguaggio di programmazione HACK (php based).

Inviato: domenica 7 giugno 2015, 2:44
da Zoff
Certo, HHVM non è un modulo di apache, lancia un server a parte.
In stalla HHVM e quando lo vuoi provare avvia un server con:

Codice: Seleziona tutto

hhvm -m server

Re: linguaggio di programmazione HACK (php based).

Inviato: domenica 7 giugno 2015, 22:48
da SuperStep
e' un po che sto provando ma non riesco a mandarlo in esecuzione manualmente in particolare quando lo lancio in quel modo ottengo

Codice: Seleziona tutto

Uncaught exception: HHVM no longer supports the built-in webserver as of 3.0.0. Please use your own webserver (nginx or apache) talking to HHVM over fastcgi. https://github.com/facebook/hhvm/wiki/FastCGI\n
seguendo la procedura in teoria dovrei averlo abilitato al posto di php in quanto ho fatto come dice nella procedura:

Codice: Seleziona tutto

********************************************************************
* HHVM is installed.
*
* Running PHP web scripts with HHVM is done by having your
* webserver talk to HHVM over FastCGI. Install nginx or Apache,
* and then:
* $ sudo /usr/share/hhvm/install_fastcgi.sh
* $ sudo /etc/init.d/hhvm restart
* (if using nginx)  $ sudo /etc/init.d/nginx restart
* (if using apache) $ sudo /etc/init.d/apache restart
*
...
ma come faccio ad esserne proprio sicuro?

Re: linguaggio di programmazione HACK (php based).

Inviato: domenica 7 giugno 2015, 23:42
da Zoff
Guarda il phpinfo

Re: linguaggio di programmazione HACK (php based).

Inviato: lunedì 8 giugno 2015, 2:40
da SuperStep
ok perfetto', dopo aver perso (mooooolto) tempo a configurare hhvm con apache (non funzionava bene a causa del modulo rewrite) sono riuscito a configurare hhvm al posto di php. Con phpInfo ottengo in risposta una pagina con una stringa

Codice: Seleziona tutto

HipHop
sembra tutto ok. Grazie Zoff, metto risolto.

C'e' qualcosa a cui devo stare attento con hhvm rispetto al motore Zend? oppure possono funzionare allo stesso modo?

Re: [Risolto] linguaggio di programmazione HACK (php based).

Inviato: lunedì 8 giugno 2015, 4:23
da SuperStep
Voglio aggiungere questa cosa:

ho configurato due virtualhost sulla stessa directory, uno utilizza Zend, l'altro hhvm. Ho scritto una funzione per fare la funzione di fibonacci e calcolarne il tempo... e' uscito un risultato assurdo

Zend

Codice: Seleziona tutto

result fibonacci 40 = 102334155
elapsed_secs = 2.1688540657361
HHVM

Codice: Seleziona tutto

result fibonacci 40 = 102334155
elapsed_secs = 0.020845035711924
... sono quasi spaventato ... :o

dov'e' il trucco? :muro: