Register / Log in

Whenever you start a new project, one of your big tasks is to decide what programming language to use.  This usually turns into a fairly involved discussion about the needs of the project, and the various attributes of the possible languages. 

I’m not going to start a flame war by telling you that one particular language is the best.  In fact, I feel like all languages have their place.  They each have a set of things that they do well, and a set of things that they do poorly, and it is a careful balancing act to determine which one is right for you.

I do, however, have a suggestion to help you as you decide that I think can sometimes be forgotten.  We’ve recently been going through this process at my work, as we’ve been given the task of starting on several new projects.  During our discussion came a very familiar phrase that I’ve heard countless times.  “We should use (or consider) C++ because it is a lot faster than C# or Java.” 

I’ll concede the fact that this is true.  Optimized C++ is going to be faster than optimized C# or Java.  Probably by quite a bit.  Maybe even 20% faster.  This is definitely something to consider.

But here’s something else to think about:  the general development process is going to be much quicker for a C# or Java app than it would be for a C++ app for the most part.  This gives you far more time to optimize than you would ever get with the C++ route, and it is this idea that I think is so important. 

We should really be comparing un-optimized C++ against optimized C#, especially if you are working against a tight deadline.

View Comments

blog comments powered by Disqus