Coding Horror

programming and human factors

Despite the incredible slowness and the sparseness of features, this is really really cool

If you were about to throw out your C++ compilers because of my post on the productivity benefits of managed code and scripting languages, hold your horses. Although managed code is pretty darn fast, sometimes performance still comes first. As Ole Eichorn points out in the comments:

[You said] "given the abandonment of C/C++ for mainstream programming".


Name any OS which isn't coded in C/C++. I mean, a real one.

Name any Office package which isn't coded in C/C++. I mean, one with measurable market share.

Name any database which isn't coded in C/C++.

Name any X which isn't coded in C/C++. Where X = webserver, application server, financial application, image analysis package, etc.

I think your definition of "mainstream" must be different from mine, because from my point of view EVERY mainstream program is written in C/C++, and nothing is even close.

What I actually said was mainstream programming, not mainstream programs. Consider the total volume of code written in a given year for the PC platform. What percentage of that code will end up in commercial, shipping applications-- much less an operating system? And in which of those applications will performance be the primary consideration? It's an incredibly tiny fraction!

But Ole's comment is still valid, insofar as it goes. I'm not proposing a world where all applications are written in managed code, or Python, or Ruby, or whatever the cool scripting language of the moment happens to be. It just doesn't make sense. To prove that point, here's an amazing quote from a first look at the ill-fated Corel Office for Java beta from way back in 1997:

The pre-beta version of WordPerfect on display is very basic, a few fonts, a few formatting commands -- not like the full-featured Word Processing apps we're used to. Still, it's enough to play around with.

As I mentioned before, it's very slow. All us fast typists will be frustrated, as there seems to be a two second delay between typing each letter and seeing it displayed.

Despite the incredible slowness and the sparseness of features, this is really, really cool and I hope Corel can pull this off quickly. If they can, it should open up the software market -- no longer would software companies be developing for platforms, they would be developing for one big market. Then it would be up to the Operating Systems themselves to attract users by their merits, not by what they can run.

So, er, good luck with that.

This is a stretch even on today's hardware, so I can't even begin to imagine what they were thinking back in 1997 when a 300 mhz CPU was top of the line. Where is Corel Office for Java now? Seriously, where is it? I can't find any mention of it.

And that's why C, C++, and even assembler are still part of a developer's toolkit. I argue that they are of increasingly diminished importance, but I would never propose that every application should be written in .NET.

At least not with a straight face.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: