Я думаю, що " Структура та інтерпретація комп'ютерних програм" - це чудова книга для читання. Однак з цим є пара проблем.
Найбільша проблема в моєму досвіді в тому , що, в той час як книга не вимагає абсолютно ніяких знань в області програмування, і спрямована на повні новачок, вона буде спрямована на повні новачок , які навчаються в MIT . І так, в той час як вона не передбачає будь - яких знань в області програмування, він робить припустити , зовсім небагато області знань, наприклад , в області електротехніки, фізики і математики. Зауважте: вони не мають нічого спільного з поняттями, які навчаються, вони просто необхідні для розуміння вправ та прикладів .
Більше людей, ніж я, пояснили це набагато краще, в умілому заголовку "Структура та інтерпретація навчальної програми з інформатики" . На щастя, вони не просто капризи, вони написали натомість свою власну книгу: Як створювати програми . Якщо ви думаєте про читання SICP, ви можете спершу прочитати HtDP: він охоплює майже те саме, що і SICP, але він передбачає лише середнє знання домену середньої школи. (Насправді це написано, щоб його навчали дітям середньої школи.)
Після того, як ви закінчите HtDP, ви все ще можете повернутися назад і прочитати SICP, оскільки тепер якийсь зниклий фрагмент знань про домен вже не буде настільки шкідливим, оскільки ви бачили цю концепцію раніше.
Примітка: є проект другого видання HtDP , який ви можете прочитати замість першого видання. Матеріал про імперативне програмування вилучено та буде висвітлено у як-то ще неписаному другому томі « Як конструювати компоненти» , але ви можете взяти їх або з першого видання, або з SICP, або з обох.