Size: a a a

var chat = new Chat();

2021 July 17

AM

Artur Mustafin in var chat = new Chat();
В питоне нет ООП, на самом деле там просто структуры С, в обертке управляемого кода
источник

Ɖ

Ɖrēw in var chat = new Chat();
Если функция работает только со своими вводными и все что она делает в итоге это возвращает рехультат. который ще и должен быть детерминирован то такая функция чистая и не имеет сайд эффектов
источник

AM

Artur Mustafin in var chat = new Chat();
Именно. Да
источник

AM

Artur Mustafin in var chat = new Chat();
Вообще, ООП жутко неудобен как помне
источник

Ɖ

Ɖrēw in var chat = new Chat();
Смотря что
источник

Ɖ

Ɖrēw in var chat = new Chat();
И смотря где и когда
источник

E

Etki in var chat = new Chat();
дефайн что есть отсутствующий там ооп
источник

AM

Artur Mustafin in var chat = new Chat();
Я никогда за 20 лет карьеры не видел, чтобы это хоть как-то помогалл не писать говнокод. Rust еще не видел, но думаю что если напрчься то наговнокодить удастся и там
источник

E

Etki in var chat = new Chat();
в целом конечно из-за первого аргумента любого метода иначе как смехотой это не назвать, но про полное отсутствие это громкое заявление
источник

E

Etki in var chat = new Chat();
ну потому что статичные методы на самом деле функции и никакого отношения к ооп не имеют
источник

Ɖ

Ɖrēw in var chat = new Chat();
+
источник

Ɖ

Ɖrēw in var chat = new Chat();
То что в нормальном мире функция в сишарпе выражается бесполезным классом контейнером и статическим методом
источник

Ɖ

Ɖrēw in var chat = new Chat();
Но тут увы CIL ООПшный
источник

E

Etki in var chat = new Chat();
метод исполняется в контексте this, статичный метод предполагается использовать в контексте класса, но это оксюморон, никто в своем уме не будет пихать в статику состояние
источник

AM

Artur Mustafin in var chat = new Chat();
Согласен. Главный косяк ООП - это именно наследование. Выкиньте наследование и у вас будет конфетка с локальным полиморфизмом (в рамках домена), инкапсуляцией
источник

E

Etki in var chat = new Chat();
поэтому у статичного метода по факту контекста обычно вообще нет, т.е. никаких отличий от функции
источник

Ɖ

Ɖrēw in var chat = new Chat();
Статический метод по сути это обычный метод с null в качестве this
источник

Ɖ

Ɖrēw in var chat = new Chat();
И компайл тайм проверками что this. нигде явно или неявно не используется
источник

E

Etki in var chat = new Chat();
Это для рантайма так выглядит, а мы про семантику
источник

Ɖ

Ɖrēw in var chat = new Chat();
Понял тебя
источник