Учебник: Cay
        Horstmann, Computing
        Concepts with C++ Essentials, Third Edition, John Wiley
      & Sons, 2003.        
                   
            
        Cay S. Horstmann, Timothy A. Budd, Big C++, 2nd Edition, Wiley,
        January 2009. 
 
    
    
Няма дефиниция, понятието се променя с времето.
      Компютърните действия (програми) са съставени от огромен брой примитивни
        операции. 
      Примери:
    
Компютърът дава илюзията за плавно изпълнение, защото той
      изпълнява тези операции с голяма скорост (каква?). 
      Компютрите са гъвкави: те могат да се справят с широк спектър от
      задачи, тъй като те изпълняват различни програми, всяка от които
      прави компютърът да работи по конкретна задача.
    
Джон
        Атанасов - история на компютрите.
      От микрокомпютър до суперкомпютър. Многопроцесорни компютри,
      квантови компютри.
      Херц, гигахерц; байт, гигабйт; флопс (FLOPS), гигафлопс,
      екзафлопс (EFLOPS = 1000 petaflops)
      (103 - кило, 106 - мега, 109 -
      гига, 1012 - тера, 1015 - пета)
      Supercomputer
      2020, Fujitsu Fugaku, 415 petaflops
      2022, Cray/HPE Frontier, 1102 petaflops
      Разпределени изчисления, облаци, персонални компютри
    
 Пример:
          https://www.apple.com/macbook-air/
        
Лаптоп APPLE MacBook Air 13 (2020) Retina, 13.3", Intel® Core™
      i3, RAM 8GB, SSD 256GB, Intel® Iris Plus Graphics, Mac OS, Gold,
      Intl. kbd 
    
Intel® Core™ i3-1115G4 Processor
      6 MB Chache
      4.10 GHz Max Turbo Frequency
      2 Cores
      4 Threads
      G - includes discrete graphics fn package
      

* Процесорът изпълнява машинни инструкции (примитивни операции), които са:
161 40000 45 100 127 11280
* Асемблер - език от ниско ниво:
mov 40000, %eax
sub 100, %eax
jg 11280
mov int_rate, %eax
sub 100, %eax
jg int_error
* Програмни езици от високо ниво:
if (int_rate > 100) message_box("Interest rate error");
      * Специална компютърна програма, наречена компилатор, превежда от
      програмен език на високо ниво в машинни инструкции за конкретен
      процесор (машинен език).
      * Компилаторите следват строги конвенции (правила) по отношение на
      използването на езика за програмиране. 
      * Когато компилатор чете инструкции за програмиране (изрази,
      операции и оператори) на език за програмиране, той ще ги
      трансформира в машинен код, само ако входът следва езиковите
      конвенции точно.
      * Строгите правила предотвратяват по-катастрофални грешки, които
      биха могли да възникнат, ако компилаторът трябва "да гадае".
      * Има много (стотици) езици за програмиране (List
        of programming languages).
      * Различията в езиците за програмиране понякога са незначителни,
      но в други случаи са съществени.
    
if (int_rate > 100) message_box("Interest rate error");
      if int_rate > 100 then System.Console.Write("Interest rate error") end if
      ** История на езика С++
 * Езикът С се създава и развива заедно с операционната система
      UNIX. Първата версия е създадена през 1973 г. от Денис
        Ричи. Езикът се развива интензивно и през 1977 г. UNIX е
      пренаписана на С. Стандартна версия на езика е установена през
      1989 година. 
      * Езикът С++ е създаден от Бьорн
        Страуструп 1983 г., като към езика С са добавени нови
      елементи. Всъщност възниква нов обектно-ориентиран език, който
      веднага получава много широко разпространение. Стандартизацията на
      езика завършва през 1998 година, като книгата на Страуструп e
      всъщност този стандарт. 
      * 2003 - Стандарти, разработени за нови версии на C++ (The C++ Standards
        Committee).
      * 2011-09-11: Нов C++ стандарт - C++11, 
      2013-05-24:  CD
      за новия стандарт.
      * 2013-05-24: The CD
      for the new C++14 standard is released.
      * 2017-03-21: Working
        Draft, Standard for Programming Language C++
      *2022-03-17: Working
        Draft, Standard for Programming Language C++
    
 ** Компилатори и среди за програмиране на С и С++
      * Unix ОС (Ubuntu и др.), Мас: 
      - GCC е GNU компилатор, който
      поддържа най-новите версии (стандарти) на езиците C, C++;
      - текстов редактор
    
*  Системи (среди) за програмиране за MS Windows -
      обикновено се състоят от текстов редактор, компилатор, библиотеки
      и система за проверка на програмите (debug). За С/С++
      по-известните среди за програмиране са: 
      - MS
        Visual C++ - продукт на Майкрософт, не поддържа С++
      стандарт; 
      - Dev C++ - поддържа С++
      стандарт, няма help за езика и удобен дебъгер; 
      - Code::Blocks -
      The open source, cross platform, free C++ IDE.
      - idone - an online
      compiler and debugging tool which allows you to compile source
      code and execute it online.
    
| // hello.cpp | /*Име на файла, съдържащ текста на програмата*/ | 
| #include <iostream> | /*Директива на препроцесора*/ | 
| using namespace std; | /*Стандартно пространство на имена*/ | 
|   | 
            | 
        
| int main() | /*Главна функция*/ | 
| { cout << "Hello, World!\n"; | /*Оператор за потоков изход*/ | 
| return 0; | /*Връща на операционната система числото 0*/ | 
| } |   | 
        
| Hello, World! | 


| След година | 
          Сума (баланс) | 
        
| 0 | 
          $10,000.00  | 
        
| 1 | 
          $10,500.00 | 
        
| 2 | 
          $11,025.00 | 
        
| 3 |