Shub
рефакторингу
давай ты показательно зарефакторишь приснопамятный NonNegativeInteger, который должен кидать исключения при конструировании, но не в случае -1?
Shub
на типах
Doge
Вне зависимости от подхода.
Shub
сравни объемы фреймворков\либ\литературы по проблемам ООП и ФП
A64m
Shub
A64m
Диёр
ооп фп...
процедуры наше всё!
go kek(args)
Igor
пора придумать новую парадигму
A64m
зачем?
Крылатый
Doge
сравни объемы фреймворков\либ\литературы по проблемам ООП и ФП
Ну с подходами, да. В ОО всё уже более-менее свелось к одному знаменателю.
Написать стандартное энтерпрайз приложение (типа CRUD с простой БЛ) с более-менее терпимой ОО архитектурой можно с закрытыми глазами, не напрягая ни одной извилины.
Но я бы такое приложение на ФП вряд ли стал бы вообще писать, как раз по указанным тобой причинам.
Shub
A64m
проблема надуманная, просто оопешники из оопе опыта выводят что к какждой технике надо бразиллионы страниц всякой шизофазии наработать и кучи бездельников должны зарабатывать на ней текстами постами книгами и лекциями, но это скорее оопешная болезнь, которая для других техник нехарактерна
Shub
A64m
Shub
потому что пипл хавает
Shub
нет
ну то есть дегуз не барыжит семинарами, влашин не продает консультации, симан не поехал на почве хаскеля - это все в параллельной вселенной, что ли?
A64m
покажите эфпешного дядю боба, мартина файлера или еще какого-нибудь такого поехавшего
Shub
A64m
Igor
да все языки гавно, даже cpp, который почему-то все считают низкоуровневым ни разу таким не является, потому код который ты пишешь может исполняться вообще в другом порядке. т.е. по сути получается пишется декларативный код
Shub
Shub
а оттуда плавно поехал в хаскель
Igor
а ООП оказался настолько неправильным, что от части его отказались, а другую часть обмазали паттернами
A64m
какой звездой еще, где тут аналогия с дядей бобом, файлером и т.д.?
Shub
а сегодня несет офигительные истории типа такой https://blog.ploeh.dk/2019/07/01/yes-silver-bullet/
A64m
где эфпешная банда четырех?
Shub
но я так понимаю, по Дегузу и влашину у тебя замечаний нет?
Igor
поэтому у нас в стране процветает 1С, там нет ни ООП, ни ФП, ни хера))
A64m
A64m
дегуз - это скалка же, а скалка - ООЯ, там и положено таким страдать
Shub
извините, я в этих сортах особо не разбираюсь. мне достаточно того, что они все известны как выступатели на конференциях и писатели в блоги, а так же небольшим разделом “как меня нанять"
A64m
кто такой влашин я знать не знаю
Shub
ныряй в окоп, щас тебе прилетит
Vasily
Shub
продает констультации на самом деле
Shub
до этого он много чего продавал
A64m
A64m
конечно
A64m
объектно ориентированный язык
Shub
ддд, как оказалось, прибыльное занятие
Shub
http://verraes.net/agenda/
Анна
Давайте может лучше опять про пчёл 🙃
Vasily
Нет, давайте разберемся
Shub
Vasily
Спор на самом деле весьма интересен
Shub
видите ли, спора нет никакого на самом деле. есть защита личных пристрастий. если б ФП победно шагал по планете - этого чатика не было бы.
Shub
давным давно нет разделов на форумах про “ООП” или “императивное” программирование, т.к. это банальная тема на сегодня
Shub
они были, давно, в 90е
Shub
потом сдохли, потому что обсуждать их стало все равно, что обсуждать погоду
A64m
т.е. аналога книг которые понаписали фаулер, дядябоб и банда 4-х но для фя нельзя назвать не потому, что их нет, а из-за личных пристрастий? понятно
Doge
Shub
A64m
A64m
Shub
эфшарп тут обсуждается меньше всего
A64m
проблема надуманная, просто оопешники из оопе опыта выводят что к какждой технике надо бразиллионы страниц всякой шизофазии наработать и кучи бездельников должны зарабатывать на ней текстами постами книгами и лекциями, но это скорее оопешная болезнь, которая для других техник нехарактерна
Shub
в основном общие вопросы фп, а эфшарп просто как нотация
Vasily
Вот хотелось бы услышать все же практические рецепты для фп
Vasily
А то пока вакуум
Shub
A64m
какого рода практические рецепты нужны-то?
можно пример такого рецепта?
Shub
Shub
Shub
при этом получая масштабируемый и поддерживаемый код
A64m
A64m
Shub
Doge
Shub
как обычно, потому что в такой ситуации на фп обычно и пишут
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
import Yesod
data HelloWorld = HelloWorld
mkYesod "HelloWorld" [parseRoutes|
/ HomeR GET
|]
instance Yesod HelloWorld
getHomeR :: Handler Html
getHomeR = defaultLayout [whamlet|Hello World!|]
main :: IO ()
main = warp 3000 HelloWorld
Shub
так, что ли?