If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Unlike the crap like advertising mono. It's enough to copy and paste Qt 'goodies' to show mono is a crap. Or better to run yourself Qt/C++ vs mono app.

Please don't misquote anyone and invest your time where your mouth is!
I was a C++ programmer till 3 years ago and I do know Qt as I've was a programmer in it. Also I do think that Qt have its power (a thing I've never heard from a person like you on other technologies, like, but not limited to: GObjectIntrospection + Vala/Genie, Qt Quick with QML, Python) and sometimes a hammer cannot solve all problems even is a very powerful tool.
Why a guy like me likes (to not say loves) a VM like environment? Is that in complex code memory management is not necesary. For big systems is really relevant! For small systems is relevant as the code is much cleaner with no "guard lock" pattern, no reference counting with weak and full pointers and so on. VM have also some drawbacks and all at the end depend where and how those tools are used.
Mono and Moonlight are powerful technologies, showing the power of opensource/free technologies and can be combined with any CLR languages (in my case Boo) and I do know where it stands (and where it doesn't!).
For example you can JIT your code using Boo Compiler API: http://boo.codehaus.org/Scripting+wi...g.Compiler+API , you can use type inference. No linker errors, no huge compiling times, and so on. Is just Pyton with specialized native types!
In my view Boo is just a next logical step (which seems that C# follow suit with REPL evaluator) on generating code at runtime. I'm not here to convince to you the merits of Boo, is that in some cases a JIT can bring some features that are not possible to get without them in a
This can be useful for some, useless for others.
For your fun, I will want to ask you why are you so mad? And why are you attacking on a piece of news about a technology that persons? Why you did not attack Oracle when they attacked Google Android?
I do understand freedom, I really, really do, but I cannot live a life with nightmares that once Microsoft will attack OpenOffice, so I will not use OpenOffice, that Oracle will stop once to distribute Java for free, so I don't use Java, Novell will block its Unix rights and I will not use Linux or OS X just for this. SCO was dismissed once, and Microsoft will be dismissed if it will attack patents (like FAT patents), a technology workaround will be written in Linux kernel and so on.
Also, I do think at the end that the issue is not just about I do like a technology with risks or not. Probably 20 years ago I'll chose Pascal as development language and today I do think that was the best choice to do it, but letting this aside, I don't use Pascal anymore. What if pascal was killed just because Delphi appears with its proprietary VCL and other technologies? I've just matured miself, I took another way in life and this is it, no reason to make an emotional choice.
If C# will die for free developments, with Mono, I can use Boo with DotGnu, LLVM/VMKit. Even all will die, at least I've learned some python like technologies that may use me in my future life.
Picking assembler as the safest choice 30 years ago, Pascal 20 years ago, C++/Java around 10 years ago, C# today seems to me an evolution. Why other to pick for me how I grow? Because 20 years ago, assemblers guys will say Pascal is too slow, 10 years ago, people will say that Java is too slow, or C++ "virtual" compared with raw C, C# because is not free (or again slow).

Don't waste your breath writing long, logical answers. It comes down to this: you can use Mono/Boo/C#, get the job done and move on to something worthwhile, like going out and enjoying the sun, or you can spend the next two months reinventing the wheel in asm/COBOL/C++/[insert technology here].

C++ is worthwhile in the same ways that COBOL is: (a) million lines of legacy code to maintain; (b) a comprehensive guide on bad language design. Neither language will go away (indeed, we just hired a brilliant guy that used to maintain IBM/COBOL mainframes for a living) but language design has moved on those last decades. All new languages run in VMs and feature garbage collectors and there's a damn good reason for that. A few years for a computer science or software engineering degree will make that pretty obvious.

Take a good look at your Linux and/or Windows installation. Most programs are not running in a VM. Now imagine how well that system would run if everything was running inside .NET. What would the memory and CPU usage look like?

The fact that most stuff runs nice and fast is that VMs are only used for some front-end stuff. C and C++ are not outdated technologies to be done away with. They are much needed tools (that are being renewed and enhanced through the years) and provide the means to implement systems that don't suck.

Btw, software engineering degree with .NET and Java only? Are you joking? All universities where you can get an engineering degree focus more on C and C++ (also Fortran, Lisp...). Only non-engineering schools focus on the .NET and Java stuff. Just because someone attends some IT school doesn't mean he's studying for an engineering degree. The IT schools you have in mind focus on producing expendable developer workforce, not engineers.

Take a good look at your Linux and/or Windows installation. Most programs are not running in a VM. Now imagine how well that system would run if everything was running inside .NET. What would the memory and CPU usage look like?

Identical, quite likely. The BCL can be shared between applications and 99.9% of them are not CPU-bound anyway.

The fact that most stuff runs nice and fast is that VMs are only used for some front-end stuff.

[citation needed]

C and C++ are not outdated technologies to be done away with. They are much needed tools (that are being renewed and enhanced through the years) and provide the means to implement systems that don't suck.

Same as COBOL.

Btw, software engineering degree with .NET and Java only? Are you joking? All universities where you can get an engineering degree focus more on C and C++ (also Fortran, Lisp...). Only non-engineering schools focus on the .NET and Java stuff. Just because someone attends some IT school doesn't mean he's studying for an engineering degree. The IT schools you have in mind focus on producing expendable developer workforce, not engineers.

All of them fine technologies for their own purposes, uses and goals. I don't see C# and .NET stuff on the list. Why was that invented again instead of using one of the above you listed? Oh yeah, MS likes to do their own thing instead of using standardized, already existing stuff. Also, I wonder why they invented C# instead of Python#... Oh, could it be that people want C-like languages? You know, of the type you refer to as "COBOL-like, deprecated and ancient crap" while at the same time praising C# even though it has got a big, freaking "C" in its name and is close to C++?

It should be obvious that the trend is for younger languages to use VMs and automatic memory management.

Other than specialized applications, almost everything else would benefit more from an SSD rather than a new processor. This is common wisdom nowadays.

They don't teach COBOL, so how's that "the same"?

It's a much-needed tool that has been renewed and enhanced over the years to implement mission-critical systems. Ever heard of OO COBOL and COBOL.Net?

All of them fine technologies for their own purposes, uses and goals. I don't see C# and .NET stuff on the list.

It wasn't invented yet.

Why was that invented again instead of using one of the above you listed?

Why invent Gnome when we have KDE or Linux when we have AT&T Linux?

Oh yeah, MS likes to do their own thing instead of using standardized, already existing stuff.

Like Apple and most other corporations. Sadly.

Also, I wonder why they invented C# instead of Python#...

Because they called it IronPython rather than Python#.

Oh, could it be that people want C-like languages? You know, of the type you refer to as "COBOL-like, deprecated and ancient crap" while at the same time praising C# even though it has got a big, freaking "C" in its name and is close to C++?

C# shares more with Java than with C++. You could call it Java done right.

If Mono is so great to develop for then where are all those awesome Mono apps? It's not like Mono is something new, in fact it has been available on Linux for many years now.

We had F-Spot, which was so buggy, slow and memory hungry that when Shotwell came around distros quickly replaced it. Unsurprisingly this happened not without resistance and FUD from the Mono political activists. Then there's Tomboy, which someone reimplemented for fun in a very short time in C++, and called it Gnote. Again the Mono zealots were not happy with this to make an understatement. So basically there's only Banshee, which builds on top of the gstreamer framework written in C.

I think this is a very poor result for a framework so much praised by its evangelists. Clearly most devs for the Linux platform have not any need nor any interest in Mono. And perhaps the Mono devs themselves are more busy with evangelicalism then with writing any code.

So why are these Mono zealots trying to impose Mono on the Linux desktop? I have never heard of Pascal devs or Java devs holding what's basically a political campaign for said languages to be part of a default install of any Desktop environment or distro. Yet the Mono activist sees it as a God given right that Mono should be included.

I'm sorry but Mono has no merit on the Linux desktop only theoretical bla bla how great it is, come with some killer apps then we'll talk.

There are more than enough great Mono applications if you open your mind and look with unclouded eyes. Of course, you prefer your pathetic circular arguments, wherein you dismiss everything Mono-based out of hand and then proceed to say that Mono doesn't have any killer apps. Sad.

Oh, a killer app? Second Life, with 21 million users. Go cry in a corner now.

"One of the key differences between C# and these other languages, particularly Java, is that we tried to stay much closer to C++ in our design. C# borrows most of its operators, keywords, and statements directly from C++. We have also kept a number of language features that Java dropped."

And because noone wants non-VM languages if one can avoid it.

And you can prove that how exactly? Let's take a look at sourceforge.net projects and see how many of them use a non-VM language.

Not these days. Everyone is in a race for the fastest JavaScript engine. CPU bound.

No, that's definitely CPU-bound.

Javascript improvements are in the order of ms. Network latencies total in seconds for modern websites with multiple scripts and image elements. Browsers are definitely network-bound - but browser makers cannot do anything about that so they focus on secondary bottlenecks instead.

virtualbox

And CPU-bound.

No, really not. I've been using VBox and VMWare for years and disk performance is by far the slowest part. CPU plays a role but it's quite small (VBox performs almost identically on my dual-core Core 2 and my quad-core Phenom 2 in actual use).

"One of the key differences between C# and these other languages, particularly Java, is that we tried to stay much closer to C++ in our design. C# borrows most of its operators, keywords, and statements directly from C++. We have also kept a number of language features that Java dropped."

All three languages share syntax, but C# really is much closer to Java than C++: