Talk:Dynamic programming language

message: Based on the lack of sources and confusion regarding the term, it seems like this article would be better to merge into interpreted language and possibly dynamic typing. As the article appears right now, it reads like it was written by LISP users who want an article fitting their vocabulary, rather than something that fits with the other compsci/PLT articles. h3st (talk) 18:52, 24 November 2015 (UTC)
replies: text: No, the notion of a dynamic programming language is not really related to interpretation, nor really to dynamic typing (although both are common in dynamic languages).  OTOH while the article was pretty incomplete before, it's still incomplete, but rather Lisp heavy.  Rwessel (talk) 20:42, 24 November 2015 (UTC)
thread_title:  Merge? 

message: I believe that everyone agrees that dynamic programmig language does not have a precise definition. That's including programming language designers/designers wannabe . In addition, this term has been greatly misused by journalists and techies (including Gosling) who simply didn't know what they were talking about. If this article provides a precise definition, well, we need to build it first.
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 ?
* 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.
I have a better suggestion: A dynamic programming language is one that supports rapid development cycles: rapid modification of code and designs, etc.   Also, such languages are not "new and shiny"; they have been with us since the  late 1950's (LISP).
=== Interpretation ===
Lisp is dynamic. Lisp can be compiled. Is that a good-enough counter-example ? I must admit that I don't know enough about the internals of Lisp compilation. Yoric 16:58, 14 June 2006 (UTC)
replies: text: Maybe.  I'm still not sure what exactly this article wants to classify as a dynamic language.  Pike is a statically typed, high level, object oriented, interpreted language.  Is it a dynamic language?  I can't tell from this article.  Its similar to a statically typed python with C-style syntax though. Generic Player 04:09, 6 Apr 2005 (UTC)

text: simply because the type system is not the point. It may be easier to implement a dynamic language as a dynamically typed language. Still it is not the same.  —Preceding unsigned comment added by 85.177.153.98 (talk) 13:53, 6 February 2008 (UTC)
thread_title:  What exactly is a dynamic programming language ? 

message: * 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 ?
* 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.
I have a better suggestion: A dynamic programming language is one that supports rapid development cycles: rapid modification of code and designs, etc.   Also, such languages are not "new and shiny"; they have been with us since the  late 1950's (LISP).
=== Interpretation ===
Lisp is dynamic. Lisp can be compiled. Is that a good-enough counter-example ? I must admit that I don't know enough about the internals of Lisp compilation. Yoric 16:58, 14 June 2006 (UTC)
replies: text: Maybe.  I'm still not sure what exactly this article wants to classify as a dynamic language.  Pike is a statically typed, high level, object oriented, interpreted language.  Is it a dynamic language?  I can't tell from this article.  Its similar to a statically typed python with C-style syntax though. Generic Player 04:09, 6 Apr 2005 (UTC)

text: simply because the type system is not the point. It may be easier to implement a dynamic language as a dynamically typed language. Still it is not the same.  —Preceding unsigned comment added by 85.177.153.98 (talk) 13:53, 6 February 2008 (UTC)
thread_title:  Criteria 

message: Lisp is dynamic. Lisp can be compiled. Is that a good-enough counter-example ? I must admit that I don't know enough about the internals of Lisp compilation. Yoric 16:58, 14 June 2006 (UTC)
thread_title:  Interpretation 

message: Could anyone give an example of a dynamic programming language which is not dynamically typed, or a dynamically typed programming language which is not dynamic? -- ciphergoth 20:05, 2005 Apr 5 (UTC)
:Maybe.  I'm still not sure what exactly this article wants to classify as a dynamic language.  Pike is a statically typed, high level, object oriented, interpreted language.  Is it a dynamic language?  I can't tell from this article.  Its similar to a statically typed python with C-style syntax though. Generic Player 04:09, 6 Apr 2005 (UTC)
replies: text: simply because the type system is not the point. It may be easier to implement a dynamic language as a dynamically typed language. Still it is not the same.  —Preceding unsigned comment added by 85.177.153.98 (talk) 13:53, 6 February 2008 (UTC)
thread_title:  Dynamic typing, type annotations 

message: The term dynamic programming language does not have a precise definition, but it is nevertheless useful to refer to what distinguishes "dynamic" languages such as  Perl and Python from more traditional languages such as C, C++, and Java.  Not all languages considered dynamic will have all of the features below, and some non-dynamic languages will share some of them or have some way to achieve the same effect; the reader should assume that there are exceptions nearly all of the generalizations below.
Traditional programming languages require that the program be annotated with extra information (such as type declarations) that makes the compile-time checking possible.  Dynamic languages dispense with these annotations because they use extra information available at runtime instead.  In particular, they are dynamically typed, and use automatic memory management.
The fact that people use the term dynamic programming language in a variety of imprecise ways doesn't mean it has no precise definition. The current definition "execute at runtime many common behaviors that other languages might perform during compilation" is correct. No language is entirely static (performing all behaviors at compile time) or entirely dynamic (performing all behaviors at runtime), most languages group in the center between the two extremes, with a few outliers ranking highly static (C) or highly dynamic (Smalltalk). That said, it is useful to classify languages based on which dynamic features they include, and how many dynamic features they include. A table similar to those on Comparison of programming languages would be useful on this page, showing at least "dynamic compilation" (eval/closures/continuations/higher-order functions/self-modification/just-in-time), "dynamic dispatch" (symbolic/multiple dispatch/polymorphic inline caching), "dynamic typing" (not to be confused with weak/implicit, since dynamic type systems can also be strong/explicit), "dynamic loading" (library extension/inclusion/linking), "introspection" (access to meta-information about the source/internal details of the runtime environment). Allisonrandal (talk) 21:24, 13 September 2009 (UTC)
thread_title: Characteristics of dynamic programming languages

message: * Dynamic programming languages are generally somewhat easier for newcomers to programming, in large part because they need not understand the system of annotations referred to above in order to write programs
* This delay can be dramatically reduced almost to zero in practice however, for instance, the Objective-C programming language used a pre-loaded cache and a small bit of assembler code in order to reduce this overhead to a single operation.
----
That's a claim I've often heard. I've never seen anything to back it. Does anyone have any clue ?
Yoric 14:25, 14 June 2006 (UTC)
thread_title: Advantages

message: You can't have it both ways: either a language tries to do extensive compile-time checking, or it defers such checks until runtime.  Eiffel advertises itself with all the wonderful things it does at compile time.  As a result, it can't be a "dynamic language".  In fact, Eiffel is the prototypical static language.
Agreed. Neither are Oberon and Objective Modula-2.
VB6 has it both ways.  The type of a variable can be declared and the compiler checks the method calls at compile time.  Or if the type is Object, then the type checking is deferred to runtime when the underlying type is queried to see if it will respond to the method call. 86.10.80.92 (talk) 21:46, 2 July 2008 (UTC)
thread_title: Wrong Languages

message: When I read about DPLs, my first question is "how is this different from scripting?" The article needs to explore this — right now the word "scripting" doesn't even appear, even though common DPLs are more commonly called "scripting languages." 
Even if the distinction is purely artificial (I suspect there's differing opinions on that!) it's an obvious thing to talk about.Isaac R (talk) 18:14, 26 June 2009 (UTC)
thread_title:  Scripting 

message: I'll see if I can find the time to take a crack at this article. It's in rough shape.
I think that the problem here is that it tries to define Dynamic programming language as a first order categorization. As other commenters have stated, "Dynamic" is used to refer to a large collection of semantics of a programming language.
The term "dynamic programming language" is a rather loose term used to categorize a programming language that tends to have many dynamic features. Sometimes "dynamic programming language" is used as a comparator of two or more languages. For example: "Why are you using C when a more dynamic programming language such as Lisp seems a better choice?"
If I can find the time, I'll take a whack at it. 
Neil Smithline (talk) 20:49, 4 June 2012 (UTC)
thread_title:  <verbiage-conversion type="DIPLOMATIC">This Article Could Be Better</verbiage-conversion> 

message: What is that whole section even doing in this article?  While some dynamic scripting languages adopted closures and higher-order functions like map much earlier than mainstream static languages like Java, there's nothing fundamentally functional about dynamic languages.  The whole article is badly organised and reads as if written by somebody who just copied and pasted random text from web search results.  Itsbruce (talk)  —Preceding undated comment added 14:53, 15 March 2017 (UTC)
thread_title:  Functional Programming/Closures? 

message: Hello fellow Wikipedians,
I have just modified one external link on Dynamic programming language. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://www.webcitation.org/65Qmg4eQj?url=http://groovy.codehaus.org/ to http://groovy.codehaus.org/
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 07:15, 15 September 2017 (UTC)
thread_title:  External links modified 

message: Incorrect Hyperlink to Static Programming Language. Clicking "Static Programming Language" hyperlink takes to Static Program Analysis Shankar vm (talk) 17:13, 11 April 2023 (UTC)
thread_title:  Incorrect Hyperlink to Static Programming Language