C vs C++ vs Lisp (156)

99 Name: #!/usr/bin/anonymous : 2008-08-13 18:50 ID:m2TJrD+R

> I didn't hijack anything.

You're redefining terms to mean something other than their accepted meaning.

> void Fun(Object &Foo);
>
> In VB.Net would be:
>
> Sub Fun(ByVal Foo As Object)

No it wouldn't, because if Fun modifies Foo by assignment, that is using:

Foo = Bar;

then the C++ value modifies the Foo as seen by the caller whereas it doesn't modify the Foo as seen by VB.NET's caller.

http://www.cprogramming.com/tutorial/references.html

> What I am saying is that C++ isn't very good at OOP because it does not treat objects, the basis of OOP, differently from other variables in a way that lends itself to the style of OOP.

I don't think you have any idea what you're talking about. You clearly do not understand C++.

> I am using commonly used OOP languages as examples because it makes for a more practical discussion.

You're using VB and VB.Net because you don't know any other object oriented languages. I cut my teeth on Simula 67, so I give the term "Object Oriented" a quite wide berth

> Also, VB and VB.Net are very different languages. VB isn't very OOP because it doesn't cover other OOP basic concepts like inheritence well so sticking to VB.Net is better.

sigh

Demonstrating you know something about VB and VB.Net doesn't demonstrate that you know anything about C++.

> And just to add, C++'s multiple inheritence is fucking evil.

Like this for example. Perl supports multiple inheritence. Python supports multiple inheritence. CLOS supports multiple inheritence. Eiffel supports multiple inheritence (sortof).

There's nothing wrong with multiple inheritence: It solves very real problems which is why C# and Java have added interfaces, which solve some of those problems, without the ability to share code.

This thread has been closed. You cannot post in this thread any longer.