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 453452
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: Evil Companies
by henderson101 on Tue 14th Dec 2010 11:29 UTC in reply to "RE[3]: Evil Companies"
henderson101
Member since:
2006-05-30

"
No, actually very little software on a typical Linux desktop is written in C++.


By volume of code, not true. Openoffice, browsers... are written in C++. It doesn't matter much if my clock applet is written in C.
"

This is subjective at best. Define C++. In fact, define C. I've seen C that is basically 90% inline assembler before. I've seen C++ that is essentially C with some class based wrappers.

"and it's neither encumbered nor irrelevant.

C++ is "good enough", esp. when you use Qt framework.
"

Is this your personal opinion or that of your employer - Nokia? I've used Qt.. it's okay. It's nice, but it's no Objective-C, even though Trolltech did a damn fine job making it one of the better C++ UI's out there.

I don't see huge advantages with using C#;

Speed. Simplicity. Modern features. I seriously could not live without reflection, for example, and reflecting in C++ was painful at best. Also, it's hard to get around the short falls in the C++ static VMT implementation (or did they fix that in the 20xx spec?) 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.

notably, Qt does memory management for you so GC is no biggie. Closures would be nice to have, but we will have them in c++0x.


Um.. okay. That's your opinion. I don't share it. Having done it both ways, I know which I prefer.

I believe managed languages mostly belong to server side.


No. But then you are entitled to your opinion.

Again, developers picking up Qt would increase development more than yet another new language that remains fashionable for a while, without ever growing to commercial relevance.


Free Nokia advertisement aside - people could do a lot worse than take up Qt. It is probably the least offensive C++ UI library. Now that it has more agreeable licensing, it is probably worth looking at.

Reply Parent Score: 2

RE[5]: Evil Companies
by vivainio on Tue 14th Dec 2010 19:19 in reply to "RE[4]: Evil Companies"
vivainio Member since:
2008-12-26


Is this your personal opinion or that of your employer - Nokia?


Both. But yeah, Nokia people tend to use Qt and still like it ;-).

I've used Qt.. it's okay. It's nice, but it's no Objective-C, even though Trolltech did a damn fine job making it one of the better C++ UI's out there.


Qt has been advancing by leaps and bounds after TT acquisition. E.g. Qt Quick is all the rage these days.

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++.


Speed.


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

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

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.


It's alright. You either recompile, or don't add a virtual method to base class. Retaining ABI is important for libraries/frameworks (like Qt), but apps don't really need to care.

Free Nokia advertisement aside - people could do a lot worse than take up Qt. It is probably the least offensive C++ UI library. Now that it has more agreeable licensing, it is probably worth looking at.


To remain on topic, taking a look at Qt is a very good idea when considering to use Mono. You don't risk getting sued (because Nokia clearly can't sue you for using stuff they themselves distribute with open license), and won't be in a "second class" situation (with C#, Microsoft .NET & Windows will always be the first class solution, others are also-ran. With Qt, Linux is a first solution).

Reply Parent Score: 2

RE[6]: Evil Companies
by moondevil on Wed 15th Dec 2010 07:19 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