ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся: Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ― — это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ―?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ― — это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ―?

Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ―
(low-level language) Π’ΠΈΠ΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ языка, Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ нСпосрСдствСнно. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° языков Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня: язык ассСмблСра (assembly language) ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык (machine code). Π―Π·Ρ‹ΠΊΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π° Π½ΠΈΡ… ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… языках высокого уровня (high-level languages).

БизнСс. Π’ΠΎΠ»ΠΊΠΎΠ²Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ. β€” М.: «Π˜ΠΠ€Π Π-М», Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ «Π’Π΅ΡΡŒ ΠœΠΈΡ€».
Грэхэм БСтс, Π‘Π°Ρ€Ρ€ΠΈ Π‘Ρ€Π°ΠΉΠ½Π΄Π»ΠΈ, Π‘. Уильямс ΠΈ Π΄Ρ€. ΠžΠ±Ρ‰Π°Ρ рСдакция: Π΄.э.Π½. ΠžΡΠ°Π΄Ρ‡Π°Ρ И.М..
1998.

  • Π―Π—Π«Πš Π—ΠΠŸΠ ΠžΠ‘ΠžΠ’
  • Π―Π—Π«Πš ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π―

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ―» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

  • язык Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня β€” β€” [http://www.iks media.ru/glossary/index.html?glossid=2400324] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΡΠ²ΡΠ·ΡŒ, основныС понятия EN low level language … Β  Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

  • язык Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня β€” ΕΎemojo lygmens kalba statusas T sritis automatika atitikmenys: angl. low level language vok. Grundsprache, f; niedere Maschinensprache, f rus. язык Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, m pranc. langage de bas niveau, m … Β  Automatikos terminΕ³ ΕΎodynas

  • Π―Π—Π«Πš Π’Π«Π‘ΠžΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ― β€” (high level language) Π’ΠΈΠΏ языка ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ программирования. Π―Π·Ρ‹ΠΊΠΈ высокого уровня ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для выраТСния потрСбностСй программиста, Π° Π½Π΅ возмоТностСй ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. сравни: язык Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня (low level language). Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚β€¦ … Β  Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ бизнСс-Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ²

  • Π―Π·Ρ‹ΠΊ программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня β€” НизкоуровнСвый язык программирования (язык программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня) язык программирования, Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ нСпосрСдствСнно Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, Microsoft .NET) процСссора.… … Β  ВикипСдия

  • язык с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ β€” ВСкстовый ΠΈΠ»ΠΈ графичСский язык программирования, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для коммСрчСских ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… элСктронных ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ возмоТностСй ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ этих устройств. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков с … Β  Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

  • Π―Π·Ρ‹ΠΊ ассСмблСра β€” Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС ассСмблСра Motorola MC6800 (слСва ΠΈΠ΄ΡƒΡ‚ адрСса ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС, вычислСнныС ΠΈ сгСнСрированн … Β  ВикипСдия

  • язык β€” 3.1.6. язык: БистСма Π·Π½Π°ΠΊΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ Π½Π°Π±ΠΎΡ€ Π·Π½Π°ΠΊΠΎΠ² (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ) ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΡ… употрСблСния ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ (Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ°) Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ … Β  Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ-справочник Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ-тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

  • язык с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ β€” 3.12 язык с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ (limited variability language): ВСкстовый ΠΈΠ»ΠΈ графичСский язык программирования, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для коммСрчСских ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… элСктронных логичСских ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ возмоТностСй… … Β  Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ-справочник Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ-тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

  • Π―Π—Π«Πš ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π― β€” это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€Π° символов (Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°) систСмы, ΠΏΡ€Π°Π²ΠΈΠ» образования (синтаксис) ΠΈ истолкования конструкции ΠΈΠ· символов (сСмантика) для задания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² с использованиСм символов СстСствСнного языка. Π’ самом ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык… … Β  Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ политСхничСская энциклопСдия

  • Π―Π—Π«Πš ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π― β€” (programming language) Π―Π·Ρ‹ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²Ρ‹Π΄Π°Ρ‡ΠΈ задания (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) (program) ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ (computer). БущСствуСт Π΄Π²Π° основных Π²ΠΈΠ΄Π° языков программирования: языки Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня (low level languages) ΠΈ языки высокого уровня (high level… … Β  Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ бизнСс-Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ²

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ процСссор ΠΈ языки программирования

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° всСм, ΠΊΡ‚ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ процСссор, ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ появились языки программирования ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ВсС описанноС Π½ΠΈΠΆΠ΅ ΠΊΠ°ΠΊ всСгда ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΎ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ

ВсС Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ процСссор Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ β€” это ΠΌΠΎΠ·Π³. Он управляСт всСми процСссами, происходящими Π²Π½ΡƒΡ‚Ρ€ΠΈ этой консСрвной Π±Π°Π½ΠΊΠΈ. Но Π·Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

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

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π·Π½Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ свой числовой ΠΊΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • 35 β€” ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ячСйки памяти Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ
  • 48 β€” ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ 2 числа
  • 12 β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ OR (ΠΈΠ»ΠΈ)

Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ всСх ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΈΡ… числовых ΠΊΠΎΠ΄ΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Π² процСссор, называСтся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ процСссора. Π­Ρ‚ΠΎ Π½Π΅ аппаратная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π° программная. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ процСссоров Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ свою Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ числовыС ΠΊΠΎΠ΄Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… процСссорах.

ΠŸΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΊΠΎΠ»? Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ процСссора. Π–ΡƒΡ‚ΡŒ.

Π’Π°ΠΊ. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ малСнькиС числовыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Но ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ ΠΈΡ… Π±Π΅Ρ€Π΅Ρ‚? Из ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²ΠΊΠ΅, ΠΊΠ°ΠΊ ΠΎ большом количСствС ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ячССк. КаТдая ячСйка ΠΈΠΌΠ΅Π΅Ρ‚ свой адрСс β€” это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ число, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 2001. По адрСсу ячСйки процСссор ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΈΡ… Π΅ΠΌΡƒ. Π’Π°ΠΊΠΆΠ΅ Π² эту ячСйку процСссор ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Как я ΡƒΠΆΠ΅ сказал, Π² ячСйках ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти хранятся ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для процСссора. Но Ρ‚Π°ΠΊΠΆΠ΅ Π² Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² числовом Π²ΠΈΠ΄Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π±ΡƒΠΊΠ²Ρ‹, изобраТСния, ΠΌΡƒΠ·Ρ‹ΠΊΠ° ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.

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

АссСмблСр

Как ΠΌΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, процСссор спроСктирован Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ простыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ процСссор Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ 2 + 2 * 2, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ простых числовых ΠΊΠΎΠΌΠ°Π½Π΄.

Π‘ΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ. И это ΠΌΡ‹ всСго лишь написали ΠΊΠΎΠ΄ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ простого уравнСния. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΠΊ ΠΈΠ»ΠΈ Π˜Π½ΡΡ‚Π°Π³Ρ€Π°ΠΌ.

Для упрощСния ΠΆΠΈΠ·Π½ΠΈ люди ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ инструмСнт АссСмблСр ΠΈ язык программирования Π½Π° ассСмблСрС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС числовыС ΠΊΠΎΠ΄Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ процСссора Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π° Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стало Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π²Ρ‹ΡˆΠ΅? Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ выглядят Ρ‚Π°ΠΊ:

  • MOV (числовой ΠΊΠΎΠ΄ 35) β€” ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ячСйки памяти Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ
  • ADD (числовой ΠΊΠΎΠ΄ 48) β€” ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ 2 числа
  • ORL (числовой ΠΊΠΎΠ΄ 12) β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ OR (ΠΈΠ»ΠΈ)

Π’Π°ΠΊΠΆΠ΅ ΠΊ названию ΠΊΠΎΠΌΠ°Π½Π΄ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ассСмблСрС, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ„Ρ€Π°Π·Ρƒ Β«Hello, World!Β«. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ассСмблированного ΠΊΠΎΠ΄Π°:

section	.text
   global_start
	
_start:
   mov	edx,len
   mov	ecx,msg
   mov	ebx,1
   mov	eax,4
   int	0x80
	
   mov	eax,1
   int	0x80

section	.data
msg db 'Hello, world!', 0xa
len equ $ - msg

Π§Ρ‚ΠΎ-Ρ‚ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ нСпонятного ΠΊΠΎΠ΄Π° для Ρ‚Π°ΠΊΠΎΠΉ пустяковой Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ?

Π―Π·Ρ‹ΠΊΠΈ программирования Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ уровня

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ Π² самом Π½Π°Ρ‡Π°Π»Π΅ я писал, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ процСссоров Π΄Π΅Π»Π°Π΅Ρ‚ свою Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ? И Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ свои числовыС ΠΊΠΎΠ΄Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄?

Π’Π°ΠΊ Π²ΠΎΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ассСмблСрС Π²Π°ΠΌ придСтся Β«ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΒ» ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ процСссора. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт АссСмблСр ΠΈ ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ свой ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎ услоТняСт ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π”ΠΎΠ±Π°Π²ΠΈΠΌ сюда ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² написании Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² создании Π½ΠΎΠ²Ρ‹Ρ… инструмСнтов.

Π’Π°ΠΊ стали ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ языки программирования высокого уровня.

Π˜Ρ… ΡΡƒΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ассСмблСрС Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ достаточно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС Β«Hello, World!Β».

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ появились ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования. К Π½ΠΈΠΌ относится Π‘, Π‘++, Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

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

Рассмотрим Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. НапримСр Π½Π° языкС Π‘ Π²Ρ‹Π²ΠΎΠ΄ Ρ„Ρ€Π°Π·Ρ‹ Β«Hello, World!Β» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: printf(Β«Hello, World!Β»). ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈ понятно.

Но процСссор Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅Ρ‚ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Как ΠΌΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ малСнькиС числовыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ компилятор языка C ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ассСмблированный ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, понятный процСссору.

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

Π—Π°Ρ‚Π΅ΠΌ компилятор Π΄Π΅Π»Π°Π΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΈΠ½ΡƒΡ‚ΡŒ Π΄Ρ€ΡƒΠ³Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ запустил Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Но Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… компиляторов Π΅ΡΡ‚ΡŒ свой ΠΏΡ€ΠΈΠΊΠΎΠ»: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π° всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ всСх Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… процСссоров, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для этих Π²Π΅Ρ‰Π΅ΠΉ. И это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ упростили Π·Π°Π΄Π°Ρ‡Ρƒ написания ΠΊΠΎΠ΄Π°. Но Ρ‡Ρ‚ΠΎ, Ссли я скаТу, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° всСх Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… процСссоров ΠΈ любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС?

Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ Π² Ρ…ΠΎΠ΄ ΠΈΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: Python, PHP, Perl, Pascal ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π­Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ языки Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ написаниС ΠΊΠΎΠ΄Π°. Но Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° прСимущСства ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками:

  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ установлСн ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€
  • Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ написанный ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ выполняСтся Β«Π½Π°Π»Π΅Ρ‚ΡƒΒ«, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ компилятор, Π½ΠΎ с ΠΎΠ΄Π½ΠΎΠΉ малСнькой, Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ: ΠΎΠ½ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка Π½Π΅ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π΅Ρ‰Π΅ Π½ΠΈΠΆΠ΅ β€” Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄.

Π‘Π°ΠΉΡ‚ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ всС процСссоры Π½Π΅ зависимо ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

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

ΠŸΠΎΠ΄Ρ‹Ρ‚ΠΎΠΆΠΈΠΌ

Π‘Π°ΠΉΡ‚ΠΊΠΎΠ΄ β€” саааамый Π½ΠΈΠ·ΠΊΠΈΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ процСссор.

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€” Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° числовых ΠΊΠΎΠΌΠ°Π½Π΄. ВсС числовыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ процСссора, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π£ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ процСссоров ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄.

АссСмблСр β€” инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ассСмблированный ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ассСмблированном языкС ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π³Π΅ΠΌΠΎΡ€.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈ Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ β€” инструмСнты, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ уровня Π² ΠΊΠΎΠ΄, понятный процСссору.

Π―Π·Ρ‹ΠΊ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ уровня β€” это сказка, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простых ΠΈ понятных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π― надСюсь, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ прСдставляСтС, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ»ΠΈ смартфон ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Π΅Π΅ относится ΠΊ ΠΈΡ… Π·Π°Ρ‚ΡƒΠΏΠ°ΠΌ πŸ™‚ Π’Π΅Π΄ΡŒ ΠΆΠ΅Π»Π΅Π·ΠΊΠ° Π½Π΅ Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚Π°, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΠΏΠΈΡ‚, Π° Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ Π³ΠΎΡ€Π΅-программист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написал ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄.

Если Π²Ρ‹ с Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½Π΅ согласны, Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ спасибо β€” ΠΏΡ€ΠΎΡˆΡƒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. ΠŸΠΎΠΎΠ±Ρ‰Π°Π΅ΠΌΡΡ πŸ™‚

Бпасибо за вниманиС

НизкоуровнСвыС ⚠️ языки программирования: Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, список

НизкоуровнСвый язык программирования β€” Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ этим понимаСтся

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

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

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

ΠžΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎ! Если ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ ΠΏΠ»Π°Π³ΠΈΠ°Ρ‚ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ (Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ отчислСния). Если Π½Π΅Ρ‚ возмоТности Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ самому, Π·Π°ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΡƒΡ‚.

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

  • написания Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ Β«ΠΆΠ΅Π»Π΅Π·ΠΎΒ», ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ;
  • создания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ ядСр ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ;
  • Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… распространСнных Π·Π°Π΄Π°Ρ‡, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ устройствами ΠΈ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π² Π²ΠΎΠ΅Π½Π½ΠΎΠΉ сфСрС, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ, ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½Π΅.

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

  • ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°;
  • ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы.

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

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

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

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅, характСристики ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

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

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

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

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

Благодаря этим языкам ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ, Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ячСйками памяти. Π Π°Π±ΠΎΡ‚Π° осущСствляСтся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ особСнностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сСмСйства процСссоров.

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

  • компиляторы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для трансформации тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, сохраняСмый ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΡƒΠΆΠ΅ Π±Π΅Π· компилятора, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.Π΅Ρ…Π΅;
  • ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ частично ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΈ Π΄Π°Π»Π΅Π΅ пСрСходят ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π½Π° написании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌ языкС, обращаСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ рСсурсам:

  • процСссору;
  • памяти;
  • ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ устройствам.

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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… языков, список популярных

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

АссСмблСр

Π”Π°Π½Π½Ρ‹ΠΉ класс появился послС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ². Π•Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π­Π’Πœ. Π”Π°Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ способствовало ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй. АссСмблСр ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом прСимущСств ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

  • написаниС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ обСспСчиваСт быстродСйствиС ΠΌΠ°ΡˆΠΈΠ½Ρ‹;
  • Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти части Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π΅ ΠΏΡ€ΠΈ нСобходимости;
  • ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ рСсурсоСмкости.

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ достоинства ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными ΠΈΠ· списка. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° рассматриваСмого сСмСйства Π² настоящСС врСмя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это эффСктивный способ обучСния процСссу взаимодСйствия с микропроцСссорами.

Forth

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

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

Π‘

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

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки, Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языков высокого уровня

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° языков Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня:

  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания эффСктивных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;
  • ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ;
  • доступ ΠΊΠΎ всСм возмоТностям процСссора.

НСдостатки Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков:

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

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

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

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

Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ программирования

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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° новая типобСзопасная вСрсия языка Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня Π€ΠΎΡ€Ρ‚. Π―Π·Ρ‹ΠΊ Factor создал Π‘Π»Π°Π²Π° ΠŸΠ΅ΡΡ‚ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ.

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

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

Π’Π΅ΠΌΠ° 1. Алгоритмизация ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования. Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня

Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π•

Β 

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅……………………………………………………………………………………………. 6

Π’Π΅ΠΌΠ° 1. Алгоритмизация ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования. Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня…………………………………………………………………………….. 7

1.1. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π΅Π³ΠΎ свойства. Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ алгоритмичСскиС конструкции 7

1.2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ структуры. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ развСтвлСния. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° 11

1.3. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎ структурном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ программирования. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ свСрху Π²Π½ΠΈΠ· ΠΈ снизу Π²Π²Π΅Ρ€Ρ…. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹…………………………………. 27

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

1.5. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСды программирования………………………. 36

1.6. Π­Ρ‚Π°ΠΏΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅………………………………….. 39

1.7. Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ ΠΈ классификация языков программирования. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия языков программирования 42

1.8. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… языка программирования………… 51

ВСсты ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ 1…………………………………………………………………………….. 60

Π’Π΅ΠΌΠ° 2. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ сСти Π­Π’Πœ. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ 103

2.1. Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ………………………………. 103

2.2. ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния ΠΈ основныС Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСтСй, ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅…………………………………………….. 105

2.3. Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ сСрвис ΠΈ сСтСвыС стандарты. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ 110

2.4. Π—Π°Ρ‰ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… сСтях. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ЭлСктронная подпись 123

ВСсты ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ 2…………………………………………………………………………… 137

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹……………………………………………………………………. 173

ΠžΡ‚Π²Π΅Ρ‚Ρ‹ ΠΊ тСстам………………………………………………………………………….. 175

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅………………………………………………………………………………….. 178


Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π”Π°Π½Π½ΠΎΠ΅ ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ курс ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ для Π±Π°ΠΊΠ°Π»Π°Π²Ρ€ΠΎΠ² тСхничСских ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

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

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

Β 

Π’Π΅ΠΌΠ° 1. Алгоритмизация ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования. Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ ΠΈ классификация языков программирования. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия языков программирования

Алгоритм – это Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ описаниС способа Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий. Π˜Π½Π°Ρ‡Π΅ говоря, это описаниС являСтся Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ

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

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

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

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

Π―Π·Ρ‹ΠΊΠΈ программирования принято Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΏΡΡ‚ΡŒ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ входят языки, созданныС Π² Π½Π°Ρ‡Π°Π»Π΅ 50-Ρ… Π³ΠΎΠ΄ΠΎΠ² XX Π²Π΅ΠΊΠ°. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ языки ассСмблСра, созданныС ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ » ΠΎΠ΄Π½Π° инструкция – ΠΎΠ΄Π½Π° строка».

РасцвСт Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния языков программирования ΠΏΡ€ΠΈΡˆΠ΅Π»ΡΡ Π½Π° ΠΊΠΎΠ½Π΅Ρ† 50-Ρ… – Π½Π°Ρ‡Π°Π»ΠΎ 60-Ρ… Π³ΠΎΠ΄ΠΎΠ². Π’ΠΎΠ³Π΄Π° Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ символичСский ассСмблСр, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появилось понятиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Он стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ языком программирования. Благодаря Π΅Π³ΠΎ возникновСнию Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ возросли ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

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

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

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

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния способа выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, языки программирования дСлятся Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅.

Вранслятор – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»ΠΈ тСхничСскоС срСдство, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, прСдставлСнной Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· языков программирования, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ смыслС Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠΉ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдназначСнная для трансляции исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с высокоуровнСвого языка Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

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

ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ – ΠΌΠΎΠ΄ΡƒΠ»ΡŒ систСмы программирования ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая собираСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π­Ρ‚ΠΎΡ‚ процСсс называСтся ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ (сборкой), ΠΈ Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся исполняСмый Ρ„Π°ΠΉΠ».

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» – это Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ трансляции. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ исполняСмый Ρ„Π°ΠΉΠ» получаСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ содСрТит ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ – процСсс нСпосрСдствСнного ΠΏΠΎΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции, «Π½Π° Π»Π΅Ρ‚Ρƒ». Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎ, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ поступлСния Π΅Π΅ исходного ΠΊΠΎΠ΄Π° Π½Π° Π²Ρ…ΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ простого ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Ρ‚Π°ΠΊΠΎΠ²:

1. ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ;

2. ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия;

3. Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия;

4. Ссли Π½Π΅ достигнуто условиС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ 2.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ связана с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

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

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ основных языков программирования, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° схСмС Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (рис. 14):

Π―Π·Ρ‹ΠΊΠΈ программирования
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅
Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅

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

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

Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС языки ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования:

Β· Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ – создан Π² Π½Π°Ρ‡Π°Π»Π΅ 50-Ρ… Π³ΠΎΠ΄ΠΎΠ² 20-Π³ΠΎ Π²Π΅ΠΊΠ° для программирования Π½Π°ΡƒΡ‡Π½ΠΎ-тСхничСских Π·Π°Π΄Π°Ρ‡;

Β· Кобол – создан Π² ΠΊΠΎΠ½Ρ†Π΅ 60-Ρ… Π³ΠΎΠ΄ΠΎΠ² 20-Π³ΠΎ Π²Π΅ΠΊΠ° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… носитСлях Π΄Π°Π½Π½Ρ‹Ρ…;

Β· Алгол (1960 Π³ΠΎΠ΄) –многоцСлСвой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ язык программирования. Π’ Π½Π΅ΠΌ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Π²Π΅Π΄Π΅Π½Ρ‹ понятия «Π±Π»ΠΎΡ‡Π½Π°Ρ структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹» ΠΈ «Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ распрСдСлСниС памяти».

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

ВсС пСрСчислСнныС Π²Ρ‹ΡˆΠ΅ языки Π±Ρ‹Π»ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ классы Π·Π°Π΄Π°Ρ‡, Π½ΠΎ ΠΎΠ½ΠΈ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ Π±Ρ‹Π»ΠΈ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π­Π’Πœ.

Π’ 1963-1966 Π³Π³. Π±Ρ‹Π» создан ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык PL-1. Π­Ρ‚ΠΎΡ‚ язык Ρ…ΠΎΡ€ΠΎΡˆΠΎ приспособлСн для исслСдования ΠΈ планирования Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов, модСлирования, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ логичСских Π·Π°Π΄Π°Ρ‡, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСм матСматичСского обСспСчСния.

Π―Π·Ρ‹ΠΊ Паскаль (Pascal, 1968-1971 Π³Π³.) — язык ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярный для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π² настоящСС врСмя ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ примСняСтся ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π’ основу языка Pascal ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ частным (Π±ΠΎΠ»Π΅Π΅ простым ΠΈ мСньшим ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ). К основным ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Паскаль, ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

Β· Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ основано Π½Π° использовании ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ нСзависимых структур Π΄Π°Π½Π½Ρ‹Ρ…;

Β· ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ «ΡΠ²Π΅Ρ€Ρ…Ρƒ-Π²Π½ΠΈΠ·», ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°Ρ‡Π° дСлится Π½Π° простыС, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π—Π°Ρ‚Π΅ΠΌ выстраиваСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ исходной Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свСрху Π²Π½ΠΈΠ·.

Π―Π·Ρ‹ΠΊ АДА (1979 Π³.) Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ программистки Ады ЛавлСйс — Π΄ΠΎΡ‡Π΅Ρ€ΠΈ Π‘Π°ΠΉΡ€ΠΎΠ½Π°. Π•Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ конструкций.

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

Рассмотрим Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ языков программирования.

К Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ языкам программирования относятся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ логичСскиС языки.

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

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

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

Β· созданиС, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π² Π‘Π”;

Β· поиск, ΠΎΡ‚Π±ΠΎΡ€, сортировка ΠΏΠΎ запросам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… записСй ΠΈ модификация ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈ Π΄Ρ€.

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ записСй ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌ Π±Ρ‹Π» создан структурированный язык запросов SQL (Structured Query Language β€” «ΡΠ·Ρ‹ΠΊ структурированных запросов»). Π―Π·Ρ‹ΠΊ SQL – это стандартный язык Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСляционными (состоящими ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†) Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

БСгодня Π² ΠΌΠΈΡ€Π΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ производитСлями Π‘Π£Π‘Π” ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix ΠΈ Sybase. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π‘Π£Π‘Π” имССтся свой встроСнный язык Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π”, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ SQL. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Oracle имССтся встроСнный язык PL/SQL, Π² Informix – INFORMIX 4GL, Π² Adabas – Natural ΠΈ Ρ‚.Π΄.

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

Β· Π€ΠΎΡ€ΠΌΠ°Ρ‚ HTML (HyperText Markup Language) – ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ гипСртСкста, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Web-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. Π―Π·Ρ‹ΠΊ позволяСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ графичСскиС ΠΎΠ±Ρ€Π°Π·Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ связь ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° гипСрссылок (см. ΠΏ. 2.3). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языков программирования ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, HTML довольно «Π΄Π΅ΠΌΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‡Π΅Π½», синтаксичСская ошибка Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ «Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡΠΌ» ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ сообщСниям ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, хотя, разумССтся, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Β· Π―Π·Ρ‹ΠΊ Perl (1980 Π³.) содСрТит многочислСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками, массивами, всСвозмоТныС срСдства прСобразования Π΄Π°Π½Π½Ρ‹Ρ….

Β· Π―Π·Ρ‹ΠΊ PHP (1995-1997 Π³Π³.) ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ срСдствами доступа ΠΊ Π‘Π” ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ создатСлями динамичСских сайтов Π²ΠΎ всСм ΠΌΠΈΡ€Π΅.

Β· Π―Π·Ρ‹ΠΊ Tcl/Tk (ΠΊΠΎΠ½Π΅Ρ† 80-Ρ… Π³ΠΎΠ΄ΠΎΠ²) состоит ΠΈΠ· ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с абстрактными Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с графичСским интСрфСйсом.

Β· Π€ΠΎΡ€ΠΌΠ°Ρ‚ VRML (1994 Π³.) создан для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… интСрфСйсов Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Β· Π€ΠΎΡ€ΠΌΠ°Ρ‚ XML. Π‘ 1996 Π³. ΠΈΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ созданиСм ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка описания структуры Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ пСрспСктивС XML становится Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΊΠ°ΠΊ языка HTML, Ρ‚Π°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ.

К скриптовым ΠΌΠΎΠΆΠ½ΠΎ отнСсти Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Java ΠΈ язык сцСнариСв Javascript, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ для Web.

ВСсты ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ 1

β„–
ΠΏ/ΠΏ
Вопрос Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²
КакиС ΠΈΠ· пСрСчислСнных языков подходят для программирования? 1. PHP
2. АссСмблСр
3. C, C++
4. Java
К ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ языков относится язык Lisp? 1. язык систСмного программирования
2. язык структурного программирования
3. язык Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования
4. язык логичСского программирования
К ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ языков относится язык Prolog? 1. язык систСмного программирования
2. язык структурного программирования
3. язык Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования
4. язык логичСского программирования
НС являСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования… 1. инкапсуляция
2. наслСдованиС
3. ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ
4. использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ (с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹) язык рассматриваСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊ: 1. ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±Π΅Π· использования ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ присваиваний
2. ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ описания Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ описания искомого Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
3. описаниС Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ логичСских Ρ„ΠΎΡ€ΠΌΡƒΠ», Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ выполняСт систСма с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² логичСского Π²Π²ΠΎΠ΄Π°
4. ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ описаний ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€
ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Π°Π½Π°Π»ΠΈΠ·Π°, проСктирования ΠΈ написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ структуры классов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся цСлостным Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ свойствами ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, называСтся___________ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 1. ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ
2. ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ
3. Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ
4. структурным
Π’ языкС Prolog ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ: 1. прямая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° логичСского Π²Ρ‹Π²ΠΎΠ΄Π°
2. конструктор основного класса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
3. прямая ΠΈ обратная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ логичСского Π²Ρ‹Π²ΠΎΠ΄Π°
4. основная функция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ своСму классу являСтся… 1. ΠΊΠΎΠ΄ΠΎΠΌ
2. экзСмпляром
3. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ
4. Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ опСрация «ΠΌΠΎΠ΄ΠΈΡ„икация» Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ? 1. Π΄Π°Π΅Ρ‚ доступ ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, Π½ΠΎ Π½Π΅ измСняСт Π΅Π³ΠΎ
2. доступ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ частям, Π² строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС
3. Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ освобоТдаСт, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΈΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ
4. измСняСт состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π―Π·Ρ‹ΠΊΠΈ программирования 2-Π³ΠΎ поколСния Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚: 1. систСма ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°
2. систСма ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊ для обозначСния ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сСмСйства ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²
3. систСма ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для абстрактного описания вычислСний
4. систСма Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ проСктирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ
КакиС Π²ΠΈΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π΅ присущи языку программирования Π‘++: 1. ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹
2. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
3. ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
4. ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ опСрация «Ρ†ΠΈΠΊΠ»» Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ? 1. Π΄Π°Π΅Ρ‚ доступ ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, Π½ΠΎ Π½Π΅ измСняСт Π΅Π³ΠΎ
2. измСняСт состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
3. Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ освобоТдаСт Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΈΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ
4. доступ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ частям, Π² строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС
КакиС языки ΡΠ²Π»ΡΡŽΡ‚ΡΡ языками Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования? 1. языки структурного программирования
2. языки сцСнариСв
3. языки запросов ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…
4. логичСскиС языки
РСшСниС Π·Π°Π΄Π°Ρ‡ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ состоит ΠΈΠ· ряда этапов:
А – «ΠΠ½Π°Π»ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²»;
Π’ – «ΠΠ½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»;
Π‘ – «ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ»;
D – «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»;
Π• – «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°»;
F – «Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹»;
G – «Π’СстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°».
Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ этапов.
1. C, B, E, D, A, G, F
2. C, B, E, D, G, A, F
3. B, C, E, D, G, A, F
4. C, E, B, D, G, A, F
Бвойство Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ – это… 1. ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ
2. Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌΠΎΡΡ‚ΡŒ (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ)
3. Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ
4. Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ
Π”Π°Π½Π° Π±Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Если Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… A, B ΠΈ C Ρ€Π°Π²Π½Ρ‹ 3, 3 ΠΈ 1соотвСтствСнно, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ F Π±ΡƒΠ΄Π΅Ρ‚Ρ€Π°Π²Π½ΠΎ …

Β 
1. 6
2. 8
3. 7
4. -1
Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ Π±Π»ΠΎΠΊ-схСмы выполняСтся…

Β 
1. ΠΎΠ±ΠΌΠ΅Π½ значСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… А ΠΈ Π‘
2. ΠΎΠ±ΠΌΠ΅Π½ значСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… А ΠΈ Π’
3. сравнСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… А, Π’, Π‘
4. ΠΎΠ±ΠΌΠ΅Π½ значСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π’ ΠΈ Π‘
ПослС выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ цСлочислСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π₯ Π±ΡƒΠ΄Π΅Ρ‚ равно… 1. 5
2. 10
3. 0
4. 15
НС являСтся Ρ„ΠΎΡ€ΠΌΠΎΠΉ записи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° … 1. Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°
2. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ПаскалС
3. устноС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°
4. ΠΊΠ°Ρ€Ρ‚Π° с ΠΏΡ€ΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ
ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π­Π’Πœ ΠΊ этапу «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» относится… 1. Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ
2. ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹Π΄Π°Ρ‡ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²
3. ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
4. Π²Ρ‹Π±ΠΎΡ€ языка программирования
Π’ Ρ…ΠΎΠ΄Π΅ исслСдования транспортного ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΠΎ магистралям Π³ΠΎΡ€ΠΎΠ΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ зависимости скорости двиТСния Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΎΡ‚ ΠΈΡ… количСства Π½Π° магистрали для Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, прСдставлСнныС Π² Π²ΠΈΠ΄Π΅ ряда Ρ„ΠΎΡ€ΠΌΡƒΠ». ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ условия примСнСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ситуациях, Π° Ρ‚Π°ΠΊΠΆΠ΅ записан Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ языкС программирования. ВсС описанныС дСйствия ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой этапы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ исслСдования транспортного ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ, ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ этап… 1. «Π’СстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°»
2. «Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹»
3. «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°»
4. «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ S послС выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΈ n =4 Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ … 1. 11/6
2. 4
3. 25/12
4. 0
ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ этапы:
Π°) компиляции
Π±) ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ
Π²) ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ
Π³) исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈΠ· исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этапов…
1. Π°, Π²
2. Π°, Π±
3. Π±, Π²
4. Π², Π³
Π—Π°Π΄Π°Π½ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив X1, X2, …,XN . Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

опрСдСляСт…
1. индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта
2. ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива
3. количСство ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов
4. индСкс послСднСго ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… значСниях ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… x, y, z Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ выполнится 2 Ρ€Π°Π·Π°.

Β 
1. x=2; y=4; z=1
2. x=1; y=4; z=0
3. x=2; y=4; z=3
4. x=3; y=3; z=1
Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π±Π»ΠΎΠΊ-схСмы

прСдставляСт собой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит …
1. Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ вСтвлСния Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½Π° Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ
2. ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ вСтвлСния Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° вСтвлСния Π² Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅
3. ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ вСтвлСния Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π²Ρ‹Π±ΠΎΡ€Π°, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ вСтвлСния
4. ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ вСтвлСния Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ†ΠΈΠΊΠ»Π°
Π”Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° – это свойство, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ … 1. ΠΏΡ€ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… исходных Π΄Π°Π½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число шагов
2.2 + Bx + C
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, сколько Ρ€Π°Π· выполнится Ρ†ΠΈΠΊΠ» Π²ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
a := 2; b := 15;
Π½Ρ†
ΠΏΠΎΠΊΠ° a+b<40
a := a+2
b := b+3
ΠΊΡ†
1. Π½ΠΈ Ρ€Π°Π·Ρƒ
2. 4
3. бСсконСчноС число Ρ€Π°Π·
4. 5
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с использованиСм срСдств ООП. Для вычислСния суммы Π΄Π²ΡƒΡ… чисСл создана функция суммы, которая Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² «ΠŸΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° 1» ΠΈ «ΠŸΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° 2». Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ осущСствляСтся ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ события «ΠžΠ΄Π½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π‘ΡƒΠΌΠΌΠ°». Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ сумма измСняСт … ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «ΠŸΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° 3».

Β 
1. свойство
2. Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс
3. событиС
4. ΠΌΠ΅Ρ‚ΠΎΠ΄
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ F послС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
a:=1; b:=1; c:=3; f:=0; Ссли a=b
Ρ‚ΠΎ
Ссли b<c
Ρ‚ΠΎ b:=b+c; f:=a+b+c;
ΠΈΠ½Π°Ρ‡Π΅
всС
ΠΈΠ½Π°Ρ‡Π΅ a:=c; f:=a+b+c;
всС
Β 
1. 7
2. 0
3. 5
4. 8
ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ «ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ» Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языках программирования опрСдСляСтся ΠΊΠ°ΠΊ … 1. описаниС дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
2. имСнованная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
3. слуТСбноС слово Π½Π° языкС программирования
4. любоС Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠ΅ минимальноС смысловоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° языкС программирования
Машинно-зависимый язык Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ мнСмоничСскиС ΠΈΠΌΠ΅Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, – это … 1. Pascal
2. СстСствСнный язык
3. язык ассСмблСра
4. Visual Basic
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ K послС выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
a:=-5; b:=-12; c:=0; d:=7; k:=0; Ссли a<0 Ρ‚ΠΎ k:=k+1
всС
Ссли b<0 Ρ‚ΠΎ k:=k+1
всС
Ссли c≀0 Ρ‚ΠΎ k:=k+1
всС
Ссли d<0 Ρ‚ΠΎ k:=k+1
ΠΈΠ½Π°Ρ‡Π΅ k:=k+2
всС
1. 5
2. 1
3. 3
4. 0
ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π° логичСская Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° «Π–ΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅», «ΠœΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰ΠΈΠ΅», «ΠšΠΎΡˆΠ°Ρ‡ΡŒΠΈ», «ΠŸΠ°Π½Ρ‚Π΅Ρ€Π°». Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ … 1. ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°
2. наслСдования
3. абстракции Π΄Π°Π½Π½Ρ‹Ρ…
4. инкапсуляции
Π―Π·Ρ‹ΠΊΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… являСтся … 1. SQL
2. Java
3. ADA
4. XML
ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρƒ Π±Π»ΠΎΠΊ-схСмы соотвСтствуСт Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ … 1. Π²Π²ΠΎΠ΄ x,z Ссли (x<100) тоСсли (z>10) Ρ‚ΠΎ y:=x+z ΠΈΠ½Π°Ρ‡Π΅ y:=x*z всС ΠΈΠ½Π°Ρ‡Π΅ y:=x*z всС Π²Ρ‹Π²ΠΎΠ΄ y
2. Π²Π²ΠΎΠ΄ x,z Π½Ρ† ΠΏΠΎΠΊΠ° (x<100) ΠΈ (z>10) y:=x*z y:=x+z Π²Ρ‹Π²ΠΎΠ΄ y ΠΊΡ†
3. Π²Π²ΠΎΠ΄ x,z Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€ΠΈ x<100: y:=x*z ΠΏΡ€ΠΈ z>10: y:=x+z всС Π²Ρ‹Π²ΠΎΠ΄ y
4. Π²Π²ΠΎΠ΄ x,z Ссли (x<100) тоСсли (z>10) Ρ‚ΠΎ y:=x*z ΠΈΠ½Π°Ρ‡Π΅ y:=x+z всС ΠΈΠ½Π°Ρ‡Π΅ y:=x+z всС Π²Ρ‹Π²ΠΎΠ΄ y
Ѐункция mod вычисляСт остаток ΠΎΡ‚ дСлСния Π½Π°Ρ†Π΅Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ K послС выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
k:=0;
Π½Ρ† для i ΠΎΡ‚ 1 Π΄ΠΎ 100
Ссли (mod(i,3)=2) и (mod(i,5)=1)
Ρ‚ΠΎ k:=k+1
всС
ΠΊΡ†
Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ …
1. 288
2. 6
3. 3
4. 7
Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° соотвСтствуСт схСма…

Β 
1. А
2. Π‘
3. Π’
4. Π“
ЗначСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… a ΠΈ b послС вычислСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
a:=15 div (16 mod 7)
Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π²Π½Ρ‹ …
(Π‘ΠΏΡ€Π°Π²ΠΊΠ°: x div y – Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния Π½Π°Ρ†Π΅Π»ΠΎ x Π½Π° y. x mod y – остаток ΠΎΡ‚ дСлСния Π½Π°Ρ†Π΅Π»ΠΎ x Π½Π° y)
1. a=7, b=25
2. a=7, b=22
3. a=1, b=4
4. a=1, b=160
На рисункС прСдставлСна иСрархичСская структура классов для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Класс, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ, для Ρ‚Ρ€Π΅Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… классов Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ …

Β 
1. ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ
2. абстрактным
3. Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ
4. основным
Π Π΅ΠΆΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ… 1. для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС высокого уровня
2. для измСнСния синтаксиса языка программирования
3. ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС высокого уровня
4. для измСнСния сСмантики языка программирования
Если элСмСнты массива D Ρ€Π°Π²Π½Ρ‹, соотвСтствСнно, 3, 4, 5, 1, 2, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния D[D[5]]-D[D[3]] Ρ€Π°Π²Π½ΠΎ … 1. -1
2. 1
3. -3
4. 2
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС высокого уровня, являСтся… 1. дисплСйный Ρ„Π°ΠΉΠ»
2. ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
3. исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС высокого уровня
4. ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° упорядочСны ΠΏΠΎ… 1. Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ
2. Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов
3. Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ индСксов элСмСнтов
4. частотным характСристикам
Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a, b, c ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ «ΡΡ‚Ρ€ΠΎΠΊΠ°», Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ i, k – Ρ‚ΠΈΠΏ «Ρ†Π΅Π»ΠΎΠ΅». Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
Π”Π»ΠΈΠ½Π°(a) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов Π² строкС a (Ρ‚ΠΈΠΏ «Ρ†Π΅Π»ΠΎΠ΅»).
Π˜Π·Π²Π»Π΅Ρ‡ΡŒ (a,i) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ i-Ρ‹ΠΉ (слСва) символ Π² строкС a (Ρ‚ΠΈΠΏ «ΡΡ‚Ρ€ΠΎΠΊΠ°).
Π‘ΠΊΠ»Π΅ΠΈΡ‚ΡŒ (a,b) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записаны сначала всС символы строки a, Π° Π·Π°Ρ‚Π΅ΠΌ всС символы строки b (Ρ‚ΠΈΠΏ «ΡΡ‚Ρ€ΠΎΠΊΠ°).
ЗначСния строк Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, a:=’Π΄ΠΎΠΌ’).
a:= β€˜Π˜ΠΠ€ΠžΠ ΠœΠΠ’Π˜ΠšΠβ€™
i:=Π”Π»ΠΈΠ½Π°(a)-5
k:=1 b:=β€˜Πβ€™
ΠΏΠΎΠΊΠ° i > 2 Π½Ρ†
c:=Π˜Π·Π²Π»Π΅Ρ‡ΡŒ(a,i)
b:=Π‘ΠΊΠ»Π΅ΠΈΡ‚ΡŒ(c,b)
i:=i-k ΠΊΡ†
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b послС выполнСния Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.
1. β€˜Π€ΠžΠ ΠœΠβ€™
2. β€˜ΠΠ Π€Πβ€™
3. β€˜Π€Π˜Π ΠœΠβ€™
4. β€˜ΠœΠ˜ΠΠžΠ β€™
Π’ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ__________ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². 1. 7
2. 8
3. 9
4. 5
Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ запись выраТСния Π½Π° языкС программирования. 1. ((a*b)-c/(a-c))/(2*b*c)
2. (a*b)-c/(a+c)/2*b*c
3. = ((a*b)-c/(a-c))/(2*b*c)
4. ((ab)-c)/(a+c))/(2bc)
Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. 1. Ссли УсловиС 1 Ρ‚ΠΎ БСрия 1 ΠΈΠ½Π°Ρ‡Π΅ Ссли УсловиС 2 Ρ‚ΠΎ сСрия 3 ΠΈΠ½Π°Ρ‡Π΅ сСрия 2 всС всС
2. Ссли УсловиС 1 Ρ‚ΠΎ ΠΈΠ½Π°Ρ‡Π΅ Ссли УсловиС 2 Ρ‚ΠΎ сСрия 2 ΠΈΠ½Π°Ρ‡Π΅ сСрия 3 ΠΈΠ½Π°Ρ‡Π΅ сСрия 1 всС всС
3. Ссли УсловиС 1 Ρ‚ΠΎ БСрия 1 всС Ссли УсловиС 2 Ρ‚ΠΎ сСрия 2 ΠΈΠ½Π°Ρ‡Π΅ сСрия 3 всС
4. Ссли УсловиС 1 Ρ‚ΠΎ БСрия 1 ΠΈΠ½Π°Ρ‡Π΅ Ссли УсловиС 2 Ρ‚ΠΎ сСрия 2 ΠΈΠ½Π°Ρ‡Π΅ сСрия 3 всС всС
Π£Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ «Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹ΠΉ процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ построчно Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняСт прСдписанныС дСйствия, Π° Π½Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° машинном языкС ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая выполняСтся впослСдствии» справСдливо для … 1. компилятора
2. синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°
3. транслятора
4. ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°
Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… x ΠΈ y ΠΏΠΎΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами. 1. y:=x; b:=x; x:=y;
2. c:=x; x:=y; x:=c;
3. x:=x+y; y:=x-y; x:=x-y;
4. b:=x; x:=y; y:=x;
Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ составляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· n=8 элСмСнтов [4; 6; 8; 10; 12; 14; 16; 18 ] 1. для i ΠΎΡ‚ 1 Π΄ΠΎ n A[i]:=i*2
2. для i ΠΎΡ‚ 1 Π΄ΠΎ n A[i]:=i*2+2
3. для i ΠΎΡ‚ 1 Π΄ΠΎ n A[i]:=i*2-2
4. для I ΠΎΡ‚ 2 Π΄ΠΎ n A[i]:=i*i
КакиС ΠΈΠ· пСрСчислСнных языков ΡΠ²Π»ΡΡŽΡ‚ΡΡ скриптовыми языками? 1. PHP
2. C++
3. Tcl
4. Java
УстановитС соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ свойством Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π΅Π³ΠΎ описаниСм:

A. Π”ΠΈΡΠΊΡ€Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ 1. Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΅Π³ΠΎ шаг
B. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ 2. Алгоритм Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ процСсс Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ простых шагов
C. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ 3. Алгоритм Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число шагов

Β 

1. A – 2, B – 3, C – 1
2. A – 2, B – 1, C – 3
3. A – 1, B – 3, C – 2
4. A – 3, B – 1, C – 2
На Π±Π»ΠΎΠΊ-схСмС прСдставлСна алгоритмичСская конструкция 1. Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅
2. Π¦ΠΈΠΊΠ» с прСдусловиСм
3. Π¦ΠΈΠΊΠ» с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ΠΌ
4. Π’Ρ‹Π±ΠΎΡ€
Допустимыми ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ 1. ?Gross
2. Sor1_t1_12
3. M O D
4. SchwarzKopf
Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ нСчисловыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… 1. Integer
2. Long Int
3. Boolean
4. String
Π£

Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ языком высокого уровня (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java) ΠΈ Assembly языком?

Π’ ΠΌΠΎΠ΅ΠΉ языковой ΠΊΠ½ΠΈΠ³Π΅ Assembly ΡƒΡ€ΠΎΠ²Π½ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин пСрСчислСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 4: Π―Π·Ρ‹ΠΊ Высокого Уровня
  • Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 3: Assembly Π―Π·Ρ‹ΠΊ
  • Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2: АрхитСктура Набора Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΉ (ISA)
  • Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 1: Цифровая Π›ΠΎΠ³ΠΈΠΊΠ°

Богласно КнигС, Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2 (ISA) — это инструкции для процСссора; ISA Ρ‚Π°ΠΊΠΆΠ΅ называСтся ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком . КаТдая инструкция Π½Π° этом ΡƒΡ€ΠΎΠ²Π½Π΅ выполняСтся Π»ΠΈΠ±ΠΎ нСпосрСдствСнно Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, встроСнной Π² ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½ΡƒΡŽ микросхСму, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ .

Π’Ρ‹ΡˆΠ΅ уровня 2 находится язык Assembly уровня 3, языки программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΠΉ. Π­Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ADD, SUB ΠΈ MOV, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π² ISA Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 2. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ ΠΈΠ»ΠΈ собраны Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ISA, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹.

Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ — это Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 4, языки программирования высокого уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C, C++ ΠΈ Java. Они заявлСны ΠΊΠ°ΠΊ языки, содСрТащиС ΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пСрСводятся Π² нСсколько языковых инструкций assembly.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я Π½Π΅ совсСм понимаю, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ языком высокого уровня, скаТСм, Java Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, ΠΈ Assembly языком. На ΠΌΠΎΠΉ взгляд, языки высокого уровня ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Ρ‹ Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠΉ стСпСни, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎ своСй сути Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… строк ΠΊΠΎΠ΄Π°, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ assembly, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нуТдаСтся Π² явном ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ внСсти свой Π²ΠΊΠ»Π°Π΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ это для мСня? Π­Ρ‚ΠΎ ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я ΡΠΌΠΎΡ‚Ρ€ΡŽ Π² Assembly, ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ это совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΈΡ€, Ρ‡Π΅ΠΌ ΠΌΠΎΠΉ ΠΎΠΏΡ‹Ρ‚ Π² C#.

java

c++

c

assembly

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

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


Analytic Lunatic Β  Β 

15 января 2014 Π² 23:39

5 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²


  • Какова связь ΠΌΠ΅ΠΆΠ΄Ρƒ языком C ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ„ΠΎΠ½ НСймана?

    Π― ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠ»Ρ‹ΡˆΠ°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ». Π― Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π² Π²ΠΈΠ΄Ρƒ. БущСствуСт Π»ΠΈ какая-Ρ‚ΠΎ особая связь ΠΌΠ΅ΠΆΠ΄Ρƒ языком C ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ„ΠΎΠ½ НСймана? Бпасибо! Π― Π½Π°Ρ…ΠΎΠΆΡƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ c ΠΈ Ρ„ΠΎΠ½ НСйман Π² этом Ρ„Π°ΠΉΠ»Π΅ pdf . Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠΎΠΉ вопрос Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ. (страница 2-6)

  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языком программирования ΠΈ языком сцСнариСв?

    Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π”ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ : What’s Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ a β€œscript” ΠΈ an β€œapplication”? Когда язык считаСтся языком сцСнариСв? Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языком ядра Π²Π΅Π±-прилоТСния ΠΈ языком Π²Π΅Π±-сцСнариСв? Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ использованиС Π²Π΅Π±-скриптового языка, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Python? Когда ΠΌΡ‹…



2

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

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

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

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

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Jerry Coffin Β  Β 

16 января 2014 Π² 00:14



2

ΠœΠ΅ΠΆΠ΄Ρƒ языками Π±ΠΎΠ»Π΅Π΅ высокого уровня ΠΈ assembly языками Π½Π΅Ρ‚ прямой связи.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ , компилятор C ΠΈΠ»ΠΈ Java JIT Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ язык assembly, Π° Π·Π°Ρ‚Π΅ΠΌ запускаСт ассСмблСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ компилятор ΠΈΠ»ΠΈ JIT Ρ‚Π°ΠΊ ΠΆΠ΅ способСн Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции, ΠΊΠ°ΠΊ ΠΈ ассСмблСр.

Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅/Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ свой компилятор C ΠΈΠ»ΠΈ Java JIT. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π±Ρ‹ Π²Ρ‹ рисовали Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для компиляции ΠΈ выполнСния ΠΊΠΎΠ΄Π° Π½Π° языкС Π±ΠΎΠ»Π΅Π΅ высокого уровня, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 3, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Ρ‹Π» написан компилятор. язык Assembly-это Π² основном (Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ) многословный способ написания ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций Π² Π²ΠΈΠ΄Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ тСкста, Π½ΠΎ это Π½Π΅ СдинствСнный способ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции-СдинствСнный способ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ CPU Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ, связанноС с «Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ»).

Π― Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ assembly ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ «virtual machine level». Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языка высокого уровня, ΠΎΠ½ Π½Π΅ связан с модСлью выполнСния, сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ инструкциями. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ абстрагируСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ инструкциями. НапримСр, ΠΎΠ½ содСрТит ΠΌΠ΅Ρ‚ΠΊΠΈ, исправлСния ΠΈ Ρ‚. Π”., ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ адрСсами ΠΈ значСниями ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ машинного ΠΊΠΎΠ΄Π° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ готовности ΠΊ запуску. Но ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, хранящийся Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅, Ρ‚ΠΎΠΆΠ΅ абстрагируСт эти Π²Π΅Ρ‰ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ это ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ? Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, читая дальшС Π² своСй ΠΊΠ½ΠΈΠ³Π΅, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚ΠΎΠ³ΠΎ, для Ρ‡Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° эта классификация ΠΏΠΎ уровням.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Steve Jessop Β  Β 

16 января 2014 Π² 00:18


  • связь ΠΌΠ΅ΠΆΠ΄Ρƒ машиной ΠΈ языком assembly

    Какова связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком ΠΈ assembly языковым ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ?

  • .Чистый язык Assembly

    Π― понимаю Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ дСкомпилятором ΠΈ дизассСмблСром ( дизассСмблСр .net/дСкомпилятор ), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ дизассСмблСр позволяСт ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² язык assembly (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² ΠΎΠΊΠ½Π΅ Dissassembly Π² Visual Studio), Π° дСкомпилятор ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ язык assembly Π² язык высокого уровня,…



1

Π’ ΠΏΡ€Π΅ΠΆΠ½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ сСгодня, компиляторы ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠ»ΠΈ язык высокого уровня Π½Π° язык Assembly. АссСмблСр ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ язык assembly Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык.

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

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ языков высокого уровня ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ. НапримСр, структура Π΄Π°Π½Π½Ρ‹Ρ… стСка, рСализованная Π² 80386 assembly, Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ARM7. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ пСрСписан для ARM7, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚, Π±Ρ‹Π»ΠΎ пСрСнСсСно Π½Π° ARM7.

ВрСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ замСдляСтся Π΄ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Π² assembly. НСобходимо ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстрСС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ врСмя Π½Π° устранСниС ошибок.

НапримСр, возьмСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ a = b + c; , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся присвоСниСм суммы b ΠΈ c ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a . Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ (ΠΎΠ±Ρ‰ΠΈΠ΅) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня:

  1. скопируйтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b ΠΈΠ· памяти Π² рСгистр 0
  2. скопируйтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ c ΠΈΠ· памяти Π² рСгистр 1
  3. Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ рСгистр 0 Π² рСгистр 1 ΠΈ помСститС сумму Π² рСгистр 2
  4. сохранитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистрС 2 для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a Π² памяти.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, здСсь ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ составляСт ΠΎΠ΄Π½Ρƒ строку языка высокого уровня ΠΊ 4 строкам языка assembly. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² этом, Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ hello world ΠΈ распСчатайтС список языков assembly.

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

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

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ языки Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‡Π΅ΠΌ C, C++ ΠΈ Java. Π­Ρ‚ΠΈ языки ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ абстрактных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ программистам большС ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° концСпциях, Ρ‡Π΅ΠΌ Π½Π° языках.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Thomas Matthews Β  Β 

16 января 2014 Π² 01:50



1

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… , ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык высокого уровня ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный способ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ(Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΡ…ΠΎΠΆΠΈ).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Java компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСтся Π² эмуляторС(собствСнном Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅). Π’ΠΎ врСмя выполнСния этот эмулятор взаимодСйствуСт с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой (ΠΈΠ·Π²Π½Π΅) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.
НапримСр : Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» explorer, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Java. Когда выполняСтся Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, которая удаляСт Ρ„Π°ΠΉΠ», Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму отправляСтся сообщСниС для удалСния.

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

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

Π‘Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° «for», Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ транслятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполнялся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° использовался Ρ†ΠΈΠΊΠ».

ПослС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ компиляторы ΠΈ созданы языки высокого уровня.

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

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


speedyxvs Β  Β 

16 января 2014 Π² 02:08




0

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ²: Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ считаСтС, Ρ‡Ρ‚ΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ = assembly ΠΊΠΎΠ΄. Π―Π·Ρ‹ΠΊΠΈ высокого уровня Π² основном ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС язык высокого уровня пСрСводится Π² Π½Π°Π±ΠΎΡ€ инструкций машинного ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Однако Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв сущСствуСт соотвСтствиС 1:1 ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ assembly ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ это Π½Π΅ всСгда Π²Π΅Ρ€Π½ΠΎ (я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ это обсуТдСниС Assembly code vs Machine code vs Object code? ).

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки пСрСводятся Π½Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ выполняСтся нСпосрСдствСнно ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, пропуская ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ машинного ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² этом случаС ΠΊΠΎΠ΄ assembly Π½Π΅ создаСтся.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Pablo R. Mier Β  Β 

16 января 2014 Π² 00:14


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Какова связь ΠΌΠ΅ΠΆΠ΄Ρƒ POSIX ΠΈ C языком?

Π― понимаю, Ρ‡Ρ‚ΠΎ язык C являСтся стандартом ISO , ΠΈ я ΠΌΠΎΠ³Ρƒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, Ρ‡Ρ‚ΠΎ стандарт Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя 29 Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² , ΠΈ Ρ‡Ρ‚ΠΎ Π² соотвСтствии с этими Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ C…

Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ языком ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ

Π― наткнулся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ заявлСниС Π² Trapexit, Π²Π΅Π±-сайтС сообщСства Erlang: Erlang-это язык программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для создания ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… мягких систСм Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с трСбованиями…

ЯвляСтся Π»ΠΈ C# языком высокого уровня?

ЯвляСтся Π»ΠΈ C# языком высокого уровня? Π― Π²ΠΈΠΆΡƒ Π΅Π³ΠΎ скорСС ΠΊΠ°ΠΊ срСдний ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Π½ΠΎ я всС Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½ Π² этом. Π‘Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ высоким ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ популярныС скриптовыС языки?…

Какова связь ΠΌΠ΅ΠΆΠ΄Ρƒ языком C ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ„ΠΎΠ½ НСймана?

Π― ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠ»Ρ‹ΡˆΠ°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ». Π― Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π² Π²ΠΈΠ΄Ρƒ. БущСствуСт Π»ΠΈ какая-Ρ‚ΠΎ особая связь ΠΌΠ΅ΠΆΠ΄Ρƒ языком C ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ„ΠΎΠ½ НСймана? Бпасибо! Π― Π½Π°Ρ…ΠΎΠΆΡƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ…

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языком программирования ΠΈ языком сцСнариСв?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π”ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ : What’s Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ a β€œscript” ΠΈ an β€œapplication”? Когда язык считаСтся языком сцСнариСв? Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языком ядра Π²Π΅Π±-прилоТСния ΠΈ языком…

связь ΠΌΠ΅ΠΆΠ΄Ρƒ машиной ΠΈ языком assembly

Какова связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком ΠΈ assembly языковым ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ?

.Чистый язык Assembly

Π― понимаю Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ дСкомпилятором ΠΈ дизассСмблСром ( дизассСмблСр .net/дСкомпилятор ), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ дизассСмблСр позволяСт ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² язык assembly (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²…

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ISA (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MIPS) ΠΈ Assembly языками

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языком ISA (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MIPS) ΠΈ языком Assembly? Π― Π²ΠΈΠΆΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ контСксты, Π³Π΄Π΅ ΠΎΠ½ΠΈ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ синонимы.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком высокого уровня ΠΈ языком высокого уровня

Π― знаю, Ρ‡Ρ‚ΠΎ БэббидТ-это машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык высокого уровня для машин сСрии GEC 4080. Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком высокого уровня ΠΈ языком высокого уровня?

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ язык assembly, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык?

НСдавно я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ язык assembly, я искал wiki ΠΈ понял, Ρ‡Ρ‚ΠΎ язык assembly-это просто text version машинного языка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ? Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это…

ΠžΡΠ½ΠΎΠ²Ρ‹ компиляторов. Π§Ρ‚ΠΎ это — компилятор, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

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

Π―Π·Ρ‹ΠΊ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы

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

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

Π’ языкС ассСмблСр всС осущСствляСтся благодаря рСгистрам процСссора: Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ А Π² Ρ‚ΠΎΡ‡ΠΊΡƒ Π‘ ΠΈ Ρ‚. Π΄. Основная Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ являСтся ΠΏΠΎΠ»ΡƒΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ поддаСтся ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΡŽ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ раскиданных Π±ΠΈΡ‚ΠΎΠ². Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ минусом Π±Ρ‹Π»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство этих самых рСгистров.

Π’ 80-Ρ… Π³ΠΎΠ΄Π°Ρ… Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ язык программирования, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΈ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму. Π’Π°ΠΊ появился Π‘ ΠΈ компилятор Π‘ GCC ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ GNU. Если Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Linux, Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠšΡΡ‚Π°Ρ‚ΠΈ, ассСмблСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ ΠΏΠΎΠ½Ρ‹Π½Π΅, вСдь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ компиляторы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ – с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ассСмблСрС. ВсС зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ компилятор ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² сСбС:

    Π”Π΅Π±Π°Π³Π΅Ρ€ – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая отправляСт сообщСния ΠΎΠ± ошибкС ΠΎΡ‚ Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°, прСпроцСссора, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π³Π»Π°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся поиск ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ со Π·Π½Π°ΠΊΠ° #, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄. НапримСр, добавлСния стороннСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ наш Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ понятный язык программирования Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ассСмблСр. Π›ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊ – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ автоматичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ.

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

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ компиляторы

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

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π»ΠΈ сборка Π±Π΅Π· Π½ΠΎΠ²ΠΎΠ³ΠΎ языка?

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

ПослС сбора ΠΊΠΎΠ΄Π° Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊ ΠΎΡ‚Π΄Π°Π²Π°Π» Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡƒΠΆΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π³Π΄Π΅ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π» Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, компилятор – это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π° Π΅Ρ‰Π΅ ΠΈ усилия мноТСства людСй. А ΠΎΠ½ΠΈ, ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π» Π“Π΅Π½Ρ€ΠΈ Π€ΠΎΡ€Π΄, ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс.

Π›ΡƒΡ‡ΡˆΠΈΠΉ компилятор Windows

Π˜Ρ‚Π°ΠΊ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ сущСствуСт мноТСство ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Ρ… языков, Π½ΠΎ Π΅Ρ‰Π΅ большС ΠΆΠΈΠ²Ρ‹Ρ…, Ρ‚. Π΅. Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотя Π±Ρ‹ Ρ€Π°Π· Π² Π³ΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ свою ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Π² 1980 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» создан Π‘ — это Π±Ρ‹Π» ΠΏΡ€ΠΎΡ€Ρ‹Π². МногиС наши ΠΎΡ‚Ρ†Ρ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΎΠ±ΠΎΠΆΠ°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ язык, Π½ΠΎ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ?

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

    Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ взял ΡΠΎΠ»ΠΈΠ΄Π½ΡƒΡŽ долю стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΡ‚ Π‘, ΠΈ Π½ΠΎΠ²Ρ‹Π΅ компиляторы G++ способны ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π‘, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ само ΠΏΠΎ сСбС ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΈΡ… ΡΡ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π‘++ Π±Ρ‹Π» создан, Ρ‡Ρ‚ΠΎΠ± Π·Π°ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π‘, ΠΈ ΠΈΡ‚ΠΎΠ³ΠΈ этого ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ сСйчас. К слову, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° компилятор G++ Π½Π΅ «Ρ€ΡƒΠ³Π°Π΅Ρ‚ся» Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ использован хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ класс – Π² этом ΠΈ Π΅ΡΡ‚ΡŒ основноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π΄Π²ΡƒΡ… языков. МоТно Π½Π°Π·Π²Π°Ρ‚ΡŒ G++ Π»ΡƒΡ‡ΡˆΠΈΠΌ компилятором, Π½Π΅ зря вСдь благодаря Π΅ΠΌΡƒ ΠΏΠΈΡˆΡƒΡ‚ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Windows ΠΈ Ρ‚. Π΄.

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

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

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

ΠžΠ±Ρ‰ΠΈΠ΅ замСчания ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°ΠΌ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ исходном языкС являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· основных Π·Π°Π΄Π°Ρ‡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. Π‘Ρ‚Π΅Β­ΠΏΠ΅Π½ΡŒ трудности ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° зависит ΠΎΡ‚ слоТно­сти исходного языка ΠΈ стСпСни Π΅Π³ΠΎ отличия ΠΎΡ‚ базисного языка, Π½Π° ΠΊΠΎΡ‚ΠΎΒ­Ρ€ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ записан сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

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

ОсобоС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ (ΠΏΠΎΡˆΠ°Β­Π³ΠΎΠ²Ρ‹Π΅) ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.
Для Π½ΠΈΡ… Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ трСбуСтся сначала ΠΏΠΎΠ΄Π³ΠΎΒ­Ρ‚ΠΎΠ²ΠΈΡ‚ΡŒ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΒ­Ρ‚ΠΎΠΌ Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ частями ΠΈ ΠΏΠΎΠ»ΡƒΒ­Ρ‡Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ — насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ — Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ЯП Π’ASIC ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ).

БСйчас всС Π±Π»ΠΈΠΆΠ΅ подходят ΠΊ созданию ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² для Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выглядят Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ классичСскиС ЯП, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Β­Π½Ρ‹Π΅ Π½Π° вычислСния. Π’ частности, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… исслСдований стала Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ интСрпрСтация ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… языков, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… скорСС Π½Π° спСцификации, Π° Π½Π΅ Π½Π° вычислСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, язык ΠŸΠ ΠžΠ›ΠžΠ“, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит для составлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² машинно-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, для Ρ‚Π°ΠΊΠΈΡ… языков ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π½Π΅ΠΏΡ€Π΅Β­ΠΎΠ΄ΠΎΠ»ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π΅Π³Ρ€Π°Π΄Ρ‹ ΠΈΠ·-Π·Π° Π³Ρ€Π°Π½ΠΈΡ† вычислимости ΠΈ слоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для ΠΌΠ½ΠΎΠ³ΠΈΡ… постановок Π·Π°Π΄Π°Ρ‡ Π΄Π΅Π»Π°ΡŽΡ‚ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ исполь­зованиС этих языков.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€
Π±Π΅Ρ€Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° исходномязыкС Π² качСствС своих Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΌ языкС, понятном машинС.

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

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ довольно слоТными ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° исходном языкС Π² Ρ„ΠΎΡ€ΠΌΠ΅ тСкста, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру Ρ‚Π°ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΠΌΡ‹, провСряя ΠΏΡ€ΠΈ этом Π΅Π΅ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ (синтак­сичСский Π°Π½Π°Π»ΠΈΠ·), ΠΈ пСрСводят ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ) язык ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡƒΡ‚Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… дСйствий.

ЯП опрСдСляСтся Π΅Π³ΠΎ синтаксисом ΠΈ сСмантикой. Π’ процСссС компи­ляции ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, понимаСмая ΠΊΠ°ΠΊ синтаксичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, бСрСтся Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π² соотвСтствии с Π΅Π΅ сСман­тикой прСвращаСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС ΠΈΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ­Π½ΠΎΡΡ‚ΡŒ дСйствий (процСсс выполнСния).

Π―Π·Ρ‹ΠΊΠΈ программирования Π±Ρ‹Π²Π°ΡŽΡ‚ высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

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

Π―Π·Ρ‹ΠΊΠΈ высокого уровня
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Π΅ дСйствия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с ΠΏΠΎΒ­ΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Они Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΈ понятнСС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ языка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· дСсятка ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссо­ра. ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ЯП Π’Π£ Π»Π΅Π³Ρ‡Π΅.

1 – машинно-зависимыС (АссСмблСр). Π―Π·Ρ‹ΠΊΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

2 – машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (Π‘ΠΈ)

3 – ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ (Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, Паскаль, Basic)

4 — ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (GPSS, Π›ΠΎΠ³ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (Ρ„ΠΎΡ€Ρ‚, Π‘ΠΌΠΎΠ»Ρ‚ΠΎΠΊ))

5,6,7 – (ΠŸΡ€ΠΎΠ»ΠΎΠ³, Лисп, Π‘ΠΠžΠ‘ΠžΠ›).

Π‘ΠΈ, Π‘ΠΈ++

— вся машинно-зависимая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ достаточно Π»Π΅Π³ΠΊΠΎ локализуСтся ΠΈ модифицируСтся ΠΏΡ€ΠΈ пСрСносС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ.

Π€ΠΎΡ€Ρ‚Ρ€Π°Π½

– ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык высокого уровня (1958Π³., Ρ„ΠΈΡ€ΠΌΠ° IBM), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, особСнно прСдпочитаСтся ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°ΠΌΠΈ.

Паскаль

– ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… цСлях (Н.Π’ΠΈΡ€Ρ‚), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ΄Π΅ΠΉ структурного программирования.

БСйсик

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

Π›ΠΎΠ³ΠΎ

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

GPSS

– ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ событий. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ исслСдований Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания, Π΄Π»ΠΈΠ½Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, использованиС рСсурсов.

Π‘ΠΌΠΎΠ»Ρ‚ΠΎΠΊ

– ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π°Π½Π½ΠΈΡ… ОО ЯП, основная конструкция – это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ дСйствия с Π½ΠΈΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для нСчисловых Π·Π°Π΄Π°Ρ‡ (ΠΏΡ€ΠΈ построСнии систСм искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°).

Π€ΠΎΡ€Ρ‚

– ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ модСлирования Π² графичСских систСмах.

Π―Π·Ρ‹ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹

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

ΠŸΡ€ΠΎΠ»ΠΎΠ³

– язык ИИ, Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ связи, Π° с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅.

Лисп

– ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹Π΅ графичСскиС конструкции, позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ проСктирования (Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€). Он ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ΡΠΊΡƒΡŽ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π˜ΠΌΠ΅Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ².

Π‘ΠΠžΠ‘ΠžΠ›

– язык ИИ.

ПоколСния языков программирования

ВсС языки программирования принято Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 5 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ.

1. Начало 50-Ρ… Π³ΠΎΠ΄ΠΎΠ². Появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ языки ассСмблСра, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вСлось ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ «Одна инструкция — ΠΎΠ΄Π½Π° строка».

2. ΠšΠΎΠ½Π΅Ρ† 50-Ρ… Π½Π°Ρ‡Π°Π»ΠΎ 60-Ρ… Π³ΠΎΠ΄ΠΎΠ². Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ символичСский АссСмблСр, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появилось понятиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Возросла ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

3. 60-Π΅ Π³ΠΎΠ΄Π°. Π ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ языков высокого уровня. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° программирования, Π½Π΅Β­Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ языковыС конструк­ции.

4. Начало 70-Ρ… ΠΈ ΠΏΠΎ настоящСС врСмя. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки, ΠΎΠΏΠ΅Ρ€ΠΈΒ­Ρ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ понятиями ΡƒΠ·ΠΊΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области. ΠœΠΎΡ‰Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΒ­Ρ€Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° языках младшСго поколСния ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ тысячи строк исходного ΠΊΠΎΠ΄Π°.

5. Π‘Π΅Ρ€Π΅Π΄ΠΈΠ½Π° 90-Ρ…. БистСмы автоматичСского создания ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π±Π΅Π· знания программирования. Π˜Π½ΡΡ‚Β­Ρ€ΡƒΠΊΡ†ΠΈΠΈ вводятся Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² наглядном Π²ΠΈΠ΄Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

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

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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ выполняСтся компиляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux, ΠΊΠ°ΠΊ происходит процСсс компиляции, Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим насколько Π³ΠΈΠ±ΠΊΠΎ Π²Ρ‹ смоТСтС всС Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ.

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

Π’ этой ΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ‚Π΅ΠΌΠ° рассмотрСна Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ. Как Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, для прСвращСния исходного ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор GCC. Для установки Π΅Π³ΠΎ ΠΈ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… инструмСнтов Π² Ubuntu Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

sudo apt install build-essential manpages-dev git automake autoconf

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ установки ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ компилятора:

Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ самой компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ рассмотрим Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ этого процСсса.

Как выполняСтся компиляция?

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Linux — это довольно слоТный процСсс. ВсС Π΅Ρ‰Π΅ слоТнСС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТится Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΠΎ всСх Ρ„Π°ΠΉΠ»Π°Ρ… Π΅Π΅ исходников. КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ мноТСство систСмных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах, содСрТащих Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС, Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ начнСтся нСпосрСдствСнно компиляция, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ совмСстима Π»ΠΈ ваша систСма с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π»ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Если Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½Π° ошибка ΠΈ Π²Π°ΠΌ придСтся ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΠ΄Π΅Ρ‚ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π±Π΅Π· этого этапа ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, Π½ΠΎ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ компилятор ΠΌΠΎΠ³ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ мСньшС, Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора эффСктивнСС.

Π—Π°Ρ‚Π΅ΠΌ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с систСмными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этого этапа ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ΠΈ всС. Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ основныС Ρ„Π°Π·Ρ‹ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ — это исходники самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ vim. Π­Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, достаточно простая ΠΈ нуТная всСм, поэтому ΠΎΠ½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исходников

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, это исходныС ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° GitHub. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ исходники для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux Π½Π° GitHub. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΌ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ инструкции ΠΏΠΎ сборкС:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ сами исходники нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ git:

git clone https://github.com/vim/vim

Π’Π°ΠΊΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² Π½Π° сайтС, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π½ΠΎ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° создаст ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ:

Настройка configure

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с систСмой ΠΈ настроит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ компиляции. Он называСтся configure ΠΈ поставляСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вмСстС с исходниками. Π’Π΅ΡΡŒ процСсс компиляции описан Π² Ρ„Π°ΠΉΠ»Π΅ Makefile, Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эта ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°.

Если configure Π½Π΅Ρ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ с исходниками, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ скрипты Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

./bootstrap
$ ./autogen.sh

Π’Π°ΠΊΠΆΠ΅ для создания этого скрипта ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ automake:

aclocal
$ autoheader
$ automake —gnu —add-missing —copy —foreign
$ autoconf -f -Wall

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° automake ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ· Π΅Π΅ Π½Π°Π±ΠΎΡ€Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° основС Ρ„Π°ΠΉΠ»Π° Mackefile.am. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΅ΡΡ‚ΡŒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

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

./configure —help

Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅, стандартныС для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠΏΡ†ΠΈΠΈ:

  • —prefix=PREFIX
    — ΠΏΠ°ΠΏΠΊΠ° для установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, вмСсто /, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ /usr/local/, Ρ‚ΠΎΠ³Π΄Π° всС Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ распространСны Π½Π΅ ΠΏΠΎ основной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π° Π² /usr/local;
  • —bindir=DIR
    — ΠΏΠ°ΠΏΠΊΠ° для размСщСния исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½Π° находится Π² PREFIX;
  • —libdir=DIR
    — ΠΏΠ°ΠΏΠΊΠ° для размСщСния ΠΈ поиска Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎΠΆΠ΅ Π² PREFIX;
  • —includedir=DIR
    — ΠΏΠ°ΠΏΠΊΠ° для размСщСния man страниц;
  • —disable-Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
    — ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ;
  • —enable-Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
    — Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ;
  • —with-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
    — ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ enable Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»;
  • —without-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
    — ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ disable ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ configure Π±Π΅Π· ΠΎΠΏΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ. Π’ нашСм случаС./configure Π΅ΡΡ‚ΡŒ, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

Π’ΠΎ врСмя настройки ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² систСмС, ΠΈ Ссли Π½Π΅Ρ‚, Π²Π°ΠΌ придСтся ΠΈΡ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ такая ошибка: no terminal library found checking for tgetent()… configure: error: NOT FOUND!

Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ncurses, поэтому ставим:

sudo apt install libncurces-dev

ΠŸΡ€ΠΈΡΡ‚Π°Π²ΠΊΠ° lib всСгда добавляСтся ΠΏΠ΅Ρ€Π΅Π΄ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Π° -dev — ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° со всСми Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. ПослС удовлСтворСния всСх зависимостСй настройка ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Когда настройка Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ Makefile Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ смоТСтС ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ нСпосрСдствСнно ΠΊ сборкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На этом этапС выполняСтся нСпосрСдствСнно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° make Π½Π° основС Makefile сдСлаСт всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия:

ПослС этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ установлСна Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π°ΠΌΠΈ ΠΏΠ°ΠΏΠΊΡƒ, ΠΈ Π²Ρ‹ смоТСтС Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Но Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ — ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ для установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, это дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ checkinstall, ΠΎΠ½Π° позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ deb, Ρ‚Π°ΠΊ ΠΈ rpm ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ubuntu. ВмСсто make install Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

Π—Π°Ρ‚Π΅ΠΌ просто установитС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dpkg:

sudo dpkg install vim.deb

ПослС этого сборка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ установлСна, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΌΡƒ использованию.

Если Π²Ρ‹ устанавливали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ make install, Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

sudo make uninstall

Команда ΡƒΠ΄Π°Π»ΠΈΡ‚ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ скопированы Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ выполняСтся компиляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Linux. Π­Ρ‚ΠΎΡ‚ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТным для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ, всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ нСсколько часов. Если Ρƒ вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π² коммСнтариях!

На Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€:

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

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

Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

Когда ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ инструкции Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ процСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поэтапно выполняСт инструкции, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Как ΠΈΠ· выраТСния Β«a = 3;
Β» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ процСссор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ?

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

На ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· этапов процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ задСйствуСтся ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈ связываСт ΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½ исполняСмый Ρ„Π°ΠΉΠ». Π’ΠΎΡ‚ схСма, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π΄Π°Π½Π½Ρ‹ΠΉ процСсс:

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

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ компиляторы Π±Ρ‹Π»ΠΈ написаны нСпосрСдствСнно Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ с использованиСм ассСмблСров. Но Ρ†Π΅Π»ΡŒ компилятора ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°: пСрСвСсти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² исполняСмый ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора.

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

НС всС языки программирования ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ это Π² своСй ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ. НапримСр, Java
прСдназначался для запуска Π² Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ
Β» срСдС, Π° Python
всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ компиляции являСтся интСрпрСтация. Основная Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π±Π΅Ρ€Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π΅ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ процСссор.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ β€” это исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поэтапно Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚, сразу выполняя Π΅Π΅ инструкции.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ поэтапно ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ собствСнного исполняСмого Ρ„Π°ΠΉΠ»Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ пСрСдаСтся процСссору, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ сам являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, построСнным Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя.

Π­Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ΡˆΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ новая Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°:

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

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

C:>python myprogram.py

Π’ этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Python
β€” это исполняСмый Ρ„Π°ΠΉΠ». Π’Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ всС, Ρ‡Ρ‚ΠΎ находится Π² Ρ„Π°ΠΉΠ»Π΅ myprogram.py, ΠΈ ΠΎΠ½ выполняСт эти инструкции. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ запустит myprogram.py
Π±Π΅Π· Python
. Π­Ρ‚ΠΎ Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ процСссор. МоТно ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ нСпосрСдствСнно Π² процСссорС. Но эта ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² качСствС Π΅Π΅ части всСго ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python
.

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Они просто Π±Π΅Ρ€ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство строк ΠΊΠΎΠ΄Π° Π·Π° Ρ€Π°Π· ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ.

НСкоторыС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Π­Ρ‚ΠΎ своСго Ρ€ΠΎΠ΄Π° псСвдо ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ быстрСС обрабатываСтся, ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для исполнитСля (части ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, которая исполняСт
), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считываСт Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π½Π΅ ΠΊΠΎΠ΄ источника.

Π•ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… этот Π²ΠΈΠ΄ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, язык программирования Java
«запускаСтся
Β» Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС. Она являСтся исполняСмым ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая считываСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ эмулируСт Ρ€Π°Π±ΠΎΡ‚Ρƒ процСссора. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ процСссор ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π±Ρ‹Π» Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ процСссором.

Π£ мСня Π΅ΡΡ‚ΡŒ эмулятор для ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ приставки NIntendo
. Когда я Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽ ROM-Ρ„Π°ΠΉΠ» Dragon Warrior
, ΠΎΠ½ форматируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссор NES
. Но Ссли я создаю Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ процСссорС, я ΠΌΠΎΠ³Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Dragon Warrior
Π½Π° любой машинС с эмулятором.

Π­Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ концСпция компиляции Java
, Π° Ρ‚Π°ΠΊΠΆΠ΅ всС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹. На любом процСссорС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ я ΠΌΠΎΠ³Ρƒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ / эмулятор, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΌΠΎΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ / Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’ этом Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ основноС прСимущСство ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π½Π°Π΄ компилятором.

Π—Π° ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²

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

Но наибольшим нСдостатком компиляции являСтся ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Когда ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ процСссорС, Π²Ρ‹ создаСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этом процСссорС. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ машинС, Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ΄ этот процСссор. А пСрСкомпиляция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно слоТной, Ссли процСссор ΠΈΠΌΠ΅Π΅Ρ‚ ограничСния ΠΈΠ»ΠΈ особСнности, Π½Π΅ присущиС ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ошибки компиляции.

ОсновноС прСимущСство ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ β€” Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. МоТно Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° любом процСссорС ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Ρ‹Π» скомпилирован. Написанный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ смыслС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ компиляторы.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎΡ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, ΠΊΠ°ΠΊ сборщики мусора, Π° Π½Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ язык.

Π”Ρ€ΡƒΠ³ΠΈΠΌ прСимущСством ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

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

Π‘Π°ΠΌΡ‹ΠΌ большим нСдостатком ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² являСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ², Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… real-time
ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ³Ρ€Ρ‹ с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ симуляциСй. НСкоторыС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ содСрТат ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ just-in-time
компиляторами (JIT

). Они ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ исполнСниСм. Π­Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, вынСсСнныС Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ процСссоры становятся всС Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ, данная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° становится ΠΌΠ΅Π½Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ всСгда Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ языки программирования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для компиляции ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C
. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Java
.

Для мСня Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, скомпилировано Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, Ссли ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ эффСктивно.

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

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΆΠ΅ просто ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π»ΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ вопросом, навСрняка Π²Π°ΠΌ Π½Π° Π³Π»Π°Π·Π° попадалось таинствСнноС слово «компилятор». Π­Ρ‚ΠΎ с Π²ΠΈΠ΄Ρƒ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ΅ понятиС способно ΠΎΡ‚ΠΏΡƒΠ³Π½ΡƒΡ‚ΡŒ людСй. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ постараСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ Π»ΠΈ всС уТасно. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор?

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ история появлСния

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ простыми словами, Ρ‚ΠΎ компилятором являСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π°Ρ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, которая ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Π° для выполнСния Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ машинС.

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

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

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

ΠŸΡ€ΠΎΡΡ‚ΠΎ, Π½ΠΎ слоТно

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

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

ИмСнно Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ занимаСтся компилятор Java ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка программирования. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ появлСнии Π½ΠΎΠ²ΠΎΠ³ΠΎ языка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½ΡƒΠΆΠ΄Π° Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ ΠΊΠΎΠ΄Π°, написанного Π½Π° Π½Π΅ΠΌ, Π² Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смоТСт ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π˜Π½Π°Ρ‡Π΅ ΠΎΠ½ Π΅Π΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚. Π’Π΅Π΄ΡŒ всСгда присутствуСт сСмантичСский Π·Π°Π·ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ понятиями Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ИмСнно для Π΅Π³ΠΎ прСодолСния ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ компиляторы языка программирования.

Врудности Π² создании

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

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

Класс ΠΈ компилятор

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… понятий. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ высокоуровнСвыС Π²Π΅Ρ‰ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠΉΠΌΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Волько Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ смоТСт ΠΈΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π›ΡŽΠ±Π°Ρ ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΈ слоТной ΠΎΠ½Π° Π½ΠΈ являлась, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ простыми понятиями. Но являСтся Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ слоТныС понятия ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° компиляторов ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°

Π’ послСдниС Π³ΠΎΠ΄Ρ‹ прослСТиваСтся тСндСнция, ΠΊΠΎΠ³Π΄Π° любая крупная компания, связанная с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ тСхнологиями, выпускаСт свой собствСнный язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ продвигаСтся Π² ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ массы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ понятно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² сфСрС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π½Π°ΡƒΠΊΠΈ Π½ΠΈΠΊΡƒΠ΄Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹ ΠΈ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ процСссорС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π•Π³ΠΎ значСния ΠΈ Ρ€ΠΎΠ»ΡŒ. РасскаТСм ΠΎ понятии ассСмблСр процСссора, компилятор ΠΈ Π΄Ρ€. РасскаТСм ΠΎ популярных производитСлях процСссоров Intel ΠΈ AMD.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ процСссор?

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

Π‘ΠΈΠ³Π½Π°Π»ΠΎΠΌ для процСссора являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ (логичСская 1) ΠΈΠ»ΠΈ отсутствиС (логичСский 0) напряТСния Π±ΠΎΠ»Π΅Π΅ 2.5 Π²ΠΎΠ»ΡŒΡ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ Ρ‡Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ частота процСссора, Ρ‚Π΅ΠΌ соотвСтствСнно мСньшС это врСмя. Одна логичСская 1 ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ логичСский 0 ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΡ‚. Набор ΠΈΠ· 8 Π±ΠΈΡ‚, являСтся Π±Π°ΠΉΡ‚ΠΎΠΌ. Π‘Π°ΠΉΡ‚ это ΡƒΠΆΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ 1 ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ символ. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ управляСтся ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΠΎ 16, 32 ΠΈΠ»ΠΈ 64 Π±ΠΈΡ‚Π°, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° процСссора ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

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

Π―Π·Ρ‹ΠΊ программирования Π½Π° машинном ΠΊΠΎΠ΄Π΅ — ассСмблСр

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

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

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

Однако сСйчас ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΎΠΉΡ‚ΠΈ ΠΎΡ‚ использования сСвСрного моста ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, любой процСссор ΠΈΠ· сСрии core i, Π³Π΄Π΅ ΡƒΠΆΠ΅ встроСн диспСтчСр памяти, встроСн видСопроцСссор, ΠΈ ΠΎΠ±ΠΌΠ΅Π½ с ΡŽΠΆΠ½Ρ‹ΠΌ мостом ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ΠΎΠΉ ΠΈΠ΄Π΅Ρ‚ Π½Π° ΠΏΡ€ΡΠΌΡƒΡŽ.

ΠšΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Ρ‹ Intel ΠΈ AMD

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

ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ сильно ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство процСссоров, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° сущСствСнно мСняСтся, ΠΈ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π½Π° сам Ρ€Π΅ΠΌΠΎΠ½Ρ‚ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство влияСт ΠΌΠ°Π»ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ процСссор Π² случаС нСисправности просто мСняСтся.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык)?

К

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

Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ
ΠΊΠΎΠ΄ — СдинствСнный язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ЦП ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ говорят ЦП Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ состоят ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количСства Π±ΠΈΡ‚. Если инструкции для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора состоят ΠΈΠ· 8 Π±ΠΈΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрвая 4-битная Ρ‡Π°ΡΡ‚ΡŒ (ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) сообщаСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π° Π²Ρ‚ΠΎΡ€Ρ‹Π΅ 4 Π±ΠΈΡ‚Π° (ΠΎΠΏΠ΅Ρ€Π°Π½Π΄) говорят ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

01001000 01100101 01101100 01101100 01101111 00100001

Π’ зависимости ΠΎΡ‚ процСссора, Π½Π°Π±ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ инструкции.АрхитСктура ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора опрСдСляСт, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ инструкции. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций контролируСтся встроСнным ПО ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΎΠΉ ЦП.

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

ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² Ρ„Π΅Π²Ρ€Π°Π»Π΅ 2018 Π³.


ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎ машинном ΠΊΠΎΠ΄Π΅ (ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык)

Как языки программирования Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹?

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

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

Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, опСрационная систСма ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, считываСт ΠΈ выполняСт Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ инструкции.

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

Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ процСссоры программирования

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

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

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

Π­Ρ‚ΠΎ — ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° сущСствования языковых процСссоров .

Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ процСссор — это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ систСма транслятора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для прСвращСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ «исходным ΠΊΠΎΠ΄ΠΎΠΌΒ», Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉΒ» ΠΈΠ»ΠΈ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌΒ».

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языкового процСссора Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ описаниС лСксики ΠΈ синтаксиса, Π° Ρ‚Π°ΠΊΠΆΠ΅ сСмантики языка высокого уровня.

Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° языковых процСссоров:

  • Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ
  • ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ‚ΠΈΠΏΠΎΠ² процСссоров ΠΈ обсудим ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, различия ΠΈ Ρ‚. Π”.

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

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

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ мнСмоничСский символ прСдставляСт ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΈ Π½Π°ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся нСсколько ΠΈΠ· Π½ΠΈΡ… вмСстС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅. Π­Ρ‚ΠΈ инструкции ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для пСрСмСщСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ рСгистрами (Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Intel86-64 эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ MOV ), для выполнСния основных арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со значСниями, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (ADD, SUB, MUL, DIV ), Π° Ρ‚Π°ΠΊΠΆΠ΅ основныС логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сдвиг числа Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ ( SHL , SHR , NEG ).Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ бСзусловныС ΠΈ условныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Β«forΒ», Ρ†ΠΈΠΊΠ»Π° while ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if ( JMP , JE , JLE …).

НапримСр, Ссли процСссор ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 10110 ΠΊΠ°ΠΊ Β«ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСгистра Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ рСгистр», язык ассСмблСра Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ MOV .

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ рСгистр Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 000 .Π•Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ «чСловСчСским» ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ EAX , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных рСгистров Π² x86.

Если Π±Ρ‹ ΠΌΡ‹, скаТСм, Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистр, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выглядСл Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  00001 000 00001010
  
  • 00001 : Команда пСрСмСщСния
  • 000 : Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ рСгистра
  • 00001010 : Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ

На ассСмблСрС это ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  MOV EAX, А
  
  • MOV — это ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСмСщСния
  • EAX — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ рСгистра
  • — это ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ (10 Π² дСсятичном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅)

Если Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ EAX = 7 + 4-2 Π² машинном ΠΊΠΎΠ΄Π΅, ΠΎΠ½ΠΎ выглядСло Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  00001 000 00000111
00001 001 00000100
00010 000 001
00001 001 00000010
00011 000 001
  
  • 00001 — это ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΒ»
  • 00010 — это ΠΊΠΎΠΌΠ°Π½Π΄Π° «слоТСниС»
  • 00011 — это ΠΊΠΎΠΌΠ°Π½Π΄Π° «вычитания»
  • 000, 001 — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ рСгистров
  • 00000111, 00000100, 00000010 — это Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² этих выраТСниях.

Π’ сборкС этот Π½Π°Π±ΠΎΡ€ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… чисСл Π±ΡƒΠ΄Π΅Ρ‚ записан ΠΊΠ°ΠΊ:

  MOV EAX, 7
MOV R8, 4
Π”ΠžΠ‘ΠΠ’Π˜Π’Π¬ EAX, R8
MOV R9, 2
SUB EAX, R9
  
  • MOV — это ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСмСщСния
  • ADD — это ΠΊΠΎΠΌΠ°Π½Π΄Π° слоТСния
  • SUB — это ΠΊΠΎΠΌΠ°Π½Π΄Π° вычитания
  • EAX , R8 , R9 — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ рСгистров
  • 7, 4, 2 : Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² этих выраТСниях

Π₯отя ΠΎΠ½ всС Π΅Ρ‰Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ, ΠΊΠ°ΠΊ язык высокого уровня, ΠΎΠ½ всС ΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ, Ρ‡Π΅ΠΌ двоичная ΠΊΠΎΠΌΠ°Π½Π΄Π°.АппаратныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ процСссора ΠΈ рСгистров Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ абстрактны.

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

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ исходный ΠΊΠΎΠ΄ ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½Π΅Ρ‚ нСобходимости ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ — это ассСмблировано ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ.

Устный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ

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

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

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ с 1952 Π³ΠΎΠ΄Π°, ΠΈ ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠΈ программирования Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² Ρ‚ΠΎ врСмя (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния Π±Ρ‹Π»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС мСста для хранСния, Ρ‡Π΅ΠΌ сСйчас). ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком высокого уровня Π±Ρ‹Π» Lisp , Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² 1958 Π³ΠΎΠ΄Ρƒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ IBM704.

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с нашим практичСским практичСским руководством ΠΏΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Git, содСрТащим Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, принятыС Π² отрасли стандарты ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΡƒΡŽ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΡƒ. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git ΠΈ Π½Π° самом Π΄Π΅Π»Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ!

НаиболСС распространСнными ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками программирования Π² настоящСС врСмя ΡΠ²Π»ΡΡŽΡ‚ΡΡ Python , Perl ΠΈ Ruby .

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΠΈ компилятор

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

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

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком программирования высокого уровня Π±Ρ‹Π» FORTRAN , созданный Π² 1957 Π³ΠΎΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΏΠΎΠ΄ руководством Π”ΠΆΠΎΠ½Π° Бэкуса ΠΈΠ· IBM.

Π’ настоящСС врСмя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнными ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками ΡΠ²Π»ΡΡŽΡ‚ΡΡ C ++ , Rust ΠΈ Haskell .

Π―Π·Ρ‹ΠΊΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°

языков Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Β« пСрСносимый ΠΊΠΎΠ΄ Β» ΠΈΠ»ΠΈ Β« p-ΠΊΠΎΠ΄ Β», ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ языков программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅. ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

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

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

Бамая извСстная Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° — это Java Virtual Machine (JVM), которая Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ распространСна, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках Π΅ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, созданныС для Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠšΡ€Π΅Π΄ΠΈΡ‚: ViralPatel

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

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° Π²Π΅Ρ‰ΡŒ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, — это компиляция Ρ‚ΠΎΡ‡Π½ΠΎ Π² срок (JIT). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции (AOT), ΠΊΠΎΠ΄ компилируСтся ΠΊΠ°ΠΊ , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ . Π­Ρ‚ΠΎ сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компиляции ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ прСимущСства компиляции с Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, динамичСская компиляция Π½Π΅ всСгда Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ / быстрСС, Ρ‡Π΅ΠΌ статичСская компиляция — это Π² основном зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π°Π΄ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.

Ѐлагманскими языками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Java ΠΈ C # , Π° вмСстС с Π½ΠΈΠΌΠΈ — Ρ‚Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ Clojure , Groovy , Kotlin ΠΈ Scala .

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки: скомпилированный ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

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

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

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

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

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

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ для компиляции массивных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ дСсятки ΠΌΠΈΠ½ΡƒΡ‚, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΠΆΠ΅ часа .

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

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ для компиляции массивных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ дСсятки ΠΌΠΈΠ½ΡƒΡ‚, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΠΆΠ΅ часа . К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IDE ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ мноТСство ошибок, Π½ΠΎ Π½Π΅ всС.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠΈ ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

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

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

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

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ достаточно просто ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π½Π΅ исходный ΠΊΠΎΠ΄, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ .exe Π² Windows.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ восприимчив ΠΊ Π°Ρ‚Π°ΠΊΠ°ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ внСдрСния ΠΊΠΎΠ΄Π°, ΠΈ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ, Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ нас с ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ошибок программирования.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

НС сущСствуСт Β«Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎΒ» способа трансляции исходного ΠΊΠΎΠ΄Π°, ΠΈ ΠΊΠ°ΠΊ скомпилированныС, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования ΠΈΠΌΠ΅ΡŽΡ‚ свои прСимущСства ΠΈ нСдостатки, ΠΊΠ°ΠΊ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅.

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

языка ассСмблСра. АссСмблСр низкоуровнСвый… | by Website Developer

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

https: // thebittheories.com / levels-of-programming-languages-b6a38a68c0f2

Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня — это языки, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для программистов. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ простой синтаксис. НаиболСС распространСны Python, C ++, C #, Java ΠΈ JavaScript. Π―Π·Ρ‹ΠΊ высокого уровня Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΡ€ΠΎΡˆΠ΅Π» Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ / компилятор. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ язык ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ / компилятор, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠ»ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. Π—Π½Π°Ρ‡ΠΈΡ‚, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пСрСвСсти.

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

НаконСц, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π―Π·Ρ‹ΠΊ состоит ΠΈΠ· Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†, ΠΈ люди Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΅Π³ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ. ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π½Π° этом ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ слова — это числа.ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, слишком слоТно Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ чисСл, Π° Π½Π΅ Ρ‚Π°ΠΊΠΈΠ΅ слова, ΠΊΠ°ΠΊ Β«intΒ» для Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΈΠ»ΠΈ Β«varΒ» для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ послСднСм Ρ€Π°Π·Π΄Π΅Π»Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ ΠΎΠ± ассСмблСрС ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ассСмблСры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° языка Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π₯отя сущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ассСмблСров:

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

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

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

ОбъяснСниС

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ язык ассСмблСра, Π»ΡƒΡ‡ΡˆΠ΅ всСго Π·Π½Π°Ρ‚ΡŒ структуру ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ содСрТит Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор (ЦП) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠžΠ—Π£).Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ЦП распСчатываСт адрСс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ мСсто Π² памяти.

RAM — это кратковрСмСнная ΠΏΠ°ΠΌΡΡ‚ΡŒ вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ½ΠΈΠ³Ρƒ. RAM — ящик рядом с Π²Π°ΠΌΠΈ. Π’Π°ΠΌ понадобится 10 сСкунд, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ эту ΠΊΠ½ΠΈΠ³Ρƒ Π² этом ящикС. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ быстро, ΠΏΡ€Π°Π²Π΄Π°? А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ±Π΅Ρ€Π΅ΠΌ это. Π’Π°Ρˆ ТСсткий диск — это ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΉ ΡˆΠΊΠ°Ρ„. Если Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ½ΠΈΠ³Ρƒ Π² этом ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, Π²Π°ΠΌ потрСбуСтся 11 Π΄Π½Π΅ΠΉ.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, насколько Π²Π°ΠΆΠ½Π° опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ. ЦП ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ довольно эффСктивно, Π½ΠΎ Π±Π΅Π· ΠžΠ—Π£ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±Ρ‹Π» Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ваш ТСсткий диск Π½Π΅ успСвал.

ЦП управляСт Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… частСй. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, ΠΎ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½Π° этом Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ΅, — это рСгистры. ЦП ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ рСгистрами, ΠΈ ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² этом процСссорС, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ всСго 4 рСгистра: RA, RB, RC ΠΈ RD. Π’ рСгистрах хранятся числовыС значСния, адрСса памяти ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π—Π°Ρ‚Π΅ΠΌ Ρƒ нас Π΅ΡΡ‚ΡŒ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСский Π±Π»ΠΎΠΊ (ALU). ALU — это основная Π·Π°Π΄Π°Ρ‡Π° ЦП, которая ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, логичСскиС вычислСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ И ΠΈΠ»ΠΈ Π˜Π›Π˜.

Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ рСгистр Ρ„Π»Π°Π³Π° состояния. РСгистр Ρ„Π»Π°Π³Π° состояния — это Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сообщаСт Π½Π°ΠΌ состояниС ЦП ΠΈ АЛУ.

Π‘ΠΏΡ€Π°Π²Π° находится счСтчик ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. НазначСниС счСтчика — Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ адрСс Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. По ΠΌΠ΅Ρ€Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ счСтчик увСличиваСтся.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π²Ρ…ΠΎΠ΄ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄. Π‘Π»ΠΎΠΊ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ЦП ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ.

Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основы ЦП, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² зависимости ΠΎΡ‚ назначСния процСссора. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ большС рСгистров ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТный ALU.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ этот Π±Π»ΠΎΠΊ инструкций, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ· своСго Π²Π²ΠΎΠ΄Π°. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом Ρ‚Π°ΠΊ: ΠΊΠΎΡ€ΠΎΠ²Π° Сст Ρ‚Ρ€Π°Π²Ρƒ (Π²Ρ…ΠΎΠ΄), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π²Π°Ρ€ΠΈΠ²Π°Π΅Ρ‚ Π΅Π΅ (функция), создавая Π½Π°Π²ΠΎΠ· (Π²Ρ‹Ρ…ΠΎΠ΄).На языкС ассСмблСра функция называСтся OPCODE, Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 2 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ OPERAND.

ΠžΠŸΠ•Π ΠΠΠ”Π« ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ зарСгистрированы ΠΈΠ· изобраТСния CPU, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ RA ΠΈ RB, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ячСйками памяти ΠΈΠ»ΠΈ числовыми значСниями.

Π—Π΄Π΅ΡΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ 4 Π½Π°Π±ΠΎΡ€Π° инструкций для ЦП. ΠŸΠ΅Ρ€Π²Π°Ρ — это ΠΊΠΎΠΌΠ°Π½Π΄Π° MOVE, содСрТащая 2 OPRAND, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… мСстом назначСния ΠΈ источником. ЦСль ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ MOVE — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· источника Π² мСсто назначСния. Вторая ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ инструкции — это OPCODE ADD / SUB.ΠŸΠ΅Ρ€Π²Π°Ρ ΠžΠŸΠ•Π ΠΠΠ”Π — это рСгистр, Π° вторая ΠžΠŸΠ•Π ΠΠΠ”Π — это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ / рСгистр. ЧСтвСртая инструкция — это JUMP, Π° пСрвая OPERAND — это условиС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся JUMP. Вторая ΠžΠŸΠ•Π ΠΠΠ”Π — это мСсто, ΠΊΡƒΠ΄Π° отправится ΠŸΡ€Ρ‹ΠΆΠΎΠΊ.

Π’ настоящСС врСмя процСссор ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ MOVE, ADD / SUB ΠΈ JUMP.

А Ρ‡Ρ‚ΠΎ, Ссли ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ​​задачу, ΠΊΠ°ΠΊ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3Ρ…10? Π§Ρ‚ΠΎ ΠΆ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наш процСссор ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ 10+ 10 + 10 = 30.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, написанного Π½Π° языкС ассСмблСра.Π•ΡΡ‚ΡŒ OPCODE MOVE ΠΈ Π΄Π²Π΅ OPRANDS справа, RA ΠΈΠ»ΠΈ рСгистр A, Π° вторая OPERAND являСтся источником. [3] ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ адрСс памяти 3. Π˜Ρ‚Π°ΠΊ, строка 10 Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти с адрСсом 3 Π² рСгистр A. Π’ строкС 12 сСкунд OPERAND находится ноль Π±Π΅Π· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ постоянноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 Π² рСгистр C.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠžΠ—Π£ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ числа для умноТСния 10×3.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вСрнСмся ΠΊ ассСмблСрному ΠΊΠΎΠ΄Ρƒ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° 10 Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· адрСса памяти 3 Π² рСгистр A, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ RA = 10. Если Π²Ρ‹ посмотритС Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠžΠ—Π£ со значСниями 10 ΠΈ 3, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ адрСс 3 ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ 10, Π° адрСс 4 ΠΈΠΌΠ΅Π΅Ρ‚ 3. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ — Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π² ΠžΠ—Π£ ΠΈ просмотр адрСса 4, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ RB = 3. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ OPRAND Π½Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, процСссору Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, поэтому RC = 0.

ADD OPCODE Π±Π΅Ρ€Π΅Ρ‚ RA ΠΈ добавляСт Π΅Π³ΠΎ ΠΊΠΎ всСму, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² RC. Расклад: RC = RC + RA = 0 + 10 = 3.SUB Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ RB со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 1 ΠΈ Π½Π΅ смотрит Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π˜Ρ‚Π°ΠΊ, RB = RB -1 = 2.

Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄ΠΎ строк 10–14.

ВозвращаСмся Π½Π°Π·Π°Π΄:

Π‘Ρ‚Ρ€ΠΎΠΊΠ° 15 — ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Ρ‹ΠΆΠΊΠΎΠ². ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Ρ‚ΡƒΠ΄Π° добСрСмся, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΎΠ± ALU ΠΈΠ»ΠΈ Arithmetic Logic Unit.

ALU ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ 2 значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ рСгистрами ΠΈΠ»ΠΈ постоянными значСниями, ΠΈ выполняСт ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТСниСм ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ, ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ALU Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ вычислСния, ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ALU, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статус, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, прСдоставлСнный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if-else.

Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΊ инструкции JUMP, ΠΈ ΠΎΠ½Π° ΠΈΡ‰Π΅Ρ‚ условиС NZ ΠΈΠ»ΠΈ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅. ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ вычислСнии, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±Ρ‹Π» 2. Π˜Ρ‚Π°ΠΊ, условиС истинно, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊ строкС 13.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π΅Ρ€Π½ΡƒΠ»Π°ΡΡŒ ΠΊ 13 ΠΈ снова выполняСт ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. RC = RC + RA = 10 + 10 = 20.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ процСссом являСтся SUB RB, поэтому 2–1 = 1.

УсловиС остаСтся Π²Π΅Ρ€Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ являСтся Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° возвращаСтся Π² Ρ†ΠΈΠΊΠ».

RC = 20 + 10 = 30

RB = 1–1 = 0

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ инструкция JUMP Π½Π΅ выполняСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ послСдний Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ. Π˜Ρ‚Π°ΠΊ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ этапу.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ всС, Ρ‡Ρ‚ΠΎ находится Π² рСгистрС C, ΠΏΠΎ адрСсу памяти 5.

Π—Π½Π°Π½ΠΈΠ΅ вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ…. Π’ кибСрбСзопасности, Ссли Ρ…Π°ΠΊΠ΅Ρ€ Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π° самом Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π±ΡƒΠ΄Π΅Ρ‚ нанСсСн большой ΡƒΡ‰Π΅Ρ€Π±.НапримСр. Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ врСдоносноС ПО Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

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

Π”Π°Π»Π΅Π΅, Π²ΠΎ встраиваСмой систСмС ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Π²Π°ΠΆΠ½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, соврСмСнныС компиляторы Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°. Однако Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ чудСса сотворил компилятор.Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ слоТных Π·Π°Π΄Π°Ρ‡.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ трСбуСтся мСньшС памяти, ΠΎΠ½ эффСктивСн с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния памяти.

Π§Π΅ΠΌ мСньшС врСмя выполнСния, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ.

Он Π² основном ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эффСкт, Π½ΡƒΠΆΠ½ΠΎ мСньшС Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚.

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ячССк памяти Π½Π΅ трСбуСтся.

Π­Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ устройство Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

НаписаниС ΠΊΠΎΠ΄Π° для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

Π’Ρ€ΡƒΠ΄Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ синтаксис.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ устройств.

Для Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° языкС ассСмблСра, трСбуСтся больший Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ больший объСм памяти для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ процСссоры: АссСмблСр, компилятор ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ процСссоры —

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

Π’Π½ΠΈΠΌΠ°Π½ΠΈΡŽ читатСля! ВсС, ΠΊΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ для Π΄Π΅Ρ‚Π΅ΠΉ, просто Π΅Ρ‰Π΅ Π½Π΅ встрСтили подходящих наставников. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ дСмонстрационному классу для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ шага ΠΊ курсу кодирования, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² 8-12 классов.

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚Ρ‹ смогут большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ ΠΌΠΈΡ€Π΅ программирования Π² этих бСсплатных классах , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π―Π·Ρ‹ΠΊ ассСмблСра являСтся машинно-зависимым, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для прСдставлСния Π² Π½Π΅ΠΌ инструкций, Π½Π΅ понимаСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ машиной, Π° язык высокого уровня Π½Π΅ зависит ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ инструкции Π² машинном ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†. НаписаниС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСпосрСдствСнно Π² машинном ΠΊΠΎΠ΄Π΅ — ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π² основном Π½Π° языках высокого уровня, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Java, C ++, Python ΠΈ Ρ‚. Π”., И Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎΡ‚ исходный ΠΊΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ нСпосрСдствСнно ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык для выполнСния.Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС высокого уровня Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС систСмы трансляции, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся языковым процСссором, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° послС прСобразования Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° / ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄).

Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ процСссоры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€:
Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· считываСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° языкС высокого уровня, ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π΅ Π² ЭквивалСнтная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° машинном языкС называСтся компилятором.ΠŸΡ€ΠΈΠΌΠ΅Ρ€: C, C ++, C #, Java.

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

2. АссСмблСр:
АссСмблСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС ассСмблСра, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° — это Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ассСмблСра, содСрТащиС инструкции Π½Π° языкС ассСмблСра. На Π²Ρ‹Ρ…ΠΎΠ΄Π΅, сгСнСрированном ассСмблСром, являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, понятный ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. АссСмблСр — это, ΠΏΠΎ сути, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ людьми с машиной. Нам Π½ΡƒΠΆΠ΅Π½ АссСмблСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ машиной, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠΊΠΎΠ΄, написанный Π½Π° языкС ассСмблСра, прСдставляСт собой своСго Ρ€ΠΎΠ΄Π° ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΡƒ (инструкции), Ρ‚Π°ΠΊΡƒΡŽ ​​как ADD, MUL, MUX, SUB, DIV, MOV ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.Π° ассСмблСр Π² основном ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ эти ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π—Π΄Π΅ΡΡŒ эти ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ зависят ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

НапримСр, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Intel 8085 ΠΈ Intel 8086 отличаСтся.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Perl, Python ΠΈ Matlab.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ —

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ вСсь исходный ΠΊΠΎΠ΄ машинного языка для исполняСмого языка программирования Π² исполняСмый ΠŸΠ ΠžΠ¦Π•Π‘Π‘ΠžΠ . Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π΅Ρ€Π΅Ρ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ запускаСт Π΅Π΅ построчно, пСрСводя ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ поступлСния
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρƒ трСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Π°Π½Π°Π»ΠΈΠ·Π° всСго исходного ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ трСбуСтся мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Π°Π½Π°Π»ΠΈΠ·Π° исходного ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ мСньшС.
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сообщСниС ΠΎΠ± ошибкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС сканирования всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, поэтому ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТна, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ошибка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² любом мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π•Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΡ‰Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ошибка.
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρƒ трСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ памяти для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ². Он Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС памяти, Ρ‡Π΅ΠΌ компилятор, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ создаСтся.
Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ создаСтся.
Для Ρ†Π΅Π»Π΅ΠΉ бСзопасности Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ компилятор. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ уязвим с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: C, C ++, Java ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: Python, Perl, JavaScript, Ruby

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ языковой процСссор ΠΈ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΡ‹? — Π¦Π²Π΅Ρ‚Π°-NewYork.com

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ языковой процСссор ΠΈ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΡ‹?

Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ процСссор — это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ систСма транслятора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для прСвращСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ «исходным ΠΊΠΎΠ΄ΠΎΠΌΒ», Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉΒ» ΠΈΠ»ΠΈ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌΒ». Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° языковых процСссоров: АссСмблСр.Устный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚ языкового процСссора?

Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ процСссор — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, разработанная ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для выполнСния Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ процСссоры ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ‚Π°ΠΊΠΈΡ… языках, ΠΊΠ°ΠΊ Fortran ΠΈ COBOL.

Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΠΈ языковой процСссор ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹?

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

Π§Ρ‚ΠΎ ΠΈΠ· пСрСчислСнного являСтся языковым процСссором?

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

КакиС Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° языковых процСссоров?

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, пСрСводят ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° языках высокого уровня, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€¦.Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ процСссоры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€:
  • АссСмблСр:
  • ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ:

Какой Π½Π΅ языковой процСссор?

ΠžΡ‚Π²Π΅Ρ‚. ОбъяснСниС: Compressor Π½Π΅ являСтся языковым процСссором.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ чистый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€?

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

Какой язык являСтся машинно-нСзависимым?

ΠžΡ‚Π²Π΅Ρ‚: Машинно-нСзависимый язык — это язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любой машинС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ этого ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Java. Благодаря Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Java ΠΈΠ»ΠΈ JVM ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·ΡΡ‚ΡŒ скомпилированный ΠΊΠΎΠ΄ для любого Π΄Π°Π½Π½ΠΎΠ³ΠΎ Java-прилоТСния ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° машинС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языком высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня?

Он Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ язык машинного уровня. Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π° машинС.Он считаСтся машинно-друТСствСнным языком…. НизкоуровнСвый язык.

Π―Π·Ρ‹ΠΊ высокого уровня Π―Π·Ρ‹ΠΊ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня
Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ.
Π›Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ. Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ.

ЯвляСтся Π»ΠΈ Python языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня?

Python — ΠΏΡ€ΠΈΠΌΠ΅Ρ€ языка высокого уровня; Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки высокого уровня, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ, — это C ++, PHP ΠΈ Java.Как ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠ· названия «язык высокого уровня», ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ языки Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ языками ΠΈΠ»ΠΈ языками ассСмблСра.

ЯвляСтся Π»ΠΈ C ++ языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня C ΠΈ C ++ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ языками Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π½ΠΈΡ… Π½Π΅Ρ‚ автоматичСского управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ЕдинствСнноС настоящСС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ — это ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ассСмблСр (asm).

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык?

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, состоящий ΠΈΠ· инструкций машинного языка, прСдставляСт собой язык программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для нСпосрСдствСнного управлСния Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором (ЦП) ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

ΠšΠ°ΠΊΠΎΠ²Ρ‹ особСнности ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… языков?

ο‚ž ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык — это, ΠΏΠΎ сути, СдинствСнный язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ записываСтся Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ο‚ž ЀактичСски, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ конструируСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ подчинялся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ языку, Π΅Π³ΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставлСн Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° строкой Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ (Π±ΠΈΡ‚ΠΎΠ²) 0 ΠΈ 1.

Π‘Π»ΠΎΠΆΠ΅Π½ Π»ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык?

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

Какой самый простой язык программирования?

ΠŸΡΡ‚ΡŒ самых простых языков программирования: JavaScript. Π ΡƒΠ±ΠΈΠ½. Python… .17 самых простых языков программирования для изучСния

  • JavaScript.
  • Python.
  • Π ΡƒΠ±ΠΈΠ½.
  • Java.
  • PHP.
  • C / C ++
  • C #
  • Π .

Какой язык программирования слоТнСС всСго Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ?

2. МальболгС. Malbolge — Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ эзотСричСский язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² 1998 Π³ΠΎΠ΄Ρƒ Π‘Π΅Π½ΠΎΠΌ ΠžΠ»ΠΌΡΡ‚Π΅Π΄ΠΎΠΌ. Π—Π°Π±Π°Π²Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: Π½Π° созданиС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Malbolge ΡƒΡˆΠ»ΠΎ Π΄Π²Π° Π³ΠΎΠ΄Π°, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ программисты ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ этот язык самым слоТным языком программирования.

Какой язык Python?

Python — это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования высокого уровня с динамичСской сСмантикой.ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ, Π»Π΅Π³ΠΊΠΈΠΉ Π² освоСнии синтаксис Python Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠΏΠΎΡ€ Π½Π° ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, сниТаСт ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ обслуТивания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ способствуСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π°.

ΠšΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python?

Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠ΅ΠΉ, Google (Π³Π΄Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π’Π°Π½ Россум), Yahoo !, ЦЕРН, НАБА ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ организациями. Π•Π³ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ «язык сцСнариСв» для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ сСрии Π·Π°Π΄Π°Ρ‡, дСлая ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ эффСктивными.

Π―Π·Ρ‹ΠΊ высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

1/3
ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Π½Π° этот вопрос достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ я Π΄Π°ΠΌ лишь ΠΎΠ±Ρ‰Π΅Π΅ Ρ€Π΅Π·ΡŽΠΌΠ΅. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° языков.
-Π―Π·Ρ‹ΠΊ высокого уровня
-Π―Π·Ρ‹ΠΊ ассСмблСра
-ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, языки высокого уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C ++, Java, Python ΠΈ Ρ‚. Π”., Π―Π²Π»ΡΡŽΡ‚ΡΡ языками, Π³Π΄Π΅ Π²Π°ΠΌ НЕ Π½ΡƒΠΆΠ½Π° информация ΠΎΠ± ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ для ΠΈΡ… написания, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ IDE ΠΈ компилятор, для ΠΏΡ€ΠΈΠΌΠ΅Ρ€.Π― ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρƒ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π³Π΄Π΅ язык ассСмблСра становится Π½Π° свои мСста. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ элСмСнтарным ΠΈΠ· Ρ‚Ρ€Π΅Ρ…, ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ знания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, ΠΈ это самый простой ΠΊΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈ Π½ΡƒΠ»ΠΈ.
НаконСц, ассСмблСр — это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ. НапримСр, ΠΎΠ½ спСцифичСн для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ процСссора, ΠΈ ΠΎΠ΄ΠΈΠ½ язык Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. НапримСр, Ρƒ Motorola Π΅ΡΡ‚ΡŒ свои собствСнныС языки ассСмблСра, Ρƒ IBM ΠΈ Ρ‚. Π”. ЀактичСски, каТдая вСрсия процСссора для ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свой собствСнный язык.АссСмблСр ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС памяти, Ρ‡Π΅ΠΌ языки высокого уровня. ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, порядка 1000 Ρ€Π°Π·! Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ большС контроля.

.

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

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