Π Π°Π·Π½ΠΎΠ΅

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

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

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

Π―Π—Π«Πš ΠΠ˜Π—ΠšΠžΠ“Πž Π£Π ΠžΠ’ΠΠ―
(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… … Β  Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ бизнСс-Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ²

Π―Π·Ρ‹ΠΊΠΈ программирования. ΠžΠ±Π·ΠΎΡ€, возмоТности, достоинства, нСдостатки (стр. 1 ΠΈΠ· 3)

ОглавлСниС

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

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

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

4. Π―Π·Ρ‹ΠΊΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.6

4.1 АссСмблСр.6

5. ΠžΠ±Π·ΠΎΡ€ языков программирования высокого уровня.7

5.1 Π€ΠΎΡ€Ρ‚Ρ€Π°Π½.7

5.2 Кобол.7

5.3 Алгол.8

5.4 Паскаль.8

5.5 БСйсик.9

5.6 Π‘ΠΈ.9

5.7 Π‘ΠΈ++.10

6. Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹:12

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ язык программирования»?

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

По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ дСйствия Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Π΄Π²Π° Π²ΠΈΠ΄Π° трансляторов: компиляторы ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹. БоотвСтствСнно с этим ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° класса языков программирования: ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅.

Врансляция – это ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄. Если ΠΌΡ‹ посмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ с иностранных языков, Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ сущСствуСт Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: синхронный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ тСкстов.

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

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

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ синхронныС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ. Они Π±Π΅Ρ€ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ Π΅Π³ΠΎ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ) ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ. Если ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ всякий Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚ добросовСстно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ встрСтил Π΅Π³ΠΎ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅.

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

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

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

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

БущСствуСт Π΄Π²Π° уровня языков программирования: языки Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΈ языки высокого уровня.

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

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

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

Достоинством языков Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ самыС эффСктивныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΈ быстрыС). НСдостаток Ρ‚Π°ΠΊΠΈΡ… языков Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° нСобходимости ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ устройство процСссора ΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, созданная Π½Π° Ρ‚Π°ΠΊΠΎΠΌ язык, Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° для процСссоров Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

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

Π―Π·Ρ‹ΠΊΠΈ высокого уровня Π² большСй стСпСни ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°; ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ этих языков – понятныС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ английскиС слова. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ языка, Ρ‚Π΅ΠΌ большС приходится ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

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

Достоинства языков программирования высокого уровня:

Β· Π°Π»Ρ„Π°Π²ΠΈΡ‚ языка Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΡ€Π΅ машинного, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ сущСствСнно ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ тСкста;

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ язык ассСмблСра?

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ язык ассСмблСра?

Ну, Π½Π° самом Π΄Π΅Π»Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ язык , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся Β«ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык» ΠΈΠ»ΠΈ Β«ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Β». Π­Ρ‚ΠΎ выглядит Ρ‚Π°ΠΊ:

0010000100100011

Π­Ρ‚ΠΎ СдинствСнный язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π­Ρ‚ΠΎ язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ процСссор (ΠΈ тСхничСски Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ процСссоров говорят Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях). Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ отстой ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Он Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° нСсколько Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²:

0010|0001|0010|0011

operation type  source register  other source  destination register
0010            0001             0010          0011

Π­Ρ‚ΠΈ значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚:

operation type 0010 = addition
source register 0001 = register 1
other source 0010 = register 2
destination register 0011 = register 3

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, эта опСрация Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ числа Π² рСгистры 1 ΠΈ 2 ΠΈ помСстит это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистр 3. Если Π²Ρ‹ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ помСститС эти значСния Π² ЦП ΠΈ скаТСтС Β«goΒ», ΠΎΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π²Π°ΠΌ Π΄Π²Π° числа. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Β«Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΒ» ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ 0011 ΠΈΠ»ΠΈ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ, вмСсто 0010 здСсь. КакоС Π±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ заставляло процСссор Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ (Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ это, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я создал эту ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ машинного ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π²Π΅Ρ‰ΠΈ):

instruction 1: 0010000100100011
instruction 2: 0011000110100100
instruction 3: 0101001100010111
instruction 4: 0010001001100000

Π­Ρ‚ΠΎ отстой, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ? ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ. Но Π½Π°ΠΌ это Π½ΡƒΠΆΠ½ΠΎ для процСссора . Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ просто создадим ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Β«Π°Π½Π³Π»ΠΈΠΉΡΠΊΡƒΡŽΒ» ΡΡ‚Π΅Π½ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΏΠΎΠΉΠΌΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π΅Π΅ Π² настоящий Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ для запуска ЦПУ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, наша ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ инструкция свСрху ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

(meaning)      operation type  source register  other source  destination register
(machine code) 0010            0001             0010          0011
("English")    add             r1               r2            r3

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ эта английская вСрсия ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ сопоставлСниС с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ . ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ пишСм строку этого «английского», ΠΌΡ‹ Π½Π° самом Π΄Π΅Π»Π΅ просто пишСм Π±ΠΎΠ»Π΅Π΅ друТСствСнный ΠΈ Π±ΠΎΠ»Π΅Π΅ понятный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Ну, это язык ассСмблСра. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ сущСствуСт, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π±Ρ‹Π» ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создан.

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

z = x + y

Π­Ρ‚ΠΎ Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ нашС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ свСрху, прСдполагая, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ xнаходится Π² рСгистрС 1, yΠ² рСгистрС 2 ΠΈ zΠ΄ΠΎΠ»ΠΆΠ½ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² рСгистрС 3. Но ΠΊΠ°ΠΊ насчСт этой строки?

z = x * 2 + (y / 6) * p + q - r

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эту строку Π² 16-Π±ΠΈΡ‚Π½ΠΎΠΌ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ процСссору «ΠΈΠ΄Ρ‚ΠΈ». Π’Ρ‹ Π½Π΅ моТСшь Π’ машинном ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ инструкции ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ слоТСния, вычитания ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ с 4 ΠΈΠ»ΠΈ 5 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ сначала Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ машинного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Β«ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅Β» ΠΈΠ»ΠΈ Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅Β» язык высокого уровня.

Ну, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для этого, Ρ‚Π°ΠΊ Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° сборка сСйчас? Π₯ΠΎΡ€ΠΎΡˆΠΎ, скаТСм, ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ. Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Β«Π²Ρ‹Π²ΠΎΠ΄Β» этой строки Π½Π° машинном языкС, это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

1010010010001001
0010001000010000
0110010000100100
0010001011000010
0010100001000001
0100010100000001
0010010101000100
0010101010100000
0000100111000010

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

(Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠΎ совСту @ Raphael: Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ процСссоры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π²Π΅Ρ‰Π°ΠΌΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΎΠΈΡ‡Π½Ρ‹Π΅ (основаниС 3) ΠΈΠ»ΠΈ дСсятичныС ΠΊΠΎΠ΄Ρ‹, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ASCII. Однако для практичСских Ρ†Π΅Π»Π΅ΠΉ ΠΌΡ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.)

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

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

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

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

31

4.1. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ процСссора

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

Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

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

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

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

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

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

Π―Π·Ρ‹ΠΊΠΈ программирования β€” искусствСнныС языки. ΠžΡ‚ СстСствСнных ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ числом «слов», Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… понятно транслятору, ΠΈ ΠΎΡ‡Π΅Π½ΡŒ строгими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ записи ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²).

32

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

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

33

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

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

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹).

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

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

ΠΈΠ·Π°Ρ‚Π΅ΠΌ автоматичСски пСрСводят (Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚) Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык β€” Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

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

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

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Β«Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΒ» Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚ Β«ΠΏΠ»ΠΎΡ…ΠΎΠΉΒ». Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора.

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

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

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ (ПП 2 ΠšΡƒΡ€Ρ)

ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ вопросам
ΠΏΠΎ дисциплинС: β€œΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ программированиС”
Π½Π° Ρ‚Π΅ΠΌΡƒ: β€œΠ˜ΡΡ‚ΠΎΡ€ΠΈΡ языков программирования”

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» студСнт: Власов Π”Π°Π½ΠΈΠ»Π°
ΠšΡƒΡ€Ρ: 2
Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ПвКБ2-9

2020

Вопросы:

1. Π§Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ языки программирования ΠΎΡ‚ старых?
2. МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ язык программирования Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… тСхнологиях программирования?
3. Π§Π΅ΠΌ обусловлСно появлСниС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков программирования?

ΠžΡ‚Π²Π΅Ρ‚Ρ‹:

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° 1 вопрос:
Π‘Π΅Ρ€Π΅Π΄ΠΈΠ½Π° 50-Ρ… Π³Π³. характСризуСтся ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ прогрСссом Π² области программирования. Роль программирования Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ… стала ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ, стали ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ языки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ Π² Ρ€ΠΎΠ»ΠΈ посрСдника ΠΌΠ΅ΠΆΠ΄Ρƒ машинами ΠΈ программистами. Наступило врСмя Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ языков программирования.

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

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

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

Достоинства языков программирования высокого уровня:

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

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° 2 вопрос:
МоТно привСсти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ языка, ΠΊΠ°ΠΊ C++. Π•Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² Ρ€Π°Π·Π½Ρ‹Ρ… сфСрах программирования: созданиС сайтов, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Ρ‚.Π΄.
Π’Π°ΠΊΠΆΠ΅ ΠΈ язык программирования python, java ΠΈ ΠΏΡ€.

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° 3 вопрос:
ЀизичСскиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ элСктронных устройств Π­Π’Πœ Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, состоящиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉΒ β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π° напряТСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. На Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ стадии развития Π­Π’Πœ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС, понятном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ…. КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° состояла ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ адрСсов ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ², Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сочСтаний Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ. Π˜Ρ‚Π°ΠΊ, любая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для процСссора выглядСла Π½Π° Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ.

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

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

Assembler: Abstract. Hi everyone! БСгодня ΠΌΡ‹ продолТим… | by ITRoot Corp

Hi everyone! БСгодня ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ АБМ дальшС, ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ свои знания всё Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎ ΠΆ, приступим β€” сСгодняшний наш Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ мСсто ассСмблСра Π² этом ΠΌΠΈΡ€Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‘Ρ‚ΠΊΠΎ!

Π£Ρ€ΠΎΠ²Π½ΠΈ абстракции

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

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ сСйчас ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ прСобразуСтся язык высокого уровня Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

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

Π’ΠΎΡ‚ ΡˆΠ΅ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции, начиная с самого-самого низшСго. БСйчас Π²Ρ‹ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅ ΠΎ Ρ‡Ρ‘ΠΌ шла Ρ€Π΅Ρ‡ΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅ поста.

АппаратноС обСспСчСниС β€” Π­Ρ‚ΠΎ СдинствСнный физичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. Он состоит ΠΈΠ· элСктричСских Ρ†Π΅ΠΏΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ слоТныС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ: И, Π˜Π›Π˜, НЕ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜. Π’Π²ΠΈΠ΄Ρƒ своСй физичСской ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС Π½Π΅ поддаСтся Π»Π΅Π³ΠΊΠΎΠΌΡƒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ β€” Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚ΠΎΠΉ микросхСмС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅Π³ΠΎ писали. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ содСрТит микроинструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· машинного ΠΊΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ высокого уровня ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

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

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

Little note))

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

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

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

МСньшС слов,большС дСла!

АссСмблСр β€” это Ρ†Π΅Π»Ρ‹ΠΉ ΠΏΠΎΠ΄Π²ΠΈΠ΄ языков. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ примСняСтся для программирования строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСмСйства микропроцСссоров, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ x86, ARM ΠΈ Ρ‚Π΄. Π‘Π°ΠΌΠΎΠΉ популярной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ являСтся x86, собствСнно Π΅Ρ‘ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ с Π²Π°ΠΌΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ПК построСны Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ x86, Ρ‚Π°ΠΊΠΆΠ΅ извСстной ΠΊΠ°ΠΊ Intel IA-32; всС соврСмСнныС 42-Π±ΠΈΡ‚Π½Ρ‹Π΅ вСрсии Microsoft Windows ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° этой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ процСссоров Ρ‚ΠΈΠΏΠ° AMD64 ΠΈΠ»ΠΈ Intel 64, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° x86.

Наполним пост Π΅Ρ‰Ρ‘ большим смыслом ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ с Π²Π°ΠΌΠΈ, ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ собствСнно ΠΈ прСдставляСт ΠΈΠ· сСбя соврСмСнная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΠΊ

АрхитСктура x86

ВнутрСнности Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСм (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ…86) ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Ρ„ΠΎΠ½ НСймана. Она состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

1) Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ процСссорноС устройство (ЦПУ) выполняСт ΠΊΠΎΠ΄.

2) Основная (опСративная) ΠΏΠ°ΠΌΡΡ‚ΡŒ систСмы (random-access memory, RAM) Ρ…Ρ€Π°Π½ΠΈΡ‚ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ΄.

3) БистСма Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° взаимодСйствуСт с устройствами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ТСсткиС диски, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‹.

Как Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ЦПУ содСрТит нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²: ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ устройство ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ· памяти инструкции для выполнСния, сохраняя ΠΈΡ… адрСса Π²Π½ΡƒΡ‚Ρ€ΠΈ рСгистров (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° инструкции). РСгистры ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными модулями хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² процСссорС ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для экономии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ЦПУ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ RAM. АрифмСтико-логичСскоС устройство (АЛУ) выполняСт ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ· RAM, ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² рСгистры ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ получСния ΠΈ выполнСния инструкций повторяСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ выполняСтся ассСмблСрный ΠΊΠΎΠ΄, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹Π²Π°Π΅Ρ‚ ассСмблСр ΠΈ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ прСдставляСт ΠΈΠ· сСбя Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π€ΠΎΠ½-НСймана. ΠœΡ‹ стали Π½Π° шаг Π±Π»ΠΈΠΆΠ΅ ΠΊ пониманию Π½Π΅ простой Π½Π°Ρ‚ΡƒΡ€Ρ‹ АссСмблСра ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ программирования πŸ˜‰

Π‘ΠΎΠ»ΡŒΡˆΠ΅ статСй ΠΏΡ€ΠΎ IT ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρƒ нас Π½Π° ΠΊΠ°Π½Π°Π»Π΅ IT Root Π² Telegram, Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π±ΠΎΡ‚, Π° Π΅Ρ‰Ρ‘ ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ пишСм Π² Twitter ΠΈ Facebook))

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

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

Π’ настоящСС врСмя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ написано Π½Π° языках высокого уровня, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ 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 — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ рСгистра
  • A — это ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ (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.

Π’ настоящСС врСмя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнными ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками программирования ΡΠ²Π»ΡΡŽΡ‚ΡΡ 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.

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

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

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

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

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

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

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

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

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

Javanotes 8.1, ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρƒ ΠΏΠΎ Π³Π»Π°Π²Π΅ 1

ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρƒ ΠΏΠΎ Π³Π»Π°Π²Π΅ 1

Π­Ρ‚Π° страница содСрТит ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρƒ ΠΊ Π“Π»Π°Π²Π΅ 1
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с использованиСм Java .ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ сущСствуСт мноТСство ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ вопрос.

Вопрос 1:

Один ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ — это Π΅Π³ΠΎ процСссор . Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ЦП ΠΈ ΠΊΠ°ΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΎΠ½ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²
ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€?

ΠžΡ‚Π²Π΅Ρ‚:

ЦП ΠΈΠ»ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
Π‘Π»ΠΎΠΊ, это активная Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π•Π³ΠΎ функция — Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° машинном языкС ΠΈ хранятся Π² основной памяти (RAM)
ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Он Π΄Π΅Π»Π°Π΅Ρ‚ это, повторяя Ρ†ΠΈΠΊΠ» Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ выполнСния снова ΠΈ снова;
Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· памяти ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π½Π° машинном языкС ΠΈ
выполняСт это.

Вопрос 2:

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚
«асинхронноС событиС». ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

ΠžΡ‚Π²Π΅Ρ‚:

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

Вопрос 3:

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°
ΠΌΠ΅ΠΆΠ΄Ρƒ «компилятором» ΠΈ Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌΒ»?

ΠžΡ‚Π²Π΅Ρ‚:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚
Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ языкС программирования,
ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ выполняСт ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π°
ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹. Он создаСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ
Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½.Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ просто ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π½Π°
врСмя, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ выполняСт эту ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. (Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ компилятор
ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Java Bytecode, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком для
вообраТаСмая Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Java. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Java Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ
ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ.)

Вопрос 4:

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ
ΠΌΠ΅ΠΆΠ΄Ρƒ языками высокого уровня, ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком.

ΠžΡ‚Π²Π΅Ρ‚:

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

Вопрос 5:

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

ΠžΡ‚Π²Π΅Ρ‚:

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

Вопрос 6:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ?

ΠžΡ‚Π²Π΅Ρ‚:

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

Вопрос 7:

Java — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ
язык программирования. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ?

ΠžΡ‚Π²Π΅Ρ‚:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ состоит ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
вмСстС с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. (ΠžΠ±ΡŠΠ΅ΠΊΡ‚ — это
своСго Ρ€ΠΎΠ΄Π° Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ» ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ общаСтся с ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ
ΠΌΠΈΡ€ Ρ‡Π΅Ρ€Π΅Π· Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс.ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
связная концСпция ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°.)

Вопрос 8:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная ?
(Π•ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ΄Π΅ΠΈ, связанных с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² Java. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅
упомянитС всС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ аспСкта Π² своСм ΠΎΡ‚Π²Π΅Ρ‚Π΅. Подсказка: ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· аспСктов являСтся
имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.)

ΠžΡ‚Π²Π΅Ρ‚:

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

Вопрос 9:

Java — это
«ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-нСзависимый язык». Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚?

ΠžΡ‚Π²Π΅Ρ‚:

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

Вопрос 10:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Β»?
ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. (КакиС слуТбы это Π΄Π΅Π»Π°ΡŽΡ‚
ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ?)

ΠžΡ‚Π²Π΅Ρ‚:

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ — это ΡΠ΅Ρ‚ΡŒ
соСдиняя ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ
Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹
(ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅), совмСстноС использованиС Ρ„Π°ΠΉΠ»ΠΎΠ²
(ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ) ΠΈ World Wide Web (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ «ΡΡ‚Ρ€Π°Π½ΠΈΡ†Ρ‹» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΏΠΎ всСму
ΠœΠΈΡ€).

языков высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня | Π‘Ρ€Π΅Ρ‚Ρ‚ ШулСс

Π•ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ языков программирования, высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ спорным, ΠΊΠ°ΠΊΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ, Π½ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько язык ΠΏΠΎΡ…ΠΎΠΆ Π½Π° СдинствСнный язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ большС ΠΎ машинном ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ·ΠΆΠ΅). Π―Π·Ρ‹ΠΊΠΈ программирования высокого уровня Π·Π½Π°ΠΊΠΎΠΌΡ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²: Java, Ruby, C ++, Javascript ΠΈ Ρ‚. Π”.Π―Π·Ρ‹ΠΊ программирования высокого уровня — это язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π°ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ Π² синтаксисС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прост ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн для вас. Π­Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

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

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

БовмСстимыС ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки

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

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

Π’ΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· компилятор ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠ³ Π΅Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Java, C ++ ΠΈ C # — популярныС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ послС компиляции ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ языки постоянно Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΈ поэтому ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ прСимущСство Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ, ΠΎΠ½ Π½Π΅ раскрываСт Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ люди Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄.НСдостаток Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π° Mac, Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ПК Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ прилоТСния Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΡ… для Mac OS X ΠΈΠ»ΠΈ Windows.

ΠžΡ‚ Complier ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ ΠΊ процСссору

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

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ — это Π½Π°Π±ΠΎΡ€ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… инструкций, состоящих ΠΈΠ· Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² 1 ΠΈ 0. Для процСссора 1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСктричСский ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, Π° 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½. 1 ΠΈ 0 Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, образуя 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π±Π°ΠΉΡ‚Π°ΠΌΠΈ. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ этих 1 ΠΈ 0 ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСктричСскиС сигналы Π½Π° транзисторы Π² ЦП. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ процСссоры ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° транзисторов, содСрТащих логичСскиС Π²Π΅Π½Ρ‚ΠΈΠ»ΠΈ. ЛогичСскиС Π²ΠΎΡ€ΠΎΡ‚Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚, ΠΈ это ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²ΠΎΡ€ΠΎΡ‚ — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ позволяСт Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅.

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

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

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

1.3.7 Π―Π·Ρ‹ΠΊΠΈ высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΈ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ нСобходимости языков высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ языки высокого уровня, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ (‘ ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄’).

Π›ΡŽΠ΄ΡΠΌ слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° прСдставлСна β€‹β€‹Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

Π―Π·Ρ‹ΠΊΠΈ высокого уровня Π±ΠΎΠ»Π΅Π΅ доступны для программистов.

Π―Π·Ρ‹ΠΊΠΈ высокого уровня Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².

НизкоуровнСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

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

ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² компиляторах ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° языкС высокого уровня

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

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· исходного ΠΊΠΎΠ΄Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ языка высокого уровня) Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ / β€‹β€‹ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ» (Ρ‚.Π΅.Π΅. Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ / машинном ΠΊΠΎΠ΄Π΅)

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ быстрый ΠΊΠΎΠ΄

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ остаСтся скрытым, поэтому Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, поэтому ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ Π½Π΅ трСбуСтся

НСдостатки

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ рСсурсов ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно памяти для хранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ источник ошибок Π² исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ использования ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° языках высокого уровня

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ пСрСводят ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ пСрСводят Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ инструкция выполняСтся ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

БообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… выводятся, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ обнаруТиваСтся ошибка, поэтому Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ

ПолСзно для ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Π² Π΅Π΅ части Π΅ΡΡ‚ΡŒ ошибки.

НСдостатки

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ скомпилированная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² Ρ†ΠΈΠΊΠ».

ПониманиС потрСбности Π² ассСмблСрах ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° языкС ассСмблСра

АссСмблСры пСрСводят язык ассСмблСра Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ / ​​двоичный / ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Автор: Liz Eggleston

ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 23 ΠΌΠ°Ρ€Ρ‚Π° 2020 Π³.

Π―Π·Ρ‹ΠΊΠΈ высокого уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ JavaScript ΠΈ Python, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сСгодня самыми популярными языками программирования, Π½ΠΎ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ эти языки Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΎΡ‚ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ абстракций — Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. Π’Π°ΠΊ Π·Π°Ρ‡Π΅ΠΌ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня? Π’ этом руководствС наставник ΠΈ ΡƒΡ‡Π΅Π½ΠΈΠΊ Holberton School отвСтят Π½Π° всС ваши вопросы ΠΎ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

  • Низкий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ относится ΠΊ ΠΊΠΎΠ΄Ρƒ, написанному нСпосрСдствСнно для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚.Π΅. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ сборка

  • ЯвляСтся Π»ΠΈ C языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня? МнСния ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅!

  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ? ПониманиС программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² области машинного обучСния ΠΈΠ»ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉ.Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊΠΎ всСму, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π»ΡƒΡ‡ΡˆΠ΅.

Знакомство с экспСртами

  • ОливьС — наставник Π² Holberton School, Π³Π΄Π΅ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ студСнтам, ΠΊΠΎΠ³Π΄Π° Ρƒ Π½ΠΈΡ… Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ вопросы, связанныС с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Он Ρ‚Π°ΠΊΠΆΠ΅ являСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния FutureOn Π² нСфтяной отрасли. Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΎΠ½ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π“Π˜Π‘ (картографирования) для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств ΠΈ создавал Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Age of Conan.

  • Артур Π”Π°ΠΌΠΌ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π» 7 Π»Π΅Ρ‚ частным Ρ€Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, СстСствСнным Π½Π°ΡƒΠΊΠ°ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ (ΠΈ ΠΈΠΌΠ΅Π» Π³ΠΎΠ΄ΠΈΡ‡Π½Ρ‹ΠΉ тСхничСский стаТСр ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Java Android). Артур Π²Ρ‹Π±Ρ€Π°Π» ΡˆΠΊΠΎΠ»Ρƒ Π₯ΠΎΠ»Π±Π΅Ρ€Ρ‚ΠΎΠ½ ΠΈΠ·-Π·Π° доступности ISA, классного кампуса Π² Π‘Π°Π½-Ѐранциско ΠΈ строгой комплСксной ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (которая, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅). Π’ настоящСС врСмя Артур находится Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ этапС спСциализации Holberton School.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?

Артур: Π’ нашС врСмя Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это любой язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ управляСтС ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ .Π›ΡŽΠ±ΠΎΠΉ язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ это ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ сборка мусора выполняСтся Π·Π° вас, Ρ‡Ρ‚ΠΎ сСйчас являСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ языков, считаСтся «высокоуровнСвым».

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

Π‘ΠΎΠ²Π΅Ρ‚ для профСссионалов: Π‘Π±ΠΎΡ€ΠΊΠ° мусора — это ΠΊΠΎΠ³Π΄Π° систСма очищаСтся Π·Π° вас. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π·Π° собой.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня

Arthur: РаньшС C считался языком высокого уровня. БСгодня ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠΌΠ΅ΡΡ‚ΡŒΡΡ Π½Π°Π΄ этим, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ C — это слишком Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. C ΠΈ C ++ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ языками Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π½ΠΈΡ… Π½Π΅Ρ‚ автоматичСского управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

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

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

НизкоуровнСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ² программирования высокого уровня

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков высокого уровня:

Артур: Π—Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π΅Π²ΡΡ‚ΡŒ мСсяцСв обучСния Π² Holberton School ΠΌΡ‹ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π²Π° языка высокого уровня, Python ΠΈ JavaScript.ВсС языки Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Python, Javascript ΠΈ Ρ‚. Π”., ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Ρ‹ Π½Π° C. Понимая, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ, я ΠΌΠΎΠ³Ρƒ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой высокоуровнСвый ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² соотвСтствии с Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, обСспСчивая ΠΏΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΌ осознаниС ошибок. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ C Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ строг, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π° язык Π±ΠΎΠ»Π΅Π΅ высокого уровня Ρƒ программиста Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ сбрасываСт вСс ΠΈ испытываСт чувство Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ лСгкости.

Pro Tip: Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python, это называСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.И ΠΎΠ½ΠΈ Π½Π° самом Π΄Π΅Π»Π΅ написаны Π½Π° C! Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Π₯ΠΎΠ»Π±Π΅Ρ€Ρ‚ΠΎΠ½Π° студСнты фактичСски ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ Python, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡ… вмСстС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Если Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков высокого уровня Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ сборку мусора Π·Π° вас, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ смысл Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня?

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

НизкоуровнСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ становится особСнно Π²Π°ΠΆΠ½Ρ‹ΠΌ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π²Π΅Ρ‰Π΅ΠΉ (IoT) ΠΈ носимых устройствах, Π³Π΄Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ энСргопотрСблСния являСтся самым Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ.

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

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

Π·Π°Π΄Π°Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня

Olivier: Π›ΡŽΠ±Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°, связанная с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ встроСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ созданиСм ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ быстро. Если Π²Ρ‹ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Π²Ρ‹, вСроятно, ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ всС, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π²Ρ‹ΡˆΠ΅. Когда я Π½Π°Π±ΠΈΡ€Π°ΡŽ, Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ застрСваСт Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ React, я Ρ…ΠΎΡ‡Ρƒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° GPU с использованиСм языков «высокого уровня», Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ CUDA ΠΈΠ»ΠΈ OpenCL, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Π’ графичСском процСссорС (графичСском процСссорС) всС происходит ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, ΠΈ способ форматирования памяти Π½Π° самом Π΄Π΅Π»Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Π°ΠΆΠ΅Π½, ΠΊΠ°ΠΊ ΠΈ сам ΠΊΠΎΠ΄.

Артур: Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π²Π΅Ρ‰Π΅ΠΉ ΠΈΠ»ΠΈ встроСнных систСмах. Моя Ρ†Π΅Π»ΡŒ — ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ интСрСсным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ свои Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ программирования Π½Π° C.

Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° C ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ языка высокого уровня, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Python, JavaScript ΠΈΠ»ΠΈ Java?

Артур: ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ врСмя обучСния, Π²Π°ΠΌ слСдуСт ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ JavaScript ΠΈΠ»ΠΈ Python ΠΈ просто ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² этом ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

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

Olivier: Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π΄Π΅Ρ‚Π°Π»ΠΈ скрыты ΠΎΡ‚ вас.Если Π²Ρ‹ сначала Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° C, Ρ‚ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с языками высокого уровня.

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ для программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня?

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня Π² школС Π₯ΠΎΠ»Π±Π΅Ρ€Ρ‚ΠΎΠ½Π°

Arthur: Наши ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π΅Π²ΡΡ‚ΡŒ мСсяцСв (Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Β«ΠžΡΠ½ΠΎΠ²Ρ‹Β») ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ языки Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΈ высокого уровня. ΠžΡΠ½ΠΎΠ²Ρ‹ — ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎ всС ΡƒΡ€ΠΎΠ²Π½ΠΈ стСка, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅, высокоуровнСвыС, DevOps, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ. ΠœΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€ΠΎΠ²Π½ΠΎ Ρ‚Ρ€ΠΈ мСсяца программирования Π½Π° C. А Π·Π°Ρ‚Π΅ΠΌ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «БпСциализация» ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ с Ρ‚ΠΎΠ³ΠΎ мСста, Π³Π΄Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ Π² этой части стСка Β«ΠžΡΠ½ΠΎΠ²Ρ‹Β».Π’ ΠΌΠΎΠ΅ΠΌ случаС ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСхничСских систСм Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌ языкС C. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ наш ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ это написано для Linux, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считаСтся стандартной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Π² ΠΌΠΈΡ€Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ.

Olivier: Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ C Π²Π°ΠΆΠ΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π°Π΅Ρ‚ студСнтам Π₯ΠΎΠ»Π±Π΅Ρ€Ρ‚ΠΎΠ½Π° основу для дальнСйшСго развития. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ C, Π²Π΅Π»ΠΈΠΊΠ° Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ смоТСтС ΠΏΠΎΠ½ΡΡ‚ΡŒ любой ΠΏΠΎΠ²Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык, Π±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ Π²Π°ΠΌ. Π’ качСствС плюса Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ.9-мСсячная спСциализация Holberton School — это, ΠΏΠΎ сути, ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ кикстартСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ быстрСС ΡΡ‚Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ Π² Ρ‚ΠΎΠΉ области ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, которая Π²Π°ΠΌ нравится.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° программирования Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня

Arthur: По большСй части Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Linux. Linux считаСтся ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ искусства. Π’ настоящСС врСмя ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя довольно ΠΌΠ½ΠΎΠ³ΠΎ слоТного систСмного программирования.

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

Для нашСй СТСнСдСльной ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΌΡ‹ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ интСрСсный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сопоставлСния с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ KMP, поиск подстроки ΠšΠ½ΡƒΡ‚Π° – ΠœΠΎΡ€Ρ€ΠΈΡΠ° – ΠŸΡ€Π°Ρ‚Ρ‚Π°. Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ тСхничСски, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π° ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ доступно.Когда я Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΠ·ΡƒΡ‡Π°ΡŽ Π½ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρƒ мСня всСгда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ нСбольшой мыслСнный ΠΊΠ°ΠΉΡ„.

Как ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня?

Olivier: Нам ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΆΠΈΠ²Π΅ΠΌ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° информация ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ДСнниса М. Π ΠΈΡ‡ΠΈ ΠΈ Π‘Ρ€Π°ΠΉΠ°Π½Π° Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° (создатСлСй C) Β«Π―Π·Ρ‹ΠΊ программирования CΒ».

Мой совСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡƒΡ‡Π΅Π½ΠΈΠΊΡƒ — Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄! Π’Π½Π°Ρ‡Π°Π»Π΅ это слоТно, Π½ΠΎ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π² этом Π»ΡƒΡ‡ΡˆΠ΅.Мои основы Π² C ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΠΌΠ½Π΅ Π·Π° эти Π³ΠΎΠ΄Ρ‹.

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΈ ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ курсС Holberton School. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° ​​командой ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΎ курсС Π² сотрудничСствС со школой Holberton.

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

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