C++: Great Power that Requires Great Skill

C is a longstanding, general-purpose language that gives the programmer extremely fine control. While C is still popular, many programmers prefer C++, an “object-oriented” version of C. The C++ language is remarkably beautiful and powerful.

Advantages

  • Speed, efficiency, control: C++ lets the programmer control exactly how each task is accomplished. This makes it possible to optimize code, when needed, to be fast and to minimize usage of RAM or disk space.
  • Extensible and maintainable: When a C++ program is architected well, you can add new features more easily without having to overhaul the older code.
  • Large projects: C++’s architecture is well suited to extraordinarily large projects.
  • Fewer errors: Once C++ code is working, it will usually keep working forever. When a C++ program is designed properly, changing the code for one object (i.e. in one section) will not harm the code in another object (in another section).

Disadvantages

  • Slower coding: C++ coding and debugging can be time consuming; it’s much faster to code in some other languages. However, C++ programs are extremely reliable and efficient once completed, which may save time and money later.
  • Some tough bugs: With C++’s power comes the ability to get into trouble. C++ lets the programmer introduce accidental errors that can be hard to track down. Our programmers use development techniques that minimize such errors.

Choosing C++

C++ is best used for software, or portions thereof, where optimization matters: where it has to be really fast, or use very little RAM, or be run many thousands of times a day.

For example, we coded the resource-intensive portions of Startpage (a metasearch engine that responds to more than one million requests a day) in C++. These portions include the actual network programming, and certain “shared memory” features that let Startpage calculate certain things once instead of hundreds of thousands of separate times.

  • Facebook
  • Twitter
  • LinkedIn
  • Digg
  • del.icio.us
  • email
  • RSS
  • Print

Want to receive our newsletter, WebINTENSIVELY Speaking?

Name:  
Email:  
Address:  
Phone:  
Company:  
© Copyright 2011 WebINTENSIVE Software. All rights reserved. Terms and Conditions Privacy Policy