Size: a a a

2021 July 09

SA

Sokolov Andrew in Lisp Forever
не ну типа во время разработки это удобно бывает например
источник

SA

Sokolov Andrew in Lisp Forever
когда архитектуру продумываешь
источник

SA

Sokolov Andrew in Lisp Forever
но и структуры можно переопределять
источник

SA

Sokolov Andrew in Lisp Forever
просто потом все чт ос ними придется перекомпилировать
источник

SA

Sokolov Andrew in Lisp Forever
ну ниче я обычно много не пишу пока не понял че писать
источник

a

akater in Lisp Forever
Ну вот в Лиспе «это другое», наверное.  Не знаю, я не знаком с понятием monkey patching интимно, но звучи как пейоративный термин.  CLOS же, как и Лисп в целом, была создана специально чтобы всю программу сколь угодно сложную, можно было аккуратно переводить из состояния в состояние не перезапуская ее.
источник

VS

Vlad Stepanov in Lisp Forever
этот кейс понятен, я о практике по ходу исполнения перекраивать структуру  объекта - вот тебе и вся интимность манкипатчинга.
источник

VS

Vlad Stepanov in Lisp Forever
именно в штатном исполнении
источник

a

akater in Lisp Forever
не понял смысл замечания, даже приблизительно
источник

VS

Vlad Stepanov in Lisp Forever
а не в процессе эволюционирования кода
источник

VS

Vlad Stepanov in Lisp Forever
взаимно, и не хочется уже понимаь
источник

MK

Mikhail Kirillov in Lisp Forever
Мне кажется есть случаи, когда это имеет смысл. В конце концов фишкой динамического языка является подобное поведение
источник

SA

Sokolov Andrew in Lisp Forever
в лиспе исполнение происходит довольно часто
источник

a

akater in Lisp Forever
В общем, объекты в CLOS и их классы всегда можно контролируемым образом переопределять, в этом нет ничего плохого.
источник

SA

Sokolov Andrew in Lisp Forever
почему бы не во время тестирования например
источник

VS

Vlad Stepanov in Lisp Forever
я не говорю, что это плохо или хорошо - так называют - широко применимое понятие
источник

VS

Vlad Stepanov in Lisp Forever
это вот уже как раз другое )
источник

MK

Mikhail Kirillov in Lisp Forever
Когда в динамическом языке такое сделать нельзя или сделать сложно, то становится непонятно зачем такой язык существует в принципе. Прямо сильно дубовый из динамических языков наверное PHP. Переопределять и дополнять можно хотя бы то, что тебе даётся в стандартной библиотеке, это бывает полезно.
источник

VS

Vlad Stepanov in Lisp Forever
иногда это пиздец как хуево, когда видишь код, который меняет структуру объекта во все щели в самых непредсказуемых местах в функции длиной в три экрана, но это уже тоже другое
источник

VS

Vlad Stepanov in Lisp Forever
вот поэтому и прижилось - манкипатчинг
источник