3 ms·
I'm not sure we use the same definition for that word. By "dynamic", I meant "dynamically typed language". Java is certainly statically typed while Smalltalk i
by incepted 11y ago
I'm not sure we use the same definition for that word.
By "dynamic", I meant "dynamically typed language". Java is certainly statically typed while Smalltalk is dynamically typed.
What's your definition of "dynamic" that makes you say Java is?
- klibertp 11y ago"Dynamic" and "dynamically typed" are not exactly the same things. As Wikipedia puts it: > Most dynamic languages are also dynamically typed, but not all are. The concepts (both "dynamic language" and "dynamic typing") are not very precise, but, in general, a language may be called dynamic if it has eval, dynamic dispatch with something like "method_missing" or reflection (and this is what Java has).
- incepted 11y agoJava has reflection and not method_missing, yet you are probably the first person I ever heard call Java "dynamic".
- klibertp 11y ago> Java has reflection and not method_missing, Yeah, that's what I meant, sorry for the confusion. > yet you are probably the first person I ever heard call Java "dynamic" https://en.wikipedia.org/wiki/Dynamic_programming_language https://en.wikipedia.org/wiki/Dynamic_programming_language - see the "Examples" section. As I said, "static" and "dynamic" concepts are not well-defined, and they're not binary, either. Most languages have some static and some dynamic components; some are closer to dynamic, and some closer to static end of the spectrum. Java sits somewhere in the middle, a bit more to the static side. It's much more dynamic than Haskell, and quite a bit more dynamic than C++ for example. On the other hand, if you compare it with Smalltalk, Self, Lua, Io and many other usual suspects it indeed looks static like a rock.