discuss-gnustep
[Top][All Lists]
Advanced

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

Re: of applications for gnustep...


From: Philippe C . D . Robert
Subject: Re: of applications for gnustep...
Date: Mon, 16 Jun 2003 23:32:08 +0200

Hi,

I am afraid, but this discussion becomes IMHO a waste of time. I should have known better, sorry for jumping into it. I will not reply to any messages in this thread anymore, if you want to discuss some topics in private, feel free and let me know.

Just one thing, why are you arguing as if I was against OO programming? I love OO programming where it makes sense, I am of course advocating maintainable code myself and I also prefer ObjC over C++ in most cases, mostly due to its natural elegance and simplicity. I just do not agree that C++ is such a bad language as you (and others) put it. From my personal experience I can tell you that writing large, maintainable OO code in C++ is absolutely possible. It is not about "writing either nice, maintainable OO code or C++ code". And as this thread is actually about ObjC++, I believe it is a Good Thing to have, just because it can be a big help when integrating or "merging" different, existing projects. Of course you could rewrite everything in this world using ObjC, at least theoretically, but this would be a huge waste of time, in fact preventing you from concentrating on solving the real problem.

cheers,

-Phil

On Monday, June 16, 2003, at 12:56 AM, Philip Mötteli wrote:

Am Sonntag, 15.06.03, um 14:04 Uhr (Europe/Zurich) schrieb Philippe C.D. Robert:
On Sunday, June 15, 2003, at 01:38 AM, Philip Mötteli wrote:
Am Samstag, 14.06.03, um 17:53 Uhr (Europe/Zurich) schrieb Philippe C.D. Robert:
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:

I did not mean to be insulting, sorry if it came along that way. I also do not claim to be a language expert, I just use and did use both languages for quite some time in my professional life which involves dealing with relatively large code bases. BTW the comment I made above is just a 'tweaked rephrasing' of your comment:

"It would be impossible for me to make any project in C++, because the language is so little oo, that every design is just ...".

I'm not a technical computer scientist – at least my studies were about Information Systems. I learned, how to do e. g. project management and/or integrating computers into business work-flows. We didn't talk about small one person projects. We learned how we should deal with real enterprise projects. I do completely agree, that one man can deal with a very small project, even if it's written in Assembly. But I doubt, a group can do this with a large scale project. The bigger the projects, the more important maintainability and reusability (read "oo features") become. Actually, they have been invented for that purpose. So either this invention has been a faillure and we're all running after ghosts or they are right and then it would be impossible for me to do any such project with C++. That doesn't mean, I do not know C++.


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)?

And here it's you having a logical problem... using different languages will result in different designs,

That's exactly, what I said: Exactly, because they lead to different designs, that one must be less good, than the other. And good means for me: Having the lowest costs over the whole software life cycle. Which means, having all the features needed, being open to add features, stability, robustness, maintain the whole thing, adapt it to new contexts, debug it,, etc, etc, and all this in as little time as possible. Because time is money. And I say, that in the very most cases, ObjC would be the better choice, because the more elegant design leads to less number of lines, more comprehensible and more reusable code. And this design is only possible thanks to features like e. g. dynamic, dynamic binding (polymorphisme) and others.


thus comparing feature X against feature Y does not proof anything,

As I just said: With this statement I do not agree.


it's as if I would say you cannot overload operators in ObjC and therefore it is a bad language.

I didn't say, it's a bad language, but there are very rare cases, where I would prefer C++. I would use C++ in a very time critical module, that is too big and just not enough time critical, to write it in Assembly. As you see, for me the advantage of C++ is fastness ("You don't pay for what you don't use").


Besides what do categories have to do with OO programming?

Your'e right. This is not on the oo feature lists, but it's an inherent feature of ObjC, only possible because of it's dynamic nature, which is also responsible for the oo features. But strictly it is not a question of oo. I just mentionned it, in the concrete context of comparing C++ to ObjC.


Every languages has advantages and disadvantages, so every language has areas where it is stronger than the other, does this mean it is a better language per se? I do not think so... Don't get me wrong, I prefer ObjC over C++ as much as you do, but I also believe that bashing other languages is completely superfluous and counterproductive.

Let me ask you a question, whose source of problem is the same as the problem C++ vs. ObjC: Is any operating system better per se? Is Windows better than Unix? I could say in your words: "Every [operating system] has advantages and disadvantages, so every [operating system] has areas where it is stronger than the other, does this mean it is a better [operating system] per se?". Wouldn't this statement be equally true as yours? I mention this, because, if AT&T would have promoted ObjC instead of C++ at the time, we would all be using ObjC now. And I think it's because so many inferior things are imposed on us for commercial reasons, that some people became sensible to certain subjects and express this emotionally. I try not to do that myself, but understand everybody, who does.


C++ is faster, ObjC is more oo. One leads to faster programs, the other to more elegant designs.

It's easy to use common stereotypes, but it does not mean a lot...

1. Ask yourself, why oo has been invented.
2. Ask yourself, if they did the best job in that, than all the others so far.
3. Compare the oo features of C++ and ObjC.
4. Which one is now closer to the goals of (1)?

I don't think, this is stereotyped, sorry.


it is not the language which defines the (potential) quality of a design.

I'm the more and more interested in _your_ understanding of a "good design"? Please define it. (I did it myself right at the beginning of this posting.)


BTW every language has pros and cons, even ObjC ...

Nobody said ObjC is the King Of Heaven.


It has been said that "C++ is evil and should be buried at midnight under a full moon in an abandoned graveyard. And best be forgotten as well" and

I do agree, that this was an emotional statement. But this was not the subject, the thread was all about about. The thread was about having ObjC++ or not. And I didn't say the above, but wanted to make clear, that I'm not happy with C++ either, in most of the cases.


that it basically needs a very good C++ designer to compete against a very bad ObjC designer.

I didn't see that statement. But what I said, is that there are better designs possible in ObjC, than in C++.


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.

Exactly! And I am glad that I can use different tools for different purposes.

I do agree here. But as I said above, some tools are much more used, than they should be, because of commercial reasons. And this pisses off a lot of competent people.


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.

I did not say that, don't put words in my mouth.

Well, in my eyes, you were very close to that. I'm sorry though, if I misunderstood that.


Re
Phil




_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://mail.gnu.org/mailman/listinfo/discuss-gnustep


--
Philippe C.D. Robert
http://www.nice.ch/~phip





reply via email to

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