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

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ β€” Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅? ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ Π² русском языкС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ:

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

Π’ ΠΌΡƒΠ·Ρ‹ΠΊΠ΅ компиляциСй Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ сборник пСсСн Ρ€Π°Π·Π½Ρ‹Ρ… исполнитСлСй ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ Ρ…ΠΈΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ исполнитСля. Π’ своём самом ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС «компиляция» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «сборник» ΠΈΠ»ΠΈ Β«ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ°Β». ИмСнно Π² этом смыслС российскоС высокопоставлСнноС ΠΆΡƒΠ»ΡŒΡ‘ употрСбляСт это слово ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ расслСдованиям ΠΎ Π½Π°Π²ΠΎΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…

Π΄Π²ΠΎΡ€Ρ†Π°Ρ….



Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ слово ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ, Π΅Π³ΠΎ объяснСниС простыми словами, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄, происхоТдСниС ΠΈ смысл.
ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ссылкой Β«Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ?Β» с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ:

И Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° самый интСрСсный ΠΏΠ°Π±Π»ΠΈΠΊ Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅!

 



ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ Π² русском языкС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ:

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

Π’ ΠΌΡƒΠ·Ρ‹ΠΊΠ΅ компиляциСй Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ сборник пСсСн Ρ€Π°Π·Π½Ρ‹Ρ… исполнитСлСй ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ Ρ…ΠΈΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ исполнитСля. Π’ своём самом ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС «компиляция» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «сборник» ΠΈΠ»ΠΈ Β«ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ°Β». ИмСнно Π² этом смыслС российскоС высокопоставлСнноС ΠΆΡƒΠ»ΡŒΡ‘ употрСбляСт это слово ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ расслСдованиям ΠΎ Π½Π°Π²ΠΎΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…

Π΄Π²ΠΎΡ€Ρ†Π°Ρ….

Π•ΡΡ‚ΡŒ Π»ΠΈ польза ΠΎΡ‚ компиляции ΠΊΠΎΠ΄Π° ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ Π΄Π΅Π»Π°?

НСдавно Ρƒ мСня Π±Ρ‹Π»ΠΎ собСсСдованиС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ½Π΅ Π΄Π°Π»ΠΈ час, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ настоящий ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство, вСроятно, ΠΌΠ΅Π½Π΅Π΅ 100 строк. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 45 ΠΌΠΈΠ½ΡƒΡ‚ я скомпилировал, запустил Π΅Π³ΠΎ ΠΈ заставил Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» 5-10 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок компиляции ΠΈ ΠΏΠ°Ρ€Ρƒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ошибок, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ всС Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π³Π»Π°Π΄ΠΊΠΎ. (ΠšΡΡ‚Π°Ρ‚ΠΈ, я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ….)

Однако, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈΠ»ΠΎ мСня, Π±Ρ‹Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я ΠΏΠ΅Ρ€Π΅Π΄Π°Π» Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽΠ΅Ρ€ сказал ΠΌΠ½Π΅, Ρ‡Ρ‚ΠΎ СдинствСнноС, Ρ‡Ρ‚ΠΎ я сдСлал Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, это Β«Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽ, ΠΊΠ°ΠΊ я ΠΈΠ΄ΡƒΒ». Π― спросил Π΅Π³ΠΎ, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°, ΠΈ ΠΎΠ½ сказал: Β«Π§Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹ сдСлали, Ссли Π±Ρ‹ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ ΠΊΠΎΠ΄, Π° ΠΎΠ½ Π½Π΅ скомпилировался воврСмя».

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

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

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

Если Π²Ρ‹ Π΄Π°Π΄ΠΈΡ‚Π΅ ΠΌΠ½Π΅ Ρ‡Π°ΡΡ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, я Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π±ΡƒΠ΄Ρƒ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π― Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡƒΠ·Π½Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄, ΠΈ я знаю, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Π΅Ρ€Π΅Π½.

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

Π˜Ρ‚Π°ΠΊ, ΠΌΠΎΠΉ вопрос Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пропустил? Π•ΡΡ‚ΡŒ Π»ΠΈ польза ΠΎΡ‚ компиляции ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ Π΄Π΅Π»Π°? Или это ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΈΡ„, распространяСмый сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ часто ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄?

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ компилятор angular Β«compileΒ»?

Typescript ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² JS. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ встряхиваниС Π΄Π΅Ρ€Π΅Π²Π°, Β«lessΒ» (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π² процСссС изготовлСния deployment. Но Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ (afaik) Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Β«compilingΒ». ВсС упаковываСтся ΠΈ сильно оптимизируСтся, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это Π½Π΅ компилируСтся, Π²Π΅Ρ€Π½ΠΎ?

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

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с языка Π° Π½Π° язык Π‘ . Π’ΠΎΡ‚ ΠΈ всС, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. (Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ A ΠΈ B -это ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ язык.)

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

A ΠΈ B ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ компилятор:

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ старыС источники ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Β«translationΒ» ΠΈ Β«translatorΒ» вмСсто Β«compilationΒ» ΠΈ Β«compilerΒ». НапримСр, C Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Β«translation unitsΒ».

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‚ΠΊΠ½ΡƒΡ‚ΡŒΡΡ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«language processorΒ». Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ компилятор, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Π»ΠΈΠ±ΠΎ ΠΎΠ±Π° компилятора ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π² зависимости ΠΎΡ‚ опрСдСлСния.

Javascript сам ΠΏΠΎ сСбС всС Π΅Ρ‰Π΅ интСрпрСтируСтся, Π²Π΅Ρ€Π½ΠΎ?

JavaScript β€” это язык. Π―Π·Ρ‹ΠΊΠΈ β€” это Π½Π°Π±ΠΎΡ€ логичСских ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Π―Π·Ρ‹ΠΊΠΈ Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π―Π·Ρ‹ΠΊΠΈ просто Π΅ΡΡ‚ΡŒ .

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

Π­Ρ‚ΠΈ Π΄Π²Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ слоям абстракции. Если Π±Ρ‹ английский Π±Ρ‹Π» Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком, Β«interpreted-languageΒ» Π±Ρ‹Π»ΠΎ Π±Ρ‹ ошибкой Ρ‚ΠΈΠΏΠ°.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ языки Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, Π½ΠΈ компилятора. Π•ΡΡ‚ΡŒ языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это языки, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ просто Π½Π΅ моТСшь ΠΈΠΌΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ всС интСрпрСтируСтся Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ : Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ просто ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ΄ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Она ΠΈΠΌ Π½Π΅ управляСт. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ управляСт ΠΈΠΌ. (Иногда, ΠΊΠΎΠ³Π΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ обСспСчСнии, ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ Β«CPUΒ», Π½ΠΎ это всС Ρ€Π°Π²Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.)

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: каТдая ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π² настоящСС врСмя основная рСализация JavaScript ΠΈΠΌΠ΅Π΅Ρ‚ компилятор.

V8 начинался ΠΊΠ°ΠΊ чистый компилятор: ΠΎΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π» JavaScript прямо Π² ΡƒΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ПозТС Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²Ρ‚ΠΎΡ€ΠΎΠΉ компилятор. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π΄Π²Π° компилятора: Π»Π΅Π³ΠΊΠΈΠΉ компилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½ΠΎ сам компилятор ΠΎΡ‡Π΅Π½ΡŒ быстр ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ°Π»ΠΎ RAM. Π­Ρ‚ΠΎΡ‚ компилятор Ρ‚Π°ΠΊΠΆΠ΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ΄ профилирования Π² скомпилированный ΠΊΠΎΠ΄. Π’Ρ‚ΠΎΡ€ΠΎΠΉ компилятор-Π±ΠΎΠ»Π΅Π΅ тяТСлый, ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ, Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ компилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ТСсткий, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ быстрый ΠΊΠΎΠ΄. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° профилирования, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ компилятором, для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ динамичСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ слСдуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ компилятора, принимаСтся Π½Π° основС этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ профилирования. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ задСйствован ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ. V8 Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΎΠ½ всСгда ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚. Π’ Π½Π΅ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°. (На самом Π΄Π΅Π»Π΅, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π² настоящСС врСмя это Ρ‚Π°ΠΊ, я ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.)

SpiderMonkey SpiderMonkey JavaScript ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ интСрпрСтируСтся. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Ρ‡Π°Ρ‰Π΅ всСго, компилируСтся компилятором Π² собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π˜Ρ‚Π°ΠΊ, SpiderMonkey содСрТит Π΄Π²Π° компилятора: ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚ JavaScript Π΄ΠΎ SpiderMonkey Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΡ‚ SpiderMonkey Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π΄ΠΎ собствСнного машинного ΠΊΠΎΠ΄Π°.

ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ JavaScript (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ V8) ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ этой ΠΌΠΎΠ΄Π΅Π»ΠΈ компилятора AOT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ JavaScript Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° смСшанного Ρ€Π΅ΠΆΠΈΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ компиляциСй этого Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°.

Π’Ρ‹ написали Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

Π― Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π³Π΄Π΅-Ρ‚ΠΎ замСшан.

Π§Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«machine codeΒ»?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ языком Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚? НапримСр, Π΅ΡΡ‚ΡŒ CPUs, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ JVM, Π½Π° Ρ‚Π°ΠΊΠΎΠΌ CPU, JVM Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ являСтся собствСнным ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. И Π΅ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ для x86 машинного ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ запускаСтС ΠΈΠ· этих x86 машинного ΠΊΠΎΠ΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄.

БущСствуСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ x86 ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ JPC, написанный Π² Java. Если я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ x86 Π½Π° JPC, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ Π½Π° собствСнном JVM CPU … ΠΊΠ°ΠΊΠΎΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄? Если я ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ x86 Π² JavaScript (Π΄Π°, Π΅ΡΡ‚ΡŒ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ) ΠΈ Π·Π°ΠΏΡƒΡ‰Ρƒ Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π½Π° ΠΌΠΎΠ΅ΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ARM CPU), Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄? Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽ, являСтся эмулятором SPARC, ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΅Π΅ для запуска ΠΊΠΎΠ΄Π° SPARC?

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

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ вашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² C++ | Π£Ρ€ΠΎΠΊΠΈ Π‘++

  ΠžΠ±Π½ΠΎΠ²Π». 17 Π‘Π΅Π½ 2020  | 

ΠŸΠ΅Ρ€Π΅Π΄ написаниСм нашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ Π΅Ρ‰Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ.

ВСория

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

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚ΠΈΠΏ. ВсС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠ°Ρ…, Π±ΡƒΠ΄ΡƒΡ‚ консольного Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² консоли (Π°Π½Π°Π»ΠΎΠ³ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” GUI (сокр. ΠΎΡ‚ Β«Graphical User InterfaceΒ») ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для изучСния языка C++, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ сводит всю ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ.

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

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ, ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π° Π½ΠΎΠ²ΠΎΠΌ языкС программирования являСтся всСми извСстная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β». ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ πŸ™‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Visual Studio

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Visual Studio 2019, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту IDE, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ "Π€Π°ΠΉΠ»" > "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ" > "ΠŸΡ€ΠΎΠ΅ΠΊΡ‚":

Π”Π°Π»ΡŒΡˆΠ΅ появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ "КонсольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows" ΠΈΠ· Π²ΠΊΠ»Π°Π΄ΠΊΠΈ "Visual C++" ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ "ОК":

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (любоС) ΠΈ Π΅Π³ΠΎ располоТСниС (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ) Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… полях.

Π’ тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ тСкст ΠΈ ΠΊΠΎΠ΄ β€” ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΠΉΡ‚Π΅ ΠΈΠ»ΠΈ скопируйтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

#include <iostream> int main() { std::cout << Β«Hello, world!Β» << std::endl; return 0; }

#include <iostream>

int main()

{

std::cout << Β«Hello, world!Β» << std::endl;

return 0;

}

Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ:

Π’ΠΠ–ΠΠžΠ• ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•: Π‘Ρ‚Ρ€ΠΎΠΊΠ° #include "pch.h" трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Visual Studio 2017. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Visual Studio 2019 (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ), Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ эту строку Π²ΠΎΠΎΠ±Ρ‰Π΅.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Visual Studio, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ctrl+F5. Если всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ компиляция ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Hello, world!

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ строку Β«β€¦Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ΄ΠΎΠΌ 0…», Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² "ΠžΡ‚Π»Π°Π΄ΠΊΠ°" > "ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹":

Π—Π°Ρ‚Π΅ΠΌ "ΠžΡ‚Π»Π°Π΄ΠΊΠ°" > "ΠžΠ±Ρ‰ΠΈΠ΅" ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π²ΠΎΠ·Π»Π΅ "АвтоматичСски Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ консоль ΠΏΡ€ΠΈ остановкС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ" ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ "ОК":

Π’ΠΎΠ³Π΄Π° вашС консольноС ΠΎΠΊΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


Π“ΠΎΡ‚ΠΎΠ²ΠΎ! ΠœΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Visual Studio.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Code::Blocks

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, запуститС Code::Blocks, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "File" > "New" > "Project":

Π—Π°Ρ‚Π΅ΠΌ появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ "Console application" ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ "Go":

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык "C++" ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "Next":

Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ располоТСниС (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Projects) ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ "Next":

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ "Finish".

ПослС всСх этих манипуляций, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ пустоС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Sources Π² Π»Π΅Π²ΠΎΠΉ части экрана ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ main.cpp:

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β» ΡƒΠΆΠ΅ написана!

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Code::Blocks, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+F9, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню "Build" ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Build". Если всё ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Build log":

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ компиляция ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ!

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+F10, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню "Build" ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Run". Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ:

Π­Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² тСкстовый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ HelloWorld.cpp:

#include <iostream> int main() { std::cout << Β«Hello, world!Β» << std::endl; return 0; }

#include <iostream>

int main()

{

std::cout << Β«Hello, world!Β» << std::endl;

return 0;

}

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅:

g++ -o HelloWorld HelloWorld. cpp

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ Π»ΠΈΠ½ΠΊΠΈΠ½Π³ Ρ„Π°ΠΉΠ»Π° HelloWorld.cpp. Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅:

HelloWorld

Или:

./HelloWorld

И Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²Π΅Π±-компиляторов

Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство:

#include <iostream> int main() { std::cout << Β«Hello, world!Β» << std::endl; return 0; }

#include <iostream>

int main()

{

std::cout << Β«Hello, world!Β» << std::endl;

return 0;

}

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "Run". Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΎΠΊΠ½Π΅ выполнСния.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:

Π¨Π°Π³ β„–1: Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π¨Π°Π³ β„–2: Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» . cpp Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (Ссли Π½ΡƒΠΆΠ½ΠΎ).

Π¨Π°Π³ β„–3: Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» .cpp:

#include <iostream> int main() { std::cout << Β«Hello, world!Β» << std::endl; return 0; }

#include <iostream>

int main()

{

std::cout << Β«Hello, world!Β» << std::endl;

return 0;

}

Π¨Π°Π³ β„–4: Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π¨Π°Π³ β„–5: Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Если компиляция ΠΏΡ€ΠΎΡˆΠ»Π° Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ (a.k.a. «О Π‘ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!Β»)

Всё Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π±Π΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, это ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ пустяк.

   Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали ΠΊΠΎΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: Π±Π΅Π· ошибок ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС компилятора ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΊΠ»ΡŽΡ‡ ΠΊ пониманию Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ошибки ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ.

   Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, просмотритС Π£Ρ€ΠΎΠΊ β„–7 β€” Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

   Π•сли всё Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ β€” Β«Π·Π°Π³ΡƒΠ³Π»ΠΈΡ‚Π΅Β» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π‘ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ 90% ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅ сталкивался с этим Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈ нашСл Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

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

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ, Π²Ρ‹ написали, скомпилировали ΠΈ запустили свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС C++! НС Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ, Ссли Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ вСсь этот ΠΊΠΎΠ΄, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅. ΠœΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ всё это рассмотрим Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ….

ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ:

Загрузка…

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях:

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ru Python

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

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

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык – это Ρ‚ΠΎΡ‚, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ скомпилированная, выраТаСтся Π² инструкциях Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. НапримСр, опСрация добавлСния Β«+Β» Π² исходном ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° нСпосрСдствСнно Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Β«ADDΒ» Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык – это Ρ‚ΠΎΡ‚, Π³Π΄Π΅ инструкции Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нСпосрСдствСнно Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ машинС, Π° вмСсто этого ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ (которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ записываСтся Π½Π° языкС Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹). НапримСр, ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ опСрация Β«+Β» Π±Ρ‹Π»Π° Π±Ρ‹ распознана ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π²ΠΎ врСмя выполнСния, которая Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π»Π° Π±Ρ‹ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (a, b)Β» с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, которая Π·Π°Ρ‚Π΅ΠΌ выполняла Π±Ρ‹ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Β«ADDΒ» машинного ΠΊΠΎΠ΄Π° ,

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

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ (пуристы ΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ мСня!), Но, Π³Ρ€ΡƒΠ±ΠΎ говоря, Π²ΠΎΡ‚ прСимущСства скомпилированных языков:

  • Π‘ΠΎΠ»Π΅Π΅ быстрая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ собствСнный ΠΊΠΎΠ΄ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния довольно ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ Π½Π° этапС компиляции

И Π²ΠΎΡ‚ прСимущСства ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков:

  • Π›Π΅Π³Ρ‡Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ (ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ компиляторы ΠΎΡ‡Π΅Π½ΡŒ слоТно !!)
  • НСт нСобходимости Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этап компиляции: ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ нСпосрСдствСнно Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ»,
  • ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для динамичСских языков

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ соврСмСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ компиляция Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ – здСсь происходит Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ компилятор Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° Β«Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½ΡƒΒ», которая Π½Π΅ совпадаСт с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΈ инструкции Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Π΅ΠΌ скомпилированы Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΌ этапС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ собствСнный ΠΊΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ это сдСлано JVM JIT-компилятором Java JVM).

Π‘Π°ΠΌ язык Π½Π΅ компилируСтся ΠΈ Π½Π΅ интСрпрСтируСтся, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ конкрСтная рСализация языка. Java – прСкрасный ΠΏΡ€ΠΈΠΌΠ΅Ρ€. БущСствуСт Π±Π°ΠΉΡ‚-кодовая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° (JVM), собствСнный компилятор (gcj) ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ для надмноТСства Java (bsh). Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Java сСйчас? ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄, скомпилирован ΠΈΠ»ΠΈ интСрпрСтируСтся?

Π”Ρ€ΡƒΠ³ΠΈΠ΅ языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скомпилированы, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, – Scala, Haskell ΠΈΠ»ΠΈ Ocaml. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих языков ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Π° Ρ‚Π°ΠΊΠΆΠ΅ компилятор для Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ собствСнный ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ катСгоризация языков ΠΏΠΎ «скомпилированным» ΠΈ Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ большого смысла.

НачнитС Π΄ΡƒΠΌΠ°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния: Π²Π·Ρ€Ρ‹Π²Π° ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ

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

  • ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ: быстро развиваСтся (рСдактируСтся ΠΈ запускаСтся). МСдлСнноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ (ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ для Ρ†ΠΈΠΊΠ»Π°, выполняСмого тысячи Ρ€Π°Π·).
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€: ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ (Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ. Π¨Π°Π³ΠΈ компиляции / ссылки ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя). Быстро Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° ΡƒΠΆΠ΅ Π² собствСнном машинного ΠΊΠΎΠ΄Π°.

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

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

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

ΠšΡ€Π°ΠΉΠ½ΠΈΠ΅ ΠΈ простыС случаи:

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

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

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этого, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Тизнь Π½Π΅ Ρ‚Π°ΠΊ проста. НапримСр,

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

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

Π‘ http://www.quora.com/What-is-the-difference-between-compiled-and-interpreted-programming-languages

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

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

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

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

Π‘Π°ΠΌΠΎΠ΅ большоС прСимущСство ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ скомпилированного исходного ΠΊΠΎΠ΄Π° – ΠŸΠžΠ Π’ΠΠ’Π˜Π’ΠΠžΠ‘Π’Π¬ .

Если ваш исходный ΠΊΠΎΠ΄ скомпилирован, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ исполняСмый Ρ„Π°ΠΉΠ» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° процСссора ΠΈ / ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄ΠΈΠ½ для Windows x86, ΠΎΠ΄ΠΈΠ½ для Windows x64, ΠΎΠ΄ΠΈΠ½ для Linux x64 ΠΈ Ρ‚. Π”. Π½Π°). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли ваш ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстим со стандартами ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ / Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько Π±Π°Π· ΠΊΠΎΠ΄Π°!

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

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

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

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

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

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

Π§Ρ‚ΠΎ касаСтся Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ исполняСмых ΠΊΠΎΠΌΠ°Π½Π΄, это ΠΌΠ°Π»ΠΎ связано с Π½ΠΈΠΌ, IMHO. Π’Ρ‹ часто ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка. Но Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈ срСда выполнСния ΡƒΠΆΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ Π² exectuable ΠΈ скрыты ΠΎΡ‚ вас. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния (хотя я ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языков Π΅ΡΡ‚ΡŒ способы пСрСвСсти всС Π½Π° исполняСмый Ρ„Π°ΠΉΠ» Π΄Π΅Ρ€Π΅Π²Π°).

Π― Π½Π΅ согласСн с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всС языки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ. НСкоторыС языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ привязаны ΠΊ машинС ΠΈ всСй структурС ссылок, Ρ‡Ρ‚ΠΎ я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ

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

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ «скомпилированный» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ этот ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ происходит всСго Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, выполняСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ» распространяСтся срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Чистый ΠΏΡ€ΠΈΠΌΠ΅Ρ€: C ++. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ пытаСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ дорогостоящСй optmization, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС. Π£ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅Ρ‚ инструмСнтов ΠΈ Π·Π½Π°Π½ΠΈΠΉ для компиляции самого ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, ΠΈ исполняСмый Ρ„Π°ΠΉΠ» часто Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдствах, поэтому Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств. Π’ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ этап компиляции ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи.

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

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

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

Книга Python Β© 2015 Imagine Publishing Ltd просто расстраиваСт Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π½Π°ΠΌΠ΅ΠΊΠΎΠΌ, упомянутым Π½Π° страницС 10, ΠΊΠ°ΠΊ:

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Python, – это Ρ‚ΠΎΡ‚, Π³Π΄Π΅ исходный ΠΊΠΎΠ΄ прСобразуСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся. Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ скомпилированного языка, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ C, Π³Π΄Π΅ исходный ΠΊΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прСобразуСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· – ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π·Π°Ρ‚Π΅ΠΌ выполняСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ – это процСсс создания исполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· ΠΊΠΎΠ΄Π°, написанного Π½Π° скомпилированном языкС программирования. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ позволяСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· нСобходимости использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Π΅Π΅ создания. Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° компилируСтся, ΠΎΠ½Π° часто компилируСтся для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ IBM), которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с совмСстимыми с IBM ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ, Π½ΠΎ Π½Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Apple). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ компилятор Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ГрСйс Π₯ΠΎΠΏΠΏΠ΅Ρ€ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π“Π°Ρ€Π²Π°Ρ€Π΄Π° ΠœΠ°Ρ€ΠΊΠ° I. БСгодня Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков высокого уровня Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя собствСнный компилятор ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ компилятора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ с Java, являСтся Eclipse, Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ компилятора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ с C ΠΈ C ++, являСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° gcc. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько Π²Π΅Π»ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, для Π΅Π΅ компиляции трСбуСтся нСсколько сСкунд ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΡƒΡ‚, ΠΈ Ссли ΠΏΡ€ΠΈ компиляции Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки, создаСтся исполняСмый Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ПаскалС Π½Π°Π΄ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с языка Pascal Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ – Π½Π° язык ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, вычислСния производятся ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π° Π½Π΅ ΠΏΠΎ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ПослС компиляции ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π΅ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: ΠΎΠ΄Π½Π° Π½Π° ПаскалС, другая Π½Π° языкС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (ΠΈΠ»ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠΌ ΠΊ Π½Π΅ΠΌΡƒ). Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚ΠΎ Π½Π° экранС Π±ΡƒΠ΄ΡƒΡ‚ нСпонятныС «слова» ΠΈ Π·Π°ΠΊΠΎΡ€ΡŽΡ‡ΠΊΠΈ.

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

Π‘Π½Π°Ρ‡Π°Π»Π° исходная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° записываСтся программистом (рСдактируСтся), послС Ρ‡Π΅Π³ΠΎ сохраняСтся Π½Π° дискС ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

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

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

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ΄ Python Π² Ρ„Π°ΠΉΠ» exe

{Β«idΒ»:122327,Β»urlΒ»:Β»https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exeΒ»,Β»titleΒ»:Β»\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434 Python \u0432 \u0444\u0430\u0439\u043b exeΒ»,Β»servicesΒ»:{Β«facebookΒ»:{Β«urlΒ»:Β»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exeΒ»,Β»short_nameΒ»:Β»FBΒ»,Β»titleΒ»:Β»FacebookΒ»,Β»widthΒ»:600,Β»heightΒ»:450},Β»vkontakteΒ»:{Β«urlΒ»:Β»https:\/\/vk. com\/share.php?url=https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exe&title=\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434 Python \u0432 \u0444\u0430\u0439\u043b exeΒ»,Β»short_nameΒ»:Β»VKΒ»,Β»titleΒ»:Β»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435β€³,Β»widthΒ»:600,Β»heightΒ»:450},Β»twitterΒ»:{Β«urlΒ»:Β»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exe&text=\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434 Python \u0432 \u0444\u0430\u0439\u043b exeΒ»,Β»short_nameΒ»:Β»TWΒ»,Β»titleΒ»:Β»TwitterΒ»,Β»widthΒ»:600,Β»heightΒ»:450},Β»telegramΒ»:{Β«urlΒ»:Β»tg:\/\/msg_url?url=https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exe&text=\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434 Python \u0432 \u0444\u0430\u0439\u043b exeΒ»,Β»short_nameΒ»:Β»TGΒ»,Β»titleΒ»:Β»TelegramΒ»,Β»widthΒ»:600,Β»heightΒ»:450},Β»odnoklassnikiΒ»:{Β«urlΒ»:Β»http:\/\/connect. ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exeΒ»,Β»short_nameΒ»:Β»OKΒ»,Β»titleΒ»:Β»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438β€³,Β»widthΒ»:600,Β»heightΒ»:450},Β»emailΒ»:{Β«urlΒ»:Β»mailto:?subject=\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434 Python \u0432 \u0444\u0430\u0439\u043b exe&body=https:\/\/vc.ru\/newtechaudit\/122327-kompiliruem-kod-python-v-fayl-exeΒ»,Β»short_nameΒ»:Β»EmailΒ»,Β»titleΒ»:Β»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443β€³,Β»widthΒ»:600,Β»heightΒ»:450}},Β»isFavoritedΒ»:false}

29 332 просмотров

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ компиляции Merriam-Webster

com Β· pile | \ kΙ™m-ˈpΔ« (-Ι™) l \

ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½Ρ‹ΠΉ Π³Π»Π°Π³ΠΎΠ»

1 : для составлСния ΠΈΠ· ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ

2 : для сбора ΠΈ рСдактирования Π² Ρ‚ΠΎΠΌ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сборник стихов

3 : постСпСнно Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ составил Ρ€Π΅ΠΊΠΎΡ€Π΄ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠΎΠ±Π΅Π΄ ΠΈ Π΄Π²ΡƒΡ… ΠΏΠΎΡ€Π°ΠΆΠ΅Π½ΠΈΠΉ

4 : для запуска (Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) Ρ‡Π΅Ρ€Π΅Π· компилятор

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ компиляции | Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ английского языка Коллинза

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Β«ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒΒ» Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ

компиляция

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ автоматичСски ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π±ΠΎΠ»ΡŒΡˆΠ΅β€¦ Π­Ρ‚ΠΎΡ‚ список явно Π±Ρ‹Π» составлСн самозванцСм.

Times, Sunday Times (2016)

НСвозмоТно ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список.

Times, Sunday Times (2017)

Π”Π°, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ β€” ΠΎΠ½ составил список ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ ΠΏΠΎ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌ.

The Sun (2016)

ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π° составлСниС ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΡƒΡˆΠ»ΠΎ дСсятилСтиС.

Times, Sunday Times (2007)

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΏΡ€ΠΈ составлСнии индСкса, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΈΠ· нСбольшой Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π°Π½ΠΊΠΎΠ².

Times, Sunday Times (2012)

Π•Π³ΠΎ ΠΊΠ½ΠΈΠ³Π° β€” яркоС ΠΏΡ€Π°Π·Π΄Π½ΠΎΠ²Π°Π½ΠΈΠ΅ усилий ΠΏΠΎ сбору ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° протяТСнии Π²Π΅ΠΊΠΎΠ².

Times, Sunday Times (2016)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Ρ…ΠΎΡ‚Π΅Π» ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ домохозяйствах ΠΈ посСщаСмых ΠΈΠΌΠΈ Π²Π΅Π±-сайтах.

Times, Sunday Times (2012)

ΠŸΠΎΠ»ΠΈΡ†ΠΈΡ Π›Π°Π½ΠΊΠ°ΡˆΠΈΡ€Π° сообщила, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ составлСниС списка Π·Π°ΠΉΠΌΠ΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Times, Sunday Times (2012)

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

Times, Sunday Times (2013)

ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ собираСт Ρ€Π°Π·Π²Π΅Π΄Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для создания ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π² столицС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² Π±Π°Π½Π΄Ρ‹.

Times, Sunday Times (2011)

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ …

ΠœΠ΅ΡΡ‚Π½Ρ‹Π΅ БМИ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½ΠΎΠ΅ исслСдованиС китайской ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, которая собираСт Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

Times, Sunday Times (2011)

Π‘ΠΊΠΎΡ€ΠΎ Π²Ρ‹ смоТСтС ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список своих Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠΎΠ².

Уэсткотт, ΠŸΡΡ‚ΡΠΈ, ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Π·Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ для ΠΆΠ΅Π½Ρ‰ΠΈΠ½ (1991)

Он с ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ΠΌ составил Π±Ρ‹ списки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… проСвропСйских Ρ„Π°ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ Π² своих ΠΎΠΏΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Times, Sunday Times (2016)

НСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ ΠΏΠΎΠ΄Ρ€ΡƒΠ³Π° сказала ΠΌΠ½Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ соТалСний.

Times, Sunday Times (2014)

ИмСя это Π² Π²ΠΈΠ΄Ρƒ, ΠΌΡ‹ составили список Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ, ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ мнСнию, ΠΎΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго.

Times, Sunday Times (2013)

Π’ этом Π³ΠΎΠ΄Ρƒ я Π²Ρ‹Ρ…ΠΎΠΆΡƒ Π·Π°ΠΌΡƒΠΆ, ΠΈ ΠΌΠ½Π΅ прСдстоит ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список ΠΏΠΎΠ΄Π°Ρ€ΠΊΠΎΠ².

Times, Sunday Times (2006)

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° составила свой ΠΎΡ‚Ρ‡Π΅Ρ‚.

Times, Sunday Times (2008)

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Π½Π°ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΊΠ½ΠΈΠ³ΠΈ Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ², которая Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ эти странныС ΠΈ Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°.

Times, Sunday Times (2012)

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список самых Π·Π»Ρ‹Ρ… людСй страны.

The Sun (2012)

Она Π²ΠΎΠ·Π³Π»Π°Π²ΠΈΠ»Π° список, составлСнный экспСртами ΠΏΠΎ Π΄ΠΎΡ…ΠΎΠ΄Π°ΠΌ знамСнитостСй, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ собирала всСго 150 Π² нСдСлю, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ±Ρ€Π΅Π»Π° ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

Π‘ΠΎΠ»Π½Ρ†Π΅ (2011)

ΠžΡΠΊΠΎΡ€Π±Π»Π΅Π½Π½Ρ‹ΠΉ вашим собСсСдником, я ΠΏΠΎΠ΄ΡƒΠΌΡ‹Π²Π°ΡŽ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ оскорблСний Π·Π° свои Π³ΠΎΠ΄Ρ‹. Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ Ρƒ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹Ρ….

Times, Sunday Times (2007)

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ компиляции The Free Dictionary

Для любого, ΠΊΡ€ΠΎΠΌΠ΅ мСня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ любил ΠΌΠΎΡ€Π΅, часы показались Π±Ρ‹ Π΄ΠΎΠ»Π³ΠΈΠΌΠΈ ΠΈ ΠΎΠ΄Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ; Π½ΠΎ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³ΡƒΠ»ΠΊΠΈ ΠΏΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΠ³Π΄Π° я погрузился Π² бодрящий Π²ΠΎΠ·Π΄ΡƒΡ… ΠΎΠΊΠ΅Π°Π½Π°, Π²ΠΈΠ΄ Π±ΠΎΠ³Π°Ρ‚Ρ‹Ρ… Π²ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½Π° салона, ΠΊΠ½ΠΈΠ³ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, составлСниС ΠΌΠΎΠΈΡ… ΠΌΠ΅ΠΌΡƒΠ°Ρ€ΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈ всС ΠΌΠΎΠ΅ врСмя. , ΠΈ Π½Π΅ оставил ΠΌΠ½Π΅ Π½ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ тоски ΠΈΠ»ΠΈ усталости. И Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ стала Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ составлСнии ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ яростными ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°ΠΌΠΈ Π΅Π΅, Π½Π° собствСнном ΠΎΠΏΡ‹Ρ‚Π΅ стали Π΅Π΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠ°ΠΌΠΈ. [1] ΠΠΎΡ‡ΡŒ Π±Ρ‹Π»Π° Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΈΡ…ΠΎΠΉ; вся сСмья ΡƒΠ΄Π°Π»ΠΈΠ»Π°ΡΡŒ ΠΎΡ‚Π΄Ρ‹Ρ…Π°Ρ‚ΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ Π’ΠΈΠ»ΡŒΡ„ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ΄ΠΈΠ½ остался ΡΠΏΠ°Ρ‚ΡŒ, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π΄ΠΎ пяти часов ΡƒΡ‚Ρ€Π°, просматривая послСдниС допросы, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½Π°ΠΊΠ°Π½ΡƒΠ½Π΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ слСдоватСлями, составляя показания свидСтСлСй ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ допросы. Π£Π΄Π°Ρ€ ΠΏΠΎ Π΄Π΅Π»Ρƒ ΠΎΠ± ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых энСргичных ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹Ρ… ΠΈΠ· всСх, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΠ».Π’Ρ‹ ΡΠ»Ρ‹ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊ бСзТалостно ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π°ΠΌΡ‹ каТущСгося полоТСния ΠΈ богатства ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈΠ· этого «общСства». НСистовыС усилия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠΉΡ‚ΠΈ Π² этот ΠΊΡ€ΡƒΠ³, подлости, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡŽΡ‚ΡΡ, оскорблСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ Ρƒ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π±Π΅Ρ€Π΅Ρ‚ чСловСчСство ΠΈΠ»ΠΈ ΠΆΠ΅Π½Ρ‰ΠΈΠ½Ρƒ для изучСния; ΠΈ погоня Π·Π° ΠΌΠΎΠ΄ΠΎΠΉ Π² Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Ρ… условиях Π±Ρ‹Π»Π° Π±Ρ‹ прСкрасной Ρ‚Π΅ΠΌΠΎΠΉ для любого ΠΎΡ‡Π΅Π½ΡŒ Π²Ρ‹Π΄Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ Π±Ρ‹ ΡƒΠΌΠ°, досуга ΠΈ знания английского языка, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для составлСния Ρ‚Π°ΠΊΠΎΠΉ истории. Π’ ΠΏΡ€Π΅Π΄Π΄Π²Π΅Ρ€ΠΈΠΈ субботнСго ΠšΠΎΠ½Π³Ρ€Π΅ΡΡΠ° ВсСпрогрСссивного ΠšΠΎΠ½Π³Ρ€Π΅ΡΡΠ° (APC) Π² ΡˆΡ‚Π°Ρ‚Π΅ Π”Π΅Π»ΡŒΡ‚Π° Π»ΠΈΠ΄Π΅Ρ€Ρ‹ ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π»ΠΈ обвинСния Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ воТдь Πžβ€™Ρ‚Π΅Π³Π° Π­ΠΌΠ΅Ρ€Ρ…ΠΎΡ€ составлял список ΠΈΠΌΠ΅Π½ Π² ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π°Ρ… ΠΈ мСстных ΠΎΡ€Π³Π°Π½Π°Ρ… власти. Помимо составлСния глоссариСв ΠΈ словарСй, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… Π½Π°ΡˆΠΈΡ… ΡƒΡ‡Π΅Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ исслСдования Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ² ΡƒΡ€Π΄Ρƒ, Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… разновидностСй ΠΈ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ употрСблСния, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… областСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ РадТастхан, ΠŸΡƒΠ½Π°, Π›Π°Ρ…ΠΎΡ€, ΠœΡƒΠΌΠ±Π°ΠΈ (извСстный ΠΊΠ°ΠΊ Бамбайя ΡƒΡ€Π΄Ρƒ) ΠΈ ΠšΠ°Π»ΡŒΠΊΡƒΡ‚Ρ‚Π° (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠšΠ°Π»ΠΊΠ°Ρ‚ΡŒΡ ΡƒΡ€Π΄Ρƒ).ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° составлСния ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ Π½Π°Ρ€ΠΊΠΎΡ‚ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈ администрации Π”ΡŽΡ‚Π΅Ρ€Π° Β«ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ°Β» Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ нацисты сдСлали с СврСями Π² Π“Π΅Ρ€ΠΌΠ°Π½ΠΈΠΈ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ арСстовывая ΠΈΡ… ΠΈ помСщая Π² ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ лагСря. статистика ΠΊΡ€ΠΈΠΊΠ΅Ρ‚Π°, собираСтся ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ составлСния Ρ†ΠΈΡ„Ρ€ с ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ статистиков Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π² своСм Ρ€ΠΎΠ΄Π΅ сСминарС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоится Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Π³ ΠΈ пятницу Π² НагпурС. Π₯асан ΠŸΠΎΠΉΠΏΡƒΠΉ, ΡΠ΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΏΠΎ стандартизации Π½Π°Π½ΠΎΡ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡƒΠΊΠ°Π·Π°Π» Π½Π° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° Π½Π° Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ уровнях ΠΈ заявил: «К настоящСму Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚ составил 10 Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов Π² области Π½Π°Π½ΠΎΡ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈ Π² настоящСС врСмя ΠΎΠ½ составляСт сСмь Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов. Он сказал, Ρ‡Ρ‚ΠΎ FBR собираСт Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ заслуТиваСт, ΠΈ сколько возмоТностСй ΠΈ Π»ΡŒΠ³ΠΎΡ‚ ΠΎΠ½ΠΈ воспользовались с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ освобоТдСния ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Ρƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ Π² Π½Π΅ΠΌ. Когда ΡƒΡ‡Π΅Π½ΠΈΠΊΠΈ Π² школС Π² Π‘Π°Π½Π΄Π΅Ρ€Π»Π΅Π½Π΄Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Благодаря своСй ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΈΠ»Π΅Ρ€Ρƒ Ford Π² Π‘Π°ΡƒΡ‚-Шилдс ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΠΈΠ΄Π΅Π΅ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π±ΡƒΠΊΠ»Π΅Ρ‚ с Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ.

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ составлСно The Free Dictionary

Π’ Ρ‚ΠΎ врСмя я посвятил Ρ‚Ρ€ΠΈ дня усСрдному ΠΏΠ΅Ρ€Π΅Π²Π°Ρ€ΠΈΠ²Π°Π½ΠΈΡŽ всСго этого ΠΏΠΈΠ²Π°, говядины ΠΈ Ρ…Π»Π΅Π±Π°, Π²ΠΎ врСмя ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½Π΅ случайно Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… мыслСй, способных ΠΊ трансцСндСнтному ΠΈ платоничСскому ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ; ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, я составил собствСнныС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, касаясь вСроятного количСства Ρ€Ρ‹Π±Ρ‹ ΠΈ Ρ‚. Π΄.Мой Π΄Π½Π΅Π²Π½ΠΈΠΊ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ я составил эти страницы, ΠΈΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ дальшС: Π₯Π΅ΠΉΠ²ΠΎΡ€Π΄ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π΅ΠΌΡƒ руководство, составлСнноС Π½Π° основС Ρ€Π°Π±ΠΎΡ‚ Раскина ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π’ Ρ€ΡƒΠΊΠ΅ ΠΎΠ½ усСрдно ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠ» ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ Π·Π° ΠΊΠΎΠΌΠ½Π°Ρ‚ΠΎΠΉ: ΠΎΠ½ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Π», Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΠΊ сказал ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΠ» ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π½Π΅ΠΉ Ρ‚ΠΎ ΠΆΠ΅ самоС. Π’ этом суТдСнии мСстный историк, ΠΈΠ· Π½Π΅ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ эти Ρ„Π°ΠΊΡ‚Ρ‹ составлСны, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ согласиС.ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π²ΡƒΠΊΠΎΠ² ΠΈ ТСстов Ρ‰ΡƒΠΏΠ°Π»ΡŒΡ†Π°; это утвСрТдаСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡƒΠΌΠ΅Π»ΠΎΠΉ, Π½ΠΎ наскоро составлСнной Π±Ρ€ΠΎΡˆΡŽΡ€Π΅ (написанной, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ΅ΠΌ-Ρ‚ΠΎ, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΎΡ‡Π΅Π²ΠΈΠ΄Ρ†Π΅ΠΌ марсианских дСйствий), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΡƒΠΆΠ΅ ссылался ΠΈ которая Π΄ΠΎ сих ΠΏΠΎΡ€ Π±Ρ‹Π»Π° Π³Π»Π°Π²Π½Ρ‹ΠΌ источником ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Β«Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠΊΠ°Π·Π΅ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ совСта здравоохранСния Π½Π΅ Π·Π½Π°ΡŽΡ‚ ΠΎ ΠΏΡ€ΠΎΠΊΠ°Π·Π΅, составило Π±Ρ‹ большС ΠΊΠ½ΠΈΠ³, Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΎ собрано людьми, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ эту болСзнь.ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ составлСно это повСствованиС, Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ ΠΈΠ· Π§Π°Ρ€Π»ΡŒΡΡ‚ΠΎΠ½Π°, Π³Ρ€ΡƒΠΏΠΏΠ° всС Π΅Ρ‰Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² Π€ΠΎΡ€Ρ‚-ΠœΠΎΠ»Ρ‚Ρ€ΠΈ. Из Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ написано ΠΎΠ± этом Π·Π²Π΅Ρ€ΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π²Π΅Π»ΠΈΠΊΠΎΠ³ΠΎ вСликолСпия ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, ΡΠΎΠΏΠ΅Ρ€Π½ΠΈΡ‡Π°ΡŽΡ‰ΡƒΡŽ с ΠΊΡƒΠ»ΡŒΡ‚ΠΎΠΌ ШСкспира ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Π»ΠΎΡΡŒ Π²ΠΎΠΊΡ€ΡƒΠ³ Он ΠΆΠΈΠ» Π² V Π²Π΅ΠΊΠ΅ ΠΈ составил грСчСский лСксикон. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π°ΠΊ считала компания, ΠΈ Ρ‚Π°ΠΊ Π±Ρ‹ ΠΎΠ½ считал, Ссли Π±Ρ‹ ΠΎΠ½ ΠΈΠΌΠ΅Π» доступ ΠΊ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ составлСнным записям ΠΎ Π½Π΅ΠΌ, хранящимся Π² Π°Ρ€Ρ…ΠΈΠ²Π°Ρ… офиса. Π‘ энтузиазмом ΠŸΠΎΡ‚Ρ‚Π° ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ всС своС врСмя ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ процСссу, описанному Π² послСднСй Π³Π»Π°Π²Π΅, взятому ΠΈΠ· Π΅Π³ΠΎ собствСнных ΠΌΠ΅ΠΌΠΎΡ€Π°Π½Π΄ΡƒΠΌΠΎΠ². Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ» Π΄ΠΎΠΌΠΎΠΉ: Β«ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Π΄Π΅Π»Π° Π·Π°Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈ мСня; ΠΊΠΎΠ³Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ для ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΎΠ½ большС Π½Π΅ хозяин сам ΠΏΠΎ сСбС Β». Он составил сборники вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ исслСдованиям для ΡŽΠ½Ρ‹Ρ… Π΄Π΅Π²ΡƒΡˆΠ΅ΠΊ Π² ΡˆΠΊΠΎΠ»Π°Ρ…-ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ‚Π°Ρ….

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор ΠΊΠΎΠ΄Π° ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½?

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

Π§Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ компиляции ΠΊΠΎΠ΄Π°?

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компилятора зависит ΠΎΡ‚ синтаксиса языка ΠΈ стСпСни абстракции, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ обСспСчиваСт этот язык программирования. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ компилятор для C ++ ΠΈΠ»ΠΈ C #.

ЛСксичСский Π°Π½Π°Π»ΠΈΠ·

ΠŸΡ€ΠΈ компиляции компилятор сначала считываСт ΠΏΠΎΡ‚ΠΎΠΊ символов ΠΈΠ· Ρ„Π°ΠΉΠ»Π° исходного ΠΊΠΎΠ΄Π° ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ лСксичСских Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ². НапримСр, ΠΊΠΎΠ΄ C ++:

 
 int C = (A * B) +10; 

ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ эти Ρ‚ΠΎΠΊΠ΅Π½Ρ‹:

  • Ρ‚ΠΈΠΏ Β«intΒ»
  • пСрСмСнная Β«CΒ»
  • Ρ€Π°Π²Π½ΠΎ
  • лСвая скобка
  • пСрСмСнная Β«AΒ»
  • умноТСнная Π½Π°
  • пСрСмСнная Β«BΒ»
  • правая скобка
  • плюс
  • Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½Ρ‹ΠΉ Β«10Β»

БинтаксичСский Π°Π½Π°Π»ΠΈΠ·

ЛСксичСский Π²Ρ‹Π²ΠΎΠ΄ поступаСт Π² синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ компилятора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π²Π²ΠΎΠ΄ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.Если ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ A ΠΈ B Π½Π΅ Π±Ρ‹Π»ΠΈ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости, компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ:

  • Β«AΒ»: Π½Π΅ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.

Если ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹, Π½ΠΎ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. компилятор Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:

  • локальная пСрСмСнная A ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±Π΅Π· ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСдупрСТдСния компилятора. Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ странным ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ВсСгда исправляйтС прСдупрСТдСния компилятора.

Один ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΈΠ»ΠΈ Π΄Π²Π°?

НСкоторыС языки программирования написаны Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.Паскаль β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… языков. Многим компиляторам трСбуСтся ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π°. Иногда это происходит ΠΈΠ·-Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ классов.

Π’ C ++ класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСн, Π½ΠΎ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠΎΠ·ΠΆΠ΅. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, сколько памяти трСбуСтся классу, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ скомпилируСт Ρ‚Π΅Π»ΠΎ класса. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Код Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹

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

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

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

β€” Π²Ρ‹Π·ΠΎΠ²

Автор компилятора сталкиваСтся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ написании Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°.МногиС процСссоры ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ

  • ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄
  • Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ кэши.

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

КСши ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ

Π£ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ЦП Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ЦП считываСт инструкции Π² кСш ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.Если происходит условный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, ЦП Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это.

МногиС процСссоры ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части для:

  • ЦСлочислСнная Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° (Ρ†Π΅Π»Ρ‹Π΅ числа)
  • АрифмСтика с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой (Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа)

Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ часто ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ для увСличСния скорости.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ вмСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор? β€” ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ WhatIs.com

К

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, написанныС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ языкС программирования, ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык ΠΈΠ»ΠΈ Β«ΠΊΠΎΠ΄Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ процСссор ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ программист ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка Π½Π° Ρ‚Π°ΠΊΠΎΠΌ языкС, ΠΊΠ°ΠΊ Паскаль ΠΈΠ»ΠΈ Π‘ΠΈ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкС Π·Π° Ρ€Π°Π·, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ . Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» содСрТит Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ исходныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ . Π—Π°Ρ‚Π΅ΠΌ программист запускаСт компилятор ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ языка, указывая имя Ρ„Π°ΠΉΠ»Π°, содСрТащСго исходныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

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

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

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

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с языками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ 3GL, ΠΈ языками Π±ΠΎΠ»Π΅Π΅ высокого уровня.АссСмблСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, написанными Π½Π° языкС ассСмблСра процСссора.

ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: ΡΠ΅Π½Ρ‚ΡΠ±Ρ€ΡŒ 2016 Π³.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎ компиляторС Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

слов β€” компилируСтся Π»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°? Или компилируСтся?

ПослС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ ΠΎΡ‚Π²Π΅Ρ‚Ρƒ JamesK:

Β«Π‘ΠΎΠ³Π½ΡƒΡ‚Ρ‹ΠΉ ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΠΏΡ€ΡƒΡ‚ΠΎΠΊΒ» β€” Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличная аналогия. И Β«ΠΈΠ·ΠΎΠ³Π½ΡƒΡ‚Ρ‹ΠΉΒ», ΠΈ «скомпилированный» ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΎ для описания фактичСского дСйствия:

Π“Π°Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π³Π½ΡƒΠ» ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ. β€” GCC скомпилировал ΠΊΠΎΠ΄.

ΠŸΡ€ΡƒΡ‚ΠΎΠΊ ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ Π³Π½ΡƒΡ‚Ρ‹ΠΉ. β€” Код скомпилирован.


Как ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ любой английский Π³Π»Π°Π³ΠΎΠ», Β«bendΒ» ΠΈ Β«compileΒ» Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для описания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ физичСскоС дСйствиС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ , Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ подразумСвая, Ρ‡Ρ‚ΠΎ дСйствиС ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ:

Π“Π°Π΅Ρ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³Π½ΡƒΡ‚ΡŒ ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΡƒΡ‚ΡŒΡ.- GCC ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

Π“Π°Π΅Ρ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ для Π³Π½ΡƒΡ‚ΡŒΡ ΠΏΡ€ΡƒΡ‚ΠΊΠΎΠ². β€” GCC ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΠΏΡ€ΡƒΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ³Π½ΡƒΡ‚ΡŒ Π³Π°Π΅Ρ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. β€” Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпилирован с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GCC.

Π“Π°Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π»Π΅Π³ΠΊΠΎ Π³Π½Π΅Ρ‚ этот ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ. β€” GCC ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ этот ΠΊΠΎΠ΄.

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


НаконСц, Π² коммСнтариях Π΅ΡΡ‚ΡŒ обсуТдСниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ выполняСт дСйствиС, ΠΊΠΎΠ³Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ направляСт дСйствиС, Π° инструмСнт выполняСт Π΅Π³ΠΎ.

Π― согнул ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΠΏΡ€ΡƒΡ‚ΠΎΠΊ [Π³Π°Π΅Ρ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ].- Π― скомпилировал ΠΊΠΎΠ΄ [ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ GCC].

Π“Π°Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π³Π½ΡƒΠ» ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ. β€” GCC скомпилировал ΠΊΠΎΠ΄.

Π― ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это вопрос философии, Π° Π½Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ

Π”ΠΆΠΎΠ½ ΡƒΠ±ΠΈΠ» старуху Π½ΠΎΠΆΠΎΠΌ. β€” НоТ Π”ΠΆΠΎΠ½Π° * ΡƒΠ±ΠΈΠ» старуху.

Шальная пуля ΠΈΠ· пистолСта Π”ΠΆΠΎΠ½Π° ΡƒΠ±ΠΈΠ»Π° старуху. β€” Шальная пуля ΠΈΠ· пистолСта Π”ΠΆΠΎΠ½Π° * ΡƒΠ±ΠΈΠ»Π° старуху.

Мой Π³Π°Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠ³Π½ΡƒΠ» ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ. β€” Моя Ρ€ΡƒΠΊΠ°Π²ΠΈΡ†Π° * ΠΏΠΎΠΉΠΌΠ°Π»Π° Π±Π΅ΠΉΡΠ±ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ мяч.

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


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ наша аналогия с Β«Π³Π°Π΅Ρ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌΒ» Π½Π΅ совсСм Ρ‚ΠΎΡ‡Π½Π°, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

  • Когда Π²Ρ‹ сгибаСтС ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΠΏΡ€ΡƒΡ‚ΠΎΠΊ Π³Π°Π΅Ρ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ зависит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Π³Π°Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Π½ΠΎ ΠΈ ΠΎΡ‚ вашСй собствСнной физичСской силы. Β«Π“Π°Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π³Π½Π΅Ρ‚ этот ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒΒ» часто зависит ΠΎΡ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ : это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²Π΄ΠΎΠΉ для мСня ΠΈ лоТью для вас (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚). Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Β«GCC ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ этот ΠΊΠΎΠ΄Β» Ρ€Π΅Π΄ΠΊΠΎ зависит ΠΎΡ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ большС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° высказываниС Β«Nargesa MT500A Π³Π½Π΅Ρ‚ этот ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒΒ» β€” ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ любой Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ доступ ΠΊ инструмСнту.