C and C++ are very popular names in today’s world. If you are reading this article, there are 99% chances that you know about C and C++ languages. So here I am not going to teach you about C and C++ languages but in this article you will find some basic points which will surely help you to understand these languages. So let’s start….
What is C language
A language named ‘C’ sounds strange! But this strange sounding language is quite popular due to its desirable features. C has evolved from the combination of ALGOL, BCPL and B languages. ALGOL is the root language; it was the first language that introduced the concept of structured programming. BCPL language was developed for writing system software and the B language was developed by using the desirable qualities of BCPL. C language gained popularity because it used the best concepts of these three languages and introduced powerful concept of data types and operators. It is a procedure oriented language that has made programming efficient and fast. C language has a rich variety of built in functions that are used to write complex programs in a simple way.
What is C++ language
C++ language was invented, especially due to various drawbacks of C and other procedure oriented languages. C++ widely focuses on the data security by protecting the data from modifications by outside functions. C++ implements OOP (Object Oriented Programming) concept. OOP is a way to organize a program such that it eliminates the drawbacks of conventional programming language and implements several new programming concepts. Some of the new efficient concepts that C++ has introduced are:
- Data abstraction and encapsulation
- Dynamic binding
- Message massing
Difference between C and C++ Languages
|Takes care of algorithm and the procedure.||Takes great care of data security.|
|It is a procedural programming language.||It is both procedural and object oriented programming language.|
|It divides the program into smaller functions.||It divides the program into objects.|
|It is a subset of C++ language.||It is a super-set of C language.|
|Program is designed using top-down approach.||Program is designed using bottom-up approach.|
|Data is not hidden. Data can be declared globally and is free to move from function to function.||Data is hidden and is not free to move from function to function.|
What we need to program… Compiler
A program that compiles our code is a compiler. It compiles our source code into an executable file. Both the C and C++ languages are quite popular, so a variety of compilers are available in the market. Recommending a compiler is not easy because the choice of using a compiler differs from person to person. However, a list of most used compilers in C and C++ is as follows:
Top 4 Compiler for C Language
- Microsoft Visual Studio Express
- Tiny C Compiler
- GNU C Compiler
Top 9 compiler for C++ Language
- Apple C++
- Bloodshed Dev-C++
- Clang C++
- Cygwin(GNU C++)
- DIGITAL MARS C++
- Mentor Graphics-Lite edition
- GNU CC source
- IBM C++
- Oracle C++ etc.
Various other C and C++ compilers are also available. Among this huge variety of compilers, GCC and Clang compilers are used the most. They are the most popular. Microsoft Visual Studio Express is a C compiler that is known to be student friendly version of an industry standard compiler.
From where a beginner can start programming
It is up to your interest that which language you start learning first but it is recommended to learn C language before C++ as the software evolution has taken place layer by layer. C++ implements various concepts of C language. C++ is both procedure oriented and object oriented so it’s better that you learn procedure oriented language (i.e. C) first before jumping to Object oriented language(i.e. C++). Learning is an infinite process that takes place step by step. C language gives every beginner a scope to understand what programming actually is. So it would be better if you brush up your C concepts and then start learning C++.
you can also refer a video tutorial for C Programming
This Article was originally submitted by Ms. Surabhi pursuing B.Tech in Information Technology.