За пределами программ

За пределами программ

Подчеркнем теперь важность понятия АТД для областей, лежащих вне непосредственной области его предполагаемого применения.

Подход, основанный на АТД, говорит нам, что серьезное интеллектуальное исследование должно отвергать всякую попытку понять суть вещей изнутри как бесполезную, и вместо этого должно сосредотачиваться на понимании используемых свойств этих вещей. Не объясняйте мне, что вы собой представляете, скажите мне, что у вас есть - что я могу от вас получить. Если потребуется дать имя этой эпистемологической дисциплине, мы скажем, что это принцип разумного эгоизма.

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

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

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

Это приводит к мысли рассмотреть общее интеллектуальное значение нашей области.

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

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Глава 16 Край и за его пределами

Из книги автора

Глава 16 Край и за его пределами Хотя Minecraft – это игра-песочница, созданная для бесконечного исследования, в ней есть особый режим, в котором необходимо достичь победного конца. Чтобы закончить игру и победить, вы должны дойти до измерения под названием Край.


За пределами Края

Из книги автора

За пределами Края После победы над Драконом у вас есть возможность сразиться с последним врагом – Иссушителем. И, конечно, после окончания игры можно посетить бесконечное количество миров, исследовать бесчисленное количество карт и построить множество


12.2. Выбор программ

Из книги автора

12.2. Выбор программ Программ для работы в Интернете очень много – браузеры, почтовые клиенты, FTP-клиенты и т. п. Вы должны знать, какие программы являются программами с открытым кодом, а какие – нет.Сначала определимся, какие программы понадобятся для работы в Интернете:?


За пределами транзакций

Из книги автора

За пределами транзакций Мы рассмотрели общие вопросы, связанные с транзакциями, а также особенности их практического применения в базе данных. В самом начале главы было сказано, что все действия в InterBase выполняются в контексте транзакций.Однако существуют объекты, про


5.4.3. Ввод программ

Из книги автора

5.4.3. Ввод программ Чтение данных из файлов и запись данных в файлы наиболее полезны тогда, когда объем данных, с которыми работает наша программа и которые мы хотим поместить в базу данных, превосходит тот объем, который мы можем вводить вручную при каждом сеансе работы с


МИР ПРОГРАММ

Из книги автора

МИР ПРОГРАММ Герой Мольера, месье Журдэн, был в высшей степени удивлен, когда узнал, что всю жизнь говорил прозой, не подозревая этого. Благодаря появлению ЭВМ и вызванному этим появлением возникновению вычислительной науки, или информатики, человечество оказывается в


Приложение А За пределами «Эффективного использования C++»

Из книги автора

Приложение А За пределами «Эффективного использования C++» В книгу «Эффективное использование C++» вошло то, что я считаю наиболее важными рекомендациями для практикующих программистов на C++. Если вы интересуетесь дополнительными возможностями повысить эффективность


Модификации программ

Из книги автора

Модификации программ 1. «Сборки» Большую часть программ мы с вами получаем в готовом виде. Но даже при большом желании ее изменить не получится – практически все программы остаются интеллектуальной собственностью разработчика и защищены законом об авторском праве.


Физика элементарных частиц за пределами БАК: что ожидать от нового коллайдера Андрей Васильков

Из книги автора

Физика элементарных частиц за пределами БАК: что ожидать от нового коллайдера Андрей Васильков Опубликовано 13 июня 2013 Судьба Международного линейного коллайдера решалась вчера специалистами ведущих лабораторий в ходе проводимой через интернет


Широка страна моя родная: Доступ в Интернет за пределами Садового кольца

Из книги автора

Широка страна моя родная: Доступ в Интернет за пределами Садового кольца Автор: Тимофей БахваловНа протяжении последнего десятилетия «широкополосным» доступом в Интернет в регионах нашей страны, находящихся за пределами Садового кольца и не «из-под Питера», считалось


ГЛАВА 21 За пределами предприятия

Из книги автора

ГЛАВА 21 За пределами предприятия В главе 1 «Предприятия нового тысячелетия» описывается понятие совместного, основанного на сотрудничестве менеджмента. Значимость этого понятия мы можем ощутить, если выйдем за границы предприятия. В последней главе этой книги мы


ГЛАВА 8. Вся правда  о собеседованиях в Google: за пределами NDA

Из книги автора

ГЛАВА 8. Вся правда  о собеседованиях в Google: за пределами NDA В пятницу 9 июля 2007 года на многих калифорнийских автобанах появились рекламные щиты с довольно странным содержанием. На их большом полотне не было никаких опознавательных знаков или каких-то фирменных


Псевдонимы в ПО и за его пределами

Из книги автора

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


12.14. СОПРОВОЖДЕНИЕ ПРОГРАММ

Из книги автора

12.14. СОПРОВОЖДЕНИЕ ПРОГРАММ Сопровождение программ — "ложка дегтя" для каждого программиста. Это всегда помеха при начале разработки какого-либо нового проекта, заставляющая отвлекаться от разработки проекта и возвращаться к старым программам и старым проблемам. Ничто