avva: (Default)
[personal profile] avva
Прочитайте вот это, коллеги.

Там - Горькая Правда.

A lesson I have learned the hard way is that we aren’t smart enough. Even the most brilliant programmers routinely make stupid mistakes. Not just typos, but basic design errors that back the code into a corner, and in retrospect should have been obvious. The human mind can not grasp the complexity of a moderately sized program, much less the monster systems we build today. This is a bitter pill to swallow, because programming attracts and rewards the intelligent, and its culture encourages intellectual arrogance.


(но стоит прочитать полностью)

Date: 2007-08-03 05:57 pm (UTC)
stas: (Don't panic!)
From: [personal profile] stas
Если бы инженеры Тойоты проектировали свои автомобили на молекулярном уровне - они бы действительно давно ушли домой рыдать. Современное состояние программирования во многом примерно такое, как проектирование автомобиля на молекулярном уровне. В отдельных случаях - на уровне мелких шурупчиков.

Date: 2007-08-04 10:39 am (UTC)
From: [identity profile] fantaseour.livejournal.com
Угу. В этом и отличие программирования от другой инженерии, которое многие не хотят видеть. Почему в одной профессии нет этой страшной растущей сложности, а вот тут есть? Не может этого быть!

Но это так. Ни в одной другой области сложность задачи не разрастается с такой скоростью:

Похоже, что иерархические системы обладают тем свойством, что нечто, рассматриваемое как неделимое целое на одном уровне, рассматривается как составной объект на следующем, более низком уровне с большей детализацией; в результате дискретность пространства или времени, применимая на каждом уровне, уменьшается а порядок величины при переходе от одного уровня к другому, следующему за ним более низкому. Мы воспринимаем стену через понятие кирпичей, кирпичи - через понятие кристаллов, кристаллы - через понятие молекул и так далее. В результате количество уровней, которые могут быть осмысленно выделены в иерархической системе, в некотором роде пропорционально логарифму отношения между наибольшим и наименьшим дискретами, и поэтому, если только это соотношение не чрезмерно велико, мы можем ожидать появления не слишком большого числа уровней. В области компьютерного программирования наш базовый строительный блок имеет дискретность времени менее микросекунды, но наша программа может потребовать несколько часов вычислений. Я не знаю никакой другой технологии, перекрывающей отношение 1010 и более: компьютер, благодаря его фантастической скорости, кажется, впервые предоставил нам среду, в которой артефакты с высокой степенью иерархичности одновременно и возможны, и необходимы. Этот вызов, а именно противостояние задаче программирования, столь уникален, что новый опыт может рассказать нам очень много нового о нас самих. Он может углубить наше понимание процессов разработки и созидания, он может дать нам лучший контроль над организацией нашего мышления. Если бы он не сделал этого, на мой взгляд, мы вообще не заслуживаем компьютеров!


Дейкстра. Смиренный программист
http://club.shelek.com/viewart.php?id=155

Date: 2007-08-05 02:08 am (UTC)
stas: (Default)
From: [personal profile] stas
Сложность растет потому, что ее легко растить. Т.е., скажем, сказать инженеру "сделай мне из этого самолета два, чтоб летали один над другим на расстоянии 20 метров и при этом если в нижнем летят более восьми пассажиров старше 42 лет то у верхнего турбины должны вращаться в обратную сторону" и чтоб он сделал - задача нетривиальная. А сделать такое в программе - гораздо проще. Вот управлять потом всем этим - сильно сложнее.

Date: 2007-08-05 08:24 am (UTC)
From: [identity profile] fantaseour.livejournal.com
Угу, именно так и есть. Кроме всего прочего посреди работы может оказаться, что турбины должны не вращаться в другую сторону, а сменить цвет и вибрировать.

January 2026

S M T W T F S
    1 2 3
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 5th, 2026 09:47 am
Powered by Dreamwidth Studios