LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать будет не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений. Все знают, о каких языках речь. ;)

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны чрезвычайно упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать будет не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений. Все знают, о каких языках речь. ;)

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны чрезвычайно упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). Недавно вообще смешно было: т.н. «архитектор» признал, что сервисов слишком много, и тут же создал новый сервис с несчастным десятком классов. При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать будет не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений. Все знают, о каких языках речь. ;)

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны чрезвычайно упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо будет.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений. Все знают, о каких языках речь. ;)

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны чрезвычайно упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений. Все знают, о каких языках речь. ;)

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны чрезвычайно упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны чрезвычайно упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом (каждый сервис в отдельном контейнере, ага, с хорошо если всего парой десятков env-ов). При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и являются нормой ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядок менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и многие сценарии на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся взад в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «хватать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими (spring же ж) стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

(язвительно) Вот, сижу жду, когда маятник качнётся в монолиты.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись в него не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: в 90х все ломанулись не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: все ломанулись не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исправление dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: все ломанулись не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом. При этом вся система сильно связана, и нередки ситуации с длинными, в т.ч. даже рекурсивными цепочками вызовов между сервисами; и множество сценариев на порядки менее эффективны, чем могли бы быть.

Исходная версия dimgel, :

Меня последнее время одолевает одна мысль:

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

Индустрия периодически подкидывает дурачкам серебряные пули.

Взять тот же ООП: все ломанулись не разбирая дороги, пихали наследование где надо и где не надо, фигачили «16 паттернов в 32 строках кода» – а в результате закономерно получался типичный кошмар.

Потому что сама идея серебряной пули в принципе порочна, т.к. подразумевает, что думать не надо.

Продолжая тему ООП-шных языков, такой же (если не хуже) кошмар с исключениями. Ни на одной работе не видел, чтобы исключениями умели пользоваться. В пределе – тупо создают по новому подклассу Exception на каждый throw, пилят килотонны бессмысленных и беспощадных catch-rethrow в каждом методе, причём работает всё это в удивительную раскоряку, ошибки сыпятся как попало какие попало, в результате логи засраны длиннющими стек-трейсами с многократными повторениями (т.к. в каждый catch-rethrow обязательно впиливают логирование), а морда либо глотает ошибки, либо показывает их так, что лучше бы не показывала.

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

А дурак будет «разбивать о камни». И появляются лозунги, что наследование не нужно, достаточно интерфейсов; и появляются языки, в которых ни ООП, ни исключений.

Сюда же NoSQL (этот хайп уже вроде давно утих), чистое ФП (судя по hh, на подъёме), и на моё ИМХО самая мерзотная серебряная пуля из ныне здравствующих – микросервисы.

При том, что, если подумать, то в каждой конкретной системе и для NoSQL можно место найти; и ФП-шные паттерны очень упрощают жизнь – безо всякого чисто-ФП-шного фанатизма; и без сервисов (не «микро», мать вашу) ни одна серьёзная система не обойдётся.

А вот, например, на моей нынешней работе сервисы создаются не по принципу «когда нужно», а по принципу «когда можно». Каждую новую мелочь в новый сервис заворачивают. Видимо уже не способны думать о декомпозиции в других терминах – в maven-модулях, packages, да хотя бы банальных классах. И в результате непрерывно трахаются с непрерывно отваливающимся деплойментом.