Π ΠΈΡ‡ΠΈ язык программирования си: Π―Π·Ρ‹ΠΊ программирования C | Π ΠΈΡ‚Ρ‡ΠΈ ДСннис М., ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ Π‘Ρ€Π°ΠΉΠ°Π½ Π£.

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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. ИзданиС 3-Π΅, исправлСнноС» Π°Π²Ρ‚ΠΎΡ€Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ Π‘Ρ€Π°ΠΉΠ°Π½ — RuLit

Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”. Π ΠΈΡ‚Ρ‡ΠΈ

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

ИзданиС 3-Π΅, исправлСнноС




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

Рост популярности Π‘ΠΈ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Π³ΠΎΠ΄Π°ΠΌΠΈ измСнСния, созданиС компиляторов ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π½Π΅Π΅ Π½Π΅ причастных ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ языка, — всС это послуТило стимулом ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ языка ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ 1983 Π³. АмСриканский институт Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов (American National Standards Institute — ANSI) ΡƒΡ‡Ρ€Π΅Π΄ΠΈΠ» ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»Π° поставлСна Ρ†Π΅Π»ΡŒ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ «ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΈ машинно-нСзависимоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ языка Π‘ΠΈ», ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сохранив ΠΏΡ€ΠΈ этом Π΅Π³ΠΎ стилистику. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΈ явился стандарт ANSI языка Π‘ΠΈ.

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

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

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

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

Π’ прСдисловии ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ «Ρ‡Π΅ΠΌ большС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с Π‘ΠΈ, Ρ‚Π΅ΠΌ ΠΎΠ½ становится ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅». Π­Ρ‚ΠΎ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈ послС дСсяти Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ данная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π‘ΠΈ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠœΡ‹ Π² большом Π΄ΠΎΠ»Π³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π² выпускС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ издания ΠΊΠ½ΠΈΠ³ΠΈ. Π”ΠΆΠΎΠ½ Π‘Π΅Π½Ρ‚Π»ΠΈ, Π”ΡƒΠ³ Π“ΡƒΠ½Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, ΠŸΠΈΡ‚Π΅Ρ€ НСльсон ΠΈ Π ΠΎΠ± Пайк сдСлали Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ замСчания ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° рукописи. ΠœΡ‹ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Алу Ахо, ДСннису Аллиссону, Π”ΠΆΠΎΡŽ ΠšΠ΅ΠΌΠΏΠ±Π΅Π»Π»Ρƒ, Π“. Π . Π­ΠΌΠ»ΠΈΠ½Ρƒ, ΠšΠ°Ρ€Π΅Π½ Π€ΠΎΡ€Ρ‚Π³Π°Π½Π³, АллСну Π“ΠΎΠ»ΡƒΠ±Ρƒ, Π­Π½Π΄Ρ€ΡŽ Π₯ΡŒΡŽΠΌΡƒ, Дэйву ΠšΡ€ΠΈΡΡ‚ΠΎΠ»Ρƒ, Π”ΠΆΠΎΠ½Ρƒ Π›ΠΈΠ½Π΄Π΅Ρ€ΠΌΠ°Π½Ρƒ, Дэйву ΠŸΡ€ΠΎΡΡΠ΅Ρ€Ρƒ, Π“ΠΈΠ½Ρƒ Π‘ΠΏΠ°Ρ„Ρ„ΠΎΡ€Π΄Ρƒ ΠΈ ΠšΡ€ΠΈΡΡƒ Π’Π°Π½ Π£ΠΈΠΊΡƒ Π·Π° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΎΡ‚ Π‘ΠΈΠ»Π»Π° Π§Π΅Π·Π²ΠΈΠΊΠ°, ΠœΠ°Ρ€ΠΊΠ° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π°, Π­Π½Π΄Ρ€ΡŽ Коэнига, Π ΠΎΠ±ΠΈΠ½Π° Π›Π΅ΠΉΠΊΠ°, Π’ΠΎΠΌΠ° Π›ΠΎΠ½Π΄ΠΎΠ½Π°, Π”ΠΆΠΈΠΌΠ° Π ΠΈΠ΄Π·Π°, Кловиза Π’ΠΎΠ½Π΄ΠΎ ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π°. Π”Π΅ΠΉΠ² ΠŸΡ€ΠΎΡΡΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π½Π° многочислСнныС вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ стандарта ANSI. ΠœΡ‹ ΡˆΠΈΡ€ΠΎΠΊΠΎ пользовались транслятором с Π‘ΠΈ++ Π‘ΡŒΠ΅Ρ€Π½Π° Бтрауструпа для локальной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Π”Π΅ΠΉΠ² ΠšΡ€ΠΈΡΡ‚ΠΎΠ» прСдоставил Π½Π°ΠΌ ANSI Π‘ΠΈ-компилятор для ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π ΠΈΡ‡ Π”Ρ€Π΅ΡˆΠ»Π΅Ρ€ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ искрСннС Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ всСх.

Π‘Ρ€Π°ΠΉΠ°Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис М. Π ΠΈΡ‚Ρ‡ΠΈ



ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию

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

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π‘ΠΈ Π±Ρ‹Π» создан ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ ΠΊΠ°ΠΊ инструмСнт написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX для ΠΌΠ°ΡˆΠΈΠ½Ρ‹ PDP-11 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. И опСрационная систСма, ΠΈ Π‘ΠΈ- компилятор, ΠΈ, ΠΏΠΎ сущСству, всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы UNIX (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ тСкста этой ΠΊΠ½ΠΈΠ³ΠΈ — Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Ρƒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» этой ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° английском языкС. — ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.) написаны Π½Π° Π‘ΠΈ. Π€ΠΈΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Π‘ΠΈ-компиляторы ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 1Π’Πœ/370, Honeywell 6000 ΠΈ Interdata 8/32. Π‘ΠΈ Π½Π΅ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΈΠ»ΠΈ систСмС, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ пСрСносятся Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π³Π΄Π΅ осущСствляСтся Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°.

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

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

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

Вдумчивая ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° ΠΈ прСдлоТСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ. Π’ частности, Майк Π‘ΠΈΠ°Π½ΠΊΠΈ, Π”ΠΆΠΈΠΌ Π‘Π»Ρƒ, Π‘Ρ‚ΡŒΡŽ Π€Π΅Π»Π΄ΠΌΠ°Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, Π‘ΠΈΠ»Π» Π ΡƒΠΌ, Π‘ΠΎΠ± Π ΠΎΠ·ΠΈΠ½ ΠΈ Π›Π°Ρ€Ρ€ΠΈ РослСр со Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡Π»ΠΈ всС многочислСнныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ этой ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ Π² Π΄ΠΎΠ»Π³Ρƒ Ρƒ Ала Ахо, Π‘Ρ‚ΠΈΠ²Π° Π‘ΡŒΠ΅Ρ€Π½Π°, Π”Π°Π½Π° Π”Π²ΠΎΡ€Π°ΠΊΠ°, Π§Π°ΠΊΠ° Π₯Π΅ΠΉΠ»ΠΈ, ΠœΠ°Ρ€ΠΈΠΎΠΈ Π₯аррис, Π ΠΈΠΊΠ° Π₯ΠΎΠ»Ρ‚Π°, Π‘Ρ‚ΠΈΠ²Π° ДТонсона, Π”ΠΆΠΎΠ½Π° МашСя, Π‘ΠΎΠ±Π° ΠœΠΈΡ‚Ρ†Π°, Π Π°Π»ΡŒΡ„Π° ΠœΡƒΡ…ΠΈ, ΠŸΠΈΡ‚Π΅Ρ€Π° НСльсона, Π­Π»Π»ΠΈΠΎΡ‚Π° Пинсона, Π‘ΠΈΠ»Π»Π° ΠŸΠ»Π΅ΠΉΠ΄ΠΆΠ΅Ρ€Π°, Π”ΠΆΠ΅Ρ€Ρ€ΠΈ Π‘ΠΏΠΈΠ²Π°ΠΊΠ°, КСна Вомпсона ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π° Π·Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π½ΠΈΡ… Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стадиях ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ рукописи, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Майка ЛСска ΠΈ Π”ΠΆΠΎ ΠžΡΡΠ°Π½Π½Ρ‹ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π΅Π΅ ΠΊ изданию.

Π‘Ρ€Π°ΠΉΠ°Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис М. Π ΠΈΡ‚Ρ‡ΠΈ





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

Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈΒ» — ДСннис Π ΠΈΡ‚Ρ‡ΠΈ. О Ρ‡Π΅ΠΌ эта ΠΊΠ½ΠΈΠ³Π°?

ВлияниС языка программирования Π‘ΠΈ Π½Π° ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ программистов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ с Π½ΠΈΠΌ Π² унивСрситСтах ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, заставило ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ этот ΡΡ‚ΠΈΠ»ΡŒ программирования ΠΈ соглашСния Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Π² качСствС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠΉ, Ссли Π½Π΅ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. НапримСр, ΡΡ‚ΠΈΠ»ΡŒ кодирования ΠΈ форматирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, прСдставлСнных Π² ΠΎΠ±ΠΎΠΈΡ… изданиях ΠΊΠ½ΠΈΠ³ΠΈ ДСнниса Π ΠΈΡ‚Ρ‡ΠΈ ΠΈ Π‘Ρ€Π°ΠΉΠ°Π½Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π°, часто упоминаСтся ΠΊΠ°ΠΊ Β«ΡΡ‚ΠΈΠ»ΡŒ K & RΒ» ΠΈ становится стилСм кодирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² исходном ΠΊΠΎΠ΄Π΅ для Unix ΠΈ ядра Linux. Π—Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ этого языка слоТно ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, вСдь ΠΎ Π½Π΅ΠΌ Π·Π½Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ люди, Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΌ большС, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈΒ».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования Β«Π‘ΠΈΒ», ΠΊΡ‚ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ?

Β«Π‘ΠΈΒ» Π±Ρ‹Π» создан ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ Π² Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π‘Π΅Π»Π»Π° Π² Π½Π°Ρ‡Π°Π»Π΅ сСмидСсятых Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ столСтия ΠΊΠ°ΠΊ дополнСнная вСрсия языка программирования Β«Π‘ΠΈΒ» КСна Вомпсона. Π”Ρ€ΡƒΠ³ΠΎΠΉ сотрудник Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π‘Π΅Π»Π»Π°, Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, написал ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΏΠΎ Β«Π‘ΠΈΒ», ΠΈ ΠΎΠ½ ΡƒΠ±Π΅Π΄ΠΈΠ» Π ΠΈΡ‚Ρ‡ΠΈ ΡΡ‚Π°Ρ‚ΡŒ соавтором этой Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘Ρ€Π°ΠΉΠ°Π½ написал Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Β«ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎΒ» ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΊΠ½ΠΈΠ³ΠΈ, Π° справочноС руководство ДСнниса стало Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.

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

ПослС этого стандарт ANSI C ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π» Π΅Ρ‰Π΅ нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, послСдним ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ISO / IEC 9899: 2018 (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ C18), принятым Π² качСствС стандарта ANSI Π² июнС Π΄Π²Π΅ тысячи восСмнадцатого Π³ΠΎΠ΄Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹ΠΌ стандартам, Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈΒ», 3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.

Книга Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈΒ» β€” ДСннис Π ΠΈΡ‚Ρ‡ΠΈ, Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½

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

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

ΠžΡ‚Π·Ρ‹Π²Ρ‹ людСй ΠΎ ΠΊΠ½ΠΈΠ³Π΅

АлСксандра Π₯Π°Π½Π΅Π½ΠΊΠΎ, 27 Π»Π΅Ρ‚: Β«Π― ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽ Π½Π° Π‘ΠΈ ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΡΡ‚ΡŒ Π»Π΅Ρ‚, ΠΈ, хотя это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ мСня экспСртом, я Π½Π΅ Ρ€Π΅ΡˆΠ°Π»Π°ΡΡŒ ΠΊΡƒΠΏΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ· двухсот страниц, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ, ΠΏΠΎ сути, Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² язык. Π§Ρ‚ΠΎ ΠΆΠ΅, Π½Π΅ Π·Π°Π±Π»ΡƒΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ, эта Ρ€Π°Π±ΠΎΡ‚Π° содСрТит Π² сСбС большС Ρ†Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Π΅ΠΌ любая другая ΠΊΠ½ΠΈΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Ρ‡ΠΈΡ‚Π°Π»Π°. Мало Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ Π±Ρ‹Π»Π° слишком простой, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Ρƒ мСня Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ моя Π³ΠΎΡ€Π΄ΠΎΡΡ‚ΡŒ. НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ. Если Π²Ρ‹ Π»ΡŽΠ±ΠΈΡ‚Π΅ язык Π‘ΠΈ, Π²Ρ‹ ΠΏΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚ΡƒΒ».

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ ЗСлСвский, 52 Π³ΠΎΠ΄Π°: Β«Π’Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ произвСдСния ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Π‘ΠΈ! Π•Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΈ ΠΊΠΎΠ³Π΄Π° я Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΡƒΠΏΠΈΠ» копию этой ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, я смог Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π‘ΠΈ для поиска Π² ΠΎΡ‡Π΅Π½ΡŒ большой Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Β ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Ρ‚Π΅ Π΄Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΏΠΎΠ΄ MS-DOS, ΠΈ ΠΌΠ½Π΅ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Windows API. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ написали ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ANSI CΒ».

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²

О языкС программирования Π‘ΠΈ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ мноТСство Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ. К Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • Β«Π―Π·Ρ‹ΠΊ программирования C++Β», Π‘ΡŒΡ‘Ρ€Π½ Бтрауструп.
  • Β«Π―Π·Ρ‹ΠΊ программирования C++. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ курс», Π–ΠΎΠ·Π΅ Π›Π°ΠΆΡƒΠ° ΠΈ Π‘Ρ‚Π΅Π½Π»ΠΈ Π›ΠΈΠΏΠΏΠΌΠ°Π½.
  • Β«Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС C++. 55 Π²Π΅Ρ€Π½Ρ‹Ρ… совСтов ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ структуру ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΒ», Π‘ΠΊΠΎΡ‚Ρ‚ ΠœΠ°ΠΉΠ΅Ρ€Ρ.

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

Π’ августС тысяча Π΄Π΅Π²ΡΡ‚ΡŒΡΠΎΡ‚ Π²ΠΎΡΠ΅ΠΌΡŒΠ΄Π΅ΡΡΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π³ΠΎΠ΄Π° ΠΆΡƒΡ€Π½Π°Π» Β«ByteΒ» заявил: ««Язык программирования Π‘ΠΈΒ» β€” это ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΎ языкС Π‘ΠΈ. НС Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, ΠΏΠΎΠΊΠ° Ρƒ вас Π½Π΅ появится эта ΠΊΠ½ΠΈΠ³Π°!Β». НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ Π”ΠΆΠ΅Ρ€Ρ€ΠΈ ΠŸΡƒΡ€Π½Π΅Π» написал, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° «всС Π΅Ρ‰Π΅ являСтся стандартом». Он ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»: Β«Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ язык Π‘ΠΈ, Π½Π΅ зная ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ, Π½ΠΎ это Π΄Π΅Π»Π°Π΅Ρ‚ процСсс обучСния Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉΒ».

Π―Π·Ρ‹ΠΊ программирования c ΠΊΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Ρ€ΠΈΡ‡ΠΈ

Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ
The C Programming Language
Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Β«The C Programming LanguageΒ»
АвторБрайан ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис Π ΠΈΡ‚Ρ‡ΠΈ
Π–Π°Π½Ρ€Π£Ρ‡Π΅Π±Π½ΠΈΠΊ
Π―Π·Ρ‹ΠΊ оригиналаАнглийский
ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΈΠ·Π΄Π°Π½1978
Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†343
ISBNISBN 0-13-110163-3

Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈΒ» (Π°Π½Π³Π». The C Programming Language , Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ K&R) β€” ΠΊΠ½ΠΈΠ³Π° Π‘Ρ€Π°ΠΉΠ°Π½Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ ДСнниса Π ΠΈΡ‚Ρ‡ΠΈ, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ послСдний β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· нСпосрСдствСнных Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² языка Π‘ΠΈ. Книга стала основой для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ популяризации Π‘ΠΈ, Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ спрос [1] ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС «классичСского» ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ языку. Она Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π±Ρ‹Π»Π° СдинствСнным справочным руководством ΠΈ Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ β€” стандартом языка.

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Книга, ΠΊΠ°ΠΊ ΠΈ язык, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½Π° посвящСна, Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AT&T Bell Labs. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΎ свСт Π² 1978 Π³ΠΎΠ΄Ρƒ ΠΈ Π±Ρ‹Π»ΠΎ Π² Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° СдинствСнной ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΏΠΎ Π‘ΠΈ. Π’Π΅Ρ€ΡΠΈΡŽ языка, которая ΠΎΠΏΠΈΡΡ‹Π²Π°Π»Π°ΡΡŒ Π² ΠΊΠ½ΠΈΠ³Π΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ K&R C (ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²) β€” Π² основном, для отличия ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ стандарта ANSI C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» описан Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ нСпосрСдствСнно ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ тСкста с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, рассчитанного Π½Π° Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² Π‘ΠΈ, ΠΊΠ½ΠΈΠ³Π° содСрТала Π³Π»Π°Π²Ρ‹, посвящённыС основным свойствам языка, Π° Ρ‚Π°ΠΊΠΆΠ΅ справочник.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ спустя Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, Π² 1988 Π³ΠΎΠ΄Ρƒ. Π’ ΠΊΠ½ΠΈΠ³Π΅ Π±Ρ‹Π»Π° прСдставлСна вСрсия Π‘ΠΈ, принятая Π² качСствС стандарта ANSI, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹: описаниС стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘ΠΈ ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ANSI C ΠΎΡ‚ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ вСрсии. Π­Ρ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° 25 языков [2] ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎ ΠΌΠΈΡ€ΠΎΠ²ΡƒΡŽ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

Π₯отя со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ своСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² 1989 Π³ΠΎΠ΄Ρƒ ANSI C Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ мСнялся, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹ освСтило эти измСнСния, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ.

ВлияниС [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Hello, world! [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ самым извСстным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ стала ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β», которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст Β«hello, worldΒ» Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π­Ρ‚ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ структуру минимальной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ. ПослС 1978 Π³ΠΎΠ΄Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠ½ΠΈΠ³ΠΈ, посвящённыС языкам программирования, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ издания The C Programming Language ΠΈ Π½Π΅ обходятся Π±Π΅Π· этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Ρ‚ΠΈΠ»ΡŒ K&R [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Π‘Ρ‚ΠΈΠ»ΡŒ форматирования исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠ±ΠΎΠΈΡ… изданиях ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΊΠ°ΠΊ ΡΡ‚ΠΈΠ»ΡŒ K&R. Π‘ Π΅Π³ΠΎ использованиСм ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄ Unix ΠΈ ядро Linux.

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

Если Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ эта ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Сю с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, Ρ‚Π΅ΠΌ самым Π²Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚Π΅ Π½Π°ΠΌ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ всё большС интСрСсных ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π²Π°ΠΌ ΠΊΠ½ΠΈΠ³!

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

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

Авторы ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡŽΡ‚ Π² своСй ΠΊΠ½ΠΈΠ³Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, ΠΊΠ°ΠΊ:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ арифмСтичСскиС выраТСния Π² Π‘ΠΈ
  • Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ выраТСния
  • Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции Π² Π‘ΠΈ
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Π‘ΠΈ
  • Π Π°Π±ΠΎΡ‚Π° с функциями
  • Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ массивы
  • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структур Π΄Π°Π½Π½Ρ‹Ρ…
  • Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘ΠΈ
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ с систСмой Unix

Для ΡƒΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов Π² ΠΊΠ½ΠΈΠ³Π΅ содСрТится ΠΏΠΎΠ»Π½ΠΎΠ΅ справочноС руководство ΠΏΠΎ языку Π‘ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ описаниС стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘ΠΈ.

Книга рассчитана Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с Π»ΡŽΠ±Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.

Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ: «НСвский Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Β»
Π“ΠΎΠ΄ издания: 2001
ИзданиС: 3-Π΅ исправлСнноС

Π‘ΠΊΠ°Ρ‡Π°Π½ΠΎ: 20159 Ρ€Π°Π·

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ

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

Π―ΠΊΠΎΠ², 11.03.2011 21:22

Π›ΡƒΡ‡ΡˆΠ°Ρ ΠΊΠ½ΠΈΠ³Π° для Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΈ с изысками изучСния Π‘ΠΈ

remarkes, 20.12.2011 03:42

Π΄Π°, согласСн – Π»ΡƒΡ‡ΡˆΠ°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Π‘ΠΈ

gemly, 03.09.2012 19:51

ΠΊΠ½ΠΈΠΆΠΊΠ° ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠΆΠΊΠ°

Vasiliy, 13.09.2012 08:51

ЕдинствСнная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Π‘ΠΈ. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, справочная Ρ‡Π°ΡΡ‚ΡŒ достаточного ΠΎΠ±ΡŠΡ‘ΠΌΠ° – ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ ΠΏΠΎΡΡ‚ΠΎΡ€Π°Π»ΠΈΡΡŒ Π½Π° славу!

ok-svi, 27.11.2012 11:40

mne ochen nravitsia

Leonid, 19.12.2012 00:22

Π•Ρ‰Π΅ Π±Ρ‹ Π²Π°ΠΌ Π½Π΅ Π½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ. Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎ языку ΠΏΠΈΡˆΠ΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» этот язык πŸ˜‰

Marvin, 28.07.2013 22:50

Ссли Π½Π΅ пСрвая, Ρ‚ΠΎ вторая ΠΊΠ½ΠΈΠ³Π° для прочтСния

Lev, 16.11.2015 00:19

Π£ ΠΊΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свободный экзСмпляр-ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ,Π½ΡƒΠΆΠ΅Π½ для занятий,ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ€ΠΊΠ°Π½Ρ‹ΠΉ ΠΈ ΡŽΠ·Π°Π½Ρ‹ΠΉ.89252335911

Николай, 09.06.2016 22:53

Говорят, Ρ‡Ρ‚ΠΎ Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠ·Π΄Π°Π²Π°Π»ΠΈ Π² БША Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ

Π―Π·Ρ‹ΠΊ Π‘ (ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π ΠΈΡ‡ΠΈ)

Π‘.Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”.М. Π ΠΈΡ‡ΠΈ.

2

АННОВАЦИЯ

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

Π―Π·Ρ‹ΠΊ β€œC”, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π²ΡˆΠΈΠΉΡΡ для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы β€œUNIX” Π½Π° Π­Π’Πœ DEC PDP-11, Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° этой систСмС ДСннисом Π ΠΈΡ‡ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма, компилятор с языка β€œC” ΠΈ ΠΏΠΎ сущСству всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы β€œUNIX” (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, использованноС ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ этой ΠΊΠ½ΠΈΠ³ΠΈ) написаны Π½Π° β€œC”. ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΈΠ΅ компиляторы с языка β€œC” ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π­Π’Πœ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ IBM SYSTEM/ 370, HONEYWELL 6000, INTERDATA 8/32. Π―Π·Ρ‹ΠΊ β€œC”, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ связан с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами ΠΈΠ»ΠΈ систСмами, ΠΈ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° любой Π­Π’Πœ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ β€œC”-компилятор.

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

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

По Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ , β€œC” ΠΏΠΎΠΊΠ°Π·Π°Π» сСбя приятным, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ

Β«Π―Π·Ρ‹ΠΊ Π‘Β» Π‘.Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”.М. Π ΠΈΡ‡ΠΈ

3

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

Вдумчивая ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° ΠΈ прСдлоТСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Π½Π°ΡˆΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ для самой ΠΊΠ½ΠΈΠ³ΠΈ, Ρ‚Π°ΠΊ ΠΈ для нашСго ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ ΠΏΡ€ΠΈ Π΅Π΅ написании. Π’ частности, Майк Биапси, Π”ΠΆΠΈΠΌ Π‘Π»ΡŽ, Π‘Ρ‚ΡŒΡŽ ЀСльдман, Π”ΠΎΡƒΠ³ Мак-Π˜Π»Ρ€ΠΎΠΉ, Π‘ΠΈΠ»Π» Π ΡƒΠΌ, Π‘ΠΎΠ± Π ΠΎΠ·ΠΈΠ½ ΠΈ Π›Π°Ρ€Ρ€ΠΈ РослСр Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ обязаны Элю Ахо, Π‘Ρ‚ΠΈΠ²Ρƒ Π‘ΠΎΡ€Π½Ρƒ, Дэву Π”Π²ΠΎΡ€Π°ΠΊΡƒ, Π§Π°ΠΊΡƒ Π₯элСю, Π”Π΅Π±Π±ΠΈ Π₯элСй, ΠœΠ°Ρ€ΠΈΠΎΠ½Ρƒ Π₯аррису, Π ΠΈΠΊΡƒ Π₯ΠΎΠ»Ρ‚Ρƒ, Π‘Ρ‚ΠΈΠ²Ρƒ ДТонсону, Π”ΠΆΠΎΠ½Ρƒ МашСю, Π‘ΠΎΠ±Ρƒ ΠœΠΈΡ‚Ρ†Ρƒ, Π Π°Π»ΡŒΡ„Ρƒ Мьюа, ΠŸΠΈΡ‚Π΅Ρ€Ρƒ ΠΠ΅Π»ΡŒΡΠΎΠ½Ρƒ, Π­Π»Π»ΠΈΠΎΡ‚Ρƒ ΠŸΠΈΠ½ΡΠΎΠ½Ρƒ, Π‘ΠΈΠ»Π»Ρƒ ΠŸΠ»Π°Π³Π΅Ρ€Ρƒ, Π”ΠΆΠ΅Ρ€Ρ€ΠΈ Π‘ΠΏΠΈΠ²Π°ΠΊΡƒ, ΠšΠ΅Π½Ρƒ Вомпсону ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Ρƒ Π’Π΅ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Ρƒ Π·Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ замСчания Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… этапах ΠΈ ΠœΠ°ΠΉΠΊΡƒ Лоску ΠΈ Π”ΠΆΠΎ Осанна Π·Π° Π½Π΅ΠΎΡ†Π΅Π½ΠΈΠΌΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ.

Π‘Ρ€Π°ΠΉΠ΅Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ДСннис М. Π ΠΈΡ‡ΠΈ

4

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

АННОВАЦИЯ …………………………………………………………………………………….

2

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

4

0.1.

Π’Π’Π•Π”Π•ΠΠ˜Π•. ……………………………………………………………………………….

9

1.

Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅. ……………………………………………………………………..

14

1.1.

HΠ°Ρ‡ΠΈΠ½Π°Π΅ΠΌ. ………………………………………………………………………………….

14

1.2.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ°. ………………………………………………………..

17

1.3.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ FOR. …………………………………………………………………………..

21

1.5.

Набор ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ………………………………………………………..

23

1.5.1.

Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ символов. ……………………………………………………..

23

1.5.2.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°. …………………………………………………………..

23

1.5.3.

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ символов. ……………………………………………………………..

25

1.5.4.

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ строк. …………………………………………………………………..

27

1.5.5.

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ слов. …………………………………………………………………….

28

1.6.

ΠœΠ°ΡΡΠΈΠ²Ρ‹. …………………………………………………………………………………..

30

1.7.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ. …………………………………………………………………………………..

32

1.8.

АргумСнты — Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. ………………………………………………..

34

1.9.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ символов. ……………………………………………………………………

35

1.10.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия: внСшниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ……………………………………

38

2.

ВИПЫ, ΠžΠŸΠ•Π ΠΠ¦Π˜Π˜ И Π’Π«Π ΠΠ–Π•ΠΠ˜Π―. …………………………………..

40

2.1.

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ……………………………………………………………………

40

2.2.

Π’ΠΈΠΏΡ‹ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ……………………………………………………………

40

2.3.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹. ………………………………………………………………………………..

41

2.3.1.

Бимвольная константа. ………………………………………………………

42

2.3.2.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ …………………………………………………….

42

2.3.3.

Бтрочная константа ……………………………………………………………

43

2.4.

Описания …………………………………………………………………………………..

43

2.5.

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ…………………………………………………………

44

2.6.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ……………………………..

45

2.7.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ……………………………………………………………….

46

2.8.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ………………………………………….

50

2.9.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ………………………………………………..

52

2.10.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ выраТСния присваивания…………………………………………

54

2.11.

УсловныС выраТСния. ………………………………………………………………..

55

2.12.

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈ порядок вычислСния. ………………………………………….

57

3.

ПОВОК Π£ΠŸΠ ΠΠ’Π›Π•ΠΠ˜Π― …………………………………………………………..

59

3.1.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π±Π»ΠΎΠΊΠΈ …………………………………………………………………….

59

3.2.

IF — ELSE ……………………………………………………………………………………

59

3.3.

ELSE — IF ……………………………………………………………………………………

61

3.4.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ …………………………………………………………………………..

62

3.5.

Π¦ΠΈΠΊΠ»Ρ‹ — WHILE ΠΈ FOR ………………………………………………………………

64

3.6.

Π¦ΠΈΠΊΠ» DO — WHILE ……………………………………………………………………..

67

3.7.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ BREAK ………………………………………………………………………

68

Β 

Β 

Β«Π―Π·Ρ‹ΠΊ Π‘Β» Π‘.Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”.М. Π ΠΈΡ‡ΠΈ

5

3.8.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ CONTINUE ………………………………………………………………..

69

3.9.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GOTO ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ ……………………………………………………………

70

4.

ЀУНКЦИИ И БВРУКВУРА ΠŸΠ ΠžΠ“Π ΠΠœΠœ. ……………………………..

72

4.1.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свСдСния. …………………………………………………………………..

72

4.2.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π½Π΅Ρ†Π΅Π»Ρ‹Π΅ значСния. ………………………………

75

4.3.

Π•Ρ‰Π΅ ΠΎΠ± Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ……………………………………………………..

78

4.4.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ……………………………………………………………….

79

4.5.

ΠŸΡ€Π°Π²ΠΈΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия. …………………………………

83

4.5.1.

Β 

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия. ………………………………………………………………

83

4.6.

БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. …………………………………………………………..

87

4.8.

Блочная структура. …………………………………………………………………….

89

4.9.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ. …………………………………………………………………………

90

4.10.

РСкурсия. …………………………………………………………………………………..

92

4.11. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ языка β€œC”…………………………………………………………….

93

4.11.1.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² …………………………………………………………….

93

4.11.2.

ΠœΠ°ΠΊΡ€ΠΎΠΏΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° …………………………………………………………….

94

5.

Π£ΠšΠΠ—ΠΠ’Π•Π›Π˜ И ΠœΠΠ‘Π‘Π˜Π’Π« ……………………………………………………

96

5.1.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ адрСса……………………………………………………………………..

96

5.2.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ …………………………………………………

98

5.3.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ массивы ……………………………………………………………….

100

5.4.

АдрСсная Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ……………………………………………………………..

103

5.5.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ символов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ………………………………………………..

106

5.6.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ — Π½Π΅ Ρ†Π΅Π»Ρ‹Π΅. ………………………………………………………………

109

5.7.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. …………………………………………………………..

110

5.8.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ; ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ………………………………

112

5.9.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массивов ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ. ………………………………………

116

5.10.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ………………………………………….

117

5.11.

Командная строка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ………………………………………………….

117

5.12.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ……………………………………………………………..

122

6.

БВРУКВУРЫ. ……………………………………………………………………….

126

6.1.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свСдСния. ………………………………………………………………..

126

6.2.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ………………………………………………………………

128

6.3.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ сруктур. ……………………………………………………………………

130

6.4.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° структуры. ………………………………………………………….

135

6.5.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° сСбя. ……………………………………………

137

6.6.

Поиск Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ……………………………………………………………………..

141

6.7.

Поля.

………………………………………………………………………………………

144

6.8.

ОбъСдинСния. ………………………………………………………………………….

146

6.9.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ……………………………………………………………………

148

7.

Π’Π’ΠžΠ” И Π’Π«Π’ΠžΠ” ……………………………………………………………………

150

7.1.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ……………………………………..

150

7.2.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ GETCHAR ΠΈ PUTCHAR ..

150

7.3.

Π€ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ — функция PRINTF ………………………………………

152

6

7.5.

Π€ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² памяти ……………………………………….

157

7.6.

Доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ……………………………………………………………………..

158

7.7.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок — STDERR ΠΈ EXIT ………………………………………

161

7.8.

Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ строк …………………………………………………………………

162

7.9.

НСсколько Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ………………………………………….

163

7.9.1.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²ΠΈΠ΄Π° символов ΠΈ прСобразования………………………

163

7.9.2.

Ѐункция UNGETC ………………………………………………………….

164

7.9.3.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ систСмС ………………………………………………………

164

7.9.4.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ……………………………………………………….

164

8.

Π˜ΠΠ’Π•Π Π€Π•Π™Π‘ Π‘Π˜Π‘Π’Π•ΠœΠ« UNIX ………………………………………….

165

8.1.

ДСскрипторы Ρ„Π°ΠΉΠ»ΠΎΠ²……………………………………………………………….

165

8.2.

НизкоуровнСвый Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ READ ΠΈ WRITE. ………

166

8.3.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅, созданиС, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ расцСплСниС (UNLINK). …………

168

8.4.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ доступ — SEEK ΠΈ LSEEK. ………………………………….

170

8.5.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — рСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ FOPEN ΠΈ GETC. ……………………….

171

8.6.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — распСчатка справочников ………………………………………….

175

8.7.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ памяти……………………………………………..

179

9.ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π• А:

Β 

Π‘ΠŸΠ ΠΠ’ΠžΠ§ΠΠžΠ• Π Π£ΠšΠžΠ’ΠžΠ”Π‘Π’Π’Πž ПО Π―Π—Π«ΠšΠ£ β€˜C’ ………………..

184

9.1.

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

184

10.

ЛСксичСскиС соглашСния …………………………………………………………

184

10.1. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ …………………………………………………………………………..

184

10.2. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (ΠΈΠΌΠ΅Π½Π°) …………………………………………………………

184

10.3. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ………………………………………………………………………

185

10.4. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ………………………………………………………………………………

185

10.4.1.

Π¦Π΅Π»Ρ‹Π΅ константы …………………………………………………………….

185

10.4.2.

Π―Π²Π½Ρ‹Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ константы ………………………………………………

185

10.4.3.

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы……………………………………………………

186

10.4.4.

ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ константы …………………………………………………….

186

10.5. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ……………………………………………………………………………………

186

10.6. Π₯арактСристики Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств ……………………………………….

187

11.

БинтаксичСская нотация ………………………………………………………….

187

12.

Π§Ρ‚ΠΎ Π² ΠΈΠΌΠ΅Π½Π΅ Ρ‚Π΅Π±Π΅ ΠΌΠΎΠ΅ΠΌ? …………………………………………………………..

187

14.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ………………………………………………………………………

189

14.1.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ …………………………………………………………………….

189

14.2.

Π’ΠΈΠΏΡ‹ FLOAT ΠΈ DOUBLE …………………………………………………………

189

14.3.

ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ цСлочислСнныС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ …………………………………..

189

14.4.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ …………………………………………………………………..

190

14.5.

Π¦Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ……………………………………………………………………….

190

14.6.

АрифмСтичСскиС прСобразования …………………………………………….

190

15.

ВыраТСния ……………………………………………………………………………..

191

15.1.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ выраТСния …………………………………………………………….

191

15.2.

Π£Π½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ …………………………………………………………………..

193

Β 

Β«Π―Π·Ρ‹ΠΊ Π‘Β» Π‘.Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”.М. Π ΠΈΡ‡ΠΈ

7

15.3. ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ …………………………………………………

195

15.4. АддитивныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ……………………………………………………………..

195

15.5. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига ……………………………………………………………………..

196

15.6. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ………………………………………………………………

196

15.7. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ равСнства ………………………………………………………………..

196

15.8. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Π°Ρ опСрация β€˜ΠΈβ€™ …………………………………………………………..

197

15.9.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Π°Ρ опСрация ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ β€˜ΠΈΠ»ΠΈβ€™ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅- …………………

Β 

Β 

ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ-ΠΈΠ»ΠΈ: ………………………………………………………………..

197

15.10. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Π°Ρ опСрация Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ β€˜ΠΈΠ»ΠΈβ€™ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅- ………………….

Β 

Β 

Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ-ΠΈΠ»ΠΈ:…………………………………………………………………..

197

15.11.ЛогичСская опСрация β€˜ΠΈβ€™ ………………………………………………………….

197

15.12.ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ логичСского β€˜ΠΈΠ»ΠΈβ€™ …………………………………………………….

197

15.13.Условная опСрация ………………………………………………………………….

198

15.14.ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ присваивания …………………………………………………………..

198

15.15.ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ запятая …………………………………………………………………….

199

16.

Описания ………………………………………………………………………………..

199

16.1. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ класса памяти ………………………………………………..

200

16.2. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠ° ……………………………………………………………….

200

16.3. ΠžΠΏΠΈΡΠ°Ρ‚Π΅Π»ΠΈ ……………………………………………………………………………….

201

16.4. Бмысл описатСлСй …………………………………………………………………..

201

16.5. ОписаниС структур ΠΈ объСдинСний …………………………………………..

203

16.6. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ……………………………………………………………………….

206

16.7. ИмСна Ρ‚ΠΈΠΏΠΎΠ² ……………………………………………………………………………

208

16.8. TYPEDEF ……………………………………………………………………………….

209

17.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ………………………………………………………………………………

209

17.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ………………………………………………………….

209

17.2. Боставной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ) ………………………………………………..

210

17.3. УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ……………………………………………………………….

210

17.4. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ WHILE …………………………………………………………………….

210

17.5. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DO …………………………………………………………………………..

211

17.6. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ FOR …………………………………………………………………………

211

17.7. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SWITCH ………………………………………………………………….

211

17.8. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ BREAK ……………………………………………………………………

212

17.9. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ CONTINUE ……………………………………………………………..

212

17.10. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ………………………………………………………………….

213

17.11. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GOTO ……………………………………………………………………..

213

17.12. ΠŸΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ …………………………………………………………….

213

17.13. ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ …………………………………………………………………….

213

18.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ опрСдСлСния ……………………………………………………………..

214

18.1.

Π’Π½Π΅ΡˆΠ½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ……………………………………………….

214

18.2.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ опрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… …………………………………………………

215

19.

ΠŸΡ€Π°Π²ΠΈΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ……………………………….

215

19.1.

ЛСксичСская ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия …………………………………………………

216

8

19.2.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² …………………………..

217

20.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ управлСния компилятором ……………………………………………

217

20.1.

Π—Π°ΠΌΠ΅Π½Π° лСксСм …………………………………………………………………………

217

20.2.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ………………………………………………………………….

218

20.3.

Условная компиляция ………………………………………………………………

218

21.

НСявныС описания …………………………………………………………………..

219

22.

Π‘Π½ΠΎΠ²Π° ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… ………………………………………………………………………….

219

22.1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ объСдинСния………………………………………………………..

219

22.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ …………………………………………………………………………………

220

22.3. ΠœΠ°ΡΡΠΈΠ²Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ индСксация ……………………………………………

220

22.4. Π―Π²Π½Ρ‹Π΅ прСобразования ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ……………………………………………

221

23.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½Ρ‹Π΅ выраТСния ………………………………………………………….

222

24.

БообраТСния ΠΎ пСрСносимости ………………………………………………..

223

25.

Анахронизмы ………………………………………………………………………….

224

26.

Π‘Π²ΠΎΠ΄ΠΊΠ° синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ» ………………………………………………..

224

26.1.

ВыраТСния ……………………………………………………………………………..

224

26.2.

Описания ………………………………………………………………………………..

226

26.3.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ составной-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€: ………………………………………………

228

26.4.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ опрСдСлСния ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°: ………………………………………….

228

27.

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ структуры …………………………………………………………

229

28.

Π’ΠΈΠΏ пСрСчислСния ……………………………………………………………………

230

29.

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… символов языка β€œC”…………….

231

Β«Π―Π·Ρ‹ΠΊ Π‘Β» Π‘.Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”.М. Π ΠΈΡ‡ΠΈ

9

0.1. Π’Π’Π•Π”Π•ΠΠ˜Π•.

Π―Π·Ρ‹ΠΊ β€œC” являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком программирования. Он тСсно связан с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой β€œUNIX” , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Π²ΠΈΡ‚ Π½Π° этой систСмС

ΠΈΡ‚Π°ΠΊ ΠΊΠ°ΠΊ β€œUNIX” ΠΈ Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС написано Π½Π° β€œC”. Π‘Π°ΠΌ язык , ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ связан с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈΠ»ΠΈ машиной;

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

Π―Π·Ρ‹ΠΊ β€œC” — это язык ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ β€œΠ½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня”. Π’ Ρ‚Π°ΠΊΠΎΠΉ характСристикС Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΡΠΊΠΎΡ€Π±ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ; это просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ β€œC” ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π­Π’Πœ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, с символами, числами ΠΈ адрСсами. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒΡΡ посрСдством ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… арифмСтичСских ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, осущСствляСмых Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π­Π’Πœ.

ВязыкС β€œC” ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π»ΠΎ нСпосрСдствСнно с составными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ строки символов, мноТСства, списки ΠΈΠ»ΠΈ с массивами, рассматриваСмыми ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅. Π—Π΄Π΅ΡΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΎΠ³Π° опСрациям PL/1, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ массивами ΠΈ строками. Π―Π·Ρ‹ΠΊ Π½Π΅ прСдоставляСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… возмоТностСй распрСдСлСния памяти, ΠΊΡ€ΠΎΠΌΠ΅ статичСского опрСдСлСния ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° стСков, обСспСчиваСмого Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ; здСсь Π½Π΅Ρ‚ Π½ΠΈ β€œΠΊΡƒΡ‡β€(HEAP), Π½ΠΈ β€œΡΠ±ΠΎΡ€ΠΊΠΈ мусора”, ΠΊΠ°ΠΊ это прСдусматриваСтся Π² ΠΠ›Π“ΠžΠ›Π•-68. НаконСц, сам ΠΏΠΎ сСбС β€œC” Π½Π΅ обСспСчиваСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… возмоТностСй Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°: здСсь Π½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² READ ΠΈΠ»ΠΈ WRITE ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ. ВсС эти ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ высокого уровня Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ явно Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ функциями.

Аналогично, язык β€œC” ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² управлСния: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ†ΠΈΠΊΠ»Ρ‹, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Π½Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ сопрограммы.

Π₯отя отсутствиС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· этих срСдств ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΠ΄Ρ€ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ (β€œΠ²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ строки символов ?!”), Π½ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ языка Π² скромных Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… Π΄Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ прСимущСства. Π’Π°ΠΊ ΠΊΠ°ΠΊ β€œC” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π», ΠΎΠ½ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста для своСго описания ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстро Π²Ρ‹ΡƒΡ‡Π΅Π½. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ с β€œC” ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простым ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, компиляторы Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡˆΡƒΡ‚ΡΡ; ΠΏΡ€ΠΈ использовании соврСмСнной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

10

ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ написания компилятора для Π½ΠΎΠ²ΠΎΠΉ Π­Π’Πœ Π·Π° ΠΏΠ°Ρ€Ρƒ мСсяцСв ΠΈ ΠΏΡ€ΠΈ этом окаТСтся, Ρ‡Ρ‚ΠΎ 80 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΠΎΠ²ΠΎΠ³ΠΎ компилятора Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅ΠΉ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ для ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… компиляторов. Π­Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ стуктуры управлСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² β€œC”, нСпосрСдствСнно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π­Π’Πœ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, нСобходимая Π²ΠΎ врСмя ΠΏΡ€ΠΎΠ³ΠΎΠ½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, оказываСтся ΠΎΡ‡Π΅Π½ΡŒ малСнькой. На PDP -11, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½Π° содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для 32-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ умноТСния ΠΈ дСлСния ΠΈ для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, каТдая рСализация обСспСчиваСт ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк ΠΈ распрСдСлСния памяти, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ явно, ΠΌΠΎΠΆΠ½ΠΎ , Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π°; эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ написаны Π½Π° самом β€œC”.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ , Ρ‡Ρ‚ΠΎ язык β€œC” ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ возмоТности соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° β€œC” ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ достаточно эффСктивными, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ побуТдСния ΠΏΠΈΡΠ°Ρ‚ΡŒ вмСсто этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС ассСмблСра. НаиболСС ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ этого являСтся сама опСрационная систСма β€œUNIX”, которая ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написана Π½Π° β€œC”. Из 13000 строк ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΊΠΎΠ»ΠΎ 800 строк самого Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня написаны Π½Π° ассСмблСрС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ сущСству всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС систСмы β€œUNIX” написано Π½Π° β€œC”; ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ систСмы β€œUNIX”(Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² этой ΠΊΠ½ΠΈΠ³ΠΈ) Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚ языка ассСмблСра PDP-11.

Π₯отя β€œC” соотвСтствуСт возмоТностям ΠΌΠ½ΠΎΠ³ΠΈΡ… Π­Π’Πœ, ΠΎΠ½ Π½Π΅ зависит ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π² силу этого Π±Π΅Π· особых усилий позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ β€œΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΡ‹Π΅β€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚.Π΅. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдствах. Π’ Π½Π°ΡˆΠΈΡ… ΠΊΡ€ΡƒΠ³Π°Ρ… стал ΡƒΠΆΠ΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠ΅ΠΉ пСрСнос ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° систСмС β€œUNIX”, Π½Π° систСмы Π­Π’Πœ: HONEYWELL, IBM ΠΈ INTERDATA. ЀактичСски компиляторы с β€œC” ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π²ΠΎ врСмя ΠΏΡ€ΠΎΠ³ΠΎΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° этих Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… систСмах, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ совмСстимы, Ρ‡Π΅ΠΌ стандартныС вСрсии Ρ„ΠΎΡ€Ρ‚Ρ€Π°Π½Π° амСриканского Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ института стандартов (ANSI). Π‘Π°ΠΌΠ° опСрационная систСма β€œUNIX” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π° PDP-11, Ρ‚Π°ΠΊ ΠΈ Π½Π° INTERDATA 8/32. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни машинно-зависимыми, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ компилятор, ассСмблСр ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ. НаписанноС Π½Π° языкС β€œC” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ Π½Π° ΠΎΠ±Π΅ΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. Π’Π½ΡƒΡ‚Ρ€ΠΈ самой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы 7000 строк ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ матСматичСскоС обСспСчСниС языка ассСмблСра Π­Π’Πœ ΠΈ управлСния опСрациями Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π° 95 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ².

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка Π‘ΠΈ (C)


Автор Айтистанция На Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 4 ΠΌΠΈΠ½ ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ² 28 ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ

Π―Π·Ρ‹ΠΊ Π‘ΠΈ (C) Π±Ρ‹Π» создан Π² Π½Π°Ρ‡Π°Π»Π΅ 70-Ρ… Π³ΠΎΠ΄ΠΎΠ² Дэннисом Π ΠΈΡ‚Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Bell Telephone Laboratories. Родословная языка Π‘ΠΈ (C) Π±Π΅Ρ€Π΅Ρ‚ своС Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΡ‚ языка Алгол ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Паскаль ΠΈ ΠŸΠ›/I.

Π‘ΠΈ (C) Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ язык для программирования Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎ Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Unix. ОБ Unix Π±Ρ‹Π»Π° написана Π½Π° языкС ассСмблСра для Π­Π’Πœ PDP-7 ΠΈ пСрСнСсСна Π·Π°Ρ‚Π΅ΠΌ Π½Π° PDP-11. На язык Π‘ΠΈ (C) ΠΎΠΊΠ°Π·Π°Π» Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ влияниС Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ, язык Π‘ΠΈ, созданный Кэном Вомпсоном, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ являСтся послСдоватСлСм языка BCPL. Π―Π·Ρ‹ΠΊ Π’Π‘Π L Π±Ρ‹Π» создан Π² 1969 Π³ . ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ Ричардсом Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Β«ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования» Π² ΠšΡΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΎΠΌ унивСрситСтС Π² Π›ΠΎΠ½Π΄ΠΎΠ½Π΅. ВскорС Unix Π±Ρ‹Π»Π° пСрСписана Π½Π° языкС Π‘ΠΈ (C), ΠΈ Π² 1974 β€” 75 Π³ΠΎΠ΄Π°Ρ… OC Unix Ρ„ΠΈΡ€ΠΌΡ‹ Bell Laboratories стала ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ коммСрчСским ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ идСю ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ опСрационная систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ написана Π½Π° языкС высокого уровня, Ссли этот язык являСтся достаточно ΠΌΠΎΡ‰Π½Ρ‹ΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌ.

Книга Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ (C)Β»

Π’ 1978 Π³ . Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Дэннис Π ΠΈΡ‚Ρ‡ΠΈ написали ΠΊΠ½ΠΈΠ³Ρƒ Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ (C)Β» (ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Prentice-HΠ°ll). Π­Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°, которая Π² своСм ΠΊΡ€ΡƒΠ³Ρƒ Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ Β«Π±Π΅Π»ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉΒ» ΠΈ Β«K & RΒ» Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅, стала стандартом описания языка Π‘ΠΈ (C). На ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Β«K & RΒ» сущСствовали компиляторы языка Π‘ΠΈ (C) для Π­Π’Πœ PDP-11, Interdata 8/32, Honeywell 6000 ΠΈ IBM 370. Π’ дальнСйшСм этот список Π±Ρ‹Π» ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ языка Π‘ΠΈ (C)

Π’ ΠΊΠΎΠ½Ρ†Π΅ 70-Ρ… Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ трансляторы Π‘ΠΈ (C) для ΠΌΠΈΠΊΡ€ΠΎΠ­Π’Πœ Π½Π° процСссорах 8080 ΠΈ Z80 с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Π‘Π /M. Π‘ΠΊΠΎΡ‚Ρ‚ Π“Π°Π·Π΅Ρ€ΠΈ ΠΈ Π”ΠΆΠΈΠΌ Гибсон Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΈ пустили Π² ΠΏΡ€ΠΎΠ΄Π°ΠΆΡƒ Π’iny-C (Β«ΠšΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹ΠΉ Π‘ΠΈ (C)Β») β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, основанный Π½Π° подмноТСствС языка Π‘ΠΈ (C). Π•Π³ΠΎ интСрактивная срСда программирования ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ популярный транслятор Basic Ρ„ΠΈΡ€ΠΌΡ‹ Microsoft. Π’ 1980 Π³ . Π ΠΎΠ½ Кэйн создал свой компилятор Small-C (Β«ΠœΠ°Π»Ρ‹ΠΉ Π‘ΠΈ (C)Β») для ОБ Π‘Π /М ΠΈ микропроцСссора 8080. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Small-C, основанный Π½Π° подмноТСствС языка Π‘ΠΈ (C), Π±Ρ‹Π» написан Π½Π° самом Small-C. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΡƒΡ€ΠΈΡ†Ρ‹ ΠΈ яйца Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° Кэйн создал ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ компилятора Π½Π° основС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π’iny-C. Π—Π°Ρ‚Π΅ΠΌ Small-C ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ раскрутки создал самого сСбя, ΠΊΠΎΠ³Π΄Π° Кэйн вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π½Π½ΠΈΠ΅ вСрсии компилятора, сдСлалболСС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ компилятор. Small-C ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ исходный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° языкС Π‘ΠΈ (C) Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° языкС ассСмблСра процСссора 8080. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Кэйн прСдоставил свой компилятор ΠΈ Π΅Π³ΠΎ исходный тСкст Π² ΠΎΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² это ΠΆΠ΅ врСмя Π›Π΅ΠΎ Π—ΠΎΠ»ΠΌΠ°Π½ прСдставил свой компилятор BDS-C для Π‘Π /М, Ρ‚Π°ΠΊΠΆΠ΅ основанный Π½Π° подмноТСствС языка Π‘ΠΈ (C). Достоинствами этого компилятора Π±Ρ‹Π»ΠΈ высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ совмСстной ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.ВскорС послС BDS-C Π±Ρ‹Π»ΠΈ созданы компиляторы, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Π‘Π /М ΠΈ основанныС Π½Π° ΠΏΠΎΠ»Π½ΠΎΠΌ мноТСствС языка Π‘ΠΈ (C). Π­Ρ‚ΠΎ Π΄Π°Π»ΠΎ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ программирования Π½Π° Π‘ΠΈ (C) для ΠΌΠΈΠΊΡ€ΠΎΠ­Π’Πœ. Π’ 1981 Π³ ., Π² связи с созданиСм IBM PC, Π² ΠΌΠΈΡ€Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ­Π’Πœ Π±Ρ‹Π» сдСлан Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ скачок Π²ΠΏΠ΅Ρ€Π΅Π΄.

ПослС появлСния IBM PC стали ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΈ компиляторы Π‘ΠΈ (C) для этой ΠŸΠ­Π’Πœ. НСкоторыС компиляторы Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΡƒΡ‚Π΅ΠΌ прСобразования ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… компиляторов для процСссора 8080, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для IBM PC. Π’ настоящСС врСмя Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ прСдставлСны ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ ΡΠ΅ΠΌΠ½Π°Π΄Ρ†Π°Ρ‚ΡŒ компиляторов языка Π‘ΠΈ (C) для IBM PC.Π’ 1983 Π³ .

АмСриканский Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΎΠ² (ANSI) сформировал ВСхничСский ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚ X3J11, устав ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прСдусматриваСт созданиС стандарта языка Π‘ΠΈ (C). Бтандартизация Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° язык, Π½ΠΎ ΠΈ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ срСду компилятора, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ прСдставитСли основных Ρ„ΠΈΡ€ΠΌ β€” поставщиков компиляторов Π‘ΠΈ (C), Π² Ρ‚ΠΎΠΌ числС ΠΈ для IBM PC, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свСтила ΠΈΠ· ΠΌΠΈΡ€Π° программирования Π½Π° языкС Π‘ΠΈ (C).

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

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

Книга: Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. ИзданиС 3-Π΅, исправлСнноС — ДСннис М Π ΠΈΡ‚Ρ‡ΠΈ — ΠšΠ½ΠΈΠ³Π°Π“ΠΎ

Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”. Π ΠΈΡ‚Ρ‡ΠΈ
Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ
ИзданиС 3-Π΅, исправлСнноС

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

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

Рост популярности Π‘ΠΈ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Π³ΠΎΠ΄Π°ΠΌΠΈ измСнСния, созданиС компиляторов ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π½Π΅Π΅ Π½Π΅ причастных ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ языка, — всС это послуТило стимулом ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ языка ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ 1983 Π³. АмСриканский институт Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов (American National Standards Institute — ANSI) ΡƒΡ‡Ρ€Π΅Π΄ΠΈΠ» ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»Π° поставлСна Ρ†Π΅Π»ΡŒ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ «ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΈ машинно-нСзависимоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ языка Π‘ΠΈ», ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сохранив ΠΏΡ€ΠΈ этом Π΅Π³ΠΎ стилистику. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΈ явился стандарт ANSI языка Π‘ΠΈ.

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

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

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

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

Π’ прСдисловии ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ «Ρ‡Π΅ΠΌ большС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с Π‘ΠΈ, Ρ‚Π΅ΠΌ ΠΎΠ½ становится ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅». Π­Ρ‚ΠΎ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈ послС дСсяти Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ данная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π‘ΠΈ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠœΡ‹ Π² большом Π΄ΠΎΠ»Π³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π² выпускС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ издания ΠΊΠ½ΠΈΠ³ΠΈ. Π”ΠΆΠΎΠ½ Π‘Π΅Π½Ρ‚Π»ΠΈ, Π”ΡƒΠ³ Π“ΡƒΠ½Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, ΠŸΠΈΡ‚Π΅Ρ€ НСльсон ΠΈ Π ΠΎΠ± Пайк сдСлали Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ замСчания ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° рукописи. ΠœΡ‹ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Алу Ахо, ДСннису Аллиссону, Π”ΠΆΠΎΡŽ ΠšΠ΅ΠΌΠΏΠ±Π΅Π»Π»Ρƒ, Π“. Π . Π­ΠΌΠ»ΠΈΠ½Ρƒ, ΠšΠ°Ρ€Π΅Π½ Π€ΠΎΡ€Ρ‚Π³Π°Π½Π³, АллСну Π“ΠΎΠ»ΡƒΠ±Ρƒ, Π­Π½Π΄Ρ€ΡŽ Π₯ΡŒΡŽΠΌΡƒ, Дэйву ΠšΡ€ΠΈΡΡ‚ΠΎΠ»Ρƒ, Π”ΠΆΠΎΠ½Ρƒ Π›ΠΈΠ½Π΄Π΅Ρ€ΠΌΠ°Π½Ρƒ, Дэйву ΠŸΡ€ΠΎΡΡΠ΅Ρ€Ρƒ, Π“ΠΈΠ½Ρƒ Π‘ΠΏΠ°Ρ„Ρ„ΠΎΡ€Π΄Ρƒ ΠΈ ΠšΡ€ΠΈΡΡƒ Π’Π°Π½ Π£ΠΈΠΊΡƒ Π·Π° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΎΡ‚ Π‘ΠΈΠ»Π»Π° Π§Π΅Π·Π²ΠΈΠΊΠ°, ΠœΠ°Ρ€ΠΊΠ° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π°, Π­Π½Π΄Ρ€ΡŽ Коэнига, Π ΠΎΠ±ΠΈΠ½Π° Π›Π΅ΠΉΠΊΠ°, Π’ΠΎΠΌΠ° Π›ΠΎΠ½Π΄ΠΎΠ½Π°, Π”ΠΆΠΈΠΌΠ° Π ΠΈΠ΄Π·Π°, Кловиза Π’ΠΎΠ½Π΄ΠΎ ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π°. Π”Π΅ΠΉΠ² ΠŸΡ€ΠΎΡΡΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π½Π° многочислСнныС вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ стандарта ANSI. ΠœΡ‹ ΡˆΠΈΡ€ΠΎΠΊΠΎ

ДСннис Π ΠΈΡ‚Ρ‡ΠΈ — ΠΎΡ‚Π΅Ρ† языка программирования Π‘

ДСннис Π ΠΈΡ‚Ρ‡ΠΈ — это Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ создавший ΠΎΡ‡Π΅Π½ΡŒ популярный язык программирования — «C», ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ — «ΠžΡ‚Π΅Ρ† языка программирования Π‘». ДСннис родился 9 сСнтября 1941 Π³ΠΎΠ΄Π° Π² БронксвилС, ΡˆΡ‚Π°Ρ‚ Нью-Π™ΠΎΡ€ΠΊ. Π•Π³ΠΎ ΠΎΡ‚Π΅Ρ† АлистСр Π ΠΈΡ‚Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π» систСмным ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ Π² Bell Labalatories.

НСмного ΠΏΠΎΠ·ΠΆΠ΅ Π ΠΈΡ‚Ρ‡ΠΈ с сСмьСй ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Π»ΠΈ Π² Нью-ДТСрси, ΠΎΠΊΠΎΠ½Ρ‡ΠΈΠ»Β Π²Ρ‹ΡΡˆΡƒΡŽ ΡˆΠΊΠΎΠ»Ρƒ Π‘Π°ΠΌΠΌΠΈΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π±Π°ΠΊΠ°Π»Π°Π²Ρ€Π° Π² Гарвардском унивСрситСтС, Π² области Ρ„ΠΈΠ·ΠΈΠΊΠΈ ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² 1963, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π”ΠΎΠΊΡ‚ΠΎΡ€Π° философии ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² 1968.

ДСннис — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Unix, Π° Ρ‚Π°ΠΊΠΆΠ΅ соавтор ΠΊΠ½ΠΈΠ³ΠΈ «Π”Снис Π ΠΈΡ‚Ρ‡ΠΈ Π―Π·Ρ‹ΠΊ программирования Π‘». Он Ρ€Π°Π±ΠΎΡ‚Π°Π» с КСном Вомсоном, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написал ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Unix. ПозТС ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ языком Π‘ΠΈ вмСстС с Π‘Ρ€Π°ΠΉΠ΅Π½ΠΎΠΌ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ΠΎΠΌ, ΠΈΡ… вмСстС Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°Π»ΠΈ K & R — ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ. ДСнис сдСлал ΠΎΡ‡Π΅Π½ΡŒ большой Π²ΠΊΠ»Π°Π΄ Π² Unix. ОсобСнно Π² Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Unix Π±Ρ‹Π»Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π•Π³ΠΎ ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΆΠΈΠ²ΡƒΡ‚ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм практичСски Π²ΠΎ всСх Π½ΠΎΠ²Ρ‹Ρ… языках программирования ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π° Π ΠΈΡ‚Ρ‡ΠΈ

ДСннис Π ΠΈΡ‚Ρ‡ΠΈ Π½Π°Ρ‡Π°Π» свою ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² 1967 Π³ΠΎΠ΄Ρƒ —Β Bell Laboratories, Ρ†Π΅Π½Ρ‚Ρ€Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… исслСдований. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΉ Π² ΠΌΠΈΡ€Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ мСсто Π³Π΄Π΅ родился транзистор.

Π”ΠΆΠΎΠ½ Ким, ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ Alcatel-Lucent Bell Labs, Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»:

ДСннис Ρ…ΠΎΡ€ΠΎΡˆΠΎ относился ΠΊ своим ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ Π² Bell Labs, ΠΈ Π½Π°ΠΌ Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ. Он ΠΏΠΎ-настоящСму вдохновлял всСх нас. НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ своими многочислСнными достиТСниями, Π° Π΅Ρ‰Π΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±Ρ‹Π» Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»Π΅ΠΌ, скромным ΠΈ ΠΌΠΈΠ»Ρ‹ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. ΠœΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΎΡ‡Π°ΠΉΡˆΠΈΠ΅ соболСзнования сСмьС Π ΠΈΡ‚Ρ‡ΠΈ ΠΈ всСм ΠΊΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±Ρ‹Π» с Π½ΠΈΠΌ связан.

Unix

Π’ Bell Labs Π ΠΈΡ‚Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Multics. Π­Ρ‚Π° Ρ‚ΠΎ Π±Ρ‹Π»Π° опСрационная систСма, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ идСю ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ интСрактивности. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ стСка, ΠΈ программист, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ сам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π» ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΎΠ³Π΄Π° ДСнис встрСтил КСна Вомсона, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·ΠΆΠ΅ станСт ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… сотрудников Π ΠΈΡ‚Ρ‡ΠΈ:

Одной ΠΈΠ· ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ ΠΏΠΎΡ‡Π΅ΠΌΡƒ коммСрчСский успСх Multics Π½Π΅ состоялся Π±Ρ‹Π»ΠΎ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ слоТна. Π’ Π½Π΅ΠΉ Π±Ρ‹Π»ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ всСго — ДСннис Π ΠΈΡ‚Ρ‡ΠΈ

ВскорС Bell Labs пСрСстали Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Multics, Π½ΠΎ Π ΠΈΡ‚Ρ‡ΠΈ ΠΈ КСн Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π΅ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΠ΄Π΅ΠΈ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ — Unix. Π’Π΅ΠΏΠ΅Ρ€ΡŒ это соврСмСнная опСрационная систСма, Π΅Π΅ распространСниС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ Π² 1973 Π³ΠΎΠ΄Ρƒ.

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

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

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ядро Unix Π±Ρ‹Π»ΠΎ написано Π½Π° ассСмблСрС, Π½ΠΎ Π ΠΈΡ‚Ρ‡ΠΈ ΠΈ КСн Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈΠΌ Π½ΡƒΠΆΠ΅Π½ язык высокого уровня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС контроля Π½Π°Π΄ всСми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой.

Они использовали BCPL (Basic Combined Programming Language) Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ UNIX, сТали Π΅Π³ΠΎ Π΄ΠΎ восьми ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ Π² B.

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

UNIX — простая опСрационная систСма, Π½ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³Π΅Π½ΠΈΠ΅ΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π΅ простоту. — ДСннис Π ΠΈΡ‚Ρ‡ΠΈ

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

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

«ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π» наибольшСС влияниС Π½Π° мою ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ это КСн Вомпсон.» — ДСннис Π ΠΈΡ‚Ρ‡ΠΈ

Π’ 1978 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° ΠΈΠ·Π΄Π°Π½Π° ΠΊΠ½ΠΈΠ³Π° ДСнниса Π ΠΈΡ‚Ρ‡ΠΈ ΠΈ Π‘Ρ€Π°Π΅Π½Π° КСнигана — Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. Книга ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык Π‘ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈ стили программирования. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° остаСтся практичСским руководством для ΠΌΠ½ΠΎΠ³ΠΈΡ… программистов Π΄ΠΎ сих ΠΏΠΎΡ€.

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

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

«Π‘ ΡƒΠΆΠ΅ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… машин ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, UNIX ΡƒΠΆΠ΅ распространяСтся Π½Π° PDP-11, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ всСй систСмы Π±Ρ‹Π»Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΠΎΠΉ.» — ДСнис Π ΠΈΡ‚Ρ‡ΠΈ

ПослСдний Π²Π°ΠΆΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлал ДСннис Π ΠΈΡ‚Ρ‡ΠΈ Π² Unix, это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для соСдинСния устройств, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ².

Windows, Mac, Linux ΠΈ…

ΠŸΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Unix ΠΈ языка Π‘ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, это Linux, Android, Mac OS, IOS, JavaScript, C++ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠΈΡ€Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΏΠΎΠ»Π½ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠœΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ прилоТСния написаны Π½Π° Π‘ ΠΈΠ»ΠΈ Π½Π° Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ΅ Π‘++. Π‘ΠΈ Π±Ρ‹Π» стандартизирован ANSI ΠΈ ISO, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° основС Π½Π΅Π³ΠΎ сСгодня строится ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ аспСкт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ индустрии.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ созданы ΠΏΠΎΠ·ΠΆΠ΅ Π½Π° основС Π‘ΠΈ ΠΌΠΎΠΆΠ½ΠΎ привСсти Π‘++ ΠΈΠ»ΠΈ JavaScript, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ написаны Π½Π° Π‘ΠΈ. Microsoft Windows ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° написана Π½Π° Π‘ΠΈ, ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмы ΠΎΡ‚ Apple основаны Π½Π° Unix.

НСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сомнСний, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»Π°Π΄ ДСнниса Π ΠΈΡ‚Ρ‡ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ядро ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ индустрии.

Π‘Ρ‚ΠΈΠ»ΡŒ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСтся Π² Π‘ΠΈ, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всС мСньшС ΠΈ мСньшС. Но JavaScript ΠΈ XML Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всС Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ. — ДСннис Π ΠΈΡ‚Ρ‡ΠΈ

Π ΠΈΡ‡Ρ‚ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ стал Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ Π΄Π΅ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚Π° исслСдований ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСм Π² Β Lucent Technologies ΠΈ стрСмился ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ своСго Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π° пСнсию Π² 2007 Π³ΠΎΠ΄Ρƒ.

Награды

  • Награда АБМ Π·Π° Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ успСхи Π² систСмах и языках Π² 1974 Π³ΠΎΠ΄Ρƒ.
  • Награда IEEE Emmanuel Piore Π² 1982
  • Награда сотруднику Bell Labs Π² 1984
  • ΠŸΡ€Π΅ΠΌΠΈΡ ΠΈΠΌΠ΅Π½ΠΈΒ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π° Π² 1983 Π³ΠΎΠ΄Ρƒ
  • Награда ACM Software Systems Π² 1983
  • Π‘Ρ‹Π» Π½ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠ΅ΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠ½Π³Π° Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚ΠΎΠ² АмСрики Π² 1963
  • МСдаль IEEE Π₯эмминга Π² 1990.
  • Π§Π»Π΅Π½ музСя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ истории Π² 1997 Π³ΠΎΠ΄Ρƒ.
  • ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ мСдаль Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚ΠΎΠ² ΠΎΡ‚ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π° Π‘ΠΈΠ»Π»Π° ΠšΠ»ΠΈΠ½Ρ‚ΠΎΠ½Π° Π·Π° Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой UNIX ΠΈ языком программирования C Π’ Π°ΠΏΡ€Π΅Π»Π΅ 1999 Π³ΠΎΠ΄Π°.
  • ΠŸΡ€Π΅ΠΌΠΈΡ ΠΎΡ‚ Industrial Research Institute Π·Π° Π΅Π³ΠΎ Ρ†Π΅Π½Π½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ Π² Π½Π°ΡƒΠΊΡƒ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² 2005 Π³ΠΎΠ΄Ρƒ.
  • Японская прСмия ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ UNIX Π² 2011 Π³ΠΎΠ΄Ρƒ.

ВсС Π½Π°Π³Ρ€Π°Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ДСннис Π ΠΈΡ‚Ρ‡ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΈ КСн Вомсон.

Π‘ΠΌΠ΅Ρ€Ρ‚ΡŒ Π ΠΈΡ‚Ρ‡ΠΈ

ДСннис ΠΆΠΈΠ» сам Π² своСм Π΄ΠΎΠΌΠ΅ Π² Π‘Π΅Ρ€ΠΊΠ»ΠΈ Π₯айтс ΡˆΡ‚Π°Ρ‚ Нью ДТСрси. Π‘Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΌ 12 октября 2011 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Β ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ врСмя смСрти нСизвСстны. ПослСдниС нСсколько Π»Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ слабоС Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ послС лСчСния Ρ€Π°ΠΊΠ° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΆΠ΅Π»Π΅Π·Ρ‹ ΠΈ сСрдСчно сосудистых Π·Π°Π±ΠΎΠ»Π΅Π²Π°Π½ΠΈΠΉ.

Он ΡƒΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· нСдСлю послС смСрти Π‘Ρ‚ΠΈΠ²Π° ДТобса, Π½ΠΎ это Π½Π΅ Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊ ярко освСщСно прСссой. Π Π΅Π»ΠΈΠ· Fedora Linux 16 Π² 2012 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» посвящСн памяти ДСнниса Π ΠΈΡ‚Ρ‡ΠΈ.

Пол ΠšΡ€Π΅Π·ΠΈ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ историк, послС смСрти Π ΠΈΡ‚Ρ‡ΠΈ сказал:

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

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄:Β http://www.unixmen.com/dennis-m-ritchie-father-c-programming-language/

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

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°…

Π―Π·Ρ‹ΠΊ программирования C — ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‡ΠΈ

Π―Π·Ρ‹ΠΊ программирования C, ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚, K&R (послС

Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ ДСннис Π ΠΈΡ‡ΠΈ) являСтся классикой Π² ​​своСм ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ

Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ΡΡ ΠΏΠΎΠ»Π΅. Если Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ это, Π½Π° самом Π΄Π΅Π»Π΅, Ρƒ вас, вСроятно, ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ

Π­Ρ‚ΠΎ. А Ссли Ρƒ вас Π΅Π³ΠΎ Π½Π΅Ρ‚, Π²Π°ΠΌ стоит.

Π―Π·Ρ‹ΠΊ программирования C — это ΠΊΠ½ΠΈΠ³Π°, которая ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ бизнСс. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅

ΠΏΡ€ΠΈ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ это 272 (189 Π±Π΅Π· прилоТСния) страницы чистого Π‘. Π•ΡΡ‚ΡŒ

Π½ΠΈΠΊΠ°ΠΊΠΈΡ… рассуТдСний ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ стилС программирования ΠΈΠ»ΠΈ философии, Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ обсуТдСния

Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈΠ»ΠΈ конструкция.Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° прСдставляСт собой Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык, чистый ΠΈ

просто. Π’Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ с простых ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ систСмой UNIX.

Π·Π²ΠΎΠ½ΠΊΠΈ, Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ язык

Π΄Π΅Π»Π°Ρ‚ΡŒ — Π½Π΅ слишком ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, учитывая, Ρ‡Ρ‚ΠΎ соавтор Π ΠΈΡ‡ΠΈ Π±Ρ‹Π»

ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ C. БущСствСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ для ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅

Π·Π½Π°ΠΊΠΎΠΌΡ‹ с C — это самая полСзная Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ, содСрТащая ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

спСцификации языка, ΠΎΡ‚ спСцификаций для встроСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π΄ΠΎ

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π°.Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, учитывая, Ρ‡Ρ‚ΠΎ

аннотированная спСцификация ANSI для C Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 700 страниц; K&R просто скаТСт Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹

Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ.

Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ строгого ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ справочника Π΄Π΅Π»Π°Π΅Ρ‚ язык программирования C
ΠΏΠΎΠ»Π΅Π·Π΅Π½ для программиста Π½Π° всСх уровнях C. Π£Ρ‡Π΅Π±Π½ΠΈΠΊ

сама двиТСтся Π² быстром Ρ‚Π΅ΠΌΠΏΠ΅, Π½Π΅ прСкращая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, ΠΈ

Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ. Но объяснСния Π² ΠΊΠ½ΠΈΠ³Π΅

ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ ясный, хотя ΠΈ слСгка ΠΏΠ»ΠΎΡ‚Π½Ρ‹ΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ ΠΈ

ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ объяснил.Π’ ΠΊΠ½ΠΈΠ³Π΅ Π΅ΡΡ‚ΡŒ упраТнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ

чувство Π΅Π³ΠΎ прогрСсса; ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚Π²Π΅Ρ‚Π° продаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ C
Π―Π·Ρ‹ΠΊ программирования
, хотя ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚. Π’Π°ΠΌ Π½Π΅ скаТут, Ρ‡Ρ‚ΠΎ Π·Π° пСрСмСнная

Π΅ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ компиляция, Π½ΠΎ ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Ρ‚ΠΎΠ½ΠΊΠΈΡ… нюансов

ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π·Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ это Π·Π° функция

являСтся. Базовая тСрминология ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ программирования ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ продвиТСния.

Π½ΠΎ вас Π½Π΅ Π±ΡŒΡŽΡ‚ ΠΈΠΌΠΈ ΠΏΠΎ Π³ΠΎΠ»ΠΎΠ²Π΅; это Π½Π΅ C для

Π“Π»ΡƒΠ±ΠΎΠΊΠΎ ΠΏΠ»ΠΎΡ‚Π½Ρ‹ΠΉ .

Π―Π·Ρ‹ΠΊ программирования C ΠΈΠ΄Π΅Π°Π»Π΅Π½ ΠΊΠ°ΠΊ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ для

люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ

(ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ …) язык. Для Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€ΠΎΠ·Ρ‹Π³Ρ€Ρ‹Ρˆ ΠΊΠ½ΠΈΠ³ΠΈ

Π² основном Π² возмоТности Π½Π°ΠΉΡ‚ΠΈ Π·Π°Π³Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ языка (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ

ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Π˜Π›Π˜ ΠΈΠ»ΠΈ XOR?). Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ UNIX,

Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Π» компилятор ΠΈ патологичСски боялся Ρ†ΠΈΠΊΠ»ΠΎΠ² while

ΠΌΠΎΠΆΠ΅Ρ‚ сначала Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ мягкоС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½ΠΎ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…

Π―Π·Ρ‹ΠΊ программирования C — бСсцСнный рСсурс.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ языка программирования c

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

Π―Π·Ρ‹ΠΊ программирования c Π±Ρ‹Π» создан ДСннисом Π ΠΈΡ‡ΠΈ Π² 1971 Π³ΠΎΠ΄Ρƒ. Он являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ языка программирования B , созданного КСном Вомпсоном Π² 1969 Π³ΠΎΠ΄Ρƒ. Π―Π·Ρ‹ΠΊ программирования B являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ языка программирования BCPL , созданного ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ Ричардсом Π² 1966 Π³ΠΎΠ΄Ρƒ.

ВсС эти языка Π±Ρ‹Π»ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, с языком программирования Algol 60 , созданным Π² 1960 Π³ΠΎΠ΄Ρƒ.

Π―Π·Ρ‹ΠΊ программирования C ΠΈΠΌΠ΅Π» сходство с ΠΊΠ°ΠΊ BCPL, Ρ‚Π°ΠΊ ΠΈ B, Π½ΠΎ Π² основном отличался Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ для языка программирования C , ΠΌΠ΅ΠΆΠ΄Ρƒ 1971 ΠΈ 1974 Π³ΠΎΠ΄Π°ΠΌΠΈ, Π±Ρ‹Π»ΠΈ:

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ, ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ, ΠΈΠ»ΠΈ k & R, C

ПозТС, Π±Ρ‹Π»ΠΈ внСсСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ язык . НапримСр, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ: short ΠΈ union , нотация для привСдСния: (имя-Ρ‚ΠΈΠΏΠ°), Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ имя для Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°: typedef .Π­Ρ‚Π° вСрсия C извСстна ΠΊΠ°ΠΊ классичСская ΠΈΠ»ΠΈ традиционная ΠΈΠ»ΠΈ k & R C.

Бсылка для языка программирования c Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ с 1976 ΠΏΠΎ 1983 Π³ΠΎΠ΄ Π±Ρ‹Π»Π°:

НСкоторыС синтаксичСскиС измСнСния , сущСствовали ΠΌΠ΅ΠΆΠ΄Ρƒ C 1974 ΠΈ классичСским C , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

int y 3;
/ * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² C 1974 * /

int y = 3;
/ * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² C 1978 * /
 

И Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСмантичСскиС измСнСния, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ C 1974 ΠΈ классичСским C , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Ρƒ = -2;
/ * УмСньшаСм y на 2, в C 1974 * /

Ρƒ = -2;
/ * ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ -2 ΠΊ y Π² C 1978 * /
 

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ описана Π² справочникС.

ANSI C ΠΈΠ»ΠΈ C89 ΠΈΠ»ΠΈ C90

ПослС этого Π² язык Π±Ρ‹Π»ΠΈ внСсСны дальнСйшиС измСнСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° enum ΠΈ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° const , Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСмантичСскиС измСнСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ , , язык программирования C.

Π’ 1983 Π³ΠΎΠ΄Ρƒ АмСриканский институт Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов сформировал ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ X3J11 . ЦСлью этого ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° Π±Ρ‹Π»Π° стандартизация языка программирования C.

Π’ 1989 Π³. ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ выпустил стандарт ANSI C 1989 , принятый ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ стандартизации ISO ΠΊΠ°ΠΊ ISO / IEC 9899: 1990.

Ansi C прСдставил Π½ΠΎΠ²Ρ‹ΠΉ способ объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ , , старый способ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ограничСниями.

НапримСр, Π² классичСском C функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСна β€‹β€‹ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

имя (список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ссли Π΅ΡΡ‚ΡŒ)
объявлСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ссли Π΅ΡΡ‚ΡŒ
{
Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΈ заявлСния, Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ
}
 

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² ANSI C Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ заявлСны:

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ имя-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (объявлСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) {
    Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΈ заявлСния
}
 

ANSI C Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» сСмантичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ , ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΈ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ цСлочислСнного Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сначала ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠΎΠΌ int, Π° Π½Π΅ Ρ‚ΠΈΠΏΠΎΠΌ unsigned int .

ANSI C, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдставили ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ C , которая содСрТит Π½Π°Π±ΠΎΡ€ пСрСносимых Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ макросы ΠΈ Ρ‚ΠΈΠΏΡ‹.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ стандарта ISO / IEC 9899: 1990 C ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь .

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ вСрсии

ПослС выпуска стандарта ISO / IEC 9899: 1990 C Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ стандартизации ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»Π°ΡΡŒ.Π­Ρ‚ΠΈ усилия ΠΏΠΎ стандартизации ΡΠ²Π»ΡΡŽΡ‚ΡΡ всСго лишь пСрСсмотром стандарта C .

Π­Ρ‚ΠΈ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ содСрТат Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дополнСния ΠΈΠ»ΠΈ удалСния ΠΊ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ c11 .

Или это просто Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ синтаксичСскиС ΠΈΠ»ΠΈ сСмантичСскиС измСнСния Π² языкС C, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово _Atomic , Π² стандарт c11 .

Π Π΅Π²ΠΈΠ·ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

ВсС вСрсии C Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ совмСстимы с прямой вСрсиСй .

ЦСль языка C

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

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

Когда Π±Ρ‹Π» создан C, ΠΎΠ½ Π±Ρ‹Π» создан ΠΊΠ°ΠΊ язык программирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ссылки

Π˜Π·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»ΠΈ C (язык программирования), C (язык программирования)

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

C Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ДСннисом Π ΠΈΡ‡ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ 1969 ΠΈ 1973 Π³ΠΎΠ΄Π°ΠΌΠΈ Π² AT&T Bell Labs ΠΈ использовался для (Ρ€Π΅) Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΎΠ½ стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования всСх Π²Ρ€Π΅ΠΌΠ΅Π½ с компиляторами C. ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… поставщиков, доступных для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. C Π±Ρ‹Π» стандартизирован АмСриканским Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ институтом стандартов (ANSI) с 1989 Π³ΠΎΠ΄Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ стандартизации (ISO).

МногиС Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ языки прямо ΠΈΠ»ΠΈ косвСнно заимствованы ΠΈΠ· C, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ C ++, D, Go, Rust, Java, JavaScript, Limbo, LPC, C #, Objective-C, Perl, PHP, Python, Verilog (язык описания оборудования) ΠΈ ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° C Unix. Π­Ρ‚ΠΈ языки заимствовали ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· своих ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· C, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с ΠΎΠ±Ρ‰ΠΈΠΌ синтаксичСским сходством с C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ простыС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры. C Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ языка для Π΄Ρ€ΡƒΠ³ΠΈΡ… языков ΠΈ для создания стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ срСды выполнСния. систСмы для языков Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CPython.

Π Π°Π½Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ C тСсно связано с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° языкС ассСмблСра Π½Π° PDP-7 Π ΠΈΡ‡ΠΈ ΠΈ Вомпсоном с использованиСм Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ΄Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅Π³. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΎΠ½ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ пСрСнСсти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Π½Π° PDP-11. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ вСрсия Unix для PDP-11 Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π½Π° языкС ассСмблСра. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ рассматривали Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ систСму с использованиСм языка B, ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ вСрсии BCPL Вомпсона.Однако Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ B Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ функциями PDP-11, особСнно Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ адрСсациСй, ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ C.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° C Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² 1972 Π³ΠΎΠ΄Ρƒ Π² систСмС PDP-11 Unix ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появилась Π² вСрсии 2 Unix. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык Π½Π΅ разрабатывался с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ пСрСносимости, Π½ΠΎ вскорС ΠΎΠ½ стал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…: компилятор для Honeywell 6000 Π±Ρ‹Π» написан Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° истории C, Π° вскорС послСдовал пСрСнос Π½Π° IBM System / 370.

Π’Π°ΠΊΠΆΠ΅ Π² 1972 Π³ΠΎΠ΄Ρƒ большая Ρ‡Π°ΡΡ‚ΡŒ Unix Π±Ρ‹Π»Π° пСрСписана Π½Π° C.К 1973 Π³ΠΎΠ΄Ρƒ, с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ структурных Ρ‚ΠΈΠΏΠΎΠ², язык C стал Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ ядра Unix Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π½Π° C.

Unix Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ядСр ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° языкС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ ассСмблСра. (Π‘ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ экзСмпляры Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ систСму Multics (Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° PL / I) ΠΈ MCP (Master Control Program) для Burroughs B5000, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° ALGOL Π² 1961 Π³ΠΎΠ΄Ρƒ.) ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1977 Π³ΠΎΠ΄Ρƒ Π² язык Π±Ρ‹Π»ΠΈ внСсСны дальнСйшиС измСнСния Π ΠΈΡ‡ΠΈ ΠΈ Π‘Ρ‚ΠΈΠ²Π΅Π½ΠΎΠΌ ДТонсоном. для облСгчСния пСрСносимости ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix.ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ компилятор Π‘ΠΈ ДТонсона послуТил основой для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π‘ΠΈ Π½Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

ΠžΠ±Π·ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ языку программирования K&R C

SomeDudeSays.com являСтся участником ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Amazon Services LLC Associates, партнСрской Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° счСт ссылок Π½Π° Amazon.com ΠΈ связанныС с Π½Π΅ΠΉ сайты.

K&R C Book рСкламируСтся ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ C.Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π‘Ρ€Π°ΠΉΠ°Π½Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ ДСнниса Π ΠΈΡ‡ΠΈ (ΡΠΎΠ·Π΄Π°Π²ΡˆΠΈΡ… язык Π‘ΠΈ). ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для языка C, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎ сих ΠΏΠΎΡ€ ΡˆΠΈΡ€ΠΎΠΊΠΎ читаСтся. Книга K&R C — это Π½Π΅ просто языковая ΠΊΠ½ΠΈΠ³Π°, это ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… стандартов. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ C, это всС Ρ€Π°Π²Π½ΠΎ отличная модСль для обучСния языку, Π° Ρ‚Π°ΠΊΠΆΠ΅ для докумСнтирования спСцификации.

Когда я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ программист Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΌΠ½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с этого. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ копию.Мой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ экзСмпляр Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. Π₯отя это Π±Ρ‹Π» K&R C, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» для ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Π΄Π°ΠΆΠ΅ с Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹ΠΌΠΈ (Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚) компиляторами.

Книга K&R ΠΏΡ€ΠΈΠ²Π΅Π»Π° мСня ΠΎΡ‚ нСзнания ΠΊ ΡƒΠΌΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со встроСнными систСмами Π½Π° C. C нСвСроятно прост, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π±ΠΎΠ³Π°Ρ‚. Книга K&R установила стандарт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π», Π² Ρ‡Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆ C, ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π²Π°ΠΌ ΠΏΠΎ-настоящСму ΠΏΠΎΠ½ΡΡ‚ΡŒ язык, ΠΈ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ, это ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ½ΠΈΠ³Π° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚.К Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ, Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… вопросов ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ язык.

Π§Ρ‚ΠΎ это ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚?

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

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

Β«Π―Π·Ρ‹ΠΊ программирования CΒ» ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

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

Он Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ язык Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (ΠΊΠ°ΠΊ это дСлаСтся Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ), Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ управлСния, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚. Π”. Π•Π³ΠΎ выдСляСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ каТдая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ концСпция Ρ€Π°Π·Π±ΠΈΡ‚Π° доступным способом. НапримСр, , Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ прСдставлСны Π² ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ if ([Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅]) {[Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ]} , Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ фактичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ выглядит общая структура, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сначала ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ для Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Π΅Π³ΠΎ нСльзя Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΈΡ… объяснСния Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопросов, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚.

Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс каТСтся Π·Π΄Ρ€Π°Π²Ρ‹ΠΌ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ языковыС ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ясности ΠΈ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ основы. Π―Π·Ρ‹ΠΊ программирования C начинаСтся с описания использования ΠΈ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ структуры ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π΅ Π² контСкстС языка ΠΈ программирования Π² Ρ†Π΅Π»ΠΎΠΌ.НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я люблю Lua, ΠΊΠ½ΠΈΠ³Π° Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Lua Β» бСсполСзна Π² качСствС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ пособия ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ слСдуСт этому Ρ‚ΠΈΠΏΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса.

АктуалСн Π»ΠΈ C?

ΠŸΠΎΡ‡Ρ‚ΠΈ каТдая соврСмСнная опСрационная систСма написана Π½Π° C ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ‚ C. Π―Π΄Ρ€ΠΎ Linux написано Π½Π° C, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ основныС инструмСнты ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ написаны Π½Π° C. Π―Π΄Ρ€ΠΎ NT для Windows Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни написано Π½Π° C. MacOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Objective-C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ANSI C с Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ систСмой, встроСнной для написания ΠΌΠ½ΠΎΠ³ΠΈΡ… своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.C ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ присутствуСт практичСски Π²ΠΎ всСм, Ссли Π²Ρ‹ посмотритС достаточно Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

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

Π’Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ Perl ΠΈ Lua, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° основС C, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ привязаны.Π”Π°ΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Python, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° основС C (хотя Python Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ C ++). Π₯отя ΠΊΠ½ΠΈΠ³Π° K&R C Π½Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ вас всСму этому, ΠΎΠ½Π° Π½Π°ΡƒΡ‡ΠΈΡ‚ вас языку Π² достаточной стСпСни, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ для Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ языку C ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ языку C

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

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

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

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ это здСсь:

Π―Π·Ρ‹ΠΊ программирования C ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‡ΠΈ | ΠœΠ°Ρ€Ρ‚ΠΈΠ½ О’Π‘Ρ€Π°ΠΉΠ΅Π½ | Glasswall Engineering

Kernighan & Ritchie’s The C Programming Language — Π»ΡƒΡ‡ΡˆΠ°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΎ языкС C. Π­Ρ‚ΠΎ нСбольшая ΠΊΠ½ΠΈΠ³Π°, Π½ΠΎ, ΠΊΠ°ΠΊ сказано Π² прСдисловии, Β« C — нСбольшой язык, ΠΈ большая ΠΊΠ½ΠΈΠ³Π° для Π½Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Β»Π― ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ согласСн. Книги Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ с Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ башню ΠΎΡ‚ΠΏΡƒΠ³ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΡƒΠ³Π°Ρ‚ΡŒ.

Π’ ΠΊΠ½ΠΈΠ³Π΅ описан язык, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ стандартом ANSI. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ само ΠΏΠΎ сСбС. Код, написанный с использованиСм стандартных конструкций C, пСрСносится Π½Π° любой компилятор, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ стандарту. Π­Ρ‚ΠΎ сводит ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»ΠΊΡƒ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ компилятора ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.

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

Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ½ΠΈΠ³Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ, выраТСниям, ΠΏΠΎΡ‚ΠΎΠΊΡƒ управлСния ΠΈ всСм Π΄Ρ€ΡƒΠ³ΠΈΠΌ аспСктам.

Если я ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΎΠ²Π°Π» ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ваТная информация часто спрятана Π² сСрСдинС Π°Π±Π·Π°Ρ†Π°. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ Ρ„Π°Π½Ρ„Π°Ρ€, тСкст Π½Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ просто ΡƒΠΊΠ°Π·Π°Π½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

. Если символ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° \ , Π½Π΅ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

(см. Β§A2.5.2 Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы).Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСния Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…ΒΉ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эти ΠΊΡ€ΡƒΠΏΠΈΡ†Ρ‹ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, это нСбольшая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, нСобходимая для написания Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС C, находится Ρ‚Π°ΠΌ, Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. (Π’ ΠΌΠΎΠ΅ΠΌ старом ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ пролистанном экзСмплярС ΠΊΠ½ΠΈΠ³ΠΈ я Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°ΡŽ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ тСкст ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽ Π΅Π³ΠΎ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ Π½Π° полях!) C, это стоит ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π³Π»Π°Π² ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ упраТнСниями. Π­Ρ‚ΠΎ стоит Ρ‚ΠΎΠ³ΠΎ. Однако ΠΌΠ½Π΅ нравится Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ. Π―Π·Ρ‹ΠΊ программирования C Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ этого, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ The C Answer Book ΠΎΡ‚ Tondo & Gimpel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для всСх ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ Π² ΠΊΠ½ΠΈΠ³Π΅. Π‘Π°ΠΌΠΈ ΠΏΠΎ сСбС ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° C (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вопросы довольно слоТныС, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ — простыС).

Π‘ΠΎΠ°Π²Ρ‚ΠΎΡ€ ДСннис Π ΠΈΡ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» язык C Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС UNIX Π½Π° DEC PDP-11. Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ внСс свой Π²ΠΊΠ»Π°Π΄ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ UNIX. Π­Ρ‚ΠΈ тСхничСскиС знания ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ программистам ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, прСдоставляя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹.

НапримСр, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² — это Π±ΠΈΡ‚ΠΎΠ² . Π­Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство Π±ΠΈΡ‚ΠΎΠ² ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ (ΠΈΠ· интСрСса, эта функция однострочная!).УпраТнСния для этой Π³Π»Π°Π²Ρ‹ просят читатСля Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ setbits , invert ΠΈ rightrot . ВсС ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… шаблонов Π² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ Glasswall ΠΏΡ€ΠΈ судСбном Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² Π³Π»Π°Π²Π΅ Β«Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ систСмы Unix Β» Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС C. Π“Π»Π°Π²Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Ρ‚Ρ€ΠΈ основныС части: Π²Π²ΠΎΠ΄ / Π²Ρ‹Π²ΠΎΠ΄, файловая систСма ΠΈ распрСдСлСниС памяти.Π­Ρ‚ΠΎ всС Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ дидактичСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€; Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ!

Π”Π²Π΅ связанныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, прСдставлСнныС Π² ΠΊΠ½ΠΈΠ³Π΅, я использовал довольно часто: dcl ΠΈ undlc . dcl ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ объявлСниС C Π² словСсноС описаниС, Π° undcl ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. НапримСр, Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΡ‚Π΅ это Π² dcl

 char (* (* x ()) []) () 

Он ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚

 Β«x - это функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ char. Β».

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ описаниС слова Π² undcl , ΠΈ ΠΎΠ½ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ синтаксис C. Π’ этом случаС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ сокращСниС для тСкстового описания, поэтому () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, [] ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ массив, * ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ описаниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π² undlc ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 x () * [] * () char 

, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ объявлСниС, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Ρ€Π°Π½Π΅Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ наглядны ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΠ»Π΅Π½Π΅ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ оставлСны Π² Π²ΠΈΠ΄Π΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ.Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹. (МоТно Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ слоТныС Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π΅ часто!)

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А ΠΊ ΠΊΠ½ΠΈΠ³Π΅ содСрТит справочноС руководство ΠΏΠΎ языку. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ B — это ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π² Π½Π΅ΠΌ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ символы ΠΈ обсуТдСниС вопросов Π»ΠΎΠΊΠ°Π»ΠΈ).

МоС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ высказываниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ C являСтся Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π·Π²ΡƒΡ‡ΠΈΡ‚ слСгка ΠΈΡ€ΠΎΠ½ΠΈΡ‡Π½ΠΎ, Π½ΠΎ я Π½Π΅ встрСчал ΠΊΠ½ΠΈΠ³ΠΈ C, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» Π±Ρ‹ прСдставлСн этот язык, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π² Ρ‚Π°ΠΊΠΎΠΉ сТатой ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠ°Π½Π΅Ρ€Π΅. .Π― ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ.

ДСннис Π ΠΈΡ‡ΠΈ, ΠΎΡ‚Π΅Ρ† языка программирования Unix ΠΈ C, ΡƒΠΌΠ΅Ρ€ ΠΏΠΎ адрСсу 70

ДСннис Π ΠΈΡ‡ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ принСс ΠΌΠΈΡ€Ρƒ язык программирования C ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Unix, ΡƒΠΌΠ΅Ρ€ Π² возрастС 70 Π»Π΅Ρ‚.

Π ΠΈΡ‡ΠΈ (извСстный ΠΏΠΎΠ΄ Π½ΠΈΠΊΠΎΠΌ Β«dmrΒ») Π±Ρ‹Π» Ρ‡Π°ΡΡ‚ΡŒΡŽ дуэта Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с КСном. Вомпсона ΠΈΠ· Bell Labs, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈΡΡŒ Π² 1967 ΠΈ 1966 Π³ΠΎΠ΄Π°Ρ… соотвСтствСнно. Π ΠΈΡ‡ΠΈ создал язык программирования C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΠ» язык программирования B, ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π½Ρ‹ΠΉ Вомпсоном.

ПозТС ΠΎΠ½ΠΈ создали Unix, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ для ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ написанный Π½Π° ассСмблСрС, Π² 1969 Π³ΠΎΠ΄Ρƒ ΠΈ написанный Π½Π° C Π² 1973 Π³ΠΎΠ΄Ρƒ. Unix стал ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм для критичСски Π²Π°ΠΆΠ½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ инфраструктуры Π²ΠΎ всСм ΠΌΠΈΡ€Π΅, хотя ΠΈ Π½Π΅ для этого. всС.

Π ΠΈΡ‡ΠΈ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ сказал: Β«UNIX ΠΎΡ‡Π΅Π½ΡŒ проста, Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π΅ простоту». Unix, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, стал источником вдохновСния для Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Linux ΠΈ iOS ΠΎΡ‚ Apple.

UNIX AT 40: ΠŸΡ€ΠΎΡˆΠ»ΠΎΠ΅, настоящСС ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ОБ

ΠŸΠ Π•Π”Π«Π‘Π’ΠžΠ Π˜Π―: Π’ΠΈΡ…Ρ€Π΅Π²ΠΎΠΉ Ρ‚ΡƒΡ€ ΠΏΠΎ основным Π½Π°Π³Ρ€Π°Π΄Π°ΠΌ, прСмиям ΠΈ почСстям Π² области Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ

ЀактичСски, сторонники Unix Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° этой Π½Π΅Π΄Π΅Π»Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ достиТСния Π ΠΈΡ‡ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π½Ρ‹.

Π”ΠΆΠΎΠ½ «Мэддог» Π₯ΠΎΠ»Π», ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Linux International, написал Π² Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π΅: «… всС программисты обязаны Π΅ΠΌΡƒ ΠΌΠΈΠ½ΡƒΡ‚ΠΎΠΉ молчания».

Π ΠΎΠ± Пайк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π» с Π ΠΈΡ‡ΠΈ Π² Bell Labs, Π² Ρ‚ΠΎΠΌ числС Π½Π°Π΄ ΠΏΠ»Π°Π½ΠΎΠΌ 9-Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° Unix, написал Π² Google+: «Он Π±Ρ‹Π» Ρ‚ΠΈΡ…ΠΈΠΌ ΠΈ Π² основном частным Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π½ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» ΠΌΠΎΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ ΠΈ сотрудником, ΠΈ ΠΌΠΈΡ€ потСрял поистинС Π²Π΅Π»ΠΈΠΊΠΈΠΉ Ρ€Π°Π·ΡƒΠΌ «.

МногиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ упомянули ΠΊΠ½ΠΈΠ³Ρƒ Β«Π―Π·Ρ‹ΠΊ программирования CΒ», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π ΠΈΡ‡ΠΈ ΠΈ Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ написали Π² соавторствС ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π² 1978 Π³ΠΎΠ΄Ρƒ, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ², Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎ сих ΠΏΠΎΡ€ Π»Π΅ΠΆΠΈΡ‚ Π½Π° ΠΈΡ… ΠΊΠ½ΠΈΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΠΊΠ°Ρ… для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ использования.ΠšΠ½ΠΈΠ³Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ K&R Π² Ρ‡Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ².

Π ΠΈΡ‡ΠΈ ΠΏΡ€ΠΈ ΠΆΠΈΠ·Π½ΠΈ Π±Ρ‹Π» Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Π½ Π·Π° свои достиТСния. БовсСм Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠ½ ΠΈ Вомпсон ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΌΠΈΡŽ Π―ΠΏΠΎΠ½ΠΈΠΈ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ 600 000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π·Π° свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Unix.

Π ΠΈΡ‡ΠΈ ΠΈ Вомпсон Ρ€Π°Π½Π΅Π΅ Π²Ρ‹ΠΈΠ³Ρ€Π°Π»ΠΈ ΠΏΡ€Π΅ΠΌΠΈΡŽ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π° ΠΎΡ‚ Ассоциации Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π² 1983 Π³ΠΎΠ΄Ρƒ ΠΈ ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ мСдаль БША Π·Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΈ Π² 1998 Π³ΠΎΠ΄Ρƒ, Π²Ρ€ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠΌ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠΌ Π‘ΠΈΠ»Π»ΠΎΠΌ ΠšΠ»ΠΈΠ½Ρ‚ΠΎΠ½ΠΎΠΌ. Π­Ρ‚ΠΈ Π΄Π²ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ удостоСны звания стипСндиатов ΠœΡƒΠ·Π΅Ρ истории ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² 1997 Π³ΠΎΠ΄Ρƒ.

Π ΠΈΡ‡ΠΈ ΡƒΡˆΠ΅Π» ΠΈΠ· Lucent Technologies Π² 2007 Π³ΠΎΠ΄Ρƒ. Bell Labs Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ исслСдований ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Alcatel-Lucent. ΠšΠΎΠ½Ρ‡ΠΈΠ½Π° Π ΠΈΡ‡ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΡƒΠ΅Ρ‚ собой Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΡΠΌΠ΅Ρ€Ρ‚ΡŒ Π³ΠΈΠ³Π°Π½Ρ‚ΠΎΠ² тСхнологичСской индустрии Π·Π° послСднюю нСдСлю. Π‘Ρ‚ΠΈΠ² ДТобс ΡƒΠΌΠ΅Ρ€ Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ Π² возрастС 56 Π»Π΅Ρ‚, Π° Π±Ρ‹Π²ΡˆΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Motorola ΠΈ Π»ΠΈΠ΄Π΅Ρ€ индустрии ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π ΠΎΠ±Π΅Ρ€Ρ‚ Π£. Гэлвин ΡƒΠΌΠ΅Ρ€ Ρ€Π°Π½Π΅Π΅ Π½Π° этой Π½Π΅Π΄Π΅Π»Π΅ Π² возрастС 89 Π»Π΅Ρ‚.

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ сообщСствам Network World Π½Π° Facebook ΠΈ LinkedIn, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ самыС Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹.

Copyright Β© 2011 IDG Communications, Inc.

«ЧСртовски Π³Π»ΡƒΠΏΡ‹ΠΉ поступок» — истоки C

Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ / Как Π±Ρ‹ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ Π² это ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½ΠΎ Π‘ΠΈ Π½Π΅ просто родился Π² поношСнной Ρ„ΠΎΡ€ΠΌΠ΅ Π² мягкой ΠΎΠ±Π»ΠΎΠΆΠΊΠ΅.

Π’ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ C повлиял Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎΡ‡Ρ‚ΠΈ всСх языков программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… с 1980-Ρ… Π³ΠΎΠ΄ΠΎΠ². НСкоторыС языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C ++, C # ΠΈ objective C, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ прямыми ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ этого языка, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки просто Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ синтаксис C.ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ, Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌΡƒ с Java, PHP, Ruby, Python ΠΈΠ»ΠΈ Perl, Π½Π΅ составит большого Ρ‚Ρ€ΡƒΠ΄Π° ΠΏΠΎΠ½ΡΡ‚ΡŒ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C, ΠΈ Π² этом смыслС C ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΊ lingua franca срСди программистов.

Но Π‘ΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ· Π²ΠΎΠ·Π΄ΡƒΡ…Π° ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ C начинаСтся Π² Англии, с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Алана Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΠΈΠ³Ρ€Π°Π»Π° Π² шашки.

Π‘ΠΎΠΆΠ΅, Ρ…Ρ€Π°Π½ΠΈ короля

ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Ρ€ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ Π±Ρ‹Π» извСстСн ΠΊΠ°ΠΊ Β«Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ писал ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β», ΠΊΠ°ΠΊ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π² Π΄Π»ΠΈΠ½Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΆΡƒΡ€Π½Π°Π»Π° Annals of the History of Computing . Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° рСпутация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π» Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠœΠ°Π½Ρ‡Π΅ΡΡ‚Π΅Ρ€ΡΠΊΠΎΠ³ΠΎ унивСрситСта Π² 1951 Π³ΠΎΠ΄Ρƒ. Бтрэчи оказался Ρ‚Π°ΠΌ, работая Π½Π°Π΄ ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Ferranti Mark I Ρ‡Π΅Ρ€Π΅Π· старый ΠšΠΎΡ€ΠΎΠ»Π΅Π²ΡΠΊΠΈΠΉ ΠΊΠΎΠ»Π»Π΅Π΄ΠΆ Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ΅, ΠΏΠΎ связям с Аланом Π’ΡŒΡŽΡ€ΠΈΠ½Π³ΠΎΠΌ.

Бтрэчи родился Π² 1916 Π³ΠΎΠ΄Ρƒ Π² британской сСмьС с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ связями — Π΅Π³ΠΎ дядя Π›ΠΈΡ‚Ρ‚ΠΎΠ½ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основатСлСй Bloomsbury Group, Π° Π΅Π³ΠΎ ΠΎΡ‚Π΅Ρ† ΠžΠ»ΠΈΠ²Π΅Ρ€ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ сыграл Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ союзников ΠΏΠΎ Π²Π·Π»ΠΎΠΌΡƒ ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎ врСмя ΠΎΠ±Π΅ΠΈΡ… ΠΌΠΈΡ€ΠΎΠ²Ρ‹Ρ… Π²ΠΎΠΉΠ½.

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

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

Π’ 1951 Π³ΠΎΠ΄Ρƒ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ смог ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ познакомился с Майком Π’ΡƒΠ΄Π³Π΅Ρ€ΠΎΠΌ Π² ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ физичСской Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π’Π΅Π»ΠΈΠΊΠΎΠ±Ρ€ΠΈΡ‚Π°Π½ΠΈΠΈ.ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ дСнь своих роТдСствСнских ΠΊΠ°Π½ΠΈΠΊΡƒΠ», знакомясь с Pilot ACE Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ, ΠΎΠ½ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» свободноС врСмя Π² Π₯Π°Ρ€Ρ€ΠΎΡƒ, выясняя, ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² шашки. Как сказал ΠœΠ°Ρ€Ρ‚ΠΈΠ½ КэмпбСлл-КСлли, ΠΊΠΎΠ»Π»Π΅Π³Π° Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ Π² послСдниС Π³ΠΎΠ΄Ρ‹ Π΅Π³ΠΎ ΠΆΠΈΠ·Π½ΠΈ, «любой, Ρƒ ΠΊΠΎΠ³ΠΎ большС ΠΎΠΏΡ‹Ρ‚Π° ΠΈΠ»ΠΈ мСньшС увСрСнности, остановился Π±Ρ‹ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²Β».

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

ПозТС Ρ‚ΠΎΠΉ ΠΆΠ΅ вСсной ΠΎΠ½ ΡƒΠ·Π½Π°Π» ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ferranti Mark I, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» установлСн Π² ΠœΠ°Π½Ρ‡Π΅ΡΡ‚Π΅Ρ€ΡΠΊΠΎΠΌ унивСрситСтС, Π³Π΄Π΅ Алан Π’ΡŒΡŽΡ€ΠΈΠ½Π³ Π±Ρ‹Π» ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ. Π’ΡŒΡŽΡ€ΠΈΠ½Π³ написал руководство для программиста, ΠΈ Бтрэчи достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Π» Π΅Π³ΠΎ ΠΏΠΎ совмСстному ΠΏΡ€Π΅Π±Ρ‹Π²Π°Π½ΠΈΡŽ Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ экзСмпляр руководства.

Π Π΅ΠΊΠ»Π°ΠΌΠ°

Π’ июлС 1951 Π³ΠΎΠ΄Π° Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ ΠΈΠΌΠ΅Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠœΠ°Π½Ρ‡Π΅ΡΡ‚Π΅Ρ€ ΠΈ Π»ΠΈΡ‡Π½ΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ шашСк с Π’ΡŒΡŽΡ€ΠΈΠ½Π³ΠΎΠΌ. Достаточно Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½Π½Ρ‹ΠΉ, Π’ΡŒΡŽΡ€ΠΈΠ½Π³ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ шага ΠΎΠ½ написал ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π±Ρ‹ Ferranti Mark I ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам сСбя. Бимулятор ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ программистам шаг Π·Π° шагом ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Вакая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «трассировки» выдСляла Π±Ρ‹ Ρ‚Π΅ мСста, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π»Π° ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° нСэффСктивно.Π’ Ρ‚ΠΎ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ процСссора стоили Ρ†Π΅Π»ΠΎΠ΅ состояниС, это Π±Ρ‹Π» Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт программирования.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° трассировки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ написал Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π° Π±ΠΎΠ»Π΅Π΅ тысячи инструкций — Π² Ρ‚ΠΎ врСмя это Π±Ρ‹Π»Π° самая длинная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»Π° написана для Ferranti Mark I. Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ запустил Π΅Π΅ ΠΈ запустил послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всю Π½ΠΎΡ‡ΡŒ потянул, Π° ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ, По словам КэмпбСлл-КСлли, ΠΎΠ½ воспроизводил Β«Π‘ΠΎΠΆΠ΅, Ρ…Ρ€Π°Π½ΠΈ короля» Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

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

ИмСнно Π² этом качСствС ΠΎΠ½ ΡƒΠ·Π½Π°Π» ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ΅, осущСствляСмом Ρ‚Ρ€ΠΎΠΈΡ†Π΅ΠΉ программистов ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Дэвид.

Π”Π°Π²ΠΈΠ΄ ΠΈ Π“ΠΎΠ»ΠΈΠ°Ρ„ Π’ΠΈΡ‚Π°Π½

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€

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

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

На ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ΅ 6:55 Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ дСйствиСм EDSAC Β«ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π·Π°Π΄Π°Π½ΠΈΠΉΒ».

ВсСго Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π° Π³ΠΎΠ΄Π° послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ EDSAC 2 Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½, унивСрситСт понял, Ρ‡Ρ‚ΠΎ скоро потрСбуСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ мощная машина, ΠΈ для этого ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡƒΠΏΠΈΡ‚ΡŒ коммСрчСский мэйнфрСйм. УнивСрситСт рассматривал ΠΈ IBM 7090, ΠΈ Ferranti Atlas, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ сСбС Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ….Π’ 1961 Π³ΠΎΠ΄Ρƒ ΠŸΠΈΡ‚Π΅Ρ€ Π₯ΠΎΠ»Π», ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ подраздСлСния Ferranti, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» совмСстно с ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΈΠΌ унивСрситСтом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΡ€Π΅Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Atlas. ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«Π’ΠΈΡ‚Π°Π½Β», Π° Π€Π΅Ρ€Ρ€Π°Π½Ρ‚ΠΈ смоТСт ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ сСбС систСму Atlas.

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

О Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ языка, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ для EDSAC 2, ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°Π»ΠΈ. Β«Π’ Π½Π°Ρ‡Π°Π»Π΅ 1960-Ρ… Π±Ρ‹Π»ΠΎ принято Π΄ΡƒΠΌΠ°Ρ‚ΡŒ:Β« ΠœΡ‹ строим Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ язык программирования »», — Дэвид Π₯Π°Ρ€Ρ‚Π»ΠΈ. Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ» Π² подкастС 2017 Π³ΠΎΠ΄Π°. ВмСстС с Дэвидом Π£ΠΈΠ»Π΅Ρ€ΠΎΠΌ ΠΈ Дэвидом Бэрроном Π₯Π°Ρ€Ρ‚Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π½Π½Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ языка программирования для этого Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

«Новая опСрационная систСма Π±Ρ‹Π»Π° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Π°Β», ΠΏΠΎ словам Π₯Π°Ρ€Ρ‚Π»ΠΈ, Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык программирования — Π½Π΅Ρ‚.Β«ΠœΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅ΡΠ΅Π»ΠΈΡ‚ΡŒΡΡ с Π½ΠΎΠ²Ρ‹ΠΌ языком, Ρ‡Ρ‚ΠΎ, ΠΎΠ³Π»ΡΠ΄Ρ‹Π²Π°ΡΡΡŒ Π½Π°Π·Π°Π΄, Π±Ρ‹Π»ΠΎ чСртовски Π³Π»ΡƒΠΏΠΎΒ».

Π Π΅ΠΊΠ»Π°ΠΌΠ°

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

Wilkes Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» Π°Π½Π°Π»ΠΈΠ·Π° доступных языков программирования, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΎΠ±Ρ€ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ языка. Β«ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, — сказал Π₯Π°Ρ€Ρ‚Π»ΠΈ, — Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚Β». ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ рабочая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π»Π° Fortran IV, Π½Π΅ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡΡΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Fortran Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ разновидности Fortran. Из-Π·Π° этого Π₯Π°Ρ€Ρ‚Π»ΠΈ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ», Ρ‡Ρ‚ΠΎ Π³Ρ€ΡƒΠΏΠΏΠ° Π±Ρ‹Π»Π° ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½Π°, Ρ‡Ρ‚ΠΎ Β«ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅Π΅Β», ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ «эта Π½Π΅ΡƒΠ΄Π°Ρ‡Π° стала ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· нСсколько Π»Π΅Ρ‚.”

Π’Ρ€ΠΈΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π² июнС 1962 Π³ΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, Β«ΠΈ Π½Π°ΠΌ это Ρ‚ΠΎΠΆΠ΅ сошло с Ρ€ΡƒΠΊΒ», — Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π₯Π°Ρ€Ρ‚Π»ΠΈ.

Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ язык программирования ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ CPL (ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΈΠΉ язык программирования), ΠΈ ΠΊ 1963 Π³ΠΎΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π° шла ΠΏΠΎΠ»Π½Ρ‹ΠΌ Ρ…ΠΎΠ΄ΠΎΠΌ. К программистам ΠΈΠ· ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ° ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈΡΡŒ Π”ΠΆΠΎΠ½ Бакстон ΠΈ Π­Ρ€ΠΈΠΊ Никсон ΠΈΠ· Лондонского унивСрситСта, Π° CPL Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° Combined. Π―Π·Ρ‹ΠΊ программирования. По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ рос, Уилкс Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Ρ€Π° Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ для наблюдСния Π·Π° Π½ΠΈΠΌ, ΠΈ, ΠΏΠΎ словам КэмпбСлл-КСлли, вскорС CPL стал ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ «язык программирования ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Ρ€Π°Β» для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π±Ρ‹Π» с Π½ΠΈΠΌ связан.

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄ языком, ΡΠΎΠ±ΠΈΡ€Π°Π»Π°ΡΡŒ Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ΅ ΠΈΠ»ΠΈ Π² Π›ΠΎΠ½Π΄ΠΎΠ½Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π² Лондонском унивСрситСтС, Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях Π² студии Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠ° Π² таунхаусС Π² ΠšΠ΅Π½ΡΠΈΠ½Π³Ρ‚ΠΎΠ½Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ Π΄Π΅Π»ΠΈΠ» со своСй сСстрой. ΠšΠΎΠΌΠ½Π°Ρ‚Π° Π² Π·Π°Π΄Π½Π΅ΠΉ части Π΄ΠΎΠΌΠ° Π±Ρ‹Π»Π° обставлСна ​​викторианскими ΡΡ‚ΡƒΠ»ΡŒΡΠΌΠΈ ΠΈ ΠΏΠΎΠ΄ΡƒΡˆΠΊΠ°ΠΌΠΈ Π½Π° ΠΏΠΎΠ»Ρƒ, Π° стСны Π±Ρ‹Π»ΠΈ ΡƒΠΊΡ€Π°ΡˆΠ΅Π½Ρ‹ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π°ΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² Bloomsbury Group, нарисованными ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· родствСнников Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ. ИмСнно здСсь Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ Β«ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» суд», ΠΈΠ½ΠΎΠ³Π΄Π° Π² Ρ…Π°Π»Π°Ρ‚Π΅, ΠΈ, ΠΊΠ°ΠΊ Дэвид Бэррон вспоминал нСсколько Π»Π΅Ρ‚ спустя, Β«ΠΌΡ‹ Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΡ€ ΠΏΡ€Π°Π², ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΌ Ρ€Π°Π·Π±Π΅Π³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ своим Π΄ΠΎΠΌΠ°ΠΌ.”

К Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Дэвид Π£ΠΈΠ»Π»Π΅Ρ€ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ, оставив ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· пяти Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ: Π₯Π°Ρ€Ρ‚Π»ΠΈ, Бэррон, Бакстон, Никсон ΠΈ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ.

Π₯Π°Ρ€Ρ‚Π»ΠΈ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ CPL; «На самом Π΄Π΅Π»Π΅ это Π±Ρ‹Π»Π° довольно забавная Ρ€Π°Π±ΠΎΡ‚Π°Β», — вспоминал ΠΎΠ½. ВстрСчи носили довольно Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. Β«ΠœΡ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π³ΠΎΡ€ΡΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² Π½Π°Ρ‡Π°Π»ΠΈ ΠΊΠΈΠ΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° Π±ΡƒΠΌΠ°ΠΆΠ½Ρ‹Π΅ Π΄Ρ€ΠΎΡ‚ΠΈΠΊΠΈ [самолСтики]Β».

Π“Ρ€ΡƒΠΏΠΏΠ° Π½Π°Ρ‡Π°Π»Π° со спСцификаций ALGOL 60 с Ρ†Π΅Π»ΡŒΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΒ» язык: Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π±Ρ‹ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ для мноТСства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ эстСтичСски ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ эффСктивным.

ΠŸΠΎΡ‡Ρ‚ΠΈ сразу Ρƒ Π½ΠΈΡ… Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трудности с расстановкой ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» Дэвид Бэррон ΠΎ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ: «Для Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ Π½Π°ΡΡ‚Π°ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… различиях с Ρ‚ΠΎΠΉ ΠΆΠ΅ силой, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ настаивал Π½Π° основных ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ…Β». Одна нСбольшая ΠΏΡ€ΠΈΠ΄ΠΈΡ€ΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Π²ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Β«Π•Π‘Π›Π˜β€¦ Π’Πžβ€¦ Π˜ΠΠΠ§Π•Β». Β«Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠ΅ имя Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ английский язык», — Π±Ρ‹Π»ΠΎ Π΅Π³ΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ·ΠΆΠ΅ написал Π₯Π°Ρ€Ρ‚Π»ΠΈ для Annals of the History of Computing . Π‘Ρ‚Ρ€Π΅ΠΉΡ‡ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π» Β«Π˜Π›Π˜Β», Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ»ΠΎ способу использования Β«Π˜Π›Π˜Β» ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языках программирования. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅Π³ΠΎ прСдпочтСния Π²ΠΎΠ·ΠΎΠ±Π»Π°Π΄Π°Π»ΠΈ, ΠΈ справочноС руководство ΠΏΠΎ CPL Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎ Β«Π˜Π›Π˜Β» Π² Ρ‚ΠΎΠΌ мСстС, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ Β«Π˜ΠΠΠ§Π•Β».

Руководство CPL, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, доступно Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π¦Π΅Π½Π½ΠΎΠ΅ врСмя Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ способа ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ использования Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ для обозначСния умноТСния. Π—Π΄Π΅ΡΡŒ эстСтичСскиС сообраТСния ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ ослоТнСниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ для использования языка программирования, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ слоТныС ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Β«3aΒ», ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ Β«3 * aΒ», ΠΈ Β«3aΒ» Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ВсС это врСмя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΠ° всС большС Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² отсутствии подходящСго языка программирования для Π½ΠΎΠ²ΠΎΠ³ΠΎ унивСрситСтского ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Atlas. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ языка Π±Ρ‹Π»ΠΈ Π² основном Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Ρ‹, Π½ΠΎ компилятора Π½Π΅ Π±Ρ‹Π»ΠΎ. Рабочая Π³Ρ€ΡƒΠΏΠΏΠ° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ услоТнила CPL, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ компилятор ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ созданию нСвСроятно нСэффСктивного машинного ΠΊΠΎΠ΄Π°.

.

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

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