Note: Guys this is my first post on c++
As you go through this site you will see alot of tutorial on c++ .To make it easy for you to access i will leave a link for you to go over to another page(another section of the tutorial)
INTRODUCTION TO C++
C++ is a general-purpose, case-sensitive, free-form programming language that supports procedural, object-oriented, and generic programming.
C++ is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features.
C++ was developed by Bjarne Stroustrup of AT&T Bell Laboratories in the early 1980's, and is based on the C language. The "++" is a syntactic construct used in C (to increment a variable), and C++ is intended as an incremental improvement of C. Most of C is a subset of C++, so that most C programs can be compiled (i.e. converted into a series of low-level instructions that the computer can execute directly) using a C++ compiler.
C++ is a superset of C, and that virtually any legal C program is a legal C++ program.
Object-Oriented Programming
C++ fully supports object-oriented programming, including the four pillars of object-oriented development:
- Encapsulation
- Data hiding
- Inheritance
- Polymorphism
Uses of C++
- C++ is used by hundreds of thousands of programmers in essentially every application domain.
- In Adobe Systems All major applications are developed in C++: Photoshop & ImageReady, Illustrator, Acrobat, InDesign, GoLive
- C++ is widely used for teaching and research because it is clean enough for successful teaching of basic concepts.
- Anyone who has used either an Apple Macintosh or a PC running Windows has indirectly used C++ because the primary user interfaces of these systems are written in C++.
- Amazon.com, Facebook, Google, HP, IBM, Microsoft, Mozilla, Nokia & many more companies uses C++ language.
Advantages of C++
1. vendor-neutral: the C++ standard is the same in any platform or compiler
2. industrial (as opposed to academic): evolved to satisfy the needs of software engineers, not computer scientists
3. efficient. Compiles into highly optimized CPU-specific machine code with little or no runtime overhead.
4. multi-paradigm: allows the use and penalty-free mixing of procedural, OOP, generic programming, functional programming, etc
5. strictly statically typed (unlike Python for example): a large amount of logic (and sometimes even calculations) can be proved and performed at compile time, by the type checking/inferring system.
6. has deterministic memory management (as opposed to Java, C#, and other languages with garbage collectors): the life time of every object is known with absolute precision, which makes destructors useful and RAII possible.
Disadvantages of C++
1. very complex! The learning curve is steep and takes a long time to climb, especially for those who know C or C# or other superficially similar languages
2. has the concept of "undefined behavior" (just like C) -- a large class of errors that neither compiler nor the runtime system is required to diagnose.
3. has some design flaws, although they are largely fixed by boost libraries and the new language standard.
4. lacks network and async I/O, graphics, concurrency, serialization, and many other facilities expected of modern languages, although that is also largely fixed by boost libraries and (as far as concurrency is concerned) the new language standard.
Comments
Post a Comment