Re[31]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
От: samius Япония http://sams-tricks.blogspot.com
Дата: 14.10.19 13:03
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, samius, Вы писали:


S>>Конечно. Ты только сейчас оговорился, что это бывает уместно, а ты лишь про те кейсы, где это неуместно.


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


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

I>>>Кроме того:

I>>> — на кой ляд изобретат велосипед в ЯП с другой парадигмой, где вообще всё построено на других принципах ?
S>>Что бы было чем воспользоваться, если, вдруг, понадобились принципы, отличные от безальтернативно предлагаемых в данном ЯП.

I>Ага, "на всякий случай"


I>Ага, "и так сойдёт"

Вполне ожидаемый уровень аргументации.

S>>Такое решение может давать гарантии, которых не может дать обычное решение.


I>Подробнее, какие именно гарантии, если компилер C# те самые гарантии не выдаёт.

Гарантии неизменяемости. С этим у компилера C# все не так плохо. Например, список, что я приводил, компилятор сломать не даст.
I>До кучи, отламывается пошаговая отладка — становится неюзабельной, а так же и другие инструменты.
Куда это пошаговая отладка отломалась? И почему она стала неюзабельной?
I> Например, автоматический рефакторинг сильно вряд ли сможет рефакторить твои наколеночные списков.
Какие проблемы с автоматическим рефакторингом?

>>Как следствие, упрощает проект. Конечно, я здесь не про всевозможные велосипеды, а за те, которые обладают некими полезными свойствами как персистентность.


I>Для персистентной модели в общем случае нужно гораздо больше, чем иммутабельные списки. Нужна вообще вся модель приложения персистентная, а следовательно, весь код который её использует, должен быть особенным.

Примерно таким же особенным, как код, использующий неизменяемые дотнетовские строки. Много ли твоих знакомых людей сломало голову о них?

I>Кроме того, если функционалист уходит, на его место надо внезапно искать нового функционалиста, да еще такого, что бы C# знал и умел на вышем уровне, что бы продраться через эти велосипеды. Тут уже звоночек и у ПМ, и у HR, и у заказчика.

Код, который я привел — навеян SICP-ом. Это вводный курс для программистов, рассчитанный на людей, которые к компу вообще не подходили ни разу. Замыкания там даются в первом семестре, если не ошибаюсь.
Звоночек у ПМ, HR и заказчиков должен взорваться от натуги, если они берут на C# программиста, не знакомого и не способного познакомиться с замыканием.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.