 Vladislav
    Vladislav 
    
    
        
        
        
        Ну типо вот у меня 150 процедур с зависимой логикой
    
 
     Vladislav
    Vladislav 
    
    
        
        
        
        Чо делать
    
 
     Pavel
    Pavel 
    
    
 
     Vladislav
    Vladislav 
    
    
        
        
        
        (Типичный представитель из зала)
    
 
     x
    x 
    
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Как-то так
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Зависит
    
 
     Анна
    Анна 
    
    
 
     Pavel
    Pavel 
    
    
        
                    
                        
                            
                            Чо чо? Гле почитать?
                        
                    
                
        
        
        https://en.wikipedia.org/wiki/Clean_(programming_language)
        интересная штука была. круче хаскеля. но так как в отличии от хаскеля не спонсировалась ms то развития не получила
    
 
 
     Nikolay
    Nikolay 
    
    
        
                    
                        
                    
                
        
        
        Обрабатывающая функция получается полностью чистая, функция, куда передаёшь функцию, которая в базу ходит будет получистой, её тоже легко тестить можно, подменяя функцию, которая ходит в базу своей
    
 
 
     Vladislav
    Vladislav 
    
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Обрабатывающая чистая
    
 
     Vladislav
    Vladislav 
    
    
        
        
        
        Все что ее трогает уже не чистое
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        > в третью функцию, которая этот результат обрабатывает
    
 
     Nikolay
    Nikolay 
    
    
 
     x
    x 
    
    
        
        
        
        Суть фп минимизировать код который грязный и максимизировать который чистый
    
 
     x
    x 
    
    
        
        
        
        100% чистоты быть не может по определению
    
 
     x
    x 
    
    
        
        
        
        Но к ней надо идти
    
 
     Pavel
    Pavel 
    
    
 
     x
    x 
    
    
        
        
        
        Я не даю определения фп.
    
 
     Pavel
    Pavel 
    
    
 
     x
    x 
    
    
        
        
        
        Для геймдева в основном применяется data oriented programming, не functional
    
 
     x
    x 
    
    
        
        
        
        Насколько я знаю
    
 
     Pavel
    Pavel 
    
    
        
        
        
        неважно. внешний мир побочных эффектов одинаков, что для консоли, что для дх драйверов, что для базы данных.
    
 
     Nikolay
    Nikolay 
    
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Представь себя интровертом
    
 
     Pavel
    Pavel 
    
    
        
        
        
        он просто есть и с ним приходится работать, таща его стейт через все приложение
    
 
     x
    x 
    
    
 
     Pavel
    Pavel 
    
    
        
                    
                        
                            
                            Представь себя интровертом
                        
                    
                
        
        
        тут не надо ниче представлять. тут достаточно посмотреть упомянутые исходники что б осознать что это тупиковая ветвь
    
 
 
     Pavel
    Pavel 
    
    
 
     Nikolay
    Nikolay 
    
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Так работает перемотка в играх, например
    
 
     Pavel
    Pavel 
    
    
        
        
        
        какое отношение перемотка имеет к стейту который может меняться независимо от пользователя?
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Если ты поменяешь стейт, ты не сможешь откатиться назад
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Грубо говоря, ты вызываешь функцию getCurrentState, она рассчитывает стейт для тебя
    
 
     Pavel
    Pavel 
    
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        И ты уже отображаешь его
    
 
     Nikolay
    Nikolay 
    
    
        
        
        
        Щас точно не помню, но вроде react/redux так и работает
    
 
     x
    x 
    
    
        
                    
                        
                            
                            для бд и  игр? это как ?
                        
                    
                
        
        
        Про бд давно уже известно что update и delete не нужны, информация слишком ценна чтобы с ней обращаться таким образом а носители довольно дешевы. А про игры ещё раз повторюсь, что возможно там фп и не слишком выигрышная стратегия. Особенно в платформерах. А вот в стратежках каких пошаговых так почему бы и нет
    
 
 
     Hog
    Hog 
    
    
 
     Vladislav
    Vladislav 
    
    
 
     x
    x 
    
    
 
     x
    x 
    
    
        
        
        
        А баба вера как удаляла так и удаляет записи ) ей как раз пофигу
    
 
     x
    x 
    
    
        
        
        
        Ну ты же понимаешь что это не апдейт? А инсерт новой записи о каждом звонке?
    
 
     Pavel
    Pavel 
    
    
        
        
        
        я про баланс а не звонок. ты точно в телекоме не работаешь
    
 
     x
    x 
    
    
        
        
        
        Конечно нет ) а что тут специфичного именно для телекома?
    
 
     Pavel
    Pavel 
    
    
        
        
        
        объемы информации, время отклика и толщина потока. короче если ты будешь в приличном обществе рассказывать про компании которы все хранят на тобой будут смеятся (не обязательно вслух). все хранить себе может позволить компаний 10 в мире. остальные апдейтят и трут
    
 
     x
    x 
    
    
        
        
        
        Это всё какое отношение к балансу имеет?
    
 
     Pavel
    Pavel 
    
    
        
        
        
        у тебя на балансе 10 рублей. ты позвонил - стало 8 . думаешь ктото будет запись создавать? тебе обновят баланс и свободен
    
 
     x
    x 
    
    
        
        
        
        И как потом мне узнать куда и сколько у меня ушло денег? Если всё что я знаю -«теперь 8»
    
 
     Pavel
    Pavel 
    
    
        
        
        
        насыпят в логи куда звонил и сколько с тебя сняли. но основной твой баланс всегда будет обновлятся.
    
 
     Pavel
    Pavel 
    
    
        
        
        
        весь твой стейт будет всегда обновлятся.
    
 
     Pavel
    Pavel 
    
    
        
        
        
        не только баланс
    
 
     x
    x 
    
    
        
        
        
        Ты всерьёз полагаешь, что при запросе истории звонков софт полезет в логи sql server-а?
    
 
     x
    x 
    
    
        
        
        
        Можно вопрос, сколько лет ты «работаешь в телекоме»?
    
 
     Pavel
    Pavel 
    
    
        
        
        
        во превых не полагаю. во вторах не те логи о которых ты подумал. логи можно лить куда угодно
    
 
     Pavel
    Pavel 
    
    
 
     Pavel
    Pavel 
    
    
        
        
        
        логи они за приделами real-time стейта о тебе. они не обязаны возвращаться мгновенно
    
 
     x
    x 
    
    
        
        
        
        Ну ясно.
    
 
     Hog
    Hog 
    
    
        
                    
                        
                            
                            :(
                        
                    
                
        
        
        Ми сорри :( я всегда так себе и коллегам говорю. Написал грязный код - надо руки хорошо вымыть :) и сразу ощущение грязи пройдёт  :)
    
 
 
     Hog
    Hog 
    
    
 
     Romɑn
    Romɑn 
    
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        Офигеть, сколько написали ни о чем  😊
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        Во первых, система с миллионом пользователей сильно отличается от системы с миллионом АКТИВНЫХ пользователей.
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        Во вторых логи нужны нв разборе полетов, знвчит вопрос их хранения и передачи уходит из системы в обеспечение.
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        В третьих - хочется полного контроля -  уходить на event source model, но объяснить бизнесу( тем кто платит), что объем дисков и оплата будет рости геометрически.
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        А все остальное правда.
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        И последнее - в чем разница в этом между fSharp и другими языками. Первый раз скажу, оф топ
    
 
     Hog
    Hog 
    
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        Спасибо! Яблочки с медом все покушали?
    
 
     Hog
    Hog 
    
    
        
        
        
        Да я что-то всё больше по пивку :)
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        А я и то и другое успел 😊
    
 
     Éminence grise
    Éminence grise 
    
    
        
        
        
        Никак не думал, что кото знает, что у на рош-гашана!