От Владимир К.
К Iva
Дата 17.06.2010 00:40:34
Рубрики Прочее; Тексты;

Разъясните пожалуйста, что такое "проблема "красивых решений".

Это то, во что я вляпывался, или что-то иное?
В любом случае, понимание может оказатся полезным в моей работе.



От vld
К Владимир К. (17.06.2010 00:40:34)
Дата 24.06.2010 11:51:42

Re: вам тут навалили "сорок бочек арестантов"

>Это то, во что я вляпывался, или что-то иное?
>В любом случае, понимание может оказатся полезным в моей работе.

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

От K
К Владимир К. (17.06.2010 00:40:34)
Дата 22.06.2010 18:36:56

Re: Разъясните пожалуйста,...

> Это то, во что я вляпывался, или что-то иное?
> В любом случае, понимание может оказатся полезным в моей работе.

Ива черпает свои знания о программировании (как и свои инклюзивные сведения об
экономике СССР) от бывалых из пивнухи. Сегодня таких развелось видимо - не
видимо, как говорил Жванецкий - <оказалось, что у них нет не написанных книг>,
но тщеславие осталось, оно и уходит в свисток, пивнушный.
На самом деле <красивое решение> это когда при помощи очень небольшого изменения
системе придается новое качество, вводится механизм, который дает системе новые
возможности, при этом много старых сложных механизмов можно отбросить за
ненадобностью. <Красивое решение> отличается от <трюкачества>, <красивое
решение> способствует последующему развитию системы, а <трюкачество>
(использование тонкостей работы системы) создает в последующем гораздо большие
проблемы, чем сиюминутно решает. Пример из обыденной жизни - создание некой
комиссии из бывалых со связями, призванных решить конкретную проблему, далее
порождает клановую структуру, со своими клановыми интересами, мало зависящими от
проблемы, которую призвана решать комиссия, это очевидное трюкачество. Таким
способом работает наше правительство. Красивое решение - создание открытого
механизма согласования интересов, учитывающего мнение экспертов и позволяющее
быть услышанным независимым специалистам. Как видите, и в программировании, и в
экономике с политикой, <красивое решение> обозначает одно и тоже.



От Владимир К.
К K (22.06.2010 18:36:56)
Дата 22.06.2010 22:45:57

Я согласен с тем, что "красивое" - неудачное обозначение для обсуждаемого явления.

Приведённое вами понимание "красоты" совпадает с моим интуитивным
пониманием.



От Iva
К Владимир К. (22.06.2010 22:45:57)
Дата 25.06.2010 11:09:55

Согласен, правильнее было

Привет

употребить "крутое" или "продвинутое". Вот это решение "крутое", "продвинутое" - а то, что вы предлагаете - это "детский сад" и не "интересно", так каждый может.

Но "красивое" в таком понимании я тоже слышал :-).



Нет хуже работы - пасти дураков. Бессмысленно храбрых - тем более.(Киплинг).

От K
К Владимир К. (22.06.2010 22:45:57)
Дата 23.06.2010 22:14:36

Re: Я согласен...

> "красивое" - неудачное обозначение для обсуждаемого явления.

Нет, очень удачное и очень глубокое. <Красивые решения> приводят системы к
единству (общие механизмы), к гармонии (к простоте взаимодействия), а что есть
красота как не гармония и единство?



От Владимир К.
К K (23.06.2010 22:14:36)
Дата 23.06.2010 23:30:02

То "обсуждаемое явление", для которого неудачное - не в вашем сообщении, а в сообщении Ивы. (-)




От Iva
К Владимир К. (17.06.2010 00:40:34)
Дата 17.06.2010 07:56:53

Re: Разъясните пожалуйста,...

Привет

"красивое решение" - это проблема приблизительно такого рода.

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

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

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


>Это то, во что я вляпывался, или что-то иное?

Не знаю :-)

>В любом случае, понимание может оказатся полезным в моей работе.


Нет хуже работы - пасти дураков. Бессмысленно храбрых - тем более.(Киплинг).

От Владимир К.
К Iva (17.06.2010 07:56:53)
Дата 17.06.2010 13:15:06

Принцип понятен. Но... А можно какой-нибудь пример "красивости"? (-)




От Владимир К.
К Владимир К. (17.06.2010 13:15:06)
Дата 17.06.2010 13:22:49

Кстати, мои попытки внедрить там, где я работал, нормальные рабочие группы и репозиторий типовых решений - провалились.

Руководителям - геморрой (потому что нужно свою культуру управления
повысить, причём не формально, "по бумажкам", а реально).
А исполнителям привычнее трахаться индивидуально, изобретая индивидуальные
велосипеды (ну и специфическое "ноу хау", когда только конкретный
исполнитель разбирается, что он там наваял для заказчика, и потому
"незаменим").



От АлК
К Iva (17.06.2010 07:56:53)
Дата 17.06.2010 11:45:20

Re: Разъясните пожалуйста,...

>"красивое решение" - это проблема приблизительно такого рода.
>Есть задача и есть несколько решений. Выбирается "красивое" и сложное, так как простое - это не "солидно".

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

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

Это точно.

От Владимир К.
К АлК (17.06.2010 11:45:20)
Дата 17.06.2010 13:44:24

Примером, видимо, является сайт mail.ru.

А полгода назад там страницы (например, фотохранилища) вообще по пять минут
открывались (пока все скрипты на странице не отработают) с загрузкой совсем
не слабого процессора на 100%.

По сайтам - прямо эпидемия какая-то.



От Durga
К Iva (17.06.2010 07:56:53)
Дата 17.06.2010 09:33:37

^)

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

От Владимир К.
К Durga (17.06.2010 09:33:37)
Дата 17.06.2010 13:26:47

Так-так, стало яснее. "Красивое" = слишком "оригинальное" и "непрозрачное". (-)