Серебряной пули нет

Фредерик Брукс, автор статьи «Серебряной пули нет»

«Серебряной пули нет» (англ. «No Silver Bullet») — широко обсуждавшаяся статья Фредерика Брукса об инженерии программного обеспечения, написанная им в 1986 году.[1] Брукс подчёркивает разницу между побочной сложностью (англ. accidental complexity) и имманентной сложностью (англ. essential complexity) и утверждает, что «ни в одной технологии или в управленческой технике не существует универсального метода, увеличивающего на порядок производительность, надёжность и простоту» (так называемой «серебряной пули»). Он также утверждает, что «мы не можем ожидать увеличения прибыли в два раза каждые два года» при разработке программного обеспечения, как это происходит с разработкой аппаратного обеспечения. Статья, в которой Брукс приводит свои размышления, может быть найдена в юбилейном издании книги «Мифический человеко-месяц»[2].

«серебряная пуля» в фольклоре — единственное оружие против вампиров, вервольфов и прочей мифологической нечисти.

Описание

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

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

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

В то же время Брукс полагает, что совокупный эффект множества других полезных улучшений может давать заметный прирост в производительности труда программистов:

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

Брукс перечисляет самые важные задачи, которые могут дать значительный эффект в борьбе со сложностью разработки:

См. также

Ссылки

Внешние ссылки

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya