Quote from Big:
I think you forgot one argument in your reasoning. When you try to start an open source project, one of the goal to really gain traction is to get people (developers) to work on it for free, outside their daytime office hours.
That is, they need extra motivation, and it needs to be fun for them.
And you need as many of them as you can possibly get, if you want development to advance at a decent rate, so that everybody stays motivated.
I am going to take my example. I am a professional freelance software developer. Many years of experience in C/C++ (the language in which I started). On huge projects, performance critical applications.
I started using C# (those nasty microsoft technologies) 5/6 years ago fulltime.
I haven't been able to touch a line of C++ ever since without feeling like throwing up. Not even for money. Not even for a lot of money.
I wouldn't touch a line of C++ even with your fingers on the keyboard.
Let alone work for free, during unreasonable hours on a project that, if I assess correctly, is pretty much going to be pushing the limits on many counts.
Developing in C++ feels like medieval torture when one has tried modern technologies. A little bit like you would be forced to drive in a steam powered car from the 1900s to go to work every morning, averaging 2/3 mph, taking hours to do just a few miles, freezing your ass off, when you see everybody else driving their nice modern cars, and in fact your brother let you drive his last week, and the performance is superior in just about every single conceivable aspect of it.
Let me tell you about performance. In the investment banks I worked in (and I still work in) I have been so bl$$dy fed up with all the poor guys telling how C# was bad, and C++ was the only language worth looking at etc etc ... I threw a challenge. openly, publicly. We take a saturday afternoon, 5 hours, 2 computers, absolutely identical, one little spec (a math calculation to do, something reasonable) and we both code, me in C#, the other guy in C++. After the 5 hours, we run the thing, we time it, and we get the results.
Nobody has ever risen to that challenge. No-one. Bonus is, people stopp telling me shit about that fantastic marvellous language.
As for Java, well, in the banks where I work, there are nowadays 2 types of projects. Java, and C#. Let me tell you, allthe Java projects end up being such a piece of garbage, they are, one by one, rewriting them on C#. Little by little. And in investment banking world, at least where I am, the Java job ads decrease, little by little, and the C# ones increase, dramatically.
I don't know why, as far as I can tell, they should be roughly equivalent. syntactically at least (well, I hate Java syntax but I suppose that is only a matter of taste). But seeing real life results of what a Java application is, has taught me only one thing. To stay away from it, and run fast.
So to sum up, there is no way I (and most of my current collegues for that matter) am going to work on anything other than a modern, friendly, performing language and technology, and one that has both proven itself (for real) and one that will also be useful to me in the professional world.
I just wanted to share that with you before you decide all of a sudden we need to rewrite it all in some fancy language. Look around you, what is the hot stuff being written in nowadays.