metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-08-11 10:19 am

А вот теперь пример безумия

В мире жабы(в смысле языка програмирования) есть какая-то тонкая шиза, которая порождает миллиарды фреймворков.
Вот пример про логгирование. Ну блин, как можно столько наворотить на пустом месте?

Самая хохма там - это то, что некоторые упоминают использование логгеров через дополнительный уровень абстракции. Мне иногда для вывода в текстовый лог и на экран юзеру приходится делать обвязку, дословно дублирующую интерфейс логгера, и меня это напрягает, потому что это натурально тупая копипаста. А народ такое массово использует и не парится.

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

[identity profile] aamonster.livejournal.com 2009-08-11 09:59 am (UTC)(link)
(ненавидяще) Ну нельзя же так напоминать людям об их несчастье (это про функциональщину).

Впрочем, надеюсь, с уходом на C# мне полегчает...

[identity profile] metaclass.livejournal.com 2009-08-11 10:22 am (UTC)(link)
Нет, не полегчает, там тоже "паттерны, GoF, получить бесплатно граф из 10000 классов в нагрузку с червями и жабами".

[identity profile] aamonster.livejournal.com 2009-08-11 10:27 am (UTC)(link)
Туда потихоньку закладывают функциональщину. По мелочам, не усердствуя - но самую нужную. Лямбды, безымянные функции, автоматический вывод типов для локальных переменных...

[identity profile] http://users.livejournal.com/_windwalker_/ 2009-08-11 10:14 pm (UTC)(link)
а в жабе уже есть убогий груви и вполне есть математически правильная скала...

Вернее не в жабе, а в bytecode...

[identity profile] aamonster.livejournal.com 2009-08-12 06:34 am (UTC)(link)
Ну, в байткоде-то что угодно есть. Так я могу заявить, что в ассемблере есть хаскель и ML. Верней, не в ассемблере, а в машинных кодах =)