Size: a a a

JavaScript — русскоговорящее сообщество

2021 October 01

DD

Denis Deniskov in JavaScript — русскоговорящее сообщество
Это ништяки только в определенной области. Функциональный подход избавляет нас от лишних внутренних состояний в приложении.

Например строить простой UI гораздо легче разрабатывать это функция от данных. Подоешь ей на вход одни и теже данные получаешь один и тот же интерфейс.

Но если тебе нужен что-то сложное вроде карты, чата внутри сайта, со хитрой логикой, тогда выигрывать начинает ООП подход, т.к. упрощает управление внутренним состоянием.

На практике же самое лучшее это разумное совмещение этих двух подходов. Потому что серебрянных пуль не бывает, и слепо следовать одному подходу это изначально неверный путь.
источник

DF

Dofi Frank in JavaScript — русскоговорящее сообщество
Функциональное программирование - неплохо на самом деле, но  не для большого проекта
источник

DD

Denis Deniskov in JavaScript — русскоговорящее сообщество
Нет, просто мне кажется что так сложилось потому что есть класс задач который можно решить и без ООП, а это 90% задач на фронте. Сделать новый блок с отображением, или модалку открывающуюся, здесь не нужно много ООП, достаточно modalOpen(data) и все.

С другой стороны попробуй движок карт сделать или какую-нибудь игру про самолетики и все, без ООП только дров наломаешь.

А в ООП нормально въехать ГОРАЗДО сложнее чем в функциональные парадигмы, вот и приживается такой подход, т.к. он просто проще для понимания новичкам.
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Дак ООП появился потому что сложность выросла
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Открыть модалку можно и без ООП, но писать большие системы без ООП, который придумали, чтобы это упростить - это бред
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Как будто школьники решили выкинуть то, что старые пердуны там напридумывали, мы мол попроще все сделаем
источник

DD

Denis Deniskov in JavaScript — русскоговорящее сообщество
Да и для большого норм, функции тоже можно организовывать не хуже классов в ООП. Там есть свои подходы и паттерны. У нас большой проект, и там совмещены ООП и функциональный подход.

Тут скорее проблема, что в данном подходе видят серебрянную пулю и тулят его там, где уже пора использовать ООП.

Вообще это разговор из области "Какой язык программирования лучше?", спорить можно много, но язык обычно решает определенные задачи и некоторые языки лучше в некоторых областях. Также и тут, где-то круче ООП, где-то ООП избыточен.
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Нельзя функции организовать не хуже ООП
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Есть куча моментов, которые на функциях не решаются
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
И самый главный - когнитивная сложность проекта на функциях
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Я, кстати, не говорю про ФП, не все тут понимают, что такое ФП
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Вы бы вздрогнули от проекта на ФП
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
поэтому я и прикрутил ООП к функциям 😊
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
То, на чем пишете вы - это просто свалка функций, а не ФП
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
классы и прототипы это тоже свалка функций
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Нет
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Самое главное, что несет в себе ООП - это то, что данные всегда инкапсулированы в объект, который умеет ими манипулировать
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
В коде на ООП у вас никогда нет чистых данных, это всегда объект, который умеет эти данные хранит и что-то с ними делать
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
В этом весь кайф, в любой точке программы ты понимаешь, что можешь сделать с этими данными
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
это называется замыканием
источник