Taleem Dunya

Lecture 01

Introduction to C++


C++ is a high-level, general-purpose programming language that was developed by Bjarne Stroustrup in 1983. C++ is an extension of the C programming language and adds object-oriented programming features, which makes it a popular choice for developing large, complex software applications. One of the key features of C++ is its efficiency. C++ code is compiled into machine code, which means that it can run very quickly on modern hardware. C++ is also a compiled language, which means that errors can be detected at compile-time, rather than at runtime, which can save developers a significant amount of time and effort.

C++ is an object-oriented programming language, which means that it uses objects to represent real-world concepts. This makes it easier to write and maintain complex code, as the code can be broken down into smaller, more manageable components. In addition, C++ allows developers to use inheritance and polymorphism, which can help to simplify code and make it more reusable. C++ also has a large and active community of developers, who have created a vast library of open-source frameworks and tools. This makes it easy for developers to find solutions to common programming problems, and it also allows for rapid development of new applications.

C++ is commonly used for developing operating systems, embedded systems, and large-scale software applications, such as video games and computer graphics software. In addition, C++ is widely used in the financial industry, where it is used to develop high-performance trading systems and other financial applications.
In conclusion, C++ is a powerful programming language that is widely used in a variety of industries. Its efficiency, object-oriented programming features, and large library of tools and frameworks make it an attractive choice for developers who need to develop complex, high-performance applications. If you are interested in programming and software development, learning C++ is an excellent choice.

High-Level Languages

High-level languages, such as C++, Java, C# and Visual Basic, allow you to write instructions that look more like everyday English and contain commonly used mathematical expressions.

Translator programs called compilers convert high-level language programs into machine language. 

The process of compiling a large high-level language program into machine language can take a considerable amount of computer time. 

Interpreter programs were developed to execute high-level language programs directly (without the need for compilation), although more slowly than compiled programs. Scripting languages such as the popular web languages JavaScript and PHP are processed by interpreters.

What is C++

C++ evolved from C, which was developed by Dennis Ritchie at Bell Laboratories. C is accessible for a broad range of computers, exhibiting hardware independence. Through meticulous design, one can craft C programs that exhibit portability across a diverse array of computer systems. However, the extensive utilization of C across various hardware platforms has, regrettably, resulted in a multitude of discrepancies. This necessitated the establishment of a standardized version of C. In this regard, the American National Standards Institute (ANSI) collaborated with the International Organization for Standardization (ISO) to achieve global standardization for C. The collective standard documentation, known as ANSI/ISO 9899:1990, was officially published in the year 1990.

C++, an extension of the C programming language, was conceived by Bjarne Stroustrup in 1979 while he was working at Bell Laboratories. Initially referred to as "C with Classes," it underwent a name change in the early 1980s to become C++. C++ offers a range of enhancements to the C language, with a primary focus on enabling object-oriented programming capabilities.

C++ Standard Library

C++ programs consist of components known as classes and functions. While it's possible to create these components from scratch, most C++ developers make use of the extensive assortment of classes and functions available in the C++ Standard Library. Consequently, there are essentially two facets to mastering the C++ environment. The initial facet involves acquiring a comprehensive understanding of the C++ language itself, while the second facet pertains to gaining proficiency in the utilization of the classes and functions provided by the C++ Standard Library. We explore various aspects of these classes and functions. To deepen one's comprehension of the ANSI C library functions integrated into C++, it is highly recommended to consult P. J. Plauger's book, "The Standard C Library" (Upper Saddle River, NJ: Prentice Hall PTR, 1992). Additionally, numerous specialized class libraries are offered by independent software vendors. Crafting your own functions and classes offers the advantage of a detailed understanding of their inner workings, allowing you to scrutinize the C++ code. Nevertheless, this approach also entails the arduous and intricate process of designing, developing, and maintaining new functions and classes to ensure correctness and operational efficiency.