імперативне програмування
Алгоритмічна мова програмування - штучний (формальний) мова, призначена для запису алгоритмів. Мова програмування задається своїм описом і реалізується у вигляді спеціальної програми: компілятора або інтерпретатора.
Programming language; Algorithmic language
Pascal (Паскаль). Мова Паскаль, створений в кінці 70-х років основоположником багатьох ідей сучасного програмування Ніколасом Віртом, багато в чому нагадує Алгол, але в ньому посилений ряд вимог до структури програми і є можливості, що дозволяють успішно застосовувати його при створенні великих проектів.
Basic (Бейсік). Для цієї мови є і компілятори, і інтерпретатори, а за популярністю він займає перше місце в світі. Він створювався в 60-х роках в якості навчального мови і дуже просто в вивченні.
С (Сі). Дана мова був створений в лабораторії Bell і спочатку не розглядалося як масовий. Він планувався для заміни асемблера, щоб мати можливість створювати настільки ж ефективні і компактні програми, і в той же час не залежати від конкретного типу процесора.
Сі багато в чому схожий на Паскаль і має додаткові кошти для прямої роботи з пам'яттю (покажчики). На цій мові в 70-і роки написано безліч прикладних і системних програм і ряд відомих операційних систем (Unix).
Четверте покоління мов програмування
С ++ (Сі ++). Сі ++ - це об'єктно-орієнтоване розширення мови Сі, створене Бьярном Страуструпом в 1980 році. Безліч нових потужних можливостей, що дозволили різко підвищити продуктивність програмістів, наклалося на успадковану від мови Сі певну низькорівневими, в результаті чого створення складних і надійних програм зажадало від розробників високого рівня професійної підготовки.
Java (Джава, Ява). Ця мова була створена компанією Sun на початку 90-х років на основі Сі ++. Він покликаний спростити розробку додатків на основі Сі ++ шляхом виключення з нього всіх низькорівневих можливостей. Але головна особливість цієї мови - компіляція не в машинний код, а в платформонезавісимость байт-код (кожна команда займає один байт). Цей байт-код може виконуватися за допомогою інтерпретатора - віртуальної Java-машини JVM (Java Virtual Machine), версії якої створені сьогодні для будь-яких платформ. Завдяки наявності безлічі Java-машин програми на Java можна переносити не тільки на рівні вихідних текстів, а й на рівні двійкового байт-коду, тому за популярністю мова Ява сьогодні займає друге місце після Бейсика. Мова Java дозволяє створювати програми для роботи в Інтернет.
Особливу увагу в розвитку цієї мови приділяється двома напрямками: підтримки всіляких мобільних пристроїв і мікрокомп'ютерів, вбудованих в побутову техніку (технологія Jini) і створення платформонезалежних програмних модулів, здатних працювати на серверах в глобальних і локальних мережах з різними операційними системами (технологія Java Beans). Поки основний недолік цієї мови - невисока швидкодія, так як мова Ява інтерпретується.
Це все алгоритмічні мови. В даний час широко використовуються алгоритмічні мови Паскаль і СІ. На основі алгоритмічних мов стали створюватися мови об'єктного і об'єктно-візуального програмування. Об'єктно-орієнтованими мовами є СІ ++ і Object Pascal, вони дозволяють створювати різні додатки. Мови 4-го рівня дозволяють створювати додатки, що функціонують на різних платформах: DOS, WINDOWS, UNIX.
Особливості алгоритмічних мов в тому, що є конкретний заданий алгоритм вирішення задачі, використовується оператор присвоювання, можливий, але не вітається оператор goto. Алгоритмічні мови по-іншому називаються процедурними або імперативними.
Імперативне програмування - це технологія програмування, що характеризується принципом послідовної зміни стану обчислювача покроковим чином. При цьому управління змінами повністю визначено і повністю контролюється. Імперативний мову програмування - це те ж саме, що і процедурно-орієнтована мова програмування. Процедурно-орієнтована мова програмування - мова програмування високого рівня, в основу якого покладено принцип опису (послідовності) дій, що дозволяє вирішити поставлену задачу. Зазвичай процедурно-орієнтовані мови задають програми, як сукупності процедур або програм.