• В чем разница императивного и декларативного подхода в javascript? Это процедурный и ООП стили?

    @pikkvile
    developer
    Моё понимание такое.
    Декларативное программирование - это когда в коде описано что должно получиться, а императивное - когда написано как это сделать. Т.е. в первом случае мы совершенно не интересуемся, каким именно образом машина сделает работу, какие инструкции в каком порядке выполнятся и так далее, мы просто объясняем ей, что хотим увидеть в результате. Примеры декларативных языков - html, css, sql, конфиг nginx. Ещё тут стоит упомянуть функциональные языки (lisp, haskell), программы на них тоже, как правило, являются описанием (декларацией) того "что должно получиться". Ну, короче говоря, мы говорим компьютеру: вот смотри, мне надо чтобы было так, а как ты это сделаешь, мне не интересно. Аналогия такая: у меня есть чертёж бани, я даю его бригаде строителей и уезжаю. Как именно они там будут таскать брёвна, пилить доски и прочее - я не в курсе.
    Программируя императивно, мы описываем конкретные шаги, действия и точный порядок, в котором их нужно исполнять. Напрямую руководим процессом, непосредственно отдаём приказания. Примеров масса, большинство популярных языков императивны, в том числе и javascript. Ты пишешь: вот, сделай-ка переменную myVar, потом запиши туда число 5, повторяй это до тех пор, пока что-то не случится... и так далее. Возвращаясь к примеру с баней, ты теперь - начальник бригады, именно говоришь какое бревно куда класть.
    Что касается процедурного и объектно ориентированного стилей, это немного о другом. Я бы сказал, что это два разных способа писать императивные программы. В процедурном случае мы организуем код, наши команды (приказы машине) в виде процедур. Процедура - набор команд. Это довольно простой способ организации кода и исторически более ранний. ООП - это чуть более сложный подход к организации кода, когда мы группируем инструкции и данные, которыми они манипулируют, вместе. Объект - это состояние (данные) плюс поведение (набор методов). Но это уже немного другая история.
    Ответ написан
    2 комментария
  • Функционал vs Функциональность?

    Shultc
    @Shultc
    RnD Developer
    Что-то я подозреваю, что у вашего начальника какие-то проблеммы именно со вторым значением этого слова…
    Ответ написан
    1 комментарий
  • Как сделать дерево?

    Exploding
    @Exploding
    wtf?
    Ре-кур-си-я. Закопает семена и взрастит из них заветное дерево невиданной красоты!
    Ответ написан
  • Как в Doctrine 2.5 указать связь на non-ID стобец?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Философия доктрины заключается в том, что база данных это деталь реализации, а вы должны проектировать бизнес-сущности, связи между ними и их взаимодействие. База данных в этом случае должна целиком и полностью генериться.

    То что вы хотите сделать идет в разрез с философией Doctrine. Организовать подобную связь нельзя. Можно джойнить что угодно с чем угодно в запросах, но не более.
    Ответ написан
    1 комментарий
  • Как в Doctrine 2.5 указать связь на non-ID стобец?

    @maxloyko
    Ответ написан
    Комментировать