ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€, классификация ΠΈ характСристика языков программирования

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Один ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ провСсти ΠΎΠ±Π·ΠΎΡ€ языков программирования, — ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ историчСский. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд всС выглядит ΠΎΡ‡Π΅Π½ΡŒ просто. Π‘Π½Π°Ρ‡Π°Π»Π° Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ…, ΠΊΠΎΠ³Π΄Π° программист являлся СдинствСнным посрСдником ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ смСртными ΠΈ ΠœΠ°ΡˆΠΈΠ½ΠΎΠΉ — гигантским «Π»Π°ΠΌΠΏΠΎΠ²Ρ‹ΠΌ монстром», Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ Ссли Π½Π΅ Ρ†Π΅Π»ΠΎΠ΅ Π·Π΄Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ этаТ. Π—Π°Ρ‚Π΅ΠΌ появились… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€, классификация ΠΈ характСристика языков программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования РСспублики Π‘Π΅Π»Π°Ρ€ΡƒΡΡŒ Π£Ρ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ образования Π“ΠΎΠΌΠ΅Π»ΡŒΡΠΊΠΈΠΉ государствСнный унивСрситСт ΠΈΠΌΠ΅Π½ΠΈ Π€. Π‘ΠΊΠΎΡ€ΠΈΠ½Ρ‹ Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ Π½Π° Ρ‚Π΅ΠΌΡƒ:

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€, классификация ΠΈ Ρ…арактСристики языков программирования Π“ΠΎΠΌΠ΅Π»ΡŒ 2006

1. ΠŸΠΎΠ½ΡΡ‚ΠΈΡ Π·Ρ‹ΠΊΠ° программирования

1.1 ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

1.2 Алгоритм ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

1.3 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования

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

1.5 ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки

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

3. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ языков программирования

4. Π₯арактСристики языков программирования

4.1 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ

4.2 Π₯арактСристики языков программирования с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния элСмСнтов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ языков программирования Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

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

Один ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ провСсти ΠΎΠ±Π·ΠΎΡ€ языков программирования, — ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ историчСский. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд всС выглядит ΠΎΡ‡Π΅Π½ΡŒ просто. Π‘Π½Π°Ρ‡Π°Π»Π° Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ…, ΠΊΠΎΠ³Π΄Π° программист являлся СдинствСнным посрСдником ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ смСртными ΠΈ ΠœΠ°ΡˆΠΈΠ½ΠΎΠΉ — гигантским «Π»Π°ΠΌΠΏΠΎΠ²Ρ‹ΠΌ монстром», Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ Ссли Π½Π΅ Ρ†Π΅Π»ΠΎΠ΅ Π·Π΄Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ этаТ. Π—Π°Ρ‚Π΅ΠΌ появились мнСмоничСскиС прСдставлСния машинного ΠΊΠΎΠ΄Π°, ассСмблСр ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, макроассСмблСр. Π’ ΠΊΠΎΠ½Ρ†Π΅ 50-Ρ… Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ языки Ρ„ΠΎΡ€ΠΌΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±Ρ‹Π» Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, Π·Π°Ρ‚Π΅ΠΌ (Π² 60-Ρ…) Ρ†Π΅Π½Ρ‚Ρ€ тяТСсти стал ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ — появился ΠΠ›Π“ΠžΠ›. Π•Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ ΠΊ 70-ΠΌ Π³ΠΎΠ΄Π°ΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° структурная Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ — ΠΠ›Π“ΠžΠ›-W ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Паскаль. Π”Π°Π»Π΅Π΅ настала ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ «ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ» программирования — ΠœΠΎΠ΄ΡƒΠ»Π° ΠΈ ΠœΠΎΠ΄ΡƒΠ»Π°-2. ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΡΡ‚ΠΎ ΠΆΠ΅ врСмя роТдаСтся Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹ΠΉ язык Π‘ΠΈ, ΠΈΠ΄Π΅Ρ‚ новая Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ логичСского программирования — Π² ΠΌΠΎΠ΄Π΅ ΠŸΠ ΠžΠ›ΠžΠ“ ΠΈ ΡΠΊΡΠΏΠ΅Ρ€Ρ‚Π½Ρ‹Π΅ систСмы. ΠŸΠ΅Π½Ρ‚Π°Π³ΠΎΠ½ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ свой Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹ΠΉ конкурс, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚ Ада, Π° Π―пония заявляСт ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ машин пятого поколСния, основанных Π½Π° SmallTalk. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ происходит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π‘++, ΠžΠ±Π΅Ρ€ΠΎΠ½, Eiffel ΠΈ ΠœΠΎΠ΄ΡƒΠ»Π°-3.

ΠžΠ±Ρ‰ΠΈΠ΅ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ развития языков программирования ΠΏΡ€ΠΈ историчСском ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ получаСтся сумбурным ΠΈ ΠΏΡƒΡ‚Π°Π½Ρ‹ΠΌ. Π£Π΄ΠΈΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΡƒΡ‚ Π½Π΅Ρ‡Π΅ΠΌΡƒ — Π»Π°Π΄Π½ΠΎ Ссли Π±Ρ‹ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, структурная Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ: программистская ΠΎΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ присягнула Π½Π° Π²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π±Π΅Π· «goto» ΠΈ ΠΏΡ€ΠΎΡ‰Π°ΠΉ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½! Но Π½Π΅Ρ‚, ΠΈ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ сСйчас «Π² Ρ…ΠΎΠ΄Ρƒ», Π° Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± Π΅Π³ΠΎ ΠΏΡ€Π΅ΡƒΡΠΏΠ΅Π²ΡˆΠΈΡ… дСтях Basic ΠΈ Visual Basic, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ся ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ «Π½Π΅ΠΊΡ€ΠΎΠ»ΠΎΠ³ΠΈ» Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΠΈΠ»Π΅Ρ‚Π½Π΅ΠΉ давности выглядят Π² Π½Π°ΡˆΠ΅ врСмя ΠΊΠ°ΠΊ Π·Π°Π±Π°Π²Π½Ρ‹ΠΉ историчСский ΠΊΡƒΡ€ΡŒΠ΅Π·. Π₯отя Π²Π΅Ρ€Π½ΠΎ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Ρ… вСрсий языка Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ Π²Π΅ΠΊΠ° Π½Π°Π·Π°Π΄, ΡƒΠΆΠ΅ Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ, Π΄Π° ΠΈ ΠΌΠ°ΡˆΠΈΠ½, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… с Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, сСйчас найдСшь Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ Π² ΠΌΡƒΠ·Π΅Π΅. Π―Π·Ρ‹ΠΊ Паскаль Ρ‚Π°ΠΊΠΆΠ΅, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, сСйчас ΡƒΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ»ΠΎΠ΄, Π½ΠΎ ΡΡ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π΅ΠΌΡƒ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных языков ΠΈ Π² Π½Π°ΡˆΠΈ Π΄Π½ΠΈ. А ΠšΠΎΠ±ΠΎΠ»? Π£ Π½Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅ΠΊΠ»ΠΎΠ½Π½Ρ‹ΠΉ возраст, Π° Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠ½Ρ„СрСнциям Π½Π° Internet — окаТСтся, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚ ΠΈ ΡΠ΅ΠΉΡ‡Π°Ρ проводится Π½Π° ΠšΠΎΠ±ΠΎΠ»Π΅.

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ классификационный ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ языков программирования — это Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ программирования, Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΠ²ΡˆΠΈΠ΅ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…: структурноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Однако ΠΈ Ρ‚ΡƒΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ классификации Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ся. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Паскаль Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠ°ΠΊ «ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚» структурной Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΈ, ΡƒΠ΄Π°Ρ‡Π½ΠΎ Π²ΠΏΠΈΡ‚Π°Π» Π² ΡΠ΅Π±Ρ ΠΈΠ΄Π΅ΠΈ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΈ «ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ», ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ сущСствуСт практичСски Π½Π° Π²ΡΠ΅Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… воплощСниях. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Ρ†Ρ‹ языка Π‘++, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, самым Π²Π°ΠΆΠ½Ρ‹ΠΌ Π΅Π³ΠΎ достоинством Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Однако Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π‘++ стал популярным Ρ‚ΠΎΠ»ΡŒΠΊΠΎ благодаря ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ — ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Паскаль, Π‘++ являСтся языком Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° Π½Π΅ΠΌ совсСм Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ программисты Π² ΠΏΡ€Π°ΠΊΡ‚ичСской Ρ€Π°Π±ΠΎΡ‚Π΅ этими возмоТностями ΠΊΠ°ΠΊ Π² Π‘++, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ПаскалС Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, работая с ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ компиляторами языка Паскаль, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстными Borland Pascal/Turbo Pascal (Borland) 7.0 для IBM PC ΠΈΠ»ΠΈ Think Pascal (Symantec) для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Macintosh, ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями, оформляя исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ соотвСтствии со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ПаскалСм. ΠžΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, скаТСт ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ прогрСсса. Однако исходный ΠΊΠΎΠ΄, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ стандарту, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ высокой ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‹Π΅ Ρ€Π΅Π·ΠΎΠ½Ρ‹ ΠΊΠ°ΠΊ для стандартных, Ρ‚Π°ΠΊ ΠΈ Π΄Π»Ρ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². Π’ΠΈΠ΄ΠΈΠΌΠΎ, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка ΠœΠΎΠ΄ΡƒΠ»Π°-3 сдСлали ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ «Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΡΡ‚ΠΈ» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… Π² ΡΠ²ΠΎΠ΅ΠΌ языкС. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, сущСствуСт большая Π³Ρ€ΡƒΠΏΠΏΠ° чистых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков, Π³Π΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ языка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Dee .

Казалось Π±Ρ‹, Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ классификационный ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ — ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ языка: Ρ‡Π΅ΠΌ язык популярнСй — Ρ‚Π΅ΠΌ ΠΎΠ½ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ всС языки Π½Π° «ΠΏΠ»ΠΎΡ…ΠΈΠ΅» ΠΈ «Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅»? Однако Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстно, Ρ‡Ρ‚ΠΎ коммСрчСский успСх Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ качСства. Мода — прСходяща, особСнно Ссли Π΅Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ стимулируСтся Π³Ρ€ΠΎΠΌΠΊΠΎΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΠΎΠΉ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ капиталовлоТСниями. И Ρ‡Π΅ΠΌ популярнСй язык, Ρ‚Π΅ΠΌ большС споров Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Π³ΠΎ, Ρ‡Π΅ΠΌ большС Ρƒ Π½Π΅Π³ΠΎ сторонников — Ρ‚Π΅ΠΌ большС ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠ². Π’Π°ΠΊ, Π² ΡΠ°ΠΌΠΎΠ΅ блиТайшСС врСмя ΠΌΠ½ΠΎΠ³ΠΎ споров ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎΠ± ΡΠ·Ρ‹ΠΊΠ΅ Java. НС Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ этого языка ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΠΎΡ‚Ρ‚ΠΎΠΊΠ° Π΅Π³ΠΎ сторонников — ΠΈ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΡΡ‚рСмится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΈ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ считаСт, Ρ‡Ρ‚ΠΎ Π² Ρ€ΡΠ΄Π΅ соврСмСнных языков (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π‘++ ΠΈΠ»ΠΈ Π² Eiffel) эти ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ»Π½Π΅Π΅?

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

Π’Π΅ΡΡŒΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° классификация языков ΠΈ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡŽ. НапримСр, Н. Π’ΠΈΡ€Ρ‚ заявляСт, Ρ‡Ρ‚ΠΎ нСдостатки ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ языка Паскаль ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°ΡŽΡ‚ΡΡ Π² ΡΠ·Ρ‹ΠΊΠ°Ρ… ΠœΠΎΠ΄ΡƒΠ»Π°-2 ΠΈ ΠžΠ±Π΅Ρ€ΠΎΠ½: «ΠΠ°Π·ΠΎΠ²ΠΈ я ΡΡ‚ΠΈ языки Паскаль-2 ΠΈ ΠŸΠ°ΡΠΊΠ°Π»ΡŒ-3… ΠΈΡ… ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Π°Ρ линия Π±Ρ‹Π»Π° Π±Ρ‹ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°». ΠΠ°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ вопрос — Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ язык, Π° Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ языка: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, стандартный Паскаль, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Паскаль (Extended Pascal) ΠΈ Turbo Pascal — Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… языка ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π° Паскаля?

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

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

1.1 ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

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

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

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

1.2 Алгоритм ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

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

1.3 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования

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

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

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

ΠŸΡ€ΠΎΡ†Π΅ΡΡ поиска ошибки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ называСтся тСстированиСм, процСсс устранСния ошибки — ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ.

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

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

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

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

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

Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ особСнности:

ь ΠΠ»Ρ„Π°Π²ΠΈΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΡ€Π΅ машинного, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ тСкста;

ь ΠΠ°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, допустимых для использования, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π° Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ся ΠΈΠ· ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ удобства формулирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса;

ь ΠšΠΎΠ½ΡΡ‚рукция ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²) ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ся Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π²ΠΈΠ΄Π΅;

ь Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π΄Π΅ΠΉΡΡ‚вия Π½Π°Π΄ Π½ΠΈΠΌΠΈ;

ь ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

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

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

1.5.ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки

Π―Π·Ρ‹ΠΊΠΈ программирования дСлятся Π½Π° Π΄Π²Π° класса — ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅.

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

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

ΠšΡ€Π°Ρ‚ΠΊΠΎ говоря, компилятор ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык сразу ΠΈ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, создавая ΠΏΡ€ΠΈ этом ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык прямо Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

Для любого ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компилятор — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, язык Лисп, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ… Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Π‘ΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ динамичСски ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния.

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

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

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

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

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ языков программирования. ВсС ΠΎΠ½ΠΈ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ ΠΈ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ лишь ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ характСристики языков. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ классификации понятна: 50 Π»Π΅Ρ‚ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ языков программирования ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, достигло Π΅Π΄Π²Π° Π»ΠΈ Π½Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ апогСя. ΠŸΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ язык прСдставляСт собой «Π³Ρ€Π΅ΠΌΡƒΡ‡ΡƒΡŽ смСсь» Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΡΡ‚Ρ€ΠΎΠΈΠ»ΠΎΡΡŒ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, БСйсик, Паскаль, Ада, Π‘ΠΈ. БСгодня соврСмСнныС вСрсии этих ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… языков (ΠœΠΎΠ΄ΡƒΠ»Π°, Π€ΠΎΡ€Ρ‚) Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств. Однако ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ языков программирования ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹.

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

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

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования:

Β· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ;

Β· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°;

Β· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°;

Β· Ρ€Π°Π·ΠΌΠ΅Ρ€ модуля ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½;

Β· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ Π±Ρ€ΠΈΠ³Π°Π΄Ρ‹ программистов ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ протСстирован;

Β· вся систСма построСна ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ;

Β· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов;

Β· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

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

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

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Ρ€ΡΠ΄Π΅ языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Modula 2, Turbo Pascal 5.0 ΠΈ Π²Ρ‹ΡˆΠ΅, C, Python, Perl.

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

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ связано с ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ Π½Π΅ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования. К Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык создаСт ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ мноТСства нСзависимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊ «Ρ‡Π΅Ρ€Π½Ρ‹Π΅ ящики», Π½Π΅ Π²Π½ΠΈΠΊΠ°Ρ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈΡ… Ρ„ункционирования.

Из ΡΠ·Ρ‹ΠΊΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ программирования, популярных срСди профСссионалов, слСдуСт Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго C++, для Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° программистов ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ срСды Ρ‚ΠΈΠΏΠ° Delphi ΠΈ Visual Basic.

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

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ языки ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° класса: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅.

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ прСдставитСлСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования являСтся Лисп. Π’ ΠΎΡΠ½ΠΎΠ²Π΅ языка Лисп Π»Π΅ΠΆΠΈΡ‚ лямбда-исчислСниС. Лямбда-исчислСниС — Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ для прСдставлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. ВмСстС со ΡΠ²ΠΎΠΈΠΌ эквивалСнтомкомбинаторной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, — ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 1930 Π³. Π»ΠΎΠ³ΠΈΠΊΠ°ΠΌΠΈ Π§Π΅Ρ€Ρ‡Π΅ΠΌ, Π¨Π΅ΠΉΠ½Ρ„ΠΈΠ½ΠΊΠ΅Π»Π΅ΠΌ ΠΈ ΠšΠ°Ρ€Ρ€ΠΈ.

Π’ Π»ΡΠΌΠ±Π΄Π°-исчислСнии Π§Π΅Ρ€Ρ‡Π° функция записываСтся Π² Π²ΠΈΠ΄Π΅ l (x1,x2, …, xn).fn

Π’ Π›ΠΈΡΠΏΠ΅ лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

(LAMBDA (x1,x2, …, xn).fn).

Π‘ΠΈΠΌΠ²ΠΎΠ» LAMBDA ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ xi ΡΠ²Π»ΡΡŽΡ‚ся Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ список, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ лямбда-списком; fn — Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, Π΄ΠΎΠΏΡƒΡΠΊΠ°Π΅ΠΌΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Лиспа. Π’Π΅Π»ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ константа ΠΈΠ»ΠΈ композиция ΠΈΠ· Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

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

ВсС сказанноС Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмой:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классификации языков программирования.

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

A. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ (языки, основанныС Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°Ρ…, машинС Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π°);

B. АппликативныС ΠΌΠΎΠ΄Π΅Π»ΠΈ (языки Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ лямбда-исчислСния Π§Ρ‘Ρ€Ρ‡Π°, систСмы ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠšΠ°Ρ€Ρ€ΠΈ, чистого Лиспа);

C. МодСли Ρ„ΠΎΠ½ НСймана (Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ языки программирования).

Π”ΠΆΠΎΠ½ УстСрхаут ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ классификации языков, Π² ΡΠΎΠΎΡ‚вСтствии с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ высокоуровнСвыС языки дСлятся Π½Π° ΡΠ·Ρ‹ΠΊΠΈ систСмного программирования ΠΈ Π½Π° ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹Π΅.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык (Π°Π½Π³Π». scripting language, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ язык сцСнариСв) — язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для записи «ΡΡ†Π΅Π½Π°Ρ€ΠΈΠ΅Π²», ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ скриптовыС языки Ρ€Π°Π½ΡŒΡˆΠ΅ часто Π½Π°Π·Ρ‹Π²Π°Π»ΠΈ языками ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (batch languages ΠΈΠ»ΠΈ job control languages). Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ всСгда ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π° Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ся.

Π’ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, сцСнарий (скрипт) — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Π΅Π· сцСнария ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π» Π±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

Π’Π΅Π³Π½Π΅Ρ€ сгруппировал Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных языков высокого уровня Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ поколСния Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ языковыС конструкции Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π² Π½ΠΈΡ… появились:

FORTRAN I

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

ALGOL-58

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

Flowmatic

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

IPL V

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ (1954;1958)

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ (1959;1961)

FORTRAN II

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Π°Ρ компиляция

ALGOL-60

Блочная структура, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

COBOL

ОписаниС Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Lisp

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списков, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, сборка мусора

Π’Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ (1962;1970)

PL/I

FORTRAN+ALGOL+COBOL

ALGOL-68

Π‘ΠΎΠ»Π΅Π΅ строгий ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ALGOL-60

Pascal

Π‘ΠΎΠ»Π΅Π΅ простой ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ALGOL-60

Simula

ΠšΠ»Π°ΡΡΡ‹, абстрактныС Π΄Π°Π½Π½Ρ‹Π΅

Β· ΠŸΠΎΡ‚Π΅Ρ€ΡΠ½Π½ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ (1970;1980)

Π―Π·Ρ‹ΠΊΠΈ созданныС, Π½ΠΎ Π½Π΅ Π²Ρ‹ΠΆΠΈΠ²ΡˆΠΈΠ΅. НапримСр, PL/1, Malboge .

3. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ Π·Ρ‹ΠΊΠΎΠ² программирования

Π’ 1830-Π΅ Π³ΠΎΠ΄Ρ‹ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊ Π§Π°Ρ€Π»ΡŒΠ· Π‘Π΅Π±Π±ΠΈΠ΄ΠΆ загорСлся Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠΉ ΠΈ (ΠΏΠΎ Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌ) Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ построСния «Π΄ΡƒΠΌΠ°ΡŽΡ‰Π΅ΠΉ» ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Он Ρ€Π΅ΡˆΠΈΠ»ΡΡ Π½Π° ΠΏΠΎΡΡ‚Ρ€ΠΎΠΉΠΊΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ автоматичСского счСтного устройства. Π­Ρ‚Π° машина Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ слоТСниС Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· участия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. НавСрноС, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ языком программирования Π½ΡƒΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ язык программирования для ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π‘Π΅Π±Π±ΠΈΠ΄ΠΆΠ°. Он ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π», Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ машина Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π° ΠΎΠ΄Π½Ρƒ сСкунду, ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ Π΄Π²Π° пятидСсятизначных числа Π·Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, Π΄Π΅Π»ΠΈΡ‚ΡŒ стозначноС Π½Π° ΠΏΡΡ‚идСсятизначноС Ρ‚ΠΎΠΆΠ΅ Π·Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ. Но ΠΎΠ½ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π΄ΠΎΡΡ‚Ρ€ΠΎΠΈΠ» ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈΠ·-Π·Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ срСдств (ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ вся машина Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π·Π°Π½ΠΈΠΌΠ°Π»Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ) ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ…. Π‘Π²ΠΎΠΈΡ… Π΄Π΅Π½Π΅Π³ Π‘Π΅Π±Π±ΠΈΠ΄ΠΆΡƒ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ, Π° Π½ΠΈΠΊΡ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π΅ ΡΠΎΠ³Π»Π°ΡˆΠ°Π»ΡΡ Π΅ΠΌΡƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π²Π΅Ρ€ΠΈΠ» Π² ΡΡ‚Ρƒ Π·Π°Ρ‚Π΅ΡŽ с Π°Π²Ρ‚оматичСской машиной. Π•Π΅ Π΄Π°ΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π»ΠΈ «Ρ‡ΡƒΠ΄Π°Ρ‡Π΅ΡΡ‚Π²ΠΎΠΌ Π‘Π΅Π±Π±ΠΈΠ΄ΠΆΠ°». А ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ программистом стала Π΄ΠΎΡ‡ΡŒ Π»ΠΎΡ€Π΄Π° Π‘Π°ΠΉΡ€ΠΎΠ½Π° — Ада ЛавлСйс. Она ΠΏΠΎΠΌΠΎΠ³Π°Π»Π° Π΅ΠΌΡƒ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для этой «Ρ‡ΡƒΠ΄ΠΎ-ΠΌΠ°ΡˆΠΈΠ½Ρ‹» .

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

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

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

Π’ 1954 Π³ΠΎΠ΄Ρƒ Π² Π½Π΅Π΄Ρ€Π°Ρ… ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ IBM Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²ΠΎ Π³Π»Π°Π²Π΅ с Π”ΠΆΠΎΠ½ΠΎΠΌ Бэкусом Π±Ρ‹Π» создан язык программирования Fortran. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого события Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык программирования высокого уровня. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ программист ΠΌΠΎΠ³ ΠΏΠΎ-настоящСму Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ машинной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ язык ΠΎΡ‚ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π°, Π±Ρ‹Π»Π° концСпция ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Напомним, Ρ‡Ρ‚ΠΎ это соврСмСнныС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, прСдоставляя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… прямо Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ассСмблСра, Π² 1954 ΠΆΠ΅ Π³ΠΎΠ΄Ρƒ это Π±Ρ‹Π»ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ компиляция Fortran’Π° Π±Ρ‹Π»Π° процСссом ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, синтаксичСская структура языка Π±Ρ‹Π»Π° достаточно слоТна для машинной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΊΠ°ΠΊ синтаксичСскиС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈΡΡŒ. Π­Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π»ΠΎ массу возмоТностСй для скрытых ошибок, Ρ‚Π°ΠΊΠΈΡ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π² Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ конструкция описываСт <οΏ½Ρ†ΠΈΠΊΠ» for Π΄ΠΎ ΠΌΠ΅Ρ‚ΠΊΠΈ 10 ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ индСкса ΠΎΡ‚ 1 Π΄ΠΎ 100>:

DO 10 I=1,100

Если ΠΆΠ΅ здСсь Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π½Π° Ρ‚ΠΎΡ‡ΠΊΡƒ, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания:

DO10I = 1.100 .

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

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

Π’ 1960 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» создан язык программирования Cobol. Он Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΡΡ ΠΊΠ°ΠΊ язык для создания коммСрчСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΎΠ½ ΡΡ‚Π°Π» Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ. На ΠšΠΎΠ±ΠΎΠ»Π΅ написаны тысячи ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… коммСрчСских систСм. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ языка являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ массивами Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ коммСрчСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Кобола ΡΡ‚ΠΎΠ»ΡŒ высока, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ сСйчас, ΠΏΡ€ΠΈ всСх Π΅Π³ΠΎ нСдостатках (ΠΏΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ ΠΈ Π·Π°ΠΌΡ‹ΡΠ»Ρƒ Кобол Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½) ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Π΅Π³ΠΎ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊ Π½Π΅Π΄Π°Π²Π½ΠΎ появилась рСализация Кобола, совмСстимая с Microsoft.NET, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ внСсСния Π² ΡΠ·Ρ‹ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Ρ€Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка.

Π’ 1960 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²ΠΎ Π³Π»Π°Π²Π΅ с ΠŸΠ΅Ρ‚Π΅Ρ€ΠΎΠΌ Науром Π±Ρ‹Π» создан язык программирования Algol. Π­Ρ‚ΠΎΡ‚ язык Π΄Π°Π» Π½Π°Ρ‡Π°Π»ΠΎ Ρ†Π΅Π»ΠΎΠΌΡƒ сСмСйству Π°Π»Π³ΠΎΠ»-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… языков (ваТнСйший ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ — Pascal). Π’ 1968 Π³ΠΎΠ΄Ρƒ появилась новая вСрсия языка. Она Π½Π΅ Π½Π°ΡˆΠ»Π° ΡΡ‚ΠΎΠ»ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ практичСского примСнСния, ΠΊΠ°ΠΊ пСрвая вСрсия, Π½ΠΎ Π±Ρ‹Π»Π° вСсьма популярна Π² ΠΊΡ€ΡƒΠ³Π°Ρ… Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΎΠ². Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» достаточно интСрСсСн, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°Π΄Π°Π» ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ характСристиками.

Π’ 1963 Π³ΠΎΠ΄Ρƒ Π² Π”артмурском ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ΅ Π±Ρ‹Π» создан язык программирования BASIC (Beginners' All-Purpose Symbolic Instruction Code — ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠΉ язык символичСских инструкций для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…). Π―Π·Ρ‹ΠΊ задумывался Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΊΠ°ΠΊ срСдство обучСния ΠΈ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ язык программирования. Он ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ. Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ BASIC Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ стал языком, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ учатся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π°ΠΊ Π±Ρ‹Π»ΠΎ Π΅Ρ‰Π΅ нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄; сСйчас эта Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Pascal). Π‘Ρ‹Π»ΠΎ создано нСсколько ΠΌΠΎΡ‰Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ BASIC, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… самыС соврСмСнныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ программирования (ΡΡ€Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ — Microsoft Visual Basic).

Π’ 1964 Π³ΠΎΠ΄Ρƒ всС Ρ‚Π° ΠΆΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ IBM создала язык PL/1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ·Π²Π°Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Cobol ΠΈ Fortran Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π―Π·Ρ‹ΠΊ ΠΎΠ±Π»Π°Π΄Π°Π» ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ богатством синтаксичСских конструкций. Π’ Π½Π΅ΠΌ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появилась ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°. Надо Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ синтаксичСская структура языка Π±Ρ‹Π»Π° ΠΊΡ€Π°ΠΉΠ½Π΅ слоТной. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΡƒΠΆΠ΅ использовались ΠΊΠ°ΠΊ синтаксичСскиС Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ, Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π½Π΅ Π±Ρ‹Π»ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Π’ Ρ‡Π°ΡΡ‚ности, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка — это Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° PL/1: IF ELSE=THEN THEN THEN; ELSE ELSE.

Π’ ΡΠΈΠ»Ρƒ Ρ‚Π°ΠΊΠΈΡ… особСнностСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° компилятора для PL/1 Π±Ρ‹Π»Π° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТным Π΄Π΅Π»ΠΎΠΌ. Π―Π·Ρ‹ΠΊ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΡΡ‚Π°Π» популярСн Π²Π½Π΅ ΠΌΠΈΡ€Π° IBM.

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

БвСдСния ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… языках Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ описания сСмСйств языков. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ языками

Pascal-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ языки

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

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ языка Π±Ρ‹Π»ΠΎ отсутствиС Π² Π½Π΅ΠΌ срСдств для разбиСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Π’ΠΈΡ€Ρ‚ осознавал это ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» язык Modula-2 (1978), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ идСя модуля стала ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ языка. Π’ 1988 Π³ΠΎΠ΄Ρƒ появилась Modula-3, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹. ЛогичСским ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Pascal ΠΈ Modula ΡΠ²Π»ΡΡŽΡ‚ΡΡ язык Oberon ΠΈ Oberon-2. Они Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΡ‚ΠΎΡ€ΠΎΠ½Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎ-ориСнтированности.

C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ языки

Π’ 1972 Π³ΠΎΠ΄Ρƒ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ΠΎΠΌ ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ Π±Ρ‹Π» создан язык программирования C. Он ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ ΠΊΠ°ΠΊ язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX. C Ρ‡Π°ΡΡ‚ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ <�пСрСносимым ассСмблСром>, имСя Π² Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ практичСски Ρ‚Π°ΠΊ ΠΆΠ΅ эффСктивно, ΠΊΠ°ΠΊ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅, прСдоставляя ΠΏΡ€ΠΈ этом структурированныС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции ΠΈ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΠΈ высокого уровня (структуры ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ‹). ИмСнно с ΡΡ‚ΠΈΠΌ связана Π΅Π³ΠΎ огромная ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½Ρ‹Π½Π΅. И ΠΈΠΌΠ΅Π½Π½ΠΎ это являСтся Π΅Π³ΠΎ ахиллСсовой пятой. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C ΠΎΡ‡Π΅Π½ΡŒ слабо ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΡ‹, поэтому ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ внСшнС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ, Π½ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π’ 1986 Π³ΠΎΠ΄Ρƒ Π‘ΡŒΡΡ€Π½ Бтрауструп создал ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка C++, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΡΠ·Ρ‹ΠΊ C ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹, взятыС ΠΈΠ· Simula, ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ошибки ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ языка. C++ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π² Π½Π°ΡΡ‚оящСС врСмя, Ρ‚Π°ΠΊ Π² 1998 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»Π° новая (Ρ‚Ρ€Π΅Ρ‚ΡŒΡ) вСрсия стандарта, содСрТащая Π² ΡΠ΅Π±Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ довольно сущСствСнныС измСнСния. Π―Π·Ρ‹ΠΊ стал основой для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ соврСмСнных Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ ΡΠ»ΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π£ Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΆΠ΅, ΠΈ ΡΠ»Π°Π±Ρ‹Π΅ стороны, Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ эффСктивности.

Π’ 1995 Π³ΠΎΠ΄Ρƒ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Sun Microsystems КСном ΠΡ€Π½ΠΎΠ»ΡŒΠ΄ΠΎΠΌ ΠΈ Π”ТСймсом Гослингом Π±Ρ‹Π» создан язык Java. Он Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» синтаксис C ΠΈ C++ ΠΈ Π±Ρ‹Π» ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСприятных Ρ‡Π΅Ρ€Ρ‚ послСднСго. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ языка являСтся компиляция Π² ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΠ΅ΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ эмулятор (Java Virtual Machine) для Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… систСм. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Java Π½Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ наслСдования, Ρ‡Ρ‚ΠΎ сильно ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ программирования.

Π’ 1999;2000 Π³ΠΎΠ΄Π°Ρ… Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft Π±Ρ‹Π» создан язык C#. Он Π² Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎΠΉ стСпСни схоТ с Java (ΠΈ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΡΡ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° послСднСму), Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности. ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π―Π·Ρ‹ΠΊΠΈ Ada ΠΈ Ada 95

Π’ 1983 Π³ΠΎΠ΄Ρƒ ΠΏΠΎΠ΄ эгидой ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²Π° ΠžΠ±ΠΎΡ€ΠΎΠ½Ρ‹ БША Π±Ρ‹Π» создан язык Ada. Π―Π·Ρ‹ΠΊ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ошибок ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ выявлСно Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ аспСкты программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΎΡ‚Π΄Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΡ‚ΠΊΡƒΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС (ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ). Π’ 1995 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» принят стандарт языка Ada 95, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, добавляя Π² Π½Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСточности. Оба этих языка Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния Π²Π½Π΅ Π²ΠΎΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (авиация, ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ·ΠΊΠΈ). Основной ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ являСтся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ освоСния языка ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΉ синтаксис (Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΉ, Ρ‡Π΅ΠΌ Pascal).

Π―Π·Ρ‹ΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

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

Π’ 1957 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° создания языка для описания матСматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Π½Π°Π·Π²Π°Π½ APL (Application Programming Language). Π•Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π±Ρ‹Π»ΠΎ использованиС матСматичСских символов (Ρ‡Ρ‚ΠΎ затрудняло ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Скстовых Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°Ρ…; появлСниС графичСских интСрфСйсов сняло эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ) ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ синтаксис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволял ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ мноТСство Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ прямо Π½Π°Π΄ слоТными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π΅ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ ΠΊ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΡŽ ΠΈΡ… Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π¨ΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ помСшало, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, использованиС нСстандартных символов ΠΊΠ°ΠΊ элСмСнтов синтаксиса.

Π’ 1962 Π³ΠΎΠ΄Ρƒ появился язык Snobol (Π° Π² 1974 — Π΅Π³ΠΎ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ Icon), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк. Бинтаксис Icon Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π‘ ΠΈ Pascal ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΌΠΎΡ‰Π½Ρ‹Ρ… встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ с ΡΡ‚ΠΈΠΌΠΈ функциями особая сСмантика. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Icon ΠΈ Snobol являСтся Perl —язык ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк ΠΈ Ρ‚Скстов, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ возмоТности. БчитаСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ языком, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΠΌΡƒ нСдостаСт элСгантности.

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком Π±Ρ‹Π» язык Simula (1967). Π­Ρ‚ΠΎΡ‚ язык Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для модСлирования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΠ², ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ появились Π² Π½Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ для описания свойств ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ принСс язык Smalltalk, созданный Π² 1972 Π³ΠΎΠ΄Ρƒ. Π―Π·Ρ‹ΠΊ прСдназначался для проСктирования слоТных графичСских интСрфСйсов ΠΈ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠΎ-настоящСму ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком. Π’ Π½Π΅ΠΌ классы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ — это СдинствСнныС конструкции программирования. Π‘ΠΎΠ»ΡŒΡˆΠΈΠΌ нСдостатком Smalltalk ΡΠ²Π»ΡΡŽΡ‚ΡΡ большиС трСбования ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈ Π½ΠΈΠ·ΠΊΠ°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π­Ρ‚ΠΎ связано с Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… особСнностСй. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ языков C++ ΠΈ Ada 95 связана ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π±Π΅Π· сущСствСнного сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

БущСствуСт язык с ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированности, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ надстройкой Π½ΠΈ Π½Π°Π΄ ΠΊΠ°ΠΊΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языком. Π­Ρ‚ΠΎ язык Eiffel (1986). Являясь чистым языком ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, ΠΎΠ½, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡƒΡ‚Π΅ΠΌ использования <οΏ½ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ>.

Π―Π·Ρ‹ΠΊΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования

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

Π―Π·Ρ‹ΠΊ Оccam Π±Ρ‹Π» создан Π² 1982 Π³ΠΎΠ΄Ρƒ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для программирования Ρ‚Ρ€Π°Π½ΡΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² — многопроцСссорных систСм распрСдСлСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Он ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ взаимодСйствиС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°Π½Π°Π»ΠΎΠ² — способов ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ синтаксиса языка occam — Π² Π½Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ порядки Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹, ΠΈ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами PAR ΠΈ SEQ.

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

ЛогичСскиС языки программирования

Π’ Π½Π°Ρ‡Π°Π»Π΅ 70-Ρ… Π³ΠΎΠ΄ΠΎΠ² Π ΠΎΠ±Π΅Ρ€Ρ‚ Ковальский, Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΠΉ Π² Π­Π΄ΠΈΠ½Π±ΡƒΡ€Π³Π΅, ΠΈ ΠΠ»Π°Π½ ΠšΠΎΠ»ΠΌΠ΅Ρ€ΠΎΡ ΠΈΠ· ΠœΠ°Ρ€ΡΠ΅Π»Ρ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ сходныС ΠΈΠ΄Π΅ΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ вмСстС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»Π΅Ρ‚Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΈ сформулированы основныС полоТСния логичСского программирования, Π² 1972 Π³ΠΎΠ΄Ρƒ описан ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык логичСского программирования — ΠŸΡ€ΠΎΠ»ΠΎΠ³ («ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ» — PROgramming in LOGic).

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки программирования

ВСория, полоТСнная Π² ΠΎΡΠ½ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² 20-Ρ… — 30-Ρ… Π³ΠΎΠ΄Π°Ρ… XX Π²Π΅ΠΊΠ°. Π’ Ρ‡ΠΈΡΠ»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² матСматичСских основ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ МозСса ШёнфинкСля (ГСрмания ΠΈ Π ΠΎΡΡΠΈΡ) ΠΈ Π₯аскСлла ΠšΠ°Ρ€Ρ€ΠΈ (Англия), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Алонзо Π§Ρ‘Ρ€Ρ‡Π° (БША) — создатСляисчислСния.

ВСория Ρ‚Π°ΠΊ ΠΈ ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ Ρ‚Π΅ΠΎΡ€ΠΈΠ΅ΠΉ, ΠΏΠΎΠΊΠ° Π² 1958 Π³ΠΎΠ΄Ρƒ Π”ΠΆΠΎΠ½ ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» язык Lisp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ языком программирования. Π₯отя Lisp всё Π΅Ρ‰Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΎΠ½ ΡƒΠΆΠ΅ Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚воряСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ соврСмСнным запросам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Π·Π²Π°Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½ΠΎΡˆΡƒ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΠ² Ρ‚Π΅ΠΌ самым свой Π½Π΅ΠΏΠΎΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΡΡ‚ΠΎΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΠ·-Π·Π° всё Π±ΠΎΠ»Π΅Π΅ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ всё Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ типизация. Π’ ΠΊΠΎΠ½Ρ†Π΅ 70-Ρ… — Π½Π°Ρ‡Π°Π»Π΅ 80-Ρ… Π³ΠΎΠ΄ΠΎΠ² XX Π²Π΅ΠΊΠ° интСнсивно Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ, подходящиС для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков. ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ мноТСство Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков: ML (Π ΠΎΠ±ΠΈΠ½ ΠœΠΈΠ»Π½Π΅Ρ€, 1979, ΠΈΠ· Π½Ρ‹Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ² извСстны Standard ML ΠΈ Objective CAML), Scheme (1975), Hope, Miranda (Дэвид Π’Ρ‘Ρ€Π½Π΅Ρ€, 1985), Clean ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ постоянно увСличиваСтся число Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ².

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

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ схСму «Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ языков программирования».

4. Π₯арактСристики языков программирования

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ