discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: of applications for gnustep...


From: Philip Mötteli
Subject: Re: of applications for gnustep...
Date: Sun, 15 Jun 2003 01:38:56 +0200

Am Samstag, 14.06.03, um 17:53 Uhr (Europe/Zurich) schrieb Philippe C.D. Robert:
On Friday, June 13, 2003, at 08:49 PM, Philip Mötteli wrote:
C++ completely misses the point what OO is all about. Yes, I'm referring
to Alan Kay's legendary comment:

        I invented the term 'object oriented programming' and I can tell
        you I didn't have C++ in mind.

C++ is one big mess of afterthoughts. C++ is evil and should be buried
at midnight under a full moon in an abandoned graveyard. And best be
forgotten as well.

I do completely agree. And I would even add something: As someone, who believes, that the most important part of an oo-program is its design: It would be impossible for me to make any project in C++, because the language is so little oo, that every design is just a huge tinkering with, in other languages not needed, design patterns. It becomes an unmaintainable mess.

In other words, you don't like C++ because you are not able to use it properly...

Thanks, you seem to know me very well or you just want to insult me. Anyway, you have a simple logical problem:

The oo features of different oo languages are not the same, are they? Or are all languages the same? No they aren't otherwise we wouldn't have this thread here. So somewhere these differences have to take effect. They take effect in the code you can write – in the restrictions you have or not. Software code models a part of the real world. The models are different when written in languages with different oo possiblities. I don't think, we can discuss anything here. So far this is only a logical conclusion. But concretely: Please tell me, how I can replace Categories. I really would like to ask you this question. Or, I want to override a C++ method, that is not declared as being virtual (of course, you don't have the source or are not allowed to change it)? You should now just put up a simple, yet maintainable solution for these questions, without tinkering a lot around, building wrapper objects (you don't call this "good fractionizing", are you?) or thelike. And this is just a start of examples, that I really prefer forgetting.

And anyway, if the architectural possibilities of C++ would be as large as the ObjC ones, would we then pay the penalty of this dynamic-dynamic method binding? Are we all just plain stupid? C++ is faster, ObjC is more oo. One leads to faster programs, the other to more elegant designs.


also you are aware that there exist many design patterns which are used when programming in ObjC, aren't you!? You will even find concrete references to NeXT software in Gamma's book.

I said "…a huge tinkering with, in other languages not needed, design patterns". I didn't say, there are no design patterns for ObjC. But the more restrictive/less oo a language is, the more often you have typical cases, where you have to circumvent the restriction with a solution, proposed by a design pattern.


And BTW the quality of a design and/or code is much more influenced by the knowledge and experience of its author than the language of > choice.

Of course, if you give to a very bad designer ObjC as a tool and a very good designer C++, it might even happen, that the C++ design will be better. The problem is, that I even think, that this is the biggest problem of all: Most people are not conscious, that when they design, they apply specific restrictions. Restrictions, that were necessary with the language, they used before, but are not any more there with e. g. ObjC. Removing these habits/restrictions in my mind took me much more time, than learning the language itself.


I really fail to see why the argument of maintainability always pops up in this context, I could show you really ugly ObjC code which is everything but definitely not maintainable...

Has anybody said, that you can't abuse ObjC? Has anybody said, that using ObjC automatically makes you a great and unbeatable designer/programmer? But as an experienced ObjC architect, one can come up with a much more fractionized design than with other languages. And fractionizing means maintainability.


Computer languages are not religions, they are tools,

Exactly. And they are different. It's not just always the same tool with a different name.


so use them or don't if you have the choice,

Exactly.


I really do not believe that this kind of attitude helps getting more (new) people attracted to GNUstep and/or Objective-C.

You are the first, who sais, that we have to say, that C++ is great or at least as great as ObjC, in order to attract more people to gnustep. Others have been talking about killer apps or completing the libraries. Well it's a new proposition. Lets talk about it. I don't think, we will attract a lot of programmers, by hyping C++, are we? But I think, having ObjC++ would help attract some people. And now we're back at the original thread.


Re
Phil





reply via email to

[Prev in Thread] Current Thread [Next in Thread]