Posts

Showing posts from April, 2024

2.2 - 2.15

  2.2   pseudocode  In the late 1940s and early 1950s, computers were slow, unreliable, and difficult to program because there were no high-level programming languages like today. Instead, programmers had to use machine code, which was tedious and error-prone. Machine code used numeric codes for instructions, making programs hard to read, and modifying them was difficult due to absolute addressing. To address these issues, "pseudocodes" were developed as somewhat higher-level languages. One example is Short Code, developed by John Mauchly in 1949. Short Code used coded versions of mathematical expressions, making programming simpler, but it was slow compared to machine code. Another example is Speedcoding, developed by John Backus for the IBM 701. Speedcoding extended machine languages to include floating-point operations and made programming easier, but it was limited by memory constraints and execution speed. Grace Hopper's team at UNIVAC developed "compiling"...

2.16 - 2.20

2.16 **Evolution of C++:** - Bjarne Stroustrup at Bell Laboratories made the first modifications to C in 1980, adding features from Simula 67 and Smalltalk. - These modifications included classes, derived classes, public/private access control, constructor and destructor methods, etc., resulting in "C with Classes" in 1983. - In 1984, virtual methods, method name and operator overloading, and reference types were added, resulting in C++. - The Cfront implementation of C++ appeared in 1985, followed by further evolutions leading to Release 2.0 in 1989 and Release 3.0 in 1990. - Key additions included multiple inheritance, abstract classes, templates, and exception handling. **Language Overview:** - C++ supports both procedural and object-oriented programming, with functions and methods. - Operators and methods can be overloaded, and dynamic binding is achieved through virtual methods. - Templated methods and classes allow for parameterization. - Multiple inheritance is support...