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

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

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

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

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

[identity profile] archangel-rhn.livejournal.com 2009-08-25 11:01 pm (UTC)(link)
Может быть утрирую..

Для примера, сишный код:

int i = 0, res, *pi1, *pi2;

pi1 = &i; // *pi1=0
*pi2 = 1;
i = 1; // *pi1=1
res = *pi2 + *pi1; // res = 2

Работа непосредственно с указателями, обращение к адресам памяти.
В Java для базового типа придется создавать класс-оболочку, наподобие такой чуши:

public class XXXX
{
public int i;
public XXXX(int x)
{
i = x;
}
}

А затем в главном классе:
int i = 0;
XXXX pi1 = new XXXX(i);

Переменная получается в виде ссылки на объектный тип.
Вот где неявность.

А "пень-колода" - фразеологизм..

[identity profile] mibori.livejournal.com 2009-08-26 06:14 am (UTC)(link)
ипануцца. Я говорил про Хаскель, а не про жабу :)

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