Friday, November 15, 2013

Wolfram discovers OOP

Now, I'm probably being abusive here, but I think Wolfram is overblowing his value in his Wolfram Language announcement. When he says this:
In most languages there’s a sharp distinction between programs, and data, and the output of programs. Not so in the Wolfram Language. It’s all completely fluid. Data becomes algorithmic. Algorithms become data.
... I think this:
In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are bundled in with the data.
... or perhaps even things like OpenDoc. He also sounds very Smalltalkish. I don't think he's talking Lisp-like code as data, but maybe he means that, too.

Saying "That there’s a completely general and uniform way to represent things" is also like saying "if S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program" (Liskov substitution principle).

Would Wolfram be the type to reinvent the wheel without full formal training in a subject matter? Um, yes.

I do love Wolfram Alpha, though.

Having algorithms is great, and for general web user accessibility, flexible language is nice, but when I want to be serious, I like a real programming language. And microkernel at that. Contrast Wolfram's statement that his "concept from the very beginning has been to create a single tightly integrated system in which as much as possible is included right in the language itself."


In more interesting news, Ceylon 1.0 was released a few days ago.