Evolve Your Hierarchy
May. 30th, 2006 04:38![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Прочёл сабжевую колонку про Tony Hawk из мартовского Game Developer, что начиналась словами
"Until recently, game programmers consistently used a deep class hierarchy to represent game entities.
The tide is beginning to shift from this use of deep hierarchies to a variety of methods that compose a game entity object as an aggregation of components."
Меня раньше было довольно просто вывести на интересный спор, если проявлять достаточную упёртость.
Например, настаивать на ровно одном прочтении и ровно одной интерпретации.
Ровно одной точке доступа. Ровно одном паттерне взаимодействия.
Особенно сильно меня заводили намертво сцепленные код и данные, синглтоны, фиксированные форматы с запретом частично-вычисленных данных, старательный школьный data-driven типа "строго данные, никаких схем", псевдо-"классический" ОО в стиле "наследование-полиморфизм-инкапсуляция" и т.п.
Недопущение взгляда со стороны или другой точки отсчёта - как попытка оставить систему механистичной и мертвой.
Как противоположность wabi sabi.
Как противоположность живым, приспосабливающимся системам.
Я, конечно, понимаю, что идеи тэгирования достигли критической массы только с появлением тэгов в ЖЖ.
И inplace загрузкой заинтересовались только когда петух клюнул.
И идеи композиции и делегирования достигли умов широкой аудитории только с появлением вопросов по GoF на собеседованиях.
И многократно-прошитые коллекции и join против тупых иерархий потребуют WinFS, не иначе.
В последнее время я чрезвычайно ("по-постмодернистски") толерантен и циничен по этому поводу.
Особенно циничен, поскольку, наконец, вижу (с ужасом), что - окупается short term, и что - приносит доход даже long term.
Но, блин, ребята, ведь 2006 год идёт?..
"Until recently, game programmers consistently used a deep class hierarchy to represent game entities.
The tide is beginning to shift from this use of deep hierarchies to a variety of methods that compose a game entity object as an aggregation of components."
Меня раньше было довольно просто вывести на интересный спор, если проявлять достаточную упёртость.
Например, настаивать на ровно одном прочтении и ровно одной интерпретации.
Ровно одной точке доступа. Ровно одном паттерне взаимодействия.
Особенно сильно меня заводили намертво сцепленные код и данные, синглтоны, фиксированные форматы с запретом частично-вычисленных данных, старательный школьный data-driven типа "строго данные, никаких схем", псевдо-"классический" ОО в стиле "наследование-полиморфизм-инкапсуляция" и т.п.
Недопущение взгляда со стороны или другой точки отсчёта - как попытка оставить систему механистичной и мертвой.
Как противоположность wabi sabi.
Как противоположность живым, приспосабливающимся системам.
Я, конечно, понимаю, что идеи тэгирования достигли критической массы только с появлением тэгов в ЖЖ.
И inplace загрузкой заинтересовались только когда петух клюнул.
И идеи композиции и делегирования достигли умов широкой аудитории только с появлением вопросов по GoF на собеседованиях.
И многократно-прошитые коллекции и join против тупых иерархий потребуют WinFS, не иначе.
В последнее время я чрезвычайно ("по-постмодернистски") толерантен и циничен по этому поводу.
Особенно циничен, поскольку, наконец, вижу (с ужасом), что - окупается short term, и что - приносит доход даже long term.
Но, блин, ребята, ведь 2006 год идёт?..