Структура та інтерпретація комп'ютерних програм / SICP українською

3 хв. читання

ГЛАВА 1 


Побутова абстракцій за допомогою процедур

 

Дії, в яких розум проявляє свої
здібності щодо своїх простих
ідей, суть головним чином наступні
три: 1) З'єднання декількох простих
ідей в одну складну; так утворилися
всі складні ідеї, 2) Зведення разом
двох ідей, однаково, простих або
складних, і зіставлення їх одну з
іншій так, щоб оглядати їх відразу,
але не з'єднувати в одну; так розум
набуває всі свої ідеї відносиними,
3) Відокремлення ідеї від усіх інших
ідей, супутніх їм у реальній
дійсності; ця дія
називається «абстрагуванням», і при
його допомозі утворені всі загальні ідеї в
умі.

 

Джон Локк. 
«Досвід про людський розум» (1690) 

 

Ми збираємося вивчати поняття обчислювального процесу (computational process). Обчислювальні процеси - це абстрактні істоти, які живуть в комп'ютерах. Розвиваючись, процеси маніпулюють абстракціями іншого типу, які називаються даними (data). Еволюція процесу направляється набором правил, званим програмою (program). По суті, ми зачаровуємо духів комп'ютера за допомогою своїх чар.

Обчислювальні процеси і справді цілком відповідають уявленням чаклуна про духів. Їх не можна побачити чи помацати. Вони взагалі зроблені не з речовини. Водночас вони абсолютно реальні. Вони можуть виконувати розумову роботу, можуть відповідати на запитання. Вони здатні впливати на зовнішній світ, оплачуючи рахунки в банку або керуючи рукою робота на заводі. Програми, якими ми користуємося для заклинання процесів, схожі на чари чаклуна. Вони ретельно складаються з символічних виразів на складних і мало кому відомих мовах програмування (programming languages​​), що описують завдання, які ми хочемо доручити процесам.

На справно працюючому комп'ютері обчислювальний процес виконує програми точно і безпомилково. Таким чином, подібно учневі чародія, програмісти-новачки повинні навчитися розуміти і передбачати наслідки своїх заклинань. Навіть дрібні помилки (їх зазвичай називають багами (bugs) або глюками (glitches)), можуть призвести до складних і непередбачуваних наслідків.

На щастя, навчання програмуванню не так небезпечно, як навчання чаклунства, оскільки духи, з якими ми маємо справу, надійно пов'язані. Водночас програмування в реальному світі вимагає обережності, професіоналізму і мудрості. Наприклад, дрібна помилка в програмі автоматизованого проектування може привести до катастрофи літака, прориву греблі або самознищення промислового робота.

Фахівці з програмного забезпечення вміють організовувати програми так, щоб бути потім обґрунтовано впевненими: отриманні процеси будуть виконувати ті завдання, для яких вони призначені. Вони можуть зобразити поведінку системи заздалегідь. Вони знають, як побудувати програму так, щоб непередбачені проблеми не привели до катастрофічних наслідків, а коли ці проблеми виникають, програмісти вміють налагоджувати (debug) свої програми. Добре спроектовані обчислювальні системи, подібно добре спроектованим автомобілям або ядерним реакторам,побудовані модульно, так що їх частини можуть створюватися, замінюватися і ремонтуватись окремо.

>далі буде

 

Cтавьте лайк, якщо вам сподобалось начало чогось більшого, ніж пробний переклад видатного підручника по програмуванню :3

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.8K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація