Опубликован: 23.10.2005 | Доступ: свободный | Студентов: 4089 / 201 | Оценка: 4.44 / 4.19 | Длительность: 33:04:00
Специальности: Программист
Лекция 1:

Объектно-ориентированная методология: Правильно применяйте метод

Лекция 1: 1234 || Лекция 2 >

Об использовании метафор

АНДРОМАХА: Я не понимаю абстракций.
				КАССАНДРА: Как пожелаешь. Давай пользоваться метафорами.
					Жан Жирадо, Троянская война не произошла, Акт I

В этом метаметодологическом обсуждении полезно вкратце отразить область и границы применения мощного средства, полезного при объяснениях, - метафор.

Все используют метафоры - аналогии - для обсуждения и обучения техническим проблемам. Эта книга не является исключением. Центральными метафорами для нее являются понятия наследования и Проектирования по контракту. Метафорой является и слово "объект", термин, нагруженный повседневным смыслом, но используемый для специфических целей.

В научных областях метафоры являются мощным, но опасным средством. Это в полной мере относится к методологии разработки ПО.

Мой коллега однажды поклялся, что он покинет конференцию, если еще раз услышит сравнение с автомобилями ("если бы программы были подобны автомобилям"). Если бы он выполнял свой зарок, сколь много дискуссий ему пришлось бы пропустить!

Хорошо или плохо применять метафоры? Это может быть очень хорошо или очень плохо - все зависит от целей, для которых они используются.

Ученые используют метафоры в своих исследованиях; употребляя для объяснения наиболее абстрактных понятий конкретные видимые образы. Великий математик Адамар, например, описывал яркие образы: сталкивающиеся красные шары, облака, " ленты, становящиеся толще или темнее в местах, соответствующих возможно важным термам ". Эти сравнения использовались в математических выпусках, в которых он и его последователи решали трудные задачи в наиболее абстрактных областях алгебры и анализа.

Метафоры могут служить великолепным обучающим средством. Великие ученые - Эйнштейн, Фейнман, Саган - бесподобны в изложении трудных вещей с использованием аналогий и концепций повседневного опыта. Все это превосходно.

Но существует и опасность. Если мы начинаем воспринимать метафоры в их повседневном смысле и начинаем на этом основании делать выводы, то мы можем столкнуться с серьезными проблемами. Псевдосиллогизм (" Доказательство по аналогии ") в форме:

A походит на B
		    B имеет свойство p
	  ------------------------------------------
		  Ergo: A имеет свойство p

обычно порочен. Ясно, что некоторые свойства B должны отличаться от свойств A, в противном случае A и B были бы одной и той же вещью. Вспомните академиков Лапуты из Путешествий Гулливера, которые полагали: "так как слова это - только имена вещей, то было бы намного удобнее носить при себе вещи, необходимые для выражения наших мыслей и желаний". Метафора включает и то, что есть общего, и то, что различается. По этой причине для истинности заключения следует проверить, что p включено в общую часть. Когда Адамар, используя интуицию, получал результат, он знал, что шаг за шагом он должен проверить его, основываясь на строгих законах математики. Блестящие образы - только начало процесса.

Метафоры могут вдохновлять нас, но следует вовремя остановиться, чтобы избежать путаницы между реальной вещью A и метафорой B.

Прекрасная книга [Bachelard 1960] "Формирование научного сознания", посвященная тому, как в 18-м веке происходил переход к научному сознанию, приводит историю, которую следует знать каждому, кто пытается использовать метафоры в научных рассуждениях. В попытке понять природу воздуха великий физик и философ Реомюр использовал общую метафору губки, которая, как показано у Бэчеларда, восходит еще к Декарту.

Весьма общей идеей является рассматривать воздух подобным хлопку, шерсти, губке. Эта идея в частности позволяет адекватно объяснить, почему воздух может становиться разреженным и занимать значительно больший объем, чем это было моментом ранее.

Воздух подобен губке, а потому воздух расширяется подобно губке! А потом приходит никто иной, как Бенджамин Франклин и находит губки весьма удобными для объяснения электричества. Если материал подобен губке, электрический поток должен, конечно, быть подобным жидкости, текущей сквозь губку.

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

Комментарий Бэчеларда: " Франклин только думает в терминах губки. Губка для него эмпирическая категория".

В процитированных метафорах Реомюра и Франклина ощущается излучение интеллектуальных гигантов своего времени, за каждым из которых стоят серьезные научные достижения. Они послужат примером и нам при обсуждении программистских концепций и помогут оценить вещи в перспективе, когда автор отходит от своих собственных аналогий.

Как важно быть скромным

Последнее слово из общих советов, перед тем как перейти к изучению специфических правил проектирования. Чтобы создать великолепный продукт, проектировщики, даже самые лучшие, никогда не должны переоценивать значение своего опыта. Каждый серьезный программный проект - это всегда новый вызов, здесь нет гарантированных рецептов.

Проектирование программного продукта - это интеллектуальное приключение. Излишняя самоуверенность может только навредить. Книги, которые вы прочли или написали, созданные или изученные классы, языки программирования, изученные или созданные вами, и многое-многое другое поможет вам лучше справиться с новой разработкой. Но не думайте, что весь ваш опыт дает гарантию от ошибок. В серьезных проектах ничто не заменит свежего мышления и творческого вдохновения. Каждая новая проблема открыта для новых идей. Каждый, начиная от умудренного лидера до новичка, может иметь верное понимание конкретной проблемы и каждый может ошибаться. Великого проектировщика отличает не то, что у него мало плохих идей, а его умение отказываться от них, умение подавлять свою гордость и отбирать хорошие идеи независимо от того, сгенерированы они им самим или кем-то другим. Некомпетентность и неопытность являются очевидными препятствиями в борьбе за верное решение. Зазнайство может быть столь же плохим.

Никто не удивится этому комментарию, если слышал Лучано Паваротти, заявившего, что он испытывает страх перед каждым своим выступлением. Одна из причин, по которой выдающиеся люди являются выдающимися, - это их требовательность к самим себе. Это правило в полной мере относится к проектированию ПО, где всегда есть риск попасть в интеллектуальную ловушку и принять простое, но ошибочное решение, о котором позже можно лишь с огорчением сожалеть.

Лекция 1: 1234 || Лекция 2 >