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