Hello, friend’s C or C++ programming become a compulsory subject of every engineering sector and general education also. If you’re willing to spend few money then I’d strongly recommend you following text or eBook 1) Let Us C by Yashwant Kanetkar 2) Object Oriented Programming With C++ By E Balagurusamy.
C is a general-purpose, high-level language with low-level features that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC PDP-11 computer in 1972.
In 1978, Brian Kernighan and Dennis Ritchie produced the first publicly available description of C, now known as the K&R standard.
For the development of UNIX operating system kernel, efficiency is crucial. It requires low-level access to the underlying hardware. For example, programmer can leverage knowledge of how data is laid out in memory, to enable faster data access etc. UNIX originally wrote in low-level assembly language. But the main problems. In Assembly language that, there was no structured programming (e.g. encapsulating routines as “functions”, “methods”, etc.). thus it is hard to maintain code. Code worked only for particular hardware it can not be portable.
C takes a middle path between low-level assembly language and high-level language. Here programmer has Direct access to memory layout through pointer manipulation, Concise syntax, the small set of keywords, block structure, some encapsulation of code, via functions etc.
The difference between C and C++?
C is a high-level language with low-level features also it called procedural language, but it lacks many modern and useful constructs. C++ is a newer language, based on C, that adds many more modern programming language features that make it easier to program than C.
Basically, C++ maintains all aspects of the C language, while providing new features to programmers that make it easier to write useful and sophisticated programs.
For example, C++ makes it easier to manage memory and adds several features to allow “object-oriented” programming and “generic” programming. Basically, it makes it easier for programmers to stop thinking about the nitty-gritty details of how the machine works and think about the problems they are trying to solve.
What should you choose for start C or C++ and how?
As we know C++ has all features of C it’s my recommendation to start with C because once you learn C then it’s not much difficult to understand C++. In order to make usable programs in C or C++, you will need a compiler. A compiler converts source code (the actual instructions typed by the programmer) into an executable file. Numerous compilers are available for C and C++.
There are various open source compilers available on the web. The old but famous Turbo C 2.01 for DOS is available for free. For beginners, Code::Blocks with MinGW is our recommended free and easy-to-use Windows compiler. For OS X, I recommend Apple XCode, and for Linux, GCC, and g++. All of these links will help you get up and running and ready to start programming.
What is C / C++ used for?
C was initially used for Operating System development. C was adopted as a system development language because it produces code that runs nearly as fast as the code written in assembly language. Some examples of the use of C might be −
- Operating Systems
- Language Compilers
- Text Editors
- Print Spoolers
- Network Drivers
- Modern Programs
- Language Interpreters