jayrandom: (Default)
[personal profile] jayrandom
В последнее время чтение происходит с какой-то ужасающе улиточной скоростью, но всё же что-то удаётся.

Пару недель назад удалось "добить" знаменитый "Мифический человеко-месяц" Брукса. Давно хотел до неё добраться, но как-то пассивно, поэтому и не добирался :)

Так уж получилось, что мне (1) дали её почитать (2) в русском переводе, и я попался на обе халявы. Сейчас понимаю, что по крайней мере на русский перевод клевать не стоило, потому как перевод, откровенно говоря, любительский (например, понятия "batch processing" и "package" сливались в переводе в бесформенные "пакеты"; ещё повезло, что о сетевых пакетах речи не было!). На перевод книги такого масштаба можно было бы устроить серьёзный конкурс.

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

То, что я читал, было переводом переиздания "Mythical Man-Month" через 20 лет. Там добавлена глава или две как раз на тему того, что изменилось. Как честный исследователь, Брукс постарался перебрать свои тезисы и всё подвергнуть. Добавилось нудности, но в целом правильно.

* * *

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

Почему вела? А потому что это скорее не технический прорыв, а человеческий. Объектная Ориентированность, будучи свойством языка, позволяет человеку думать шире. Оперировать более богатым языком отношения моделируемых понятий. Всё, что было до (структурное, логической мышление), позволяло нагромождать (поди нагромоди-ка хотя бы 64k на ассемблере!) довольно сложные штуки из более простых. Но это нагромождение сродни переходу от одноклеточного организма к многоклеточной колонии. Мы прячем детали реализации, но каждый модуль так и остаётся отдельно написанным модулем. Между ними нет высокоуровневых концептуальных связей.

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


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

* * *

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


PS: Ну и знаменито-порочная тема добавления народа в проект, когда он опаздывает со сроками, и в результате опаздывает всё больше и больше - в этой книге, конечно, тоже обсуждается.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

jayrandom: (Default)
jayrandom

January 2026

S M T W T F S
    1 23
45678910
111213141516 17
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 12:21 pm
Powered by Dreamwidth Studios