Cosa si intende per valutazione dinamica del codice?

2

Quanto segue è tratto dalla prefazione di Nuovo libro di Jon Resig: Segreti di JavaScript Ninjas

The portions of this book that cover features that are relatively un-changing, such as code evaluation, with statements, and timers are continually being used in interesting ways. There are now a number of active programming languages that are built on top of, or compiled to, JavaScript: Such as CoffeeScript or Processing.js. These languages require complex language parsing, code evaluation, and scope manipulation in order to work effectively. While dynamic code evaluation has been maligned due to its complexity and potential for security issues, without it we would not have had the CoffeeScript programming language – which has gone on to influence the upcoming ECMAScript specification itself.

I’m personally making use of all of these features, even today, in my work at Khan Academy. Dynamic code evaluation in the browser is such a powerful feature: You can build in-browser programming environments and do crazy things like inject code into a live runtime. This can result in an extremely compelling way to learn computer programming and provide all sorts of capabilities that wouldn’t be possible in a traditional learning environment.

Che cos'è in realtà "Valutazione del codice dinamico"? Quali sono i suoi benefici? Si prega di illustrare con un esempio ben ideato.

    
posta Subhra 21.07.2012 - 18:56
fonte

1 risposta

4

Valutazione del codice dinamico significa "esecuzione del codice all'interno del codice" - il primo "codice" è rappresentato da stringhe nel secondo "codice".

Le lingue non compilate forniscono un modo per eseguire codice da un programma. Tutti i passaggi (analisi, generazione del codice intermedio, ottimizzazione, ecc.) Vengono eseguiti al volo per il codice elaborato dinamicamente.

La valutazione del codice dinamico è utile specialmente quando non è possibile scrivere codice senza alcune variabili che sono disponibili solo in fase di esecuzione. Guarda un esempio in questa domanda.

Un altro vantaggio è il debug. Puoi scrivere debugger personalizzati in grado di eseguire codice in uno specifico punto di interruzione mentre il programma è in movimento.

    
risposta data 21.07.2012 - 19:10
fonte

Leggi altre domande sui tag