Parece que tengo que estar de acuerdo con esta post cuando afirma quemás dinámico lenguaje de programación dinámico
[...] código en lenguajes de tipado dinámico sigue las convenciones de tipificación estática
código de lenguaje dinámico mucho me encuentro parece que en efecto ser bastante estática (pensando en PHP) mientras que los enfoques dinámicos parecen algo torpe o innecesario en su lugar.
La mayoría de las veces, se trata simplemente de omitir las firmas de tipo, que, en el contexto de la tipo-inferencia/tipado estructural, ni siquiera tiene que implicar el tipado dinámico en absoluto.
Así que mi pregunta (y no está destinado a ser demasiado subjetivo) es, en la que los lenguajes dinámicos o campos de aplicación son todas estas características dinámicas del lenguaje más avanzados (que Couln't ser replicado en estática/compilado idiomas que fácilmente) realidad y idomatically utilizan.
Ejemplos:
- Reflexión
- continuaciones de primera clase
- Runtime objeto alteración/generación
- Metaprogramación
- Runtime evaluación código
- inexistente comportamiento miembro
¿Cuáles son aplicaciones útiles para estas técnicas?
No quiero ser pedante, pero creo que tenemos que definir un "lenguaje dinámico" un poco mejor, al menos más allá de estas características. Por ejemplo, Haskell generalmente se considera el modelo de un lenguaje estático, pero tiene reflejo, continuaciones, metaprogramación (ver Plantilla Haskell) y evaluación del código de tiempo de ejecución. ¿Estamos hablando de tipeo dinámico versus estático? ¿Despacho dinámico? ¿Qué es "dinámico"? – Chuck
@Chuck: Bueno, tienes razón y, para ser sincero, no es tan fácil.Me limitaría a las características que propuse, incluiré todos los lenguajes de scripting/lenguajes tipados dinámicamente y haré el resto ex negativo (nadie considerará que C++ es un lenguaje dinámico);) – Dario