Programming in CPlusPlus

Programming in CPlusPlus

Before learning about programming in C++ , let me mention some points that show why you have chosen to program in C++ rather than C# or Vb.Net.

Where C++ is used?

Giants like, eBay, and Google often use C++. Google uses C++ for performance critical applications.
Facebook compiled PHP with C++ compiler. A large amount of Windows portion has been developed in C++
Most commercial Java Runtime Environments (JRE) are written in C++.
C++ lets you work with unmanaged code, which most of the code in the world still is. Native C++ is closer to the metal than C# or other CLI languages that run atop the .Net platform, and in many applications that’s important.

C++ dominance in Drivers and Game development

As far as drivers programming is concerned, C++ is the language that everyone is looking for. The old assembly language can also be used for driver development but C++ organizes the code in such a beautiful way that it provides some room for the programmer to implement further extending the code in future.

C# or Java have a JIT support that cannot be as fast as C++ code. However C++ code used to be significantly faster for a long time, and also today still is in many cases. This is mainly due to the more advanced JIT optimizations being complicated to implement, and the really cool ones are only arriving just now.
With C++ , the programs are are very faster as compared to C# or Java JIT

“Most game engines are written in C++”

“Games: Doom III engine. Sierra On-line: Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, and too many others to list… Blizzard: StarCraft, StarCraft: Brood War, Diablo I, Diablo II: Lord of Destruction, Warcraft III, World of Warcraft. Quicksilver: Shanghai Second Dynasty, Shanghai Mah Jongg Essentials, Starfleet Command, Invictus, PBS’s Heritage: Civilization and the Jews, Master of Orion III, CS-XII. Microsoft: all games. EA: video game engine. Byond: a “world” development platform..”

I’m certain there are many others as well. An infamous game called Trespasser, a dinosaur game, was written in c++ as well, I base this simply on knowing the game executable well and the game’s functions are definitely c++.

reference to the above paragraph

What the experts say about C++?

1. C++ is a high-level language that lets you get close to the hardware.

When programming games it is necessary to write highly optimized code in order to get the best performance from the platform. We do this by employing a variety of programming methodologies and memory and bit manipulations. We generally do not make use of managed libraries that abstract away such functionality. Development environments for the language also support assembly code blocks to allow the programmer to get even closer to the hardware.

2. C++ is compiled for the specific platform.

C++ has a variety of compilers that create binaries specific to the platform directly without the need to first be compiled into an intermediate language then some form of virtual machine thereafter which significantly slows down code.

3. C++ supports legacy and resource-constrained hardware very well.

C and C++ have been around for years and are very well standardized according to the official specification. Although compilers change in their specification, the C++ language itself carries over useful and established techniques for efficient coding in whatever has gone before and arguably what the future has to offer.

4. C++ can be used to write a variety of code.

Because of C++’s extreme flexibility, you will find that code used to run on a specific platform will in itself be running in conjunction with binaries coded in the same language, so the programmer can in theory use the language to write anything for the platform.
Those are just some of the ‘in-a-nutshell’ reasons why C++ is used over other languages for game dev. 🙂


So, for core System Programmers, C++ is the best option

Syed Adeel Ahmed
Syed Adeel Ahmed
Analyst, Programmer, Educationist and Blogger at Technofranchise
Computer Systems Engineer from Sir Syed University Of Engineering & Technology.I am passionate about all types of programming.

Published by

Syed Adeel Ahmed

Computer Systems Engineer from Sir Syed University Of Engineering & Technology.I am passionate about all types of programming.