Я сейчас смотрю на тенденции в программировании, и наблюдаю такую картину:
1) некие люди в процессе решения своих задач придумывают разные инструменты
2) некоторые инструменты оказываются достаточно полезными и универсальными, что их показывают остальной публике
3) публике нравятся инструменты, и она просит расширить, углубить и дополнить их
4) люди из пункта 1) делают доклады об инструментах на разных слетах и охотно выполняют пожелания публики из пункта 3)
5) внезапно оказывается, что инструментами заинтересовались дяди с большими деньгами, и они не прочь помочь с финансированием разработки инструментов, если люди из пункта 1) отдадут этим инструментов все свое время, а не 10%
6) профит от пиления инструментов оказывается большим, чем решение задач из пункта 1), и одна половина пилит инструменты, реализуя самые невероятные фичреквесты, а вторая половина ездит по конференциям из пункта 4) и попутно пиарит дядей из пункта 5)
7) по инструментам издаются толстые книги, инструменты занимают тучу места, порог вхождения и понимания невозбранно растет, а задачи неизбежно точатся под инструменты
8) дяди из пункта 5) пилят бабло благодаря пунктам 6) и 7), но к дискуссии это имеет слабое отношение
9) некие люди из пункта 1) прожигают жизнь на неустанную модернизацию давно доработанного велосипеда, вместо того, чтобы махнуть на нем хотя бы разок в горы/леса/вокруг света.
Я наблюдаю сие со многими софтверными проектами, типа Symfony, Doctrine, Zend (из того, что щупал по надобности), да и сам PHP чем был, а во что вырос, и у меня родилось несколько соображений:
1) Если инструмент для решения задачи более громоздок, дорог и затратоемкий, чем сама задача, то ну его в ж-пу, такой инструмент.
2) Если инструмент надо допилить, то для этого должны быть достаточно веские основания (можно поиграть в бюрократию), а новые фичи не должны мешать старым.
3) Количество изменений должно быть минимальным.
4) Если инструмент становится целью, то хотя я не спорю, что в этом есть профит, но уверен, что где-то в головах есть разруха, и что кто-то тяготеет к извращениям.
5) В отвертке ценна крепкость и удобство держания за ручку, а отвертку, инкрустированную стразиками, можно только засунуть в *неразборчиво*.
Вышеозначенное можно применить много где. Я вот считаю, что программисты, которые, вместо программировать, начинают колесить по миру с докладами о методологии, почти принесшей почти успех какому-то проекту (о котором никто не знает, конечно же), писать о ней пачками книги, но при этом не создают ни строчки полезного кода — люди несостоявшиеся. So sad.
Пикрелейтед: http://to55er.files.wordpress.com/2009/04/wenger_giant_swiss_army_knife_2.jpg?w=450&h=332