C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX. This C++ tutorial adopts a simple and practical approach to describe the concepts of C++ for beginners to advanded software engineers.
Why to Learn C++
C++ is a MUST for students and working professionals to become a great Software Engineer.
I will list down some of the key advantages of learning C++:
• C++ is very close to hardware, so you get a chance to work at a low level which gives you lot of control in terms of memory management, better performance and finally a robust software development.
• C++ programming gives you a clear understanding about Object Oriented Programming. You will understand low level implementation of polymorphism when you will implement virtual tables and virtual table pointers, or dynamic type identification.
• C++ is one of the every green programming languages and loved by millions of software developers. If you are a great C++ programmer then you will never sit without work and more importantly you will get highly paid for your work.
• C++ is the most widely used programming languages in application and system programming. So you can choose your area of interest of software development.
• C++ really teaches you the difference between compiler, linker and loader, different data types, storage classes, variable types their scopes etc.
There are 1000s of good reasons to learn C++ Programming. But one thing for sure, to learn any programming language, not only C++, you just need to code, and code and finally code until you become expert.
Hello World using C++
Just to give you a little excitement about C++ programming, I'm going to give you a small conventional C++ Hello World program, You can try it using Demo link
C++ is a super set of C programming with additional implementation of object-oriented concepts.
Live Demo
#include <iostream>
using namespace std;
// main() is where program execution begins.
int main() {
cout << "Hello World"; // prints Hello World
return 0;
}
There are many C++ compilers available which you can use to compile and run above mentioned program:
• Apple C++. Xcode
• Bloodshed Dev-C++
• Clang C++
• Cygwin (GNU C++)
• Mentor Graphics
• MINGW - "Minimalist GNU for Windows"
• GNU CC source
• IBM C++
• Intel C++
• Microsoft Visual C++
• Oracle C++
• HP C++
It is really impossible to give a complete list of all the available compilers. The C++ world is just too large and too much new is happening.
Applications of C++ Programming
As mentioned before, C++ is one of the most widely used programming languages. It has it's presence in almost every area of software development. I'm going to list few of them here:
• Application Software Development - C++ programming has been used in developing almost all the major Operating Systems like Windows, Mac OSX and Linux. Apart from the operating systems, the core part of many browsers like Mozilla Firefox and Chrome have been written using C++. C++ also has been used in developing the most popular database system called MySQL.
• Programming Languages Development - C++ has been used extensively in developing new programming languages like C#, Java, JavaScript, Perl, UNIX’s C Shell, PHP and Python, and Verilog etc.
• Computation Programming - C++ is the best friends of scientists because of fast speed and computational efficiencies.
• Games Development - C++ is extremely fast which allows programmers to do procedural programming for CPU intensive functions and provides greater control over hardware, because of which it has been widely used in development of gaming engines.
• Embedded System - C++ is being heavily used in developing Medical and Engineering Applications like softwares for MRI machines, high-end CAD/CAM systems etc.
This list goes on, there are various areas where software developers are happily using C++ to provide great softwares. I highly recommend you to learn C++ and contribute great softwares to the community.
Plot No 1,3,4, Kastbhanjan Industrial Estate, Part 2 Bakrol Gatrad Road, Taluka, Bakrol Bujrang, Gujarat 382433 , Plot No 1,3,4, Kastbhanjan Industrial Estate, Part 2 Bakrol Gatrad Road, Taluka, Bakrol Bujrang, Gujarat 382433 , Ahmedabad , Ahmedabad , Ahmedabad - 382433 , Gujarat , India
10 Liberty St , Massachusetts , Danvers , Danvers , Dukes - 01923 , Massachusetts , United States of America
Survey No. 840, , Baliyadev Road , - , Kuha Patiya, Village Kuha, , Ahmedabad - 382433 , Gujarat , India
20 , - , Deer Park , Old Course Crescent , Melbourne - 3023 , Victoria , Australia
Science City, Ahmedabad , Science City, Ahmedabad , Ahmedabad , Ahmedabad , Ahmedabad - 380060 , Gujarat , India
Suite 113, Thames Enterprise Centre, Thames Industrial Park , Princess Margaret Road , East Tilbury , Essex , Tonbridge and Malling - 113 , South East England , United Kingdom
11/34B , Thiruvalluvar Street, G.N. Mills Post, Mettupalayam Rd, opposite to Kongunadu Arts and Science College , Kongunadu Arts and Science College , Coimbatore , Coimbatore - 641029 , Tamil Nadu , India
G-401 , Dharti Crystal , IOC-Tragad Road , Opp. Chandkheda Railway Station , Chandkheda , Ahmedabad - 382424 , Gujarat , India
B414-Shlok Infinity , Crossroads , Nr Gota SG Highway , - , Ahmedabad - 380081 , Gujarat , India
N Ranga Rao & Sons Pvt Ltd (Ripple Division) , NR House , 1553 Vanivilasa Road , 1553 , Mysuru - 570004 , Karnataka , India
512, Vishala Supreme , Sardar Patel Ring Rd , Opp Nikol Torrent Power Station , Nikol , Ahmedabad - 380038 , Gujarat , India
122/1/2, Rajdeep Estate, , N.H. 8 , Opp. Kailash Petrol Pump , Naroda , Ahmedabad - 382330 , Gujarat , India