On 11/19/2011 08:00 PM, Walter Bright wrote:
Since OCaml allows both mutable and immutable state, I stand corrected
in regards to OCaml. But my point still stands.
What point? This sub-thread was about OCaml.
For example, Java has been called "multi-paradigm" because it supports
OOP and Imperative. But there's no getting away from OOP in Java. All
data structures are Objects. Even arrays are Objects. Hence, OOP in Java
cannot be considered an alternative paradigm for Java.
Primitives are not objects, and arrays are specialized objects with
language support. Java also supports procedural programming with static
methods. It also supports checking reference equality with ==, which is
not OO at all. If all you wanted to do was treat Java as a procedural
language, you could. You'd pay an object tax on memory, but other than
that, the procedural style is very easy to do.
All these OO escape hatches were built into the language intentionally,
quite unlike Smalltalk. Besides all this, Java is going to be the
weakest language to pick on for "multi-paradigm". Many other languages
in today's programming landscape offer more variety.
If you want to argue that D is special, then argue about it's support
for functional purity. Even Scala doesn't have that. Just don't get into
the quagmire of saying that Scala isn't multi-paradigm because it isn't
/really/ functional. And I still say you should avoid the use of
"multi-paradigm", because it sounds like a stupid buzzword.
EXECUTIVE
Oh, God, yes. We're talking about a totally outrageous paradigm.
MEYER
Excuse me, but "proactive" and "paradigm"? Aren't these just buzzwords
that dumb people use to sound important? Not that I'm accusing you of
anything like that. I'm fired, aren't I?
MEYERS
Oh, yes.