Structure and Interpretation of Computer Programs / Структура и интерпретация компьютерных программ: lec2b

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

[Играет музыка]

lyzov 17.08.13 в 02:43

0

Профессор: Итак, не так давно в этом
курсе мы говорили

lyzov 17.08.13 в 02:44

0

о процедурах, а потом
просто, чтобы напомнить вам

lyzov 17.08.13 в 02:45

0

об этой структуре мы перешли
к разговору о языках,

lyzov 17.08.13 в 02:48

0

Мы говорили о элементарных
вещах, которые

lyzov 17.08.13 в 02:49

0

встроены в систему.

lyzov 17.08.13 в 02:49

0

Мы упомянули некоторые средства
комбинирования с помощью которых

lyzov 17.08.13 в 02:51

0

вы берете элементарные вещи
и делает более сложные.

lyzov 17.08.13 в 02:51

0

И позже мы говорили об
абстракции, как вы можете

lyzov 17.08.13 в 02:59

0

взять эти сложные вещи
и назвать их так, чтобы

lyzov 17.08.13 в 03:00

0

потом могли использовать их
как простые.

lyzov 17.08.13 в 03:01

0

На последней лекции мы
пошли ещё дальше.

lyzov 17.08.13 в 03:02

0

Мы увидели, что используя процедуры
более высокого порядка, вы можете

lyzov 17.08.13 в 03:03

0

выражать действительно общие
методы вычислительных вещей.

lyzov 17.08.13 в 03:04

0

Как метод, который использует
фиксированную точку

lyzov 17.08.13 в 03:15

0

или метод Ньютона, и так
невероятную выразительность

lyzov 17.08.13 в 12:20

0

можно получить только путем
комбинирования этих средств абстракции.

lyzov 17.08.13 в 12:21

0

И главной идеей в итоге
является то, что мы строим

lyzov 17.08.13 в 12:22

0

многоуровневую систему.

lyzov 17.08.13 в 12:22

0

Так, к примеру, если мы
написали процедуру

lyzov 17.08.13 в 12:23

0

вычисления квадратного корня,
в каком-то месте она использует

lyzov 17.08.13 в 12:24

0

процедуру GOOD-ENOUGH,
и где-то между ними существует

lyzov 17.08.13 в 12:25

0

своего рода граница абстракции.

lyzov 17.08.13 в 12:26

0

Это почти так, как если бы мы решили
написать процедуру квадратного корня

lyzov 17.08.13 в 12:30

0

и заключили контракт с Джорджем
и сказали ему, что

lyzov 17.08.13 в 12:31

0

его работа написать процедуру
GOOD-ENOUGHT, и пока эта

lyzov 17.08.13 в 12:32

0

процедура работает, нас не
волнует как она это делает.

lyzov 17.08.13 в 12:32

0

Нам не важно как именно
она реализована.

lyzov 17.08.13 в 12:33

0

Здесь есть уровни детализации
которые касаются Джорджа,

lyzov 17.08.13 в 12:34

0

но не нас.

lyzov 17.08.13 в 12:34

0

Так к примеру Джордж может
использовать процедуру ABS.

lyzov 17.08.13 в 12:35

0

которая написана Гарри,
и нас не очень волнует как

lyzov 17.08.13 в 12:37

0

она реализована или даже
что Гарри существует.

lyzov 17.08.13 в 12:37

0

Так, основная идея заключается
в том, что когда мы создаем программы, мы

lyzov 17.08.13 в 13:33

0

разделяем задачу создания
программы на задачи

lyzov 17.08.13 в 13:35

0

реализации её отдельных частей.

lyzov 17.08.13 в 13:35

0

И в большой системе,
конечно у нас есть границы

lyzov 17.08.13 в 13:36

0

абстракции на многие, многие
многие уровни.

lyzov 17.08.13 в 13:37

0

Правда в том, что
до сих пор, снова и снова

lyzov 17.08.13 в 13:40

0

мы создавали процедуры.

lyzov 17.08.13 в 13:40

0

Но сейчас, то что мы
собираемся сделать - это

lyzov 17.08.13 в 13:52

0

рассмотреть те же вопросы,
связанные с данными.

lyzov 17.08.13 в 13:53

0

Мы увидим, что система
имеет элементарные данные.

lyzov 17.08.13 в 13:54

0

На самом деле мы уже
это видели.

lyzov 17.08.13 в 14:03

0

Мы говорили о числах,
как примитивных данных.

lyzov 17.08.13 в 14:04

0

Позже, мы увидим их
в виде

lyzov 17.08.13 в 14:05

0
Минутку...

Следующая страница →