Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Питер_Гудлиф_Ремесло_программиста_Практика_написания_хорошего_кода.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
9.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

Рецепты:m

как и что

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Логическое программирование

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

535Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Это еще один описательный стиль, который предполагает наличие сре% ды исполнения, набора аксиом (логики) и целевого утверждения. На% бор встроенных правил вывода (над которыми у программиста нет вла% сти) применяется с целью определить, достаточно ли аксиом для уста% новления истинности целевого утверждения. Выполнение програм% мы, по существу, служит доказательству целевого утверждения.

Интерес к искусственному интеллекту послужил громадным ускори% телем разработки логических языков программирования. Они широко применяются для автоматического доказательства теорем и в эксперт# ных системах (которые моделируют большие предметные области и ге% нерируют ответы на основании накопленных знаний).

Самый известный из логических языков программирования – Prolog.

Рецепты: как и что

Мы изучим два разных аспекта. В «рецептах» программирования уча% ствуют как процедура разработки, так и стиль программирования. Это разные, но взаимосвязанные вещи:

Процесс разработки представляет собой крупный план: он описыва% ет шаги, которые нужно сделать для создания программного про% дукта. Он охватывает всю организацию, где ведется разработка, а не только программистов. Как правило, создание программ – работа, в которой участвует много людей; процесс показывает, как органи% зовать массу людей, чтобы они создали какое%то согласованное це% лое. По крайней мере, он должен попытаться это сделать.

Стиль программирования представляет собой мелкий план: это ле% жащий ниже способ расчленения, создания и склеивания компо% нент. Скорее всего, на него окажет влияние выбор процесса разра% ботки, хотя это необязательно.1 Более вероятно, что влияние ока% жут целевой язык и предшествующий опыт разработчика.

Оба эти аспекта разработки могут называть методологиями, из%за чего их легко спутать.2 Мы уже рассмотрели стили программирования, а да%

1Например, ОО%стили часто выбираются в «итеративных и инкрементных» процессах, что обычно связано с традициями. (Если термины непонятны вам, не пугайтесь: все будет разъяснено в разделе «Итеративная и инкре% ментная разработка» на стр. 545.)

2Если вас интересует разница, то я называю стилями программирования то, что часто называют методологиями (со строчной «м»). Процессы разработ% ки часто называют Методологиями (с прописной «М») – типа высокой и низкой церкви. Это слишком тонко. В данной главе я буду говорить о сти%

лях и процессах.