Linked by Thom Holwerda on Mon 13th Dec 2010 19:27 UTC, submitted by lemur2
Mono Project For the most time, I've been firmly in the largest camp when it comes to the Mono debate - the 'I don't care'-camp. With patent lawsuits being hotter than Lady Gaga right now, that changed. For good reason, so it seems; while firmly in the 'ZOMG-MICROSOFT-IS-T3H-EVILL!1!!ONE!'-camp, The-Source.com investigated the five most popular Mono applications, and the conclusion is clear: all of them implement a lot of namespaces which are not covered by Microsoft's community promise thing.
Thread beginning with comment 453638
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: Evil Companies
by moondevil on Wed 15th Dec 2010 07:19 UTC in reply to "RE[5]: Evil Companies"
moondevil
Member since:
2005-07-08


I'm surprised to see someone likes ObjC, I've understood it doesn't really have much virtues by itself, esp. when compared with C++.


I also am not that a big fan of Objective-C, but try to use some dynamic language features with C++. It is really a pain to do it properly, if at all.


"Speed.


That's debatable, compared to C++. Did MS rewrite IE in C# already? (they might have, didn't check).
"

Why should they?

You gain nothing by rewriting code that works.


"Simplicity. Modern features. I seriously could not live without reflection, for example, and reflecting in C++ was painful at best.


Qt provides reflection (meta object protocol).
"

This makes the C++ code dependent on Qt, while on C# and other modern languages it is part of the language itself.


"The fact that adding a virtual method to a base class will break the ABI for everything is really bad. It makes shipping applications a real PITA.
"

This is actually an issue with all OO languages, also know as Fragile Base Class problem.

Reply Parent Score: 2

RE[7]: Evil Companies
by henderson101 on Thu 16th Dec 2010 13:48 in reply to "RE[6]: Evil Companies"
henderson101 Member since:
2006-05-30


"The fact that adding a virtual method to a base class will break the ABI for everything is really bad. It makes shipping applications a real PITA.


This is actually an issue with all OO languages, also know as Fragile Base Class problem.
"

Well, no. In this instance it's specifically a C++ issue as C++ creates the VMT statically at compile time. Not every OO language is that strict. Some, and I'm using Objective-C here as an example, will allow the developer to dynamically extend a base class (or any class in the hierarchy), add in whole sections of code to a class or even completely alter the functionality of a method at runtime. Because C++ is entirely static in nature with regards to this situation, it has the fragile base class issue you mention

Reply Parent Score: 1