Mostra notizie nelle discussioni
Avatar
☺
Scritto da
il 2013-01-16 12:32:05.0 alle 2013-01-16 12:32:05.0
Trollate totali: 2001
Re: Ma che sia vero? :\
Scritto da:
> Scritto da: Renton Thurston
> > Scritto da:
> > > Scritto da: Renton Thurston
> > > >
> > >
> > > portasse un solo dato a sostegno delle sue farneticazioni non sarebbe male Perplesso
> >
> > Porta esperienze personali che ha avuto con questa gentaglia. Non è che te ne vai in giro con un registratore in tasca tutto il giorno...
> >
> > Speriamo semmai che sia un matto e che le sue siano davvero farneticazioni perché se non lo è e se ha detto la verità circa quello che sa e le esperienze che ha raccontato allora _davvero_ questa crisi è stata pianificata e _davvero_ è solo l'inizio della file.
>
> ok, ma la domanda è perchè?

In effetti il _perché_ me lo sono chiesto anche io. Non è certo il risultato del pensiero di una persona razionale.

D'altra parte è vero che c'è gente come quella che descrive, che prova disgusto verso i poveri, che si ritiene superiore (come i nobili di un tempo), che non sopporta l'idea che i poveri possano vestirsi come loro (vedi esempio postato dalla suora ieri) che possano godere degli stessi diritti, ecc.
Era il modo di pensare di quasi la totalità dei nobili passati. Probabilmente la rivoluzione francese gli sta ancora rodendo il culo.

> per avere un popolo più schiavo?

Anche mero disprezzo. Inoltre un popolo affamato e povero ha anche molti meno accessi alla cultura e perciò è molto più pilotabile.
D'altra parte uno di quelli che questo tizio cita è un pirla dell'Opus Dei... ovvero gente che prospera sull'ignoranza altrui.

> può essere, ma davvero il sistema reggerebbe o semplicemente esploderebbe, lasciando con nulla in mano chi ha progettato il tutto?
> a me convincie davvero poco

I feudatari, la nobiltà, ecc... sono stati parte della storia dell'uomo fino all'altro ieri... evidentemente per reggere regge.

Black Woman Destroys White Privilege Myth

Ad https://www.youtube.com/watch?v=pbccGbPKwok
Femmina nera onesta ci spiega il concetto del "white privilege"‎
Avatar
☺
Scritto da
il 2013-01-16 12:25:03.0 alle 2013-01-16 12:25:03.0
Trollate totali: 2001
Re: alex,tg watch
Scritto da: avvelentani
> > Probabilmente già ora ci sono più programmatori che conoscono e usano Dart di quelli che conoscono e usano Lisp. Anonimo
>
> Non ci mettere la mano sul fuoco.

Chissà. Bisognerebbe contarli.
Prova a telefonare ai tuoi amici che usano Lisp e vedi quanti siete. Anonimo

> > "PHP is used by 78.8% of all the websites whose server-side programming language we know."
> >
> > Niente male per essere una merda. Anonimo
>
> Windows e` sul 90% dei computer.

Ma Windows è scelto da utonti, non da sviluppatori.
Si tratta di target diversi con conoscenze molto diverse.
Se così tanti sviluppatori preferiscono PHP a diciamo, Java, evidentemente una ragione ci sarà. Anonimo
Avatar
☺
Scritto da
il 2013-01-16 12:16:19.0 alle 2013-01-16 12:16:19.0
Trollate totali: 2001
Re: Ma che sia vero? :\
Scritto da:
> Scritto da: Renton Thurston
> >
>
> portasse un solo dato a sostegno delle sue farneticazioni non sarebbe male Perplesso

Porta esperienze personali che ha avuto con questa gentaglia. Non è che te ne vai in giro con un registratore in tasca tutto il giorno...

Speriamo semmai che sia un matto e che le sue siano davvero farneticazioni perché se non lo è e se ha detto la verità circa quello che sa e le esperienze che ha raccontato allora _davvero_ questa crisi è stata pianificata e _davvero_ è solo l'inizio della file.
Avatar
☺
Scritto da
il 2013-01-16 12:13:32.0 alle 2013-01-16 12:13:32.0
Trollate totali: 2001
Re: alex,tg watch
Scritto da: avvelentani
> Dart non ha futuro,

Probabilmente già ora ci sono più programmatori che conoscono e usano Dart di quelli che conoscono e usano Lisp. Anonimo

> PHP e` una merda. Fattene una ragione.

http://w3techs.com/technologies/details/pl-php/all...

"PHP is used by 78.8% of all the websites whose server-side programming language we know."

Niente male per essere una merda. Anonimo
Avatar
☺
Scritto da
il 2013-01-16 09:39:18.0 alle 2013-01-16 09:39:18.0
Trollate totali: 2001
Re: alex,tg watch
Scritto da: avvelentani
> http://my.opera.com/altg/blog/2013/01/16/that-was-...
>
> Doctors of the mind would never find it a good idea, but bringing memories on, rehearsing them to acknowlegde your faults, doesn't seem to change much.

Se avesse usato Dart tutto questo non sarebbe mai successo.

Immacolata concezione

Ad http://archive.vn/qN1x1
Meglio della Madonna! Se vuoi scoprire come ha fatto clicca qui!!‎
Avatar
☺
Scritto da
il 2013-01-16 09:36:07.0 alle 2013-01-16 09:36:07.0
Trollate totali: 2001
Re: Russian kid climbing a crane
Scritto da: Shotoo Ringer
>
> Ecco per me sono queste le persone che potenzialmente appartengono a un altra razza Sorpresa. Loro e quelli che scendono alle 5 del mattino (e magari con la pioggia o con la neve) a correre.
>

È gente destinata a vivere poco comunque, o a farsi molto molto male.
Lì non è che ci sono backup o corde che ti salvano la vita e le cose che possono andare storte sono molteplici e molto probabili:
- potresti scivolare
- potresti perdere l'equilibrio
- potrebbe venirti un malore/giramento di testa
- potrebbe venirti un crampo
- potrebbe esserci un'improvvisa folata di vento
- potrebbe verificarsi un piccolo sisma
- potresti aver sovrastimato la tua forza o la tua resistenza
- potresti starnutire o metterti a ridere perché quello che ti sta filmando fa il pagliaccio
- ...

Se cadi da quell'altezza hai la certezza di morire, quindi o non te ne frega nulla o sei tutto scemo.
Avatar
☺
Scritto da
il 2013-01-16 09:30:11.0 alle 2013-01-16 09:30:11.0
Trollate totali: 2001
Re: Ho provato ad accendere il 286
Scritto da:
> inattivo dal 2002 o poco più perché mio padre vuole dei file che non si è salvato, ma ciccia.
>
> Non si avvia il BIOS, non c'è il BEEP di approvazione. C'è una qualche possibilità di avviarlo prima di regalarlo a quelli che restaurano computer?
>
> Dovessi togliergli l'hard disk, a cosa potrei collegarlo per prenderne i dati?

In teoria è un normale disco IDE, quindi qualunque cosa che supporti i dischi IDE va bene.
Avatar
☺
Scritto da
il 2013-01-16 09:28:48.0 alle 2013-01-16 09:28:48.0
Trollate totali: 2001
Re: Ho provato ad accendere il 286
Scritto da:
> > > inattivo dal 2002 o poco più perché mio padre vuole dei file che non si è salvato, ma ciccia.
> > >
> > > Non si avvia il BIOS, non c'è il BEEP di approvazione. C'è una qualche possibilità di avviarlo prima di regalarlo a quelli che restaurano computer?
> >
> > Potrebbe essersi scaricata la batteria della memoria CMOS.
> > Quella a pasticca, da qualche parte dentro.
>
> Quando mi si è scaricata con gli altri computer il BIOS dimentica le impostazioni ma parte.

Si, ma per esempio nel mio vecchio 386 Olivetti se la batteria della CMOS non funziona il computer si avvia, ma non completa il boot perché non riconosce l'Hard Disk.
Il problema dei vecchi computer è che in genere non usavano la batteria a pastiglia rimpiazzabile che si usa oggi per il clock. A volte avevano una batteria esterna saldata sulla scheda madre, nel qual caso ti basta dissaldarla e sostituirla, ma a volte usavano un chip della Dallas che _conteneva_ la batteria, e l'unico modo per aggiustare questa cosa è seguire una "complicata" operazione che richiede l'apertura del chip, lo scollegamento della vecchia batteria interna e la sostituzione con un'altra batteria esterna saldata al posto della vecchia... dentro il chip. Io l'ho fatto e ci sono riuscito, ci sono dei tutorial online per farlo che mostrano dove tagliare e dove saldare.

Comunque il fatto che il PC non parta proprio né faccia beep mi da più da pensare ad un problema di alimentatore.

Il coraggio degli asiatici

Ad https://imgur.com/iYd5ZkJ
Cinesi salvano Gatto Selvaggio da sicuro annegamento, altro che musulmani!‎
Avatar
☺
Scritto da
il 2013-01-15 23:17:59.0 alle 2013-01-15 23:17:59.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da: Seu
> Oh, sono tante cose.
> Ad esempio ce ne sono un paio che ti fanno una relazione su di un argomento quasi qualsiasi scavando da wiki (in varie lingue)...con risultati mediocri.
> Oppure alcuni che gli dai in pasto delle sorgenti in c o c-like ti trovano gli errori logici e ti auto-blindano tutti i possibili inject malevoli.
> Poi c'è uno molto carino che ti aiuta a sviluppare codice, la ficata è che se lo metti ricorsivamente a sviluppare il suo stesso codice ti genera una accozzaglia di comandi incomprensibili all'umana comprensione ma perfettamente funzionanti.
> Un altro ti identifica le immagini e ti dice quel che vede...
> Poi ci sono dei demo di traduttori universali che non funzionano affatto ma che ti fanno sbellicare dalle risate...
> Uno che cerca anomalie gravitazionali sulle foto dello spazio (per trovare probabili buchi neri)...
> Un po' di tutto insomma.
>
> È stato un furto ritrovamento fortunato Geek
>
> Peccato richiedano centinaia di giga di database per funzionare Triste

Stai dicendo che ora che exsinistro è morto possiamo sostituirlo con una di queste cose? Sorpresa

**Modificato dall'autore il 15.01.2013 23:18**
Avatar
☺
Scritto da
il 2013-01-15 22:24:21.0 alle 2013-01-15 22:24:21.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da: Seu
> Scritto da: Renton Thurston
> > Scritto da: Seu
> > > Scritto da: Renton Thurston
> > > > Scritto da: Seu
> > > > > Scritto da: Renton Thurston
> > > > > > Scritto da:
> > > > > > > tu confondi compilare codice macchina e compilare bytecode
> > > > > > > retroingegnerizzare codice c è un casino e porta a risultati non consistenti
> > > > > > > retroingegnerizzare codice java è molto più semplice, ci sono programmi appositi e ti restituisce l'originale, a meno della semantica associata ai nomi delle entità coinvolte
> > > > > >
> > > > > > No non confondo proprio nulla.
> > > > > > La decompilazione dipende dal compilatore usato. Se il compilatore è buono e il bytecode è abbastanza base (ovvero è composto da operazioni semplici, come è l'assembly di un processore che puoi scegliere a caso) non hai grosse differenze fra decompilare codice macchina o decompiare bytecode. Alla fine il bytecode di una macchina virtuale lo puoi vedere come un assembly per una macchina che non esiste. Non è necessario copiare Java, io pensavo più a LLVM che come forse sai ha diversi front-end in diversi linguaggi fra cui C/C++, persino Erlang e converte tutto in una rappresentazione intermedia che assomiglia molto ad un assembly per una macchina che non esiste.
> > > > > >
> > > > > > Il punto comunque non è questo... qualsiasi programma può essere decompilato con un discreto sforzo, alcuni rendono il lavoro più difficile di altri, ma di certo è più complicato che capire codice javascript in chiaro o semplicemente "minimizzato".
> > > > > >
> > > > > > > > È più o meno come cercare di tornare indietro dal codice macchina ad un linguaggio ad alto livello... qualcosina la puoi anche fare, ma poi vai a capire tu il codice che ne salta fuori.
> > > > > > >
> > > > > > > vedi sopra
> > > > > >
> > > > > > Vedi sopra. L'obiettivo non è rendere impossibile la decompilazione (cosa non fattibile, in alcun linguaggio, in alcun assembly), ma renderla abbastanza difficile da renderla poco viabile. E comunque non è l'unico vantaggio di questa struttura a macchina virtuale.
> > > > > >
> > > > > > > e tu speri di riuscire a tipizzare fortemente a tempo di compilazione un linguaggio tipizzato debolmente?
> > > > > > > è semplicemente impossibile, mi immagino un campo di input in cui puoi inserire "1" oppure "a"
> > > > > > > come lo compili? concatenando stringhe o sommando numeri? come lo decidi?
> > > > > >
> > > > > > Non è così difficile come credi. Ti ricordo che qualsiasi linguaggio dinamico, per poter eseguire il tuo codice, alla fine DEVE tipizzarlo, e DEVE fare tutti i cast del caso... per la semplice ragione che la tua CPU _è_ tipizzata e ragiona su dati tipizzati. Non hai registri di CPU "dinamici", tutto alla fine deve convertirsi in una sequenza di istruzioni che hanno a che fare con numeri o stringhe. I linguaggi dinamici semplicemente si fanno carico di pensare per te quali tipi inserire, come e come usarli o convertirli di volta in volta. Questo li rende solitamente lenti e rendono la loro programmazione prona ad errori. Approcci stile Go e Scala sono più intelligenti... i tipi ce li hai ancora (sono staticamente tipizzati), ma nei limiti del possibile il linguaggio li assegna automaticamente cercando di capire che tipo è da come tu usi quei dati risparmiandoti di scrivere molte ovvietà e dandoti l'impressione di lavorare in un linguaggio dinamico.
> > > > > >
> > > > > > Un esempio di compilatore che già lo fa è proprio LLVM.
> > > > > > http://en.wikipedia.org/wiki/LLVM
> > > > > > Come puoi facilmente vedere è in grado di compilare anche Python che ha tipi dinamici. Vedi, non è impossibile. Anzi, come VM potrebbe probabilmente tranquillamente starci quella di LLVM. Fra l'altro da quanto ne so LLVM è un ottimo compilatore che spesso raggiunge e a volte oltrepassa in quanto ad efficenza persino i compilatori nativi in C.
> > > > >
> > > > > Sei proprio un rosikatore professionista A bocca storta
> > > > >
> > > >
> > > > Zitto, sto inventando il WEB 3.0 Arrabbiato
> > >
> > > È già iniziato, dovresti dedicarti al web4.0 Geek
> > >
> >
> > Ah. Ok. Sto inventando il WEB 4.0 Arrabbiato
>
> Casualmente ho un hd rubato pieno di agenti semantici automatici... Interessa l'affare? Geek

Sorpresa Sorpresa Sorpresa


Ma che roba è? Newbie, inesperto
Avatar
☺
Scritto da
il 2013-01-15 22:23:50.0 alle 2013-01-15 22:23:50.0
Trollate totali: 2001
Re: L'ITALIA CONDANNATA
Scritto da: Giambo
> Scritto da: Ordine Reich 2
>
> > > > > > Troia= donna che mette al primo posto il denaro
> > > > >
> > > > > Sono pochissime le persone su questo mondo che non mettono al primo posto il denaro: Il comunismo e' fallito.
> > > >
> > > > Ma il nazionalsocialismo no Ficoso
> > >
> > Il fatto che lo abbiano fatto cadere con la forza non significa che sia fallito. Se gli Alleati non fossero intervenuti sarebbe durato a lungo.
>
> Domandati perche' in 70 anni non e' mai risorto.
> Il comunismo, almeno, sopravvive in qualche forma in diversi paesi.

In realtà i metodi nazisti sono ampiamente usati tutt'oggi per esempio dagli israeliani nei confronti dei palestinesi A bocca storta
Avatar
☺
Scritto da
il 2013-01-15 21:53:40.0 alle 2013-01-15 21:53:40.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da: Seu
> Scritto da: Renton Thurston
> > Scritto da: Seu
> > > Scritto da: Renton Thurston
> > > > Scritto da:
> > > > > tu confondi compilare codice macchina e compilare bytecode
> > > > > retroingegnerizzare codice c è un casino e porta a risultati non consistenti
> > > > > retroingegnerizzare codice java è molto più semplice, ci sono programmi appositi e ti restituisce l'originale, a meno della semantica associata ai nomi delle entità coinvolte
> > > >
> > > > No non confondo proprio nulla.
> > > > La decompilazione dipende dal compilatore usato. Se il compilatore è buono e il bytecode è abbastanza base (ovvero è composto da operazioni semplici, come è l'assembly di un processore che puoi scegliere a caso) non hai grosse differenze fra decompilare codice macchina o decompiare bytecode. Alla fine il bytecode di una macchina virtuale lo puoi vedere come un assembly per una macchina che non esiste. Non è necessario copiare Java, io pensavo più a LLVM che come forse sai ha diversi front-end in diversi linguaggi fra cui C/C++, persino Erlang e converte tutto in una rappresentazione intermedia che assomiglia molto ad un assembly per una macchina che non esiste.
> > > >
> > > > Il punto comunque non è questo... qualsiasi programma può essere decompilato con un discreto sforzo, alcuni rendono il lavoro più difficile di altri, ma di certo è più complicato che capire codice javascript in chiaro o semplicemente "minimizzato".
> > > >
> > > > > > È più o meno come cercare di tornare indietro dal codice macchina ad un linguaggio ad alto livello... qualcosina la puoi anche fare, ma poi vai a capire tu il codice che ne salta fuori.
> > > > >
> > > > > vedi sopra
> > > >
> > > > Vedi sopra. L'obiettivo non è rendere impossibile la decompilazione (cosa non fattibile, in alcun linguaggio, in alcun assembly), ma renderla abbastanza difficile da renderla poco viabile. E comunque non è l'unico vantaggio di questa struttura a macchina virtuale.
> > > >
> > > > > e tu speri di riuscire a tipizzare fortemente a tempo di compilazione un linguaggio tipizzato debolmente?
> > > > > è semplicemente impossibile, mi immagino un campo di input in cui puoi inserire "1" oppure "a"
> > > > > come lo compili? concatenando stringhe o sommando numeri? come lo decidi?
> > > >
> > > > Non è così difficile come credi. Ti ricordo che qualsiasi linguaggio dinamico, per poter eseguire il tuo codice, alla fine DEVE tipizzarlo, e DEVE fare tutti i cast del caso... per la semplice ragione che la tua CPU _è_ tipizzata e ragiona su dati tipizzati. Non hai registri di CPU "dinamici", tutto alla fine deve convertirsi in una sequenza di istruzioni che hanno a che fare con numeri o stringhe. I linguaggi dinamici semplicemente si fanno carico di pensare per te quali tipi inserire, come e come usarli o convertirli di volta in volta. Questo li rende solitamente lenti e rendono la loro programmazione prona ad errori. Approcci stile Go e Scala sono più intelligenti... i tipi ce li hai ancora (sono staticamente tipizzati), ma nei limiti del possibile il linguaggio li assegna automaticamente cercando di capire che tipo è da come tu usi quei dati risparmiandoti di scrivere molte ovvietà e dandoti l'impressione di lavorare in un linguaggio dinamico.
> > > >
> > > > Un esempio di compilatore che già lo fa è proprio LLVM.
> > > > http://en.wikipedia.org/wiki/LLVM
> > > > Come puoi facilmente vedere è in grado di compilare anche Python che ha tipi dinamici. Vedi, non è impossibile. Anzi, come VM potrebbe probabilmente tranquillamente starci quella di LLVM. Fra l'altro da quanto ne so LLVM è un ottimo compilatore che spesso raggiunge e a volte oltrepassa in quanto ad efficenza persino i compilatori nativi in C.
> > >
> > > Sei proprio un rosikatore professionista A bocca storta
> > >
> >
> > Zitto, sto inventando il WEB 3.0 Arrabbiato
>
> È già iniziato, dovresti dedicarti al web4.0 Geek
>

Ah. Ok. Sto inventando il WEB 4.0 Arrabbiato

NO NOn lo so

Ad sallo.it
LO SAI? Allora NON fa per te. NON LO SAI? Allora non ti serve ‎
Avatar
☺
Scritto da
il 2013-01-15 21:41:05.0 alle 2013-01-15 21:41:05.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da: Seu
> Scritto da: Renton Thurston
> > Scritto da:
> > > tu confondi compilare codice macchina e compilare bytecode
> > > retroingegnerizzare codice c è un casino e porta a risultati non consistenti
> > > retroingegnerizzare codice java è molto più semplice, ci sono programmi appositi e ti restituisce l'originale, a meno della semantica associata ai nomi delle entità coinvolte
> >
> > No non confondo proprio nulla.
> > La decompilazione dipende dal compilatore usato. Se il compilatore è buono e il bytecode è abbastanza base (ovvero è composto da operazioni semplici, come è l'assembly di un processore che puoi scegliere a caso) non hai grosse differenze fra decompilare codice macchina o decompiare bytecode. Alla fine il bytecode di una macchina virtuale lo puoi vedere come un assembly per una macchina che non esiste. Non è necessario copiare Java, io pensavo più a LLVM che come forse sai ha diversi front-end in diversi linguaggi fra cui C/C++, persino Erlang e converte tutto in una rappresentazione intermedia che assomiglia molto ad un assembly per una macchina che non esiste.
> >
> > Il punto comunque non è questo... qualsiasi programma può essere decompilato con un discreto sforzo, alcuni rendono il lavoro più difficile di altri, ma di certo è più complicato che capire codice javascript in chiaro o semplicemente "minimizzato".
> >
> > > > È più o meno come cercare di tornare indietro dal codice macchina ad un linguaggio ad alto livello... qualcosina la puoi anche fare, ma poi vai a capire tu il codice che ne salta fuori.
> > >
> > > vedi sopra
> >
> > Vedi sopra. L'obiettivo non è rendere impossibile la decompilazione (cosa non fattibile, in alcun linguaggio, in alcun assembly), ma renderla abbastanza difficile da renderla poco viabile. E comunque non è l'unico vantaggio di questa struttura a macchina virtuale.
> >
> > > e tu speri di riuscire a tipizzare fortemente a tempo di compilazione un linguaggio tipizzato debolmente?
> > > è semplicemente impossibile, mi immagino un campo di input in cui puoi inserire "1" oppure "a"
> > > come lo compili? concatenando stringhe o sommando numeri? come lo decidi?
> >
> > Non è così difficile come credi. Ti ricordo che qualsiasi linguaggio dinamico, per poter eseguire il tuo codice, alla fine DEVE tipizzarlo, e DEVE fare tutti i cast del caso... per la semplice ragione che la tua CPU _è_ tipizzata e ragiona su dati tipizzati. Non hai registri di CPU "dinamici", tutto alla fine deve convertirsi in una sequenza di istruzioni che hanno a che fare con numeri o stringhe. I linguaggi dinamici semplicemente si fanno carico di pensare per te quali tipi inserire, come e come usarli o convertirli di volta in volta. Questo li rende solitamente lenti e rendono la loro programmazione prona ad errori. Approcci stile Go e Scala sono più intelligenti... i tipi ce li hai ancora (sono staticamente tipizzati), ma nei limiti del possibile il linguaggio li assegna automaticamente cercando di capire che tipo è da come tu usi quei dati risparmiandoti di scrivere molte ovvietà e dandoti l'impressione di lavorare in un linguaggio dinamico.
> >
> > Un esempio di compilatore che già lo fa è proprio LLVM.
> > http://en.wikipedia.org/wiki/LLVM
> > Come puoi facilmente vedere è in grado di compilare anche Python che ha tipi dinamici. Vedi, non è impossibile. Anzi, come VM potrebbe probabilmente tranquillamente starci quella di LLVM. Fra l'altro da quanto ne so LLVM è un ottimo compilatore che spesso raggiunge e a volte oltrepassa in quanto ad efficenza persino i compilatori nativi in C.
>
> Sei proprio un rosikatore professionista A bocca storta
>

Zitto, sto inventando il WEB 3.0 Arrabbiato
Avatar
☺
Scritto da
il 2013-01-15 21:22:21.0 alle 2013-01-15 21:22:21.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da:
> tu confondi compilare codice macchina e compilare bytecode
> retroingegnerizzare codice c è un casino e porta a risultati non consistenti
> retroingegnerizzare codice java è molto più semplice, ci sono programmi appositi e ti restituisce l'originale, a meno della semantica associata ai nomi delle entità coinvolte

No non confondo proprio nulla.
La decompilazione dipende dal compilatore usato. Se il compilatore è buono e il bytecode è abbastanza base (ovvero è composto da operazioni semplici, come è l'assembly di un processore che puoi scegliere a caso) non hai grosse differenze fra decompilare codice macchina o decompiare bytecode. Alla fine il bytecode di una macchina virtuale lo puoi vedere come un assembly per una macchina che non esiste. Non è necessario copiare Java, io pensavo più a LLVM che come forse sai ha diversi front-end in diversi linguaggi fra cui C/C++, persino Erlang e converte tutto in una rappresentazione intermedia che assomiglia molto ad un assembly per una macchina che non esiste.

Il punto comunque non è questo... qualsiasi programma può essere decompilato con un discreto sforzo, alcuni rendono il lavoro più difficile di altri, ma di certo è più complicato che capire codice javascript in chiaro o semplicemente "minimizzato".

> > È più o meno come cercare di tornare indietro dal codice macchina ad un linguaggio ad alto livello... qualcosina la puoi anche fare, ma poi vai a capire tu il codice che ne salta fuori.
>
> vedi sopra

Vedi sopra. L'obiettivo non è rendere impossibile la decompilazione (cosa non fattibile, in alcun linguaggio, in alcun assembly), ma renderla abbastanza difficile da renderla poco viabile. E comunque non è l'unico vantaggio di questa struttura a macchina virtuale.

> e tu speri di riuscire a tipizzare fortemente a tempo di compilazione un linguaggio tipizzato debolmente?
> è semplicemente impossibile, mi immagino un campo di input in cui puoi inserire "1" oppure "a"
> come lo compili? concatenando stringhe o sommando numeri? come lo decidi?

Non è così difficile come credi. Ti ricordo che qualsiasi linguaggio dinamico, per poter eseguire il tuo codice, alla fine DEVE tipizzarlo, e DEVE fare tutti i cast del caso... per la semplice ragione che la tua CPU _è_ tipizzata e ragiona su dati tipizzati. Non hai registri di CPU "dinamici", tutto alla fine deve convertirsi in una sequenza di istruzioni che hanno a che fare con numeri o stringhe. I linguaggi dinamici semplicemente si fanno carico di pensare per te quali tipi inserire, come e come usarli o convertirli di volta in volta. Questo li rende solitamente lenti e rendono la loro programmazione prona ad errori. Approcci stile Go e Scala sono più intelligenti... i tipi ce li hai ancora (sono staticamente tipizzati), ma nei limiti del possibile il linguaggio li assegna automaticamente cercando di capire che tipo è da come tu usi quei dati risparmiandoti di scrivere molte ovvietà e dandoti l'impressione di lavorare in un linguaggio dinamico.

Un esempio di compilatore che già lo fa è proprio LLVM.
http://en.wikipedia.org/wiki/LLVM
Come puoi facilmente vedere è in grado di compilare anche Python che ha tipi dinamici. Vedi, non è impossibile. Anzi, come VM potrebbe probabilmente tranquillamente starci quella di LLVM. Fra l'altro da quanto ne so LLVM è un ottimo compilatore che spesso raggiunge e a volte oltrepassa in quanto ad efficenza persino i compilatori nativi in C.
Avatar
☺
Scritto da
il 2013-01-15 16:55:49.0 alle 2013-01-15 16:55:49.0
Trollate totali: 2001
Re: 'Murica !
Scritto da: Nathan
> Scritto da: Renton Thurston
> > Scritto da: Giambo
> > > Scritto da: Renton Thurston
> > >
> > > > È quello che ottieni in una società giustizialista in cui le pene si sommano matematicamente
> > >
> > > Intanto Breivik si fa 20 anni.
> >
> > E quindi?
> > Cambia qualcosa ai morti se si fa 20 anni o 2000?
> >
>
> per i morti no ma per i vivi si Ficoso

Forse stai confondendo la vendetta con la giustizia. È una cosa che fai spesso.
Avatar
☺
Scritto da
il 2013-01-15 16:26:33.0 alle 2013-01-15 16:26:33.0
Trollate totali: 2001
Re: 'Murica !
Scritto da: Giambo
> Scritto da: Renton Thurston
>
> > È quello che ottieni in una società giustizialista in cui le pene si sommano matematicamente
>
> Intanto Breivik si fa 20 anni.

E quindi?
Cambia qualcosa ai morti se si fa 20 anni o 2000?

Titolo di prova

Ad gtregtg
sfvgfgg‎
Avatar
☺
Scritto da
il 2013-01-15 15:25:22.0 alle 2013-01-15 15:25:22.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da:
> puoi retroingegnerizzare bytecode e ti ritrovi l'esatto corrispondente di javascript offuscato (senza nomi parlanti per le variabili)

Non proprio. Potendo compilare il compilatore può fare scelte e semplificazioni che generano codice da cui non è affatto facile tornare indietro a qualcosa di umanamente comprensibile.
È più o meno come cercare di tornare indietro dal codice macchina ad un linguaggio ad alto livello... qualcosina la puoi anche fare, ma poi vai a capire tu il codice che ne salta fuori.


> > Siccome la compilazione avviene "offline" direttamente dallo sviluppatore avresti anche web-app che si avviano molto più velocemente
>
> interpretate esattamente come javascript

Sarebbe molto più veloce. Proprio come Java. Si, Java una volta avviato è molto veloce. Sicuramente si potrebbe raggiungere velocità maggiori di quelle di V8 non fosse altro perché una parte del lavoro è già stata fatta precedentemente. A cui poi devi sommare la possibilità del compilatore di fare semplificazioni e altri passaggi logici per rendere ancora più veloce il codice generato, cosa che difficilmente un umano fa o sa fare.

> > e su cui è già stato possibile fare controlli a livello di compilazione (compatibilità di tipi, ecc).
>
> allora devi decidere a monte la tipizzazione forte o debole e non ti ritrovi più un bytecode "universale"

Il bytecode può essere universale mentre il linguaggio può o meno essere tipizzato. Il grosso del lavoro qui lo fa il compilatore che dovrà convertire il linguaggio in qualcosa che la macchina a bytecode sa interpretare, fra cui anche dedurre i tipi ed effettuare le eventuali conversioni nel caso che la macchina a bytecode sia tipizzata (cosa che secondo me è buona e giusta) mentre il linguaggio sia dinamico.
Avatar
☺
Scritto da
il 2013-01-15 15:17:52.0 alle 2013-01-15 15:17:52.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da:
> > Una Applet oggi può per esempio bypassare le impostazioni del browser, può fottersene se il browser ha un proxy, ecc. La sicurezza è imposta dalla stessa Virtual Machine in cui è eseguita e il browser può solo "stare a guardare".
>
> Sarà un caso che Applet ha in comune le prime cinque lettere con Apple?

Brutti figli di... Arrabbiato
Avatar
☺
Scritto da
il 2013-01-15 15:17:10.0 alle 2013-01-15 15:17:10.0
Trollate totali: 2001
Re: Alex.Tg
Scritto da:
> Scritto da: Renton Thurston
> > Scritto da:
> > > Scritto da: Renton Thurston
> > > > Scritto da:
> > > > > Scritto da: Renton Thurston
> > > > > > Ho un bel progettino per te. Che ti renderà ricco e famoso.
> > > > > > Parti leggendo questo: Re: Dart e i due link di suoranciata
> > > > > >
> > > > > > Quello che devi fare è inventarti una "Virtual Machine" che accetta un bytecode stile quello di Java (un linguaggio macchina che ti inventi tu insomma) e che gira all'interno dei browser come plugin.
> > > > > >
> > > > > > Vantaggi:
> > > > > > - possibilità di programmare in che linguaggio voglio, basta che compili in bytecode valido
> > > > > > - possibilità anche di cambiare la VM nel caso in futuro ne esca una migliore (più performante, più sicura, ecc)
> > > > > > - possibilità di aggiornare la VM senza dover aggiornare il browser
> > > > > > - far uscire i linguaggi dalle browser-wars
> > > > > >
> > > > > > Svantaggi:
> > > > > > - nessuno
> > > > > >
> > > > > > Fallo e avrai un futuro di oro, incenso e birra.
> > > > >
> > > > > perchè le applet non esistono più?
> > > >
> > > > Le applet non c'entrano.
> > >
> > > Quello che devi fare è inventarti una "Virtual Machine" che accetta un bytecode stile quello di Java (un linguaggio macchina che ti inventi tu insomma) e che gira all'interno dei browser come plugin.
> > >
> > > sticazzi
> >
> > Per certi versi il concetto è simile a quelle delle Applet, per altri è diverso.
> > È simile nel senso che hai una virtual machine che esegue bytecode. Ma è diverso da una Applet perché bene o male le Applet sono indipendenti dalla pagina WEB in cui sono ospitate, sono come "programmi esterni" che vengono eseguiti nella pagina, con tanto di loro GUI, loro Widget, ecc.
> >
> > Quello che intendo io è qualcosa di molto più integrato nel browser, per questo ripensandoci forse il concetto di integrarlo nel browser come plug-in non va bene, ci vorrebbe un'interfaccia apposita, che permetta al browser di avere pieno controllo su quello che quello "script engine" può fare o meno.
> >
> > Una Applet oggi può per esempio bypassare le impostazioni del browser, può fottersene se il browser ha un proxy, ecc. La sicurezza è imposta dalla stessa Virtual Machine in cui è eseguita e il browser può solo "stare a guardare".
> >
> > Lo scopo della mia proposta non è dunque quello di avere programmi indipendenti dalla pagina WEB ma di avere qualcosa che è profondamente integrato nella pagina WEB. Proprio come è oggi Javascript. Javascript non può fare cazzate perché è il browser che lo blocca se ci prova. Javascript non ha la sua GUI ma usa gli elementi HTML della pagina per lavorare. Diciamo che la mia idea è un Javascript ma in bytecode, il cui engine può essere eventualmente cambiato con uno migliore.
> >
> > Il bytecode sarebbe standard, l'engine invece potrebbe essere implementato da terzi. Firefox, Chrome, ecc potrebbero sviluppare il loro engine che interpreta quel bytecode, ma nulla impedirebbe a me di sostituirlo senza dover cambiare browser... e tutto questo senza rischiare nulla in termini di sicurezza perché sarebbe il browser ad occuparsi di questo aspetto.
> >
> > Con le Applet attuali quindi questo approccio condivide solo il concetto di Virtual Machine che gira dentro un browser.
>
> insomma un altro interprete Annoiato

Se non ti interessa puoi sempre continuare ad usare Javascript.

Pagina generata in 225 millisecondi

Utenti attivi: 9 nell'ultimo minuto, 20 negli ultimi cinque minuti, 51 negli ultimi 15 minuti