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

Π“Π»Π°Π²Π° 4. Π‘Ρ€Π΅Π΄Π° программирования — ΠžΡΠ½ΠΎΠ²Ρ‹ программирования

Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ основам программирования для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².β€Ž > β€ŽΠ“Π»Π°Π²Π° 1. НачинаСм свой ΠΏΡƒΡ‚ΡŒβ€Ž > β€ŽΠ“Π»Π°Π²Π° 2. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€?β€Ž > β€ŽΠ“Π»Π°Π²Π° 3. Π―Π·Ρ‹ΠΊΠΈ программирования. Π―Π·Ρ‹ΠΊ Π‘++β€Ž > β€Ž

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

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

ΠžΠ±Ρ‰Π΅Π΅ описаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ срСды программирования

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

  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап — Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;
  • Π’Ρ‚ΠΎΡ€ΠΎΠΉ этап — ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ (прСпроцСссорная) ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°;
  • Π’Ρ€Π΅Ρ‚ΠΈΠΉ этап — компиляция;
  • Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ этап — ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°;
  • ΠŸΡΡ‚Ρ‹ΠΉ этап — Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°;
  • ШСстой этап — Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠœΡ‹ остановимся Π½Π° систСмС Π‘++, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° UNIX, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ этот процСсс. Π’ Windows Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих этапов Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ автоматичСски Π±Π΅Π· участия программиста.

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

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

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

Компоновка.Β Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ этап называСтся ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘++ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТат ссылки Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΈΠ»ΠΈ Π² Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… Π³Ρ€ΡƒΠΏΠΏ программистов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, созданный компилятором, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТит Β«Π΄Ρ‹Ρ€Ρ‹Β» ΠΈΠ·-Π·Π° этих ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… частСй. ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ связываСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΊΠΎΠ΄Π°ΠΌΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исполняСмый Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Π±Π΅Π· ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… частСй). ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π² ΠΈΡ‚ΠΎΠ³Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .exe (для Windows), Π»ΠΈΠ±ΠΎ .out (для Linux).

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

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

Π‘Ρ€Π΅Π΄Π° CodeBlocks

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

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

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ:

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ срСда программирования ΠΈ 10 Π»ΡƒΡ‡ΡˆΠΈΡ… IDE

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

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ IDE (интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½Π° отличаСтся ΠΎΡ‚ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°?
  • Microsoft Visual Studio
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда программирования NetBeans
  • PyCharm — Π»ΡƒΡ‡ΡˆΠ°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Python
  • IntelliJ IDEA
  • Eclipse
  • Code::Blocks
  • Aptana Studio 3
  • Komodo
  • RubyMine
  • Xcode
  • Π’Ρ‹Π±ΠΎΡ€ подходящСй IDE

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

IDE (integrated development environment) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΈ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ…. НСкоторыС ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструмСнтами для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, тСстирования ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Π΅Ρ€ΠΌΠΈΠ½ «интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ прСдоставляСтся всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для прСвращСния ΠΊΠΎΠ΄Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ прилоТСния.

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅ списком Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ нСдостатков ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· 10 Π»ΡƒΡ‡ΡˆΠΈΡ… IDE.

Microsoft Visual Studio — это интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ†Π΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚ $699 Π΄ΠΎ $2900. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ вСрсий этой IDE способны ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ всС Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, начиная ΠΎΡ‚ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ заканчивая ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ прилоТСниями, Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°ΠΌΠΈ. Π­Ρ‚Π° Π»ΠΈΠ½Π΅ΠΉΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя мноТСство инструмСнтов для тСстирования совмСстимости. Благодаря своСй гибкости Visual Studio являСтся ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ инструмСнтом для студСнтов ΠΈ профСссионалов.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: Ajax, ASP.NET, DHTML, JavaScript, JScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • ΠžΠ³Ρ€ΠΎΠΌΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, которая постоянно увСличиваСтся;
  • IntelliSense;
  • НастраиваСмая панСль ΠΈ закрСпляСмыС ΠΎΠΊΠ½Π°;
  • ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ΠΈ файловая иСрархия;
  • Бтатистика ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ;
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ;
  • Π›Π΅Π³ΠΊΠΈΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ вставка Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π°;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экрана;
  • Бписок ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ;
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° утвСрТдСния ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ClickOnce, Windows Installer ΠΈΠ»ΠΈ Publish Wizard.

НСдостатки: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Visual Studio IDE являСтся супСртяТСлой, для открытия ΠΈ запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… устройствах внСсСниС простых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Для простых Π·Π°Π΄Π°Ρ‡ цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ срСдство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ PHP.

БСсплатная IDE для C (ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования) с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для рСдактирования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ создания Π½ΠΎΠ²Ρ‹Ρ…. NetBeans ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ простой drag-and-drop интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поставляСтся с большим количСством ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… шаблонов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘Ρ€Π΅Π΄Π° Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки программирования: C, C++, C++ 11, Fortran, HTML 5, Java, PHP ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • Π˜Π½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ drag-and-drop интСрфСйс;
  • ДинамичСскиС ΠΈ статичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСссий GNU-ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠΎΠ΄Π°;
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅;
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Windows, Linux, OS X ΠΈ Solaris;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Qt Toolkit;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Fortran ΠΈ Assembler;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ†Π΅Π»ΠΎΠ³ΠΎ ряда компиляторов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ CLang / LLVM, Cygwin, GNU, MinGW ΠΈ Oracle Solaris Studio.

НСдостатки: эта бСсплатная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ потрСбляСт ΠΌΠ½ΠΎΠ³ΠΎ памяти, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ПК.

PyCharm Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Jet Brains. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ прСдоставляСтся бСсплатная вСрсия Community Edition, 30-днСвная бСсплатная ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия Professional Edition ΠΈ годовая подписка Π·Π° $213 — $690 Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ Professional Edition. КомплСксная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠ΄Π° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π΅Π»Π°ΡŽΡ‚ PyCharm Π»ΡƒΡ‡ΡˆΠ΅ΠΉ IDE для Python-программистов.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: AngularJS, Coffee Script, CSS, Cython, HTML, JavaScript, Node.js, Python, TypeScript.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами Windows, Linux ΠΈ Mac OS;
  • ΠŸΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ с Django IDE;
  • Π›Π΅Π³ΠΊΠΎ интСгрируСтся с Git, Mercurial ΠΈ SVN;
  • НастраиваСмый интСрфСйс с эмуляциСй VIM;
  • ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ JavaScript, Python ΠΈ Django;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Google App Engine.

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° IDE, разработанная Jet Brains. Она ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Community Edition, 30-Π΄Π½Π΅Π²Π½ΡƒΡŽ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ultimate Edition ΠΈ Π³ΠΎΠ΄ΠΎΠ²ΡƒΡŽ подписку Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ Ultimate Edition Π·Π° $533 — $693. IntelliJ IDEA ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Java 8 ΠΈ Java EE 7, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ инструмСнтариСм для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ†Π΅Π½Π΅, IntelliJ являСтся прСкрасным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ списка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки программирования: AngularJS, CoffeeScript, HTML, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass, TypeScript ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ UML;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… систСм сборки;
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс тСстового запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Git;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Google App Engine, Grails, GWT, Hibernate, Java EE, OSGi, Play, Spring, Struts ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…;
  • ВстроСнныС срСдства развСртывания ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° сСрвСров ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
  • Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ для HTML, CSS ΠΈ Java;
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий;
  • AIR Mobile с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Android ΠΈ iOS.

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

Π‘Ρ€Π΅Π΄Π° программирования C (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования) с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎΡ‚ инструмСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠ°ΠΊ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΈ для профСссионалов. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создаваСмый ΠΊΠ°ΠΊ срСда для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСгодня Eclipse ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ возмоТностСй благодаря Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ. Помимо срСдств ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Git / CVS, стандартная вСрсия Eclipse поставляСтся с инструмСнтами Java ΠΈ Plugin Development Tooling. Если Π²Π°ΠΌ этого нСдостаточно, доступно ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²: инструмСнты для построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, модСлирования, составлСния ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², тСстирования ΠΈ создания графичСских интСрфСйсов. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Marketplace Eclipse ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ доступ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: C, C++, Java, Perl, PHP, Python, Ruby ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎΡΠ·Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ;
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Java IDE, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ иСрархичСскиС прСдставлСния Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²;
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ увСдомлСния Π² систСмном Ρ‚Ρ€Π΅Π΅;
  • АвтоматичСскоС созданиС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…;
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ инструмСнтария для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² JEE;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с JUnit.

НСдостатки: ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ этой срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΠ³Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Eclipse Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСми Ρ‚Π΅ΠΌΠΈ функциями, Ρ‡Ρ‚ΠΎ ΠΈ IntelliJ IDEA, Π½ΠΎ являСтся IDE с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Гибкая IDE, которая ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, поэтому ΠΎΠ½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ пространствами. ВстроСнный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ эту IDE ΠΏΠΎΠ΄ свои потрСбности.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: C, C++, Fortran.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ интСрфСйс с Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²;
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Linux, Mac ΠΈ Windows;
  • Написана Π½Π° C++;
  • НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Ρ… языков программирования;
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ встроСнных ΠΈ настраиваСмых ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько компиляторов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ GCC, MSVC ++, clang ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅;
  • ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ;
  • ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с подсвСткой синтаксиса ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ автоматичСского заполнСния;
  • НастраиваСмыС внСшниС инструмСнты;
  • ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ срСдства управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, идСально подходящиС для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹.

НСдостатки: ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ компактная IDE для БИ, поэтому ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π½ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ программисты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½Ρ‹ Π΅Π΅ ограничСниями.

Бамая мощная ΠΈΠ· IDE с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Aptana Studio 3 Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ спСцификаций Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ этой IDE ΠΌΠΎΠ³ΡƒΡ‚ с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ быстро Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Π±-прилоТСния.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: HTML5, CSS3, JavaScript, Ruby, Rails, PHP ΠΈ Python.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • Подсказки для CSS, HTML, JavaScript, PHP ΠΈ Ruby;
  • ΠœΠ°ΡΡ‚Π΅Ρ€ развСртывания с простой настройкой ΠΈ нСсколькими ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Capistrano, FTP, FTPS ΠΈ SFTP;
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСской установки созданных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ruby ΠΈ Rails Π½Π° сСрвСры хостинга;
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ для Ruby ΠΈ Rails ΠΈ JavaScript;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Git;
  • ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ доступ ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с сотнями ΠΊΠΎΠΌΠ°Π½Π΄;
  • Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ возмоТностСй.

НСдостатки: Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΈ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΡƒΡŽ HTML срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ 21-Π΄Π½Π΅Π²Π½ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, полная вСрсия стоит $99 – $1615 Π² зависимости ΠΎΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ. Komodo ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ основных языков программирования. Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° нСбольшиС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° синтаксиса ΠΈ одноступСнчатая ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, Π΄Π΅Π»Π°ΡŽΡ‚ Komodo ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных IDE для Π²Π΅Π± ΠΈ мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: CSS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • НастраиваСмый ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ интСрфСйс;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ контроля вСрсий для Bazaar, CVS, Git, Mercurial, Perforce ΠΈ Subversion;
  • ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Python ΠΈ PHP;
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ развСртывания Π² ΠΎΠ±Π»Π°ΠΊΠ΅ благодаря Stackato PaaS;
  • ГрафичСская ΠΎΡ‚Π»Π°Π΄ΠΊΠ° для NodeJS, Perl, PHP, Python, Ruby ΠΈ Tcl;
  • АвтоматичСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³;
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Mac, Linux ΠΈ Windows

.

НСдостатки: бСсплатная вСрсия срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ вСрсия явно стоит своих Π΄Π΅Π½Π΅Π³.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ IDE, разработанная ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Jet Brains. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ 30-днСвная бСсплатная ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия, полная вСрсия стоит $210 — $687 Π² Π³ΠΎΠ΄. Удобная навигация, логичная организация Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π΄Π΅Π»Π°ΡŽΡ‚ RubyMine ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· популярных инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby ΠΈ Rails, Ruby ΠΈ SASS.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • Π‘Π½ΠΈΠΏΠΏΠ΅Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, автоматичСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ автоматичСский Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³;
  • Π”Π΅Ρ€Π΅Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт быстро Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄;
  • Π‘Ρ…Π΅ΠΌΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Rails;
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rails;
  • RubyMotion ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ΄ iOS;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° стСка Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Bundler, pik, rbenv, RVM ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅;
  • ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ JavaScript, CoffeeScript ΠΈ Ruby;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с CVS, Git, Mercurial, Perforce ΠΈ Subversion.

НСдостатки срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: Ρ‡Ρ‚ΠΎΠ±Ρ‹ RubyMine Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° бСспСрСбойно, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ трСбуСтся Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4 Π“Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. НСкоторыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ Π½Π° отсутствиС ΠΎΠΏΡ†ΠΈΠΉ настройки GUI.

Набор инструмСнтов для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iPad, iPhone ΠΈ Mac. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Cocoa Touch Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² срСдС Apple простой, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ сСрвисы, ΠΊΠ°ΠΊ Game Center ΠΈΠ»ΠΈ Passbook, ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ. ВстроСнная интСграция с сайтом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ прилоТСния Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ».

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки: AppleScript, C, C++, Java, Objective-C.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ;
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Apple LLVM сканируСт ΠΊΠΎΠ΄ ΠΈ прСдоставляСт Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;
  • ПанСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ обСспСчиваСт быстроС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ;
  • Interface Builder позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Π±Π΅Π· написания ΠΊΠΎΠ΄Π°;
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈ исходный ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ слоТным ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°ΠΌ интСрфСйсов всСго Π·Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚;
  • Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ вСрсий Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ Ρ…Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ;
  • РаспрСдСлСниС ΠΈ объСдинСниС процСссов ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅;
  • Test Navigator позволяСт быстро Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прилоТСния Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;
  • АвтоматичСски создаСт, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚, тСстируСт ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ благодаря ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с сСрвСром OX X;
  • Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс настраиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, повСдСния ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ²;
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° инструмСнтов ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСсурсов.

НСдостатки ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: для запуска Xcode Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple. А для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ создаваСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Apple Store — лицСнзия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Какая IDE окаТСтся Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ для вас зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, языка программирования ΠΈ Ρ‚Π΅Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΠ»ΠΈ Π»ΠΈ ΠΌΡ‹ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ IDE? ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ± этом Π² коммСнтариях.

Π’Π°Π΄ΠΈΠΌ Π”Π²ΠΎΡ€Π½ΠΈΠΊΠΎΠ²Π°Π²Ρ‚ΠΎΡ€-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«Best IDE Software – a List of the Top 10Β»

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ срСда программирования?

Π‘Π»ΠΎΠ³ \ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ срСда программирования?

ВрСмя чтСния:
4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹
ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ:
2 ноября 2021 Π³.
Автор:
Π‘ΠΈΠ΄Π½Π΅ΠΉ ВСсс

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

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ смыслС срСда программирования ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ описаны особСнности IDE ΠΈ Π½ΡŽΠ°Π½ΡΡ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… срСд программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваш бизнСс ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ IDE?

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

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, IDE ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΆΠ°Π»ΠΎΠ±Ρ‹, ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

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

Π₯отя IDE ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСпросто. Π’ процСссС Π²Ρ‹Π±ΠΎΡ€Π° IDE ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вопросы:

  • Какой язык Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ моя ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния? Π”ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ ΠΎΠ½Π° Π±Ρ‹Ρ‚ΡŒ совмСстима с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами?
  • ΠŸΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈΠΌ Π»ΠΈ ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π½Π°ΡˆΡƒ срСду IDE для выполнСния Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?
  • КакиС части процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ эта IDE ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠ½Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?
  • Π‘ΠΌΠΎΠ³ΡƒΡ‚ Π»ΠΈ устройства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для создания Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с объСмом памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ IDE?

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ срСд программирования

Знакомство с популярными Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ срСд программирования ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ взвСшСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π§Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнными IDE ΡΠ²Π»ΡΡŽΡ‚ΡΡ IntelliJ, Eclipse, NetBeans ΠΈ Visual Studio.

Visual Studio

Visual Studio β€” это интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, разработанная Microsoft. Он ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, прСдоставляя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ±ΡˆΠΈΡ€Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, которая позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСды. ВСстированиС совмСстимости Π² Visual Studio Ρ‚Π°ΠΊΠΆΠ΅ слоТно провСсти.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: Visual Studio

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

NetBeans

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

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

Бамая большая Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ использовании NetBeans, связана с ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах. Π‘Ρ€Π΅Π΄Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для совмСстимости с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ Java.

Eclipse

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

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

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

IntelliJ

Благодаря ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Ρ†Π΅Π½ ΠΈ ряду ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ IntelliJ являСтся ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ IDE для любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘Ρ€Π΅Π΄Π° совмСстима со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: Jet Brains

НСсмотря Π½Π° свою Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, IntelliJ β€” Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Из-Π·Π° слоТного ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΈ мноТСства ярлыков ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ для любого, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ IDE.

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

Π’Ρ‹Π±ΠΎΡ€ срСды программирования ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

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

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

ΠΠ°Π½ΡΡ‚ΡŒ Π²Π΅Π΄ΡƒΡ‰ΡƒΡŽ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€ΡΠΊΡƒΡŽ компанию

  • Компании Ruby on Rails

  • Компании ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

  • Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ

  • Компании ΠΏΠΎ производству носимых устройств

  • Компании Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉ

  • Компании-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

  • Компании ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ прилоТСниями ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅

  • Π Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Π³Π»Π°Π²Π° 1

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Π³Π»Π°Π²Π° 1
Β Β 

Π§Π°ΡΡ‚ΡŒ примСчания ΠΊ 22C:50, Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС
ΠΏΠΎ Дуглас Π’. ДТонс
T HE U ΠΠ˜Π’Π•Π Π‘Π˜Π’Π˜ Π˜Π— Π― ΠžΠ’Π Π”Π΅ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ

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

Π‘Ρ€Π΅Π΄Π° программирования

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

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

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

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

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

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

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π°Ρ структура

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

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

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹
ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ассСмблСрС
Π›ΠΈΠ½ΠΊΠ΅Ρ€Ρ‹
ΠŸΠΎΠ³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ
================================================== ======
Π―Π·Ρ‹ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄
ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄
Π’Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ доступа
Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ΄Π½ΠΈΠΌ процСссом
ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹
РаспрСдСлСниС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°
Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ
------------------------------ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ процСсса
ΠœΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅ΡΡΠ½ΠΎΠ³ΠΎ взаимодСйствия
БовмСстноС использованиС рСсурсов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ нСсколькими процСссами
ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹
 
Рисунок 1. 1. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ срСды программирования.

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ справка

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

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

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

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

ΠœΠΈΡ€ систСмного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния мСнялся ΠΎΡ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎ господство ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… поставщиков-монополистов ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнныС стандарты. Π² 1950-Ρ… ΠΈ Π½Π°Ρ‡Π°Π»Π΅ 1960-Ρ… Π³ΠΎΠ΄ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ явного Π»ΠΈΠ΄Π΅Ρ€Π° ΠΈ сущСствовало ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π΄ΠΈΠΊΠΎ расходящихся экспСримСнтов. Однако Π² ΠΊΠΎΠ½Ρ†Π΅ 1960-Ρ… Π³Π³. БСмСйство ΠΌΠ΅ΠΉΠ½Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² IBM, System 360, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы IBM, OS/360 Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΊΠ°ΠΊ монополистичСская сила, которая сохраняСтся Π΄ΠΎ настоящСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΌΠΈΡ€ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (IBM 390 Enterprise Server β€” это Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π»Π°Π³ΠΌΠ°Π½ этой Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы VM).

ВлияниС ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠΈ IBM Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΌΠ΅ΠΉΠ½Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² нСльзя Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚ΠΎΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ, Π° Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡΡ ΠΌΠΈΡ€Π΅ ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π² ΠΊΠΎΠ½Ρ†Π΅ 1960-Ρ… Π±Ρ‹Π»Π° дикая конкурСнция ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ 1970-Ρ…. ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ оборудования PDP-11 Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π»Π° Π² 1970-Ρ…, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠ³Ρ€ΠΎΠΆΠ°Π» ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Ρ‹Π½ΠΎΠΊ, ΠΈ Π±Ρ‹Π»ΠΈ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм для 11. Однако Π² 1980-Ρ… Π³ΠΎΠ΄Π°Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π² Bell Labs стала ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ стандартная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, ΠΎΡ‚ ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΄ΠΎ ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΈ с Π½ΠΎΠ²Ρ‹ΠΌ языком программирования C ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ C++.

Π Ρ‹Π½ΠΎΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², возникший Π² сСрСдинС 1970-Ρ… Π³ΠΎΠ΄ΠΎΠ², Π±Ρ‹Π» довольно Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹, Π½ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ дСсятилСтия Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π±Ρ‹Π»ΠΈ элСмСнтарно, Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС. Π Π°Π½Π½ΠΈΠ΅ вСрсии Mac OS ΠΈ Microsoft Windows прСдставлСны слоТныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы, Π½ΠΎ Π² вСрсиях Π΄ΠΎ 1995 Π³. эти ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы Π±Ρ‹Π»ΠΈ построСны Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€ΡƒΠ±ΠΎΠΉ основС.

Π Ρ‹Π½ΠΎΠΊ ΠΊΠΎΠ½Ρ†Π° 1990-Ρ…, ΠΊΠ°ΠΊ ΠΈ Ρ€Ρ‹Π½ΠΎΠΊ ΠΊΠΎΠ½Ρ†Π° 1960-Ρ…, оказалась Π²ΠΎ власти ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠΈ, Π½Π° этот Ρ€Π°Π· Π² Ρ„ΠΎΡ€ΠΌΠ΅ Microsoft Окна. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ MacOS ΠΈ Linux, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ монополистичСская сила, скрытая Π·Π° всСми трСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами, Π²ΡΠ΅ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ влияниС Unix ΠΈ C. MacOS X ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима с Unix. Windows NT ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ Linux. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π‘Π΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° всСх Ρ‚Ρ€Π΅Ρ… систСм вСдСтся Π½Π° C++, Π° Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ Java, каТутся простыми Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ Ρ‚Π΅ΠΌΡ‹ C++. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ творчСский ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΊΠΎΠ³Π΄Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ срСды программирования Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π½Π° ΠΌΠ΅ΠΉΠ½Ρ„Ρ€Π΅ΠΉΠΌΠ°Ρ… Π½Π°Ρ‡Π°Π»Π° 1960-Π΅ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ сСрСдины 1970-Π΅?

Π¦Π΅Π»ΠΈ

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