[PD] low-level programming languageß
Mathieu Bouchard
matju at artengine.ca
Wed Jun 30 17:44:51 CEST 2010
On Wed, 30 Jun 2010, Bernardo Barros wrote:
> You´re right. SuperCollider is a very high-level and object-oriented
> programming language. Also very expressive and has all tha
> characteristics of a object-oriented language (inheritance,
> polymorphism, classes etc). Low-level programming language, also OOP,
> would be C++.
To fit any sensible definitions of low and high, C++ would have to be
classified in multi-level programming languages, which is sort of C++'s
own category, as it allows you to do things you can't even directly do by
gluing pieces of code of normal low-level languages and normal high-level
languages together.
> PD is no object-oriented in any sense BTW.
I have to consider PD either object-oriented or nearly-object-oriented,
but it's also sufficiently crippled to make lower one's expectations about
what an object-oriented language should offer. But then I don't think that
object-oriented as a language category makes that much sense compared to
looking at the main features of it such as the self-context, messages,
methods, classes, objects, method-lookup, inheritance, polymorphism. In
the end, it's only really lacking inheritance. But the trouble comes from
how you can create and delete objects, how you can send to them, and then,
because of that, what the objects look like they are made for, in
relationship with atoms. Because of that, pd/max class design is quite
inside-out compared to anything (else) called object-oriented.
If it helps you, you could use a separate word for pd's "object-oriented",
such as calling it not at all "object-oriented", but I'd believe that the
reality is more subtle than that. For example, I need a category in which
I put the early years of Java, in a way that expresses that their
conception of polymorphism was so dysfunctional that it was only
polymorphic on paper :
MyLeafClassSaidTwice result = (MyLeafClassSaidTwice)
((MyContainerClassSaidExplicitlyWhenIShouldntNeedTo)
bucket.getElement(new IntegerWrapperKludge(n))).getElement(m);
In any case, SC has a much deeper object-oriented design than Pd for
sure... But I'm still not really aware of much of the details, because I
don't have much of an incentive to try SC at this point (except to
translate some SC snippets into Pd patches and/or externals). From that
distance, though, I have a lot more esteem for SC than for Java.
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
More information about the Pd-list
mailing list