Sembra che ho avuto modo di concordare con questa post quando afferma chepiù dinamico linguaggio di programmazione dinamica
[...] il codice nei linguaggi dinamicamente tipizzati segue le convenzioni statico-battitura
Il codice di linguaggio molto dinamico che incontro sembra effettivamente essere statico (pensando a PHP) mentre gli approcci dinamici sembrano invece piuttosto goffi o non necessari.
La maggior parte delle volte si tratta di omettere le firme dei tipi, che, nel contesto dell'inferenza di tipo/tipizzazione strutturale, non devono nemmeno implicare la digitazione dinamica.
Quindi la mia domanda (e non è destinata ad essere troppo soggettiva) è, in cui linguaggi dinamici o campi di applicazione sono tutte queste caratteristiche del linguaggio dinamiche più avanzate (che couln't essere replicato in statica/compilato lingue che facilmente) effettivamente e idomaticamente utilizzato.
Esempi:
- Reflection
- continuazioni prima classe
- runtime oggetto alterazione/generazione
- Metaprogrammazione
- runtime Analisi codice
- comportamento membro inesistente
Quali sono le applicazioni utili per tali tecniche?
Non voglio essere un pedante, ma penso che dobbiamo definire un "linguaggio dinamico" un po 'meglio, almeno al di là di queste caratteristiche. Ad esempio, Haskell è generalmente considerato il paragone di un linguaggio statico, ma ha riflessioni, continuazioni, metaprogrammazione (vedi Template Haskell) e valutazione del codice runtime. Stiamo parlando della tipizzazione dinamica rispetto a quella statica? Spedizione dinamica? Cos'è "dinamico"? – Chuck
@Chuck: Beh, hai ragione e, ad essere onesti, non è così facile.Mi limiterei solo alle funzionalità che ho proposto, includo tutti i linguaggi di scripting/lingue digitate dinamicamente e faccio il resto ex negativo (nessuno considererà C++ un linguaggio dinamico);) – Dario