ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра

Π―Π·Ρ‹ΠΊ ассСмблСра

Из Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра

Язы́к ассС́мблСра (Π°Π½Π³Π». assembly language ) β€” машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой систСму ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ для прСдставлСния Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, записанных Π² машинном ΠΊΠΎΠ΄Π΅. Π•Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прямо ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌ. ЯвляСтся сущСствСнно ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-зависимым: языки ассСмблСра для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ нСсовмСстимы, хотя ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС ассСмблСра Π² исполнимый ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (вычислСниС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, раскрытиС ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄, Π·Π°ΠΌΠ΅Π½Π° ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊ собствСнно ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… адрСсов Π½Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ адрСса) производится ассСмблСром β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ-транслятором, которая ΠΈ Π΄Π°Π»Π° языку ассСмблСра Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.

Π’ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠΌ русском языкС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ просто «ассСмблСром» (Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ выраТСния Ρ‚ΠΈΠΏΠ° Β«ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ассСмблСрС»), Ρ‡Ρ‚ΠΎ, строго говоря, Π½Π΅Π²Π΅Ρ€Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ассСмблСром имСнуСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с языка ассСмблСра Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ процСссора. ВмСсто Ρ„Ρ€Π°Π·Ρ‹ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ассСмблСрС» ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС ассСмблСра».

ИспользованиС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «язык ассСмблСра» ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎ сущСствовании Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ языка Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΈΠ»ΠΈ хотя Π±Ρ‹ стандарта Π½Π° Ρ‚Π°ΠΊΠΎΠΉ язык. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ синтаксис ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС ассСмблСра зависит Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ языка ассСмблСра Π½Π΅ сущСствуСт. ΠŸΡ€ΠΈ использовании Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «язык ассСмблСра», Ссли Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· контСкста, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΡΡ‚ΡŒ, ассСмблСр для ΠΊΠ°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ имССтся Π² Π²ΠΈΠ΄Ρƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ΠΈΠΊ.Π Π€

Π£Ρ€ΠΎΠ²Π½ΠΈ языков программирования

Π£Ρ€ΠΎΠ²Π½ΠΈ языков программирования.

Если язык программирования ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ процСссора ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ возмоТности, Ρ‚ΠΎ ΠΎΠ½ называСтся языком программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

Низкий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ языка программирования Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.
Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора.

Π―Π·Ρ‹ΠΊΠΎΠΌ самого Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня являСтся язык ассСмблСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ машинного ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… для восприятия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ символичСских условных ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ½Π΅ΠΌΠΎΠΊΠΎΠ΄Π°ΠΌΠΈ.

Π―Π·Ρ‹ΠΊ ассСмблСра Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ машинного языка, Π½ΠΎ с использованиСм Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ систСмы ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
ИспользованиС языка ассСмблСра, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ограничиваСтся ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ систСмного программирования, Ρ‚.Π΅. Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈΠ»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚.Π΄.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ процСссора ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ соотвСтствуСт свой язык ассСмблСра.

Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с языка ассСмблСра Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ процСссором ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ трСбуСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Ρ‚Π°ΠΊΠΆΠ΅ называСтся ассСмблСром.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° языкС высокого уровня Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ компилятором.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ эффСктивныС ΠΈ быстро выполняСмыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊΠΎ всСм возмоТностям процСссора. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΡ€ΠΈ этом трСбуСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ устройство ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, трСбуСтся большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для программирования ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пСрСнСсСна Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ процСссора.

Π―Π·Ρ‹ΠΊΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для написания систСмных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств, ΠΊΠΎΠ³Π΄Π° ваТнСйшими трСбованиями становятся быстродСйствиС ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прямого доступа ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ рСсурсам.

Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΈ понятнСС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π² Π½ΠΈΡ… Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, поэтому создаваСмыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ исходных тСкстов Π»Π΅Π³ΠΊΠΎ пСрСносятся Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создан транслятор этого языка. Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языках высокого уровня Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Π° ошибок ΠΏΡ€ΠΈ этом допускаСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС.

Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… инструкций ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС высокого уровня, Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ процСссор, слуТат ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ трансляторами.

Иногда Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ уровня языков программирования:

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΈ машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ описания самых ΠΌΠ΅Π»ΠΊΠΈΡ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° машинном языкС ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ процСссора ΠΈ использованиС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки памяти, Ρ‚Π΅ΠΌ самым максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС возмоТности ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Но процСсс этот ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ ΠΈ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌΠΈ.
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π² максимальной стСпСни ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ спСцифику ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚ΠΎ вмСсто ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… языков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ Π½ΠΈΠΌ машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки (ассСмблСры). Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, языки высокого уровня.

Π―Π·Ρ‹ΠΊΠΈ высокого уровня Π±Ρ‹Π»ΠΈ созданы для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ программиста ΠΎΡ‚ ΡƒΡ‡Π΅Ρ‚Π° тСхничСских особСнностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ языка характСризуСтся ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΅Π³ΠΎ близости ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ чСловСчСской Ρ€Π΅Ρ‡ΠΈ. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Π½Π΅Π΅ отличаСтся.

Π’Π°ΠΆΠ½Ρ‹ΠΌ прСимущСством языков высокого уровня являСтся ΠΈΡ… ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° Ρ‚Π°ΠΊΠΎΠΌ языкС, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….

Если трансляция сопровоТдаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ послС Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ транслятор Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

Если ΠΆΠ΅ трансляция сопровоТдаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ (Ρ‚.Π΅. с языка высокого уровня Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык) Π±Π΅Π· выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ послС Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ транслятор Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ компилятором.

Π’ настоящСС врСмя Π² ΠΌΠΈΡ€Π΅ сущСствуСт нСсколько тысяч языков программирования. Для программирования Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Ρ‚ΠΎΡ‚ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΎΠΉ Ρ‚Π»ΠΈ ΠΈΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π―Π·Ρ‹ΠΊΠΈ программирования, приспособлСнныС для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ спСцифичСских Π·Π°Π΄Π°Ρ‡, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.
НапримСр, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π½ΡŒΡˆΠ΅ часто использовали ЀОРВРАН (FORTRAN), ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для выполнСния Π² сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΈΡˆΡƒΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° языках PHP, Perl, JavaScript ΠΈ Π΄Ρ€.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ языки ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ просто. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эти языки ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ послС устройства Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π˜Π·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΡ… Π·Π°Ρ€Π°Π½Π΅Π΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла.

ΠšΡ€ΠΎΠΌΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ языки программирования. Π­Ρ‚ΠΎ языки, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΊΡ€ΡƒΠ³ Π·Π°Π΄Π°Ρ‡.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ языков программирования

БущСствуСт мноТСство ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ языки программирования. ЧастыС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ классификации Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

Π§Ρ‘Ρ‚ΠΊΠΎΠΉ классификации Π½Π΅ сущСствуСт, ΠΏΠΎ Ρ‚ΠΎΠΉ простой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ тысячи ЯП, ΠΈ Π² любой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ классификации обнаруТиваСтся практичСски Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ спСктр.

По систСмС Ρ‚ΠΈΠΏΠΎΠ²

НаиболСС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ЯП ΠΏΠΎ систСмС Ρ‚ΠΈΠΏΠΎΠ² Π½Π° Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅.

НСтипизированныС языки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ языки ассСмблСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСпосрСдствСнно с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ прСдставлСниСм Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· соврСмСнных языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ смыслС этого слова. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ€Π΅. Π’Π°ΠΊ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ языки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ систСмы Ρ‚ΠΈΠΏΠΎΠ², принося Ρ‚ΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² ΠΆΠ΅Ρ€Ρ‚Π²Ρƒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ исполнСниСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ любая опСрация. НапримСр, опСрация дСлСния Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ числами – для строк эта опСрация Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°.

Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΠΎ строгости этой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

По ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ЯП дСлятся Π½Π° статичСски ΠΈ динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (ΠΈΠ»ΠΈ просто, статичСскиС ΠΈ динамичСскиС).

БтатичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки

ΠŸΡ€ΠΈ статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚ΠΈΠΏΡ‹ всСх Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π΄ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ компиляции. Π―Π·Ρ‹ΠΊΠΈ со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ явно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ (manifestly typed) ΠΈΠ»ΠΈ типовыводящими (type-inferred).

Π―Π²Π½ΠΎ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки

Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ явного указания Ρ‚ΠΈΠΏΠΎΠ². К Π½ΠΈΠΌ относятся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C, C++, C#, Java.

ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ (выводят) Ρ‚ΠΈΠΏΡ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ автоматичСски, ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ явного аннотирования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² слоТных ΠΈ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… случаях. К Π½ΠΈΠΌ относятся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Haskell ΠΈ OCaml.

Надо Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ явно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΡƒΠΌΠ΅ΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, auto Π² Π‘++11), поэтому Ρ‡Ρ‘Ρ‚ΠΊΡƒΡŽ Π³Ρ€Π°Π½ΡŒ здСсь провСсти ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ всСгда.

ДинамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки

производят ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ² Π½Π° этапС выполнСния. Π˜Π½Π°Ρ‡Π΅ говоря, Ρ‚ΠΈΠΏΡ‹ связаны со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, Π° Π½Π΅ с тСкстовым Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Как ΠΈ типовыводящиС языки, динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ указания Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Помимо ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, это позволяСт ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠΌΠ΅Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако, ошибки Ρ‚ΠΈΠΏΠΎΠ² Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ автоматичСски ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹, ΠΏΠΎΠΊΠ° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½. Π­Ρ‚ΠΎ услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ нСсколько ΠΏΠΎΠ΄Ρ€Ρ‹Π²Π°Π΅Ρ‚ идСю типобСзопасности Π² Ρ†Π΅Π»ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ Lisp, Perl, Python, JavaScript ΠΈ Ruby.

По строгости Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ языки дСлятся Π½Π° сильно ΠΈ слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅.

Π‘Π»Π°Π±ΠΎ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки

нСявно ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, скаТСм, строки Π² числа ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ошибки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹. УслоТняСтся ΠΎΡ‚Π»Π°Π΄ΠΊΠ°.

Бильно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки

Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π΅ΡΠ²Π½ΡƒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€ΡΠΈΡŽ, ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ явной. Π”Π°ΡŽΡ‚ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ типобСзопасности, Π½ΠΎ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ многословным.

Π’ Ρ†Π΅Π»ΠΎΠΌ, Ρ‡Ρ‘Ρ‚ΠΊΡƒΡŽ Π³Ρ€Π°Π½ΡŒ провСсти оказываСтся ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ достаточно слоТно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ производится Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков. ΠžΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΊ слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ относят Perl, JavaScript ΠΈ C (Π² силу свободной конвСрсии void* ). К сильно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ относят C++, Java, Haskell, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

По ΡƒΡ€ΠΎΠ²Π½ΡŽ абстракции

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ ΡƒΡ€ΠΎΠ²Π½ΡŽ абстракции сильно зависит ΠΎΡ‚ соврСмСнных прСдставлСний ΠΎ β€œΠ²Ρ‹ΡΠΎΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ абстракции”.

Π―Π·Ρ‹ΠΊΠΈ ΠΏΠΎ-настоящСму Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня – это ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ языки ассСмблСра, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ – Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС языки высокого уровня. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сСйчас ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ C ΠΈ C++ языками Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

Java, Python, Ruby ΠΈ Ρ‚.ΠΏ. сСйчас общСпринято ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ языками высокого уровня.

Π―Π·Ρ‹ΠΊΠΈ высокого уровня ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ, написанныС Π½Π° Π½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ (абстракция Π½Π΅ бСсплатна).

По модСли исполнСния

ЯП ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ, транс-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нСпосрСдствСнно, Π±Π΅Π· этапа компиляции. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, называСмая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, опрСдСляСт сообразноС дСйствиС, ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ. Π“ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€œΠ½Π° лСту” ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки: PHP, Perl, Bash, Python, JavaScript

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык компилируСтся, Ρ‚.Π΅. пСрСводится Π² ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΎ выполнСния.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ нСпосрСдствСнно Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдставлСниС (Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ интСрпрСтируСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной.

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки (ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄): Π‘, Π‘++, Algol, Fortran, Haskell ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки (Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄): Python, Java

Вранс-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки – это языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для компиляции ΠΈΠ»ΠΈ выполнСния Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык. Частой Ρ†Π΅Π»ΡŒΡŽ для транс-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков являСтся C. Π’Π°ΠΊΠΆΠ΅ послСднСС врСмя популярной Ρ†Π΅Π»ΡŒΡŽ являСтся JavaScript (ΠΊΠ°ΠΊ СдинствСнный язык, исполняСмый Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅).

Вранс-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки: C++ (историчСски, Π² C), Haskell (историчСски, Π² Π‘), Fortran (ΠΈΠ½ΠΎΠ³Π΄Π°, Π² Π‘), Fay (Π² JavaScript)

Π›ΠΈΠ½ΠΈΠΈ сильно Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ компиляторы для Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, ΠΈ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ для Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ….

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ β€œΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡŽβ€

ПоколСниС – нСсколько условная характСристика, которая Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ связана с историСй появлСния соврСмСнных языков программирования.

Π―Π·Ρ‹ΠΊΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния

1GL – это ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ языки. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этих языках вводились ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π­Π’Πœ, Π»ΠΈΠ±ΠΎ β€œΠΏΠΈΡΠ°Π»ΠΈΡΡŒβ€ Π½Π° ΠΏΠ΅Ρ€Ρ„ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠ΅Ρ€Ρ„ΠΎΠ»Π΅Π½Ρ‚Π°Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° 1GL состоит ΠΈΠ· 0 ΠΈ 1 ΠΈ сильно привязана ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΆΠ΅Π»Π΅Π·Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

Π―Π·Ρ‹ΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния

Π­Ρ‚ΠΎ общая катСгория для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков языков ассСмблСра. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΊΠΎΠ΄ языков 2GL ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² машино-Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ (этот процСсс называСтся ассСмблированиСм, ΠΈΠ»ΠΈ сборкой). Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, этот язык спСцифичСн ΠΊ процСссору ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΠΌΡƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΡŽ.

Π―Π·Ρ‹ΠΊΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ поколСния

Π‘ΠΎΠ»Π΅Π΅ абстрактныС, Ρ‡Π΅ΠΌ 2GL, это языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Π·Π°Π±ΠΎΡ‚Ρƒ ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… дСталях с ΠΏΠ»Π΅Ρ‡ программиста Π½Π° ΠΏΠ»Π΅Ρ‡ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Fortran, ALGOL ΠΈ COBOL ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ 2GL. C, C++, Java, BASIC ΠΈ Pascal Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ отнСсСны ΠΊ 3GL, хотя Π² ΠΎΠ±Ρ‰Π΅ΠΌ 3GL ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ (Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ C++, Java Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ‚ΠΎΠΌ числС Π² ООП)

Π―Π·Ρ‹ΠΊΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ поколСния

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ нСсколько расплывчато, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ сводится ΠΊ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ высокому ΡƒΡ€ΠΎΠ²Π½ΡŽ абстракции, Ρ‡Π΅ΠΌ 3GL. Однако, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ суТСния области примСнСния. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, FoxPro, LabView G, SQL, Simulink ΡΠ²Π»ΡΡŽΡ‚ΡΡ 4GL, ΠΎΠ΄Π½Π°ΠΊΠΎ находят ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡƒΠ·ΠΊΠΎΠΉ спСцифичСской области. НСкоторыС исслСдоватСли ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ 4GL ΡΠ²Π»ΡΡŽΡ‚ΡΡ подмноТСством DSL (domain specific language, язык, спСцифичный ΠΊ области).

Π―Π·Ρ‹ΠΊΠΈ пятого поколСния

Π’ ΠΊΠΎΠ½Ρ†Π΅ 80-Ρ… – Π½Π°Ρ‡Π°Π»Π΅ 90-Ρ… Π±Ρ‹Π»Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ класс языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ β€œΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сами”. По ΠΈΠ΄Π΅Π΅, программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° сСбя вСсти, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ отнСсти Prolog, OPS5, Mercury. Π₯отя эти языки ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ интСрСсными с тСорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ практичСского примСнСния ΠΎΠ½ΠΈ Π½Π΅ нашли.

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования

ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Π’ΠΎΠΎΠ±Ρ‰Π΅ строгого опрСдСлСния Π½Π΅Ρ‚, Π½ΠΎ ΠΏΠΎ сути β€œΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования” опрСдСляСт ΡΡ‚ΠΈΠ»ΡŒ написания исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни β€œΡΡ‚ΠΈΠ»ΡŒβ€ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ способ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ характСризуСтся Π² основном:

ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΊ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, относящСгося ΠΊ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅) ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ присваиваниС. НаличиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ вычислСний ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ спСцифичСским ошибкам, Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΌΡΡ ΠΏΡ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всё Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС Π² основС своСй ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅.

НСструктурноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… языков программирования.

Π’ основном характСризуСтся:

Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ нСструктурного программирования являСтся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ рСкурсии.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ нСструктурного программирования, характСризуСтся:

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ структурного программирования основана Π½Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ΅ Π‘Ρ‘ΠΌΠ°-Π―ΠΊΠΎΠΏΠΈΠ½ΠΈ:

Π›ΡŽΠ±Π°Ρ вычислимая функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Ρ€Ρ‘Ρ… ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур:

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ – это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сначала ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°Ρ‚Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ – это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠΉ, Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² зависимости ΠΎΡ‚ значСния Π½Π΅ΠΊΠΎΠ³ΠΎ Π±ΡƒΠ»Π΅Π²Π° (логичСского) выраТСния.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ – это ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ΠΊΠΎΠ΅ Π±ΡƒΠ»Π΅Π²ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΡŽ Π½Π° Ρ‚Π΅ΠΌΡƒ структурного программирования, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

Основная идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π° счёт:

Оба этих ΠΏΡƒΠ½ΠΊΡ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π·Π° счёт использования стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ основано Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ β€œΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°β€.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ (поля, свойства, Π°Ρ‚Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹) ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΊΠΎΠ΄, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹).

НаиболСС популярной Ρ„ΠΎΡ€ΠΌΠΎΠΉ ООП являСтся ООП Π½Π° основС классов. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ экзСмплярами классов, ΠΈ классы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Одной ΠΈΠ· Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² являСтся ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ΅ наслСдованиС. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ΅ наслСдованиС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ классов. ВмСсто этого, ΠΎΠ΄Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ β€œΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°ΠΌΠΈβ€ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – ΠΏΡ€ΠΈ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ поля ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° становятся доступны ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ поля Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ… Π½Π΅ пСрСопрСдСляСт)

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ задаётся спСцификация Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ описываСтся, Ρ‡Ρ‚ΠΎ прСдставляСт собой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ являСтся ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Как слСдствиС, Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ понятия состояния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ содСрТат ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания.

К ΠΏΠΎΠ΄Π²ΠΈΠ΄Π°ΠΌ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ относят Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ логичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ‚Π°ΠΊΠΈΡ… языках Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ содСрТат алгоритмичСскиС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅.

β€œΠ§ΠΈΡΡ‚ΠΎ дСкларативныС” ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ языки Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ ΠΏΠΎ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Ρƒ β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ слуТат SQL ΠΈ HTML β€” Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ тСорСтичСски Π½Π΅ всСгда Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ исполняСмого ΠΊΠΎΠ΄Π° ΠΏΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ описанию. Π­Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ спорам ΠΎ коррСктности Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° β€œΠ΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ программированиС”.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Основано Π½Π° лямбда-исчислСнии

АппликативноС

АппликативноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит Π² систСматичСском осущСствлСнии примСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ примСнСния вновь являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² примСнСниях ΠΊΠ°ΠΊ Π² Ρ€ΠΎΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Π² Ρ€ΠΎΠ»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ запись ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ матСматичСски ясной. Π’ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ функция обозначаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ возмоТности использования Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² β€” Π½Π° Ρ€Π°Π²Π½Ρ‹Ρ… ΠΏΡ€Π°Π²Π°Ρ… с ΠΏΡ€ΠΎΡ‡ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠ΅

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π°Π½Π³Π». function-level programming) β€” ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ.

ЯвляСтся особой Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, Π½ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ основного Π΅Π³ΠΎ направлСния, ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ξ»-Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это выливаСтся Π² отсутствиС β€œΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…β€, содСрТащих Π΄Π°Π½Π½Ρ‹Π΅.

ЛогичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ЛогичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, основанная Π½Π° автоматичСском Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ Ρ‚Π΅ΠΎΡ€Π΅ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ логичСского Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° основС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄Π°. ЛогичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ основано Π½Π° Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π΅ матСматичСской Π»ΠΎΠ³ΠΈΠΊΠΈ с использованиСм матСматичСских ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΠΉ.

Π‘Π°ΠΌΡ‹ΠΌ извСстным языком логичСского программирования являСтся Prolog.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ копия 2

Π―Π·Ρ‹ΠΊΠΈ программирования

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой логичСски ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для управлСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° – это большая ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Π°Ρ схСма. ВсС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ элСктричСских сигналов. Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ сигнала описываСтся понятиСм Β«1Β», Π° Π΅Π³ΠΎ отсутствиС – понятиСм Β«0Β». ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ процСссором, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ряд Ρ‡Π΅Ρ€Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ любая ΠΊΠΎΠΌΠ°Π½Π΄Π° прСобразуСтся Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, процСссор исполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ… ΠΎΡ‡Π΅Π½ΡŒ слоТно, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ с ростом Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ эта Π·Π°Π΄Π°Ρ‡Π° услоТняСтся. Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния использовались ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ…, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° сущСствовал свой собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Числовая ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄, адрСсов ячССк ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄Π° ΠΏΡ€ΠΎ Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ Π΅Π΅ мСста Π² памяти Π½Π΅ Π΄Π°Π²Π°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° смыслом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния. Π’ Ρ‚ΠΎΡ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ (Π½Π°Ρ‡Π°Π»ΠΎ 50-Ρ… Π³Π³.) срСдства программирования ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ€ΠΎΠΆΠ΄Π°Π»ΠΈΡΡŒ ΠΈ Π±Ρ‹Π»ΠΈ Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π΅Π΅ смысловой структурой, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ символичСский язык ассСмблСр, Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ (ΠΊΠΎΠ½Π΅Ρ† 50-Ρ… – Π½Π°Ρ‡Π°Π»ΠΎ 60-Ρ… Π³Π³.), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появилось понятиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. АссСмблСр стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ языком программирования. Благодаря этому Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΎΡΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ возросла Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Для записи ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ассСмблСрС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ стандартныС обозначСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ числа ΠΈ тСкст Π² общСпринятом Π’ΠΈΠ΄Π΅, для ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ приняты мнСмоничСскиС обозначСния для обозначСния Π²Π΅Π»ΠΈΡ‡ΠΈΠ½, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π² памяти, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π°. ПослС Π²Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ассСмблСр сам замСняСт символичСскиС ΠΈΠΌΠ΅Π½Π° Π½Π° адрСса памяти, Π° символичСскиС ΠΊΠΎΠ΄Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° числовыС. ИспользованиС ассСмблСра сдСлало процСсс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ наглядным. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ этой ΠΈΠ΄Π΅ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ созданию языков программирования высокого уровня, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈ слоТныС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ СдинствСнным ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΌ ΠΈΡ… словом – ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ «язык программирования»

БСгодня практичСски всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков программирования. ВСорСтичСски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π½Π° СстСствСнном языкС (говорят: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° мСтаязыкС), Π½ΠΎ ΠΈΠ·-Π·Π° нСоднозначности СстСствСнного языка автоматичСски пСрСвСсти Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π―Π·Ρ‹ΠΊΠΈ программирования – это Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ искусствСнныС языки. Как ΠΈ СстСствСнныС языки, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π»Ρ„Π°Π²ΠΈΡ‚, словарный запас, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΈ синтаксис, Π° Ρ‚Π°ΠΊΠΆΠ΅ сСмантику.

Алфавит – Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΊ использованию Π½Π°Π±ΠΎΡ€ символов, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ слова ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка.

Бинтаксис – систСма ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… допустимыС конструкции языка программирования ΠΈΠ· Π±ΡƒΠΊΠ² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° – систСма ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ³ΠΎ толкования ΠΊΠ°ΠΆΠ΄ΠΎΠΉ языковой конструкции, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ процСсс ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ВзаимодСйствиС синтаксичСских ΠΈ сСмантичСских ΠΏΡ€Π°Π²ΠΈΠ» опрСдСляСт основныС понятия языка, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, константы, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ‚.Π΄. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ СстСствСнных, язык программирования ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ запас слов (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²) ΠΈ строгиС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΡ… написания, Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ сСмантики, ΠΊΠ°ΠΊ ΠΈ для любого Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка, явно ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ сформулированы.

Π―Π·Ρ‹ΠΊΠΈ программирования, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ особСнности, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ языками Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. «Низкий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΒ» Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΉ, имССтся Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ этого языка Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора.

Π―Π·Ρ‹ΠΊΠΎΠΌ самого Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня являСтся ассСмблСр. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° Π½Π΅ΠΌ, прСдставляСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ², Π½ΠΎ записанных с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ программист ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊΠΎ всСм возмоТностям процСссора. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΡ€ΠΈ этом трСбуСтся Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ устройство ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π° использованиС Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с процСссором Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊΠΈΠ΅ языки программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для написания Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… систСмных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ стыковки с нСстандартным ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΆΠ½Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ, быстродСйствиС, прямой доступ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ рСсурсам.

Π―Π·Ρ‹ΠΊΠΈ программирования, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ СстСствСнныС, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΡƒΠΊΡ€ΡƒΠΏΠ½Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Β«Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°Β», Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ языками высокого уровня. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ языка, Ρ‚Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ конструкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΊ понятиям исходной Π·Π°Π΄Π°Ρ‡ΠΈ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π² Π½ΠΈΡ… Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, поэтому исходныС тСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π»Π΅Π³ΠΊΠΎ пСрСносимы Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ трансляторы этого языка. Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языках высокого уровня с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ понятных ΠΈ ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, число ошибок, допускаСмых Π² процСссС программирования, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС. Π’ настоящСС врСмя насчитываСтся нСсколько сотСн Ρ‚Π°ΠΊΠΈΡ… языков (Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΈΡ… Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ²).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, языки программирования высокого уровня, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимыми ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ использования ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ² для прСобразования тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΈ обрабатываСтся процСссором.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования создаСтся тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, Π½Π°Π΄ΠΎ Π»ΠΈΠ±ΠΎ вСсь Π΅Π΅ тСкст пСрСвСсти Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (это дСйствиС ΠΈ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° – компилятор) ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π° исполнСниС процСссору, Π»ΠΈΠ±ΠΎ сразу Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ языка, пСрСводя Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык ΠΈ исполняя ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ (этим Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹).

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π±Π΅Ρ€Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ языка ΠΈΠ· тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ структуру ΠΈ Π·Π°Ρ‚Π΅ΠΌ сразу исполняСт. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ ΠΈ исполнСнию ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ. Если ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ выполняСтся нСсколько Ρ€Π°Π·, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ всякий Ρ€Π°Π· воспринимаСт Π΅Π³ΠΎ Ρ‚Π°ΠΊ, Π±ΡƒΠ΄Ρ‚ΠΎ встрСтил Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся произвСсти большой объСм ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ вычислСний, Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой Π½Π°Π±ΠΎΡ€ слов ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ вСсь тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ source code). Они ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ поиск синтаксичСских ошибок, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ сСмантичСский Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ, Ссли тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² точности соотвСтствуСт ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ языка, Π΅Π³ΠΎ автоматичСски пСрСводят (Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚) Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык (говорят: Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ object code). НСрСдко ΠΏΡ€ΠΈ этом выполняСтся оптимизация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ быстродСйствиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ обрабатываСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ сборщиком ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ связСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ связываниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΈ машинного ΠΊΠΎΠ΄ΠΎΠ². ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСобразуСтся Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ исполнСнию Π•Π₯Π•-Ρ„Π°ΠΉΠ» (исполнимый ΠΊΠΎΠ΄), Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ Π½Π° дискС. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ с процСссором, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Основной нСдостаток компиляторов – Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡ‚ΡŒ трансляции языков программирования, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… слоТной структуры, Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстной ΠΈΠ»ΠΈ динамичСски ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ вводятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ· наличия рСсурсов ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, срСдства динамичСского Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΈ освобоТдСния памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ статичСски Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ достаточно слоТно, Π° для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, для исслСдования содСрТимого памяти допустимо Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ слоТныС прСобразования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈ этом постоянно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ срСду, Ρ‡Ρ‚ΠΎ ΠΈ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ рСсурсы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… систСмах программирования ΡΠΌΠ΅ΡˆΠ°Π½Ρ‹ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ компиляции ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ. Π’ процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎ шагам (Ρ‚Ρ€Π°ΡΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ), Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимым ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ абстрактного процСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² дальнСйшСм Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ компилятора Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра

ВсС пСрСчислСнныС Π²Ρ‹ΡˆΠ΅ дСйствия Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств.

Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ этих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав систСмы программирования:

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈ ΠΎΠ±Π·ΠΎΡ€ языков программирования

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ состояниС языков программирования ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ классификации (рис. 2).

ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языков относятся языки ассСмблСра

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ (ΠΎΡ‚ Π»Π°Ρ‚. Imperativus – ΠΏΠΎΠ²Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΠ½ НСймановской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ языкС состоит ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для опрСдСлСния ΠΈ измСнСния содСрТимого памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ памяти ΠΊΠ°ΠΊ мСста хранСния Π΄Π°Π½Π½Ρ‹Ρ…, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сводится ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² с Ρ†Π΅Π»ΡŒΡŽ прСобразования исходного состояния памяти, Ρ‚.Π΅. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ обновляСт содСрТимоС памяти, измСняя Π΅Π³ΠΎ ΠΎΡ‚ исходного состояния Π΄ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ.

Кобол ( БОmmon Π’usiness Oriented Language – общСпринятый Π΄Π΅Π»ΠΎΠ²ΠΎΠΉ язык) – язык программирования, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π¨ΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ‡Π΅Ρ‚Π½ΠΎ-экономичСских ΠΈ управлСнчСских Π·Π°Π΄Π°Ρ‡. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² БША Π² 1958-1960 Π³Π³. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° КоболС ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ ряда ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° английском языкС ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст. Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ записанных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² прСдлоТСния, прСдлоТСния – Π² ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Ρ‹, ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Ρ‹ – Π²Β· сСкции. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ присваиваСт ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π°ΠΌ ΠΈ сСкциям ΠΈΠΌΠ΅Π½Π° (ΠΌΠ΅Ρ‚ΠΊΠΈ), Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ нСпосрСдствСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ участку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Π‘Π‘Π‘Π  Π±Ρ‹Π» принят русский Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языка. Π’ КоболС Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠΎΡ‰Π½Ρ‹Π΅ срСдства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…, хранящимися Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… носитСлях. На этом языкС создано ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ; Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ сСйчас. Достаточно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· высокооплачиваСмых ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ΅ΠΉ Π³Ρ€Π°ΠΆΠ΄Π°Π½ Π² БША ΡΠ²Π»ΡΡŽΡ‚ΡΡ программисты Π½Π° КоболС.

Алгол (ALGOrithmic Language) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… спСциалистов Π² 1960 Π³., явился Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ сотрудничСства ΠΊΠΎΠ½Ρ†Π° 50-Ρ… Π³Π³. (Алгол-60). Алгол прСдназначался для записи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², построСнных Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, примСняСмых ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ поставлСнных Π·Π°Π΄Π°Ρ‡. БпСциалисты-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ воспринимали этот язык Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ язык сыграл Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² становлСнии основных понятий программирования ΠΈ для обучСния программистов. Π’ Π½Π΅ΠΌ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Π²Π΅Π΄Π΅Π½Ρ‹ понятия «блочная структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β», «динамичСскоС распрСдСлСниС памяти». Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° Π² АлголС ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ обозначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ зависят ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НСсмотря Π½Π° своС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎe происхоТдСниС, Алгол-60 ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» мСньшСС распространСниС, Ρ‡Π΅ΠΌ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½. НапримСр, Π½Π΅ Π½Π° всСх Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… Π­Π’Πœ имСлись трансляторы с Алгола-60. Π’ 1968 Π³. Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ дальнСйшСго развития ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ Алгола-60 Π±Ρ‹Π»Π° создана вСрсия АлroΠ»-68. Π­Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ язык программирования. ПослСднСС свойство позволяло с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ транслятора ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… вСрсий языка Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° приспособлСниС этого языка ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ катСгориям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ² языка. По своим возмоТностям Алгол-68 ΠΈ сСгодня ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ языки программирования, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·-Π·Π° отсутствия эффСктивных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² для Π½Π΅Π³ΠΎ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ своСврСмСнно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ компиляторы. Π’ нашСй странС Π² Ρ‚Π΅ Π³ΠΎΠ΄Ρ‹ ΠΏΠΎΠ΄ руководством Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΠ° АндрСя ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΠΈΡ‡Π° Π•Ρ€ΡˆΠΎΠ²Π° Π±Ρ‹Π» создан транслятор ΠΠ»ΡŒΡ„Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставлял достаточно ΡƒΠ΄Π°Ρ‡Π½ΡƒΡŽ Ρ€ΡƒΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Алгола.

Π’ сСрСдинС 60-Ρ… Π³Π³. сотрудники матСматичСского Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° Дартмутского ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ° Вомас ΠšΡƒΡ€Ρ† ΠΈ Π”ΠΆΠΎΠ½ КСмСни создали спСциализированный язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоял ΠΈΠ· простых английских слов. Новый язык Π½Π°Π·Π²Π°Π»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ символичСским ΠΊΠΎΠ΄ΠΎΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ( Beginners All-purpose Symbolic Instruction Code) ΠΈΠ»ΠΈ сокращСнно BASIC (БСйсик). 1964 Π³. ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π³ΠΎΠ΄ΠΎΠΌ роТдСния этого языка. Он ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» самоС ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ БСйсика ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ простотой Π΅Π³ΠΎ освоСния, Ρ‚Π°ΠΊ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ достаточно ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Ρ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ…, тСхничСских ΠΈ экономичСских Π·Π°Π΄Π°Ρ‡, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈ Ρ‚.Π΄. Богласно концСпциям, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² БСйсикС, Π² Π½Π΅ΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° умолчания, Ρ‡Ρ‚ΠΎ считаСтся ΠΏΠ»ΠΎΡ…ΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков программирования ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ мноТСство вСрсий языка, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΌΠ°Π»ΠΎ совмСстимых Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Однако, зная ΠΎΠ΄Π½Ρƒ ΠΈΠ· вСрсий, ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· особого Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ. БСйсик Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ³Π»ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ Π½ΠΎΠ²ΠΈΠ½ΠΊΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ осущСствлялся с использованиСм ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, Π² настоящСС врСмя для этого языка ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ компиляторы.

Π’ Π½Π°Ρ‡Π°Π»Π΅ 60-Ρ… Π³Π³. ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языков программирования Π±Ρ‹Π» ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ классы Π·Π°Π΄Π°Ρ‡, Π½ΠΎ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π­Π’Πœ. Π‘Ρ‹Π»ΠΈ прСдприняты ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ этот нСдостаток ΠΏΡƒΡ‚Π΅ΠΌ создания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка программирования. ΠŸΠ›/1 (PL/1- Programming Language ОnΠ΅) – ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² БША Ρ„ΠΈΡ€ΠΌΠΎΠΉ IΠ’M Π² 1963-1966 Π³Π³. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… языков, ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ приспособлСн для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π² области Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: исслСдования ΠΈ планирования Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов, модСлирования, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ логичСских Π·Π°Π΄Π°Ρ‡ ΠΈ исслСдования логичСских схСм, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСм матСматичСского обСспСчСния. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ PL/1 Π±Ρ‹Π»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ основныС понятия ΠΈ срСдства языков Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, Алгол-60, Кобол. PL/1 – Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ язык, Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вставки, ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² процСссС Π΅Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π―Π·Ρ‹ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС, трансляторы с Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Компания IBM ΠΈ сСгодня ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот язык.

Паскаль (Pascal) являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языков программирования, особСнно для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ язык программирования Π² 1968-1971 Π³Π³. Никлаусом Π’ΠΈΡ€Ρ‚ΠΎΠΌ Π² Π’Ρ‹ΡΡˆΠ΅ΠΉ тСхничСской школС (ЕВН) Π² Π¦ΡŽΡ€ΠΈΡ…Π΅ (ШвСйцария), ΠΎΠ½ Π±Ρ‹Π» Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ французского ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ философа Π‘Π»Π΅Π·Π° Паскаля (1623-1662). ЦСлью Ρ€Π°Π±ΠΎΡ‚Ρ‹ Н. Π’ΠΈΡ€Ρ‚Π° Π±Ρ‹Π»ΠΎ созданиС языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ строился Π±Ρ‹ Π½Π° нСбольшом количСствС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… понятий; ΠΈΠΌΠ΅Π» простой синтаксис; допускал ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ простым компилятором.

ЛингвистичСская концСпция Паскаля ΠΏΡ€ΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡ€ΡƒΠ΅Ρ‚ систСмный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉΡΡ, Π² частности, Π² расчлСнСнии ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π° мСньшиС ΠΏΠΎ слоТности ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ, Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ. К основным ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Паскаля слСдуСт отнСсти:

Π’ основу Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языка Паскаль Π±Ρ‹Π» ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Алгол-60; Π½ΠΎ Π² Π½Π΅ΠΌ уТСсточСн ряд Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ структурС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ возмоТности, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ для создания ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-трансляторов. Паскаль Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для всСх Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… завСдСниях для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для создания Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ с ΠΊΠΎΠ½Ρ†Π° 60-Ρ… Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° 80-Ρ… Π³Π³. характСризуСтся Π±ΡƒΡ€Π½Ρ‹ΠΌ ростом числа Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π²ΡˆΠΈΠΌ, ΠΊΠ°ΠΊ это Π½ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΎΠΊΡΠ°Π»ΡŒΠ½ΠΎ, кризис ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π­Ρ‚ΠΎΡ‚ кризис особСнно остро ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Π»ΠΎ Π²ΠΎΠ΅Π½Π½ΠΎΠ΅ вСдомство БША. B январС 1975 Π³. ΠŸΠ΅Π½Ρ‚Π°Π³ΠΎΠ½ Ρ€Π΅ΡˆΠΈΠ» навСсти порядок срСди бСсчислСнного мноТСства трансляторов ΠΈ создал ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка. На конкурсной основС ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ рассмотрСл сотни ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ выяснил, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языков Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΈΡ… трСбованиям, для ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ рассмотрСния Π±Ρ‹Π»ΠΎ оставлСно Π΄Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΠΌΠ°Π΅ 1979 Π³. Π±Ρ‹Π» объявлСн ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒ – Π³Ρ€ΡƒΠΏΠΏΠ° ΡƒΡ‡Π΅Π½Ρ‹Ρ… Π²ΠΎ Π³Π»Π°Π²Π΅ с Π–Π°Π½ΠΎΠΌ Π˜Ρ…Π±ΠΈΠ°. ПобСдивший язык Π½Π°Π·Π²Π°Π»ΠΈ АДА, Π² Ρ‡Π΅ΡΡ‚ΡŒ Ады ЛавлСйс, Π΄ΠΎΡ‡Π΅Ρ€ΠΈ Π²Π΅Π»ΠΈΠΊΠΎΠ³ΠΎ поэта Π‘Π°ΠΉΡ€ΠΎΠ½Π°. Она Π² ΡŽΠ½ΠΎΡΡ‚ΠΈ Π±Ρ‹Π»Π° ΡƒΠ²Π»Π΅Ρ‡Π΅Π½Π° идСями Π§Π°Ρ€Π»ΡŒΠ·Π° БэббидТа ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π»Π° Π΅ΠΌΡƒ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ описаниС ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π° Π² Π½Π°Ρ‡Π°Π»Π΅ 40-Ρ… Π³Π³. XIX Π². Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π² ΠΌΠΈΡ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π―Π·Ρ‹ΠΊ АДА – прямой наслСдник Паскаля. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сопровоТдСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм, управлСния процСссами Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ языкС Ρ‡Π΅Ρ‚ΠΊΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ конструкций, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ обСспСчиваСтся удобство ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… связСй ΠΌΠ΅ΠΆΠ΄Ρƒ модулями. Π’Π°ΠΆΠ½Ρ‹ΠΌ Π΅Π³ΠΎ достоинством являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° многопроцСссорных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. Π―Π·Ρ‹ΠΊ АДА слоТСн для изучСния.

Π―Π·Ρ‹ΠΊ программирования Π‘ (Π‘ΠΈ) Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Bell для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX Π² Π½Π°Ρ‡Π°Π»Π΅ 70-Ρ… Π³Π³. ΠΈ Π½Π΅ рассматривался ΠΊΠ°ΠΊ массовый. Он планировался для Π·Π°ΠΌΠ΅Π½Ρ‹ АссСмблСра, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ эффСктивныС ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π½Π΅ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° процСссора. Π’Β·Π‘ ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ достоинства соврСмСнных высокоуровнСвых языков Π² части ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… конструкций ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… с возмоТностями прямого доступа ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ срСдствам ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Бинтаксис языка Π‘ обСспСчиваСт ΠΊΡ€Π°Ρ‚ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΅Π³ΠΎ компиляторы Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ эффСктивный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Одна ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сущСствСнных особСнностСй Π‘ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ различия ΠΌΠ΅ΠΆΠ΄Ρƒ выраТСниями ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π½ΠΈΠ²Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, это ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ языкам. НапримСр, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктом присваивания, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. НСт Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ ΠΈ функциями, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, понятиС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ вводится. Бинтаксис языка затрудняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ восприятиС составлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ строгая типизация Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности программисту, Π½ΠΎ Π½Π΅ способствуСт созданию Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π―Π·Ρ‹ΠΊ Π‘ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π» Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ срСди систСмных ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… программистов. Π’ настоящСС врСмя этот язык Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘ΡƒΡ‚ΡŒ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ (Π°ΠΏΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ) программирования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° А. П. Π•Ρ€ΡˆΠΎΠ²Ρ‹ΠΌ ΠΊΠ°ΠΊ «способ составлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… СдинствСнным дСйствиСм являСтся Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, СдинствСнным способом расчлСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° части являСтся Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° СдинствСнным ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ – ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ супСрпозиции Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Никаких ячССк памяти, Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания, Π½ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², Π½ΠΈ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Π±Π»ΠΎΠΊ-схСм, Π½ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния».

Основной конструкциСй Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языках являСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. К выраТСниям относятся константы, структурированныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡ… Ρ‚Π΅Π»Π° ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Аппликативный язык программирования Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ описаний Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ, Ρ‚.Π΅. проводится сСрия ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠΉ, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ значСниями; Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π½Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈΡ… Ρ‚Π΅Π»Π°ΠΌΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ рассматриваСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания отсутствуСт, поэтому ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. МоТно ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π±Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. НСт сущСствСнных Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ константами ΠΈ функциями, Ρ‚.Π΅. ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ элСмСнтом структурированного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Число Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с числом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π΅Π΅ описании.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Ρ‚Π°ΠΊΠΈΠΌ языком стал Лисп (LISP, LISt Processing – ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списков), созданный Π² 1959 Π³. Π”ΠΆΠΎΠ½ΠΎΠΌ ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ. Π­Ρ‚ΠΎΡ‚ язык ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° структуру Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ΅ списка ΠΈ позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. БущСствСнная Ρ‡Π΅Ρ€Ρ‚Π° языка – унификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… структур ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…: всС выраТСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ списков.

ЛогичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ языка искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³ (PROLOG, PROgramming in LOGic – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ…Β· Π»ΠΎΠ³ΠΈΠΊΠΈ) Π² 1973 Π³. французским ΡƒΡ‡Π΅Π½Ρ‹ΠΌ Аланом ΠšΠΎΠ»ΡŒΠΌΠ΅Ρ€ΠΎΡ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΎ Π½ΠΎΠ²ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ – логичСскоС ΠΈΠ»ΠΈ рСляционноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ понятиСм Π² логичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ являСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ Ρ†Π΅Π»ΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трактуСтся ΠΊΠ°ΠΊ процСсс общСзначимости логичСской Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, построСнной ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, установлСнным сСмантикой ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния являСтся ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ этого процСсса. Π’ логичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… основываСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π° Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ дСкларативности языка логичСского программирования. ЛогичСскиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ нСбольшоС быстродСйствиС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ вычислСния. ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ± ΠΈ ошибок, поиском с Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°ΠΌΠΈ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ шагам.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС ΠŸΡ€ΠΎΠ»ΠΎΠ³, Π² основу ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° матСматичСская модСль Ρ‚Π΅ΠΎΡ€ΠΈΠΈ исчислСния ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ², Бтроится ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ», Π·Π°Ρ‚Π΅ΠΌ формулируСтся ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠŸΡ€ΠΎΠ»ΠΎΠ³ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ». ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ описываСт структуру Π·Π°Π΄Π°Ρ‡ΠΈ, Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠŸΡ€ΠΎΠ»ΠΎΠ³Π° сам ΠΈΡ‰Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска ΠΈ сопоставлСния.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ( ООП)

ΠŸΠΈΠΎΠ½Π΅Ρ€ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ направлСния явился язык Π‘ΠΌΠΎΠ»Ρ‚ΠΎΠΊ (Smalltalk), ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ машинной Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ языком Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² 1970 Π³. Π² ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ XEROX (БША), Π° Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ Π² 1980 Π³. ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Smalltalk-80. Π”Π°Π½Π½Ρ‹ΠΉ язык ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ синтаксис ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ ΠΈ базируСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° понятии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ Π½Π΅ΠΌ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, всС, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π‘ΠΌΠΎΠ»Ρ‚ΠΎΠΊ, являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сообщСний. Π’ настоящСС врСмя вСрсия Vis u a l Age for Smalltalk Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ IBM.

Основой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП) являСтся понятиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π•Π³ΠΎ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ выраТаСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ = Π΄Π°Π½Π½Ρ‹Π΅ + ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹Β». ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅ΠΌΡƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹) ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этих Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный абстрактный Ρ‚ΠΈΠΏ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π² эту ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ вмСсто Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π΅Π΅ отобраТСния Π² ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… языка программирования. ОбъСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ свойствСнных ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ называСтся инкапсуляциСй ΠΈ присущС ООП.

Π”Ρ€ΡƒΠ³ΠΈΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ понятиСм ООП являСтся класс. Класс – это шаблон, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠ½ опрСдСляСт свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ этому классу. БоотвСтствСнно, любой созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ становится экзСмпляром класса. Класс обСспСчиваСт скрытиС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² для Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, динамичСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ООП являСтся Π±ΠΎΠ»Π΅Π΅ СстСствСнным, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ языками Π±ΠΎΠ»Π΅Π΅ высокого уровня.

К Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ соврСмСнным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языкам программирования относятся Π‘++ ΠΈ Java.

По ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π°Π²Ρ‚ΠΎΡ€Π°, Java являСтся простым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ-Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ языком ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

ИдСи ООП ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ»ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ языки. НапримСр, Π² состав ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы программирования Паскаль (ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Borland International), начиная с вСрсии 5.5, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ООП Turbo Vision.

Π‘ сСрСдины 90-Ρ… Π³Π³. ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ систСма Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. Π’Π°ΠΊΠΈΠ΅ систСмы ΠΈΠΌΠ΅ΡŽΡ‚ интСрфСйс, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ составлСнии тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Π΅ графичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½Π° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этих систСм являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π½ΠΈΡ… срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Β«ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ²Β» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² Π΄ΠΈΠ°Π»ΠΎΠ³

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *