Talk:Dynamic programming language: Difference between revisions

Content deleted Content added
Re-organized discussion
No edit summary
Line 5:
=== Languages ===
I believe that everybody agrees that
* Compiled C is not dynamic.
* Lisp, Scheme, Dylan, Python, Ruby are dynamic.
 
What about
* Haskell and OCaml ? After all, they support dynamic programming, with extensions, they can perform compile-time reflexivity, etc.
* Java ? After all, it supports reflexivity and, with extensions, it supports dynamic programming, etc.
* Acute ? It's statically + dynamically typed.
* Self-modifiable assembly language ?
 
=== Criteria ===
* Dynamic = interpreted ?
* Dynamic = dynamically-typed ?
* Dynamic = check as many things as possible at run-time rather than ahead-of-time (including types and possibly syntax) ?
* Dynamic = no need for type annotations ?
* Dynamic = interactive programming ?
* Dynamic = modifying properties of the language itself at run-time ? (à la SmallTalk)
* Dynamic = run-time read/only introspection ? (à la Python, Ruby)
* Dynamic = run-time read/write introspection ?
* Dynamic = dynamically linked ?
* Dynamic = new and shiny ?
 
Is there such a thing as '''a dynamic programming language''' or should we say that one language is '''more dynamic''' than another ? I would vote for the second option.
 
Is there such a thing as '''a dynamic programming language''' or should we say that one ''implementation'' of a language is '''dynamic''' ? I would vote for the second option. After all, iirc, there's an interpreted version of C, with a toplevel and the possibility of adding or replacing functions at run-time. Still, it is the same language.
 
===Characteristics of dynamic programming languages===
Line 50 ⟶ 52:
 
 
==Discussions on Dynamic languages==
===Advantages===