#6 Декларативность - Vue.js: концепции

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 174

  • @FFizmaTT
    @FFizmaTT 3 ปีที่แล้ว +55

    ну насчет метода filter в js могу сказать, что он является декларативным. Возможно, если сравнивать SQL и JS, то это и неверно, но сам по себе метод вполне декларативен

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว +73

      Да, метод декларативно описывает НАМЕРЕНИЕ ;) Но сам код остается кодом. Но вы правы - лучше было бы написать полноценный цикл for (let i = 0; i < ...; i++) { ... } чтобы код был совсем императивен

    • @life_on_fire
      @life_on_fire 3 ปีที่แล้ว +2

      @@JavaScriptNinja я правильно понимаю, что претензия к фильтру как к декларативному коду, именно потому что реализацию самого метода фильтр как то может оптимизировать браузер, и фактически он так же является каким то более высшим представлением того же фор?

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว +7

      @@life_on_fire это не претензия :) фильтр снаружи декларативен, внутри императивен
      Я согласен что этот пример можно было бы улучшить. Я об этом расскажу в рамках "работы над ошибками" в следующем лайве

    • @life_on_fire
      @life_on_fire 3 ปีที่แล้ว +1

      @@JavaScriptNinja либо же сам фильтр как метод декларативный, а код в целом остаётся императивным) я немного запутался) было бы неплохо показать на js разницу, а то поверхностно у людей останется что html декларативный а js императивный, хотя вью написан на js, и за счёт шаблонов позволяет реализовывать декларативный подход, вообщем, это что то взбудоражило мой мозг)

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว +4

      @@life_on_fire js императивный. Мы когда пишем шаблон - мы пишем его не на js. И в этом как раз суть - вью превратит его в императивные инструкции как ему удобно

  • @ni55an
    @ni55an 3 ปีที่แล้ว +243

    - Джонни, застрели его и сбрось труп в реку!
    - Антонио, мы же договорились давать декларативные приказы
    - Его труп должен оказаться на дне реки!

    • @skygliderus
      @skygliderus 3 ปีที่แล้ว +10

      😂 Ещё больше декларативности:
      - Джонни, познакомь его с дном реки

    • @ni55an
      @ni55an 3 ปีที่แล้ว +6

      @@skygliderusне, такие абстракции нам не нужны 😄, иначе потом при реализации получится:
      - Знакомься, это дно реки

    • @natalialazareva1373
      @natalialazareva1373 3 ปีที่แล้ว +4

      Ну тогда декларативно, это было бы избавься от трупа, а как, меня это уже не волнует:)))

    • @ni55an
      @ni55an 3 ปีที่แล้ว +1

      @@natalialazareva1373 почему же, речь идёт не о том "как", а о конечном состоянии, что есть входным параметром

    • @natalialazareva1373
      @natalialazareva1373 3 ปีที่แล้ว +1

      @@ni55an а где у меня сказано о как? :)
      мне в голову уже более абстрактно не приходит.
      Как, при декларативном подходе нас и не волнует, я согласна, поэтому и отметила, что как это произойдёт, совершенно не важно, и какие средства и инструменты использует исполнитель, заказчика не волнует.
      Мне очень нравится пример с яичницей, и в стриме кто-то его по этому поводу как раз и приводил.
      Декларативно: приготовь яичницу,
      императивно: возьми из холодильника яйца,....., пожарь на сковороде. Изменила немного свой предыдущий комментарий, видимо не очень чётко выразилась.

  • @LexSpeedKB
    @LexSpeedKB 3 ปีที่แล้ว +28

    Я уже давно middle dev по vue, Но Ваш курс всё равно смотрю! Лучшее объяснение, что я видел. Жаль, что его не было полтора года назад, когда я начинал. Успехов!!!

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว +32

      Поверьте, совсем скоро мы найдём чем вас удивить :)

    • @jorgen5462
      @jorgen5462 3 ปีที่แล้ว +1

      Не узнал ничего нового. Я вообще не работаю программистом. Илье спасибо - вайтишникам немного мозг подправит.

    • @vatakiller
      @vatakiller 3 ปีที่แล้ว +2

      Что такое "middle по vue"?

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      @@vatakiller градация мастерства разработчика. Junior - младший специалист, Middle - специалист, Senior - старший специалист.

    • @vatakiller
      @vatakiller 3 ปีที่แล้ว

      @@vladimirzaguliaev9857 спасибо, кэп. Так а причем здесь vue?

  • @pshenychka828
    @pshenychka828 3 ปีที่แล้ว

    Дякую Вам, цей курс - найкраще з того всього, що я бачила про Vue

  • @rinak.4294
    @rinak.4294 3 ปีที่แล้ว +10

    Спасибо огромное за такие подробные объяснения! Все очень доходчиво! Подход - супер 👍

  • @pavelbezdenezhnykh6793
    @pavelbezdenezhnykh6793 3 ปีที่แล้ว +1

    Сначала не понял, а потом как понял как понял и аж мурашки по коже))) огромнейшее Спасибо за такое нереально простое объяснение происходящего!!!

  • @Vladimir-bz9tg
    @Vladimir-bz9tg 5 หลายเดือนก่อน

    Спасибо за Ваш труд

  • @kotomaksiya7577
    @kotomaksiya7577 2 ปีที่แล้ว

    Просто замечательное объяснение, что такое декларативность и императивность, всё так четко и подробно и главное - реально понятно, прям кайф, очень полезный курс не только для изучение vue, но и для понимания фундаментальных понятий

  • @dmitryvlasov3801
    @dmitryvlasov3801 3 ปีที่แล้ว +24

    Можно в конце, приступая к практике, сделать видео - вывод из концепций, что мы прошли. Вкратце перечислить их и короткое определение

  • @strel_photo
    @strel_photo 3 ปีที่แล้ว

    Это лучшее объяснение! Раньше ничерта не понимал разницы между декларативностью и императивностью, спасибо, что помогли разобраться)

  • @ramilbabayev5067
    @ramilbabayev5067 3 ปีที่แล้ว +1

    Спасибо за курс. Впервые все так четко объясняют. Теория важна, иначе не вникаешь в смысл того, что пишешь.

  • @ВячеславКузнецов-ъ3щ
    @ВячеславКузнецов-ъ3щ 3 ปีที่แล้ว

    Офигенный курс! Прям Кайфу от объяснений. Полезно не только для Вью, но и в принципе для понимания некоторых концепций программирования в целом.

  • @anubisrubis9085
    @anubisrubis9085 3 ปีที่แล้ว +12

    Я запомнил лично так (простыми словами), что императивный - это ты как император :D, ты диктуешь определенные правила(алгоритм действий), пишешь тот код, который необходим для выполнения задачи. Декларативный, простыми словами, это то, что уже есть, не изменить. Тот же самый в html. И в конце ясно сказано, что есть люди, которые на основании императивного стиля делают декларативный, тем самым, помогая в разработке. На нем вся основа) Старался понятно объяснить)

  • @Sergio-ij7pw
    @Sergio-ij7pw 3 ปีที่แล้ว

    Прекрасное объяснение императивности и декларативности

  • @МихаилСабуров-ы1в
    @МихаилСабуров-ы1в 2 ปีที่แล้ว

    Разжеванно конечно супер, это прям нечто! Спасибо огромное

  • @Masimkaify
    @Masimkaify 3 ปีที่แล้ว

    Очень информативный и интересный урок, даже я понимаю о чём речь) Спасибо большое, Илья !

  • @sagdieff
    @sagdieff 2 ปีที่แล้ว

    Илья, большое спасибо за курс, очень приятна твоя подача материала, все вполне доходчиво!

  • @maksime833
    @maksime833 2 ปีที่แล้ว

    Спасибо за уроки. Урок №6 осилил! Пока всё понятно

  • @roninjkee
    @roninjkee 3 ปีที่แล้ว

    Раз 20 пытался понять , что это, но только ваше объяснение вблило в голову понимание.

  • @darkelf585
    @darkelf585 3 ปีที่แล้ว

    Однозначно лайк за Greenfield Spring Melody!)))

  • @educom430
    @educom430 3 ปีที่แล้ว

    хорошее обьяснение в конце, не запутано в деталях и дает точное представление о предмете

  • @nurpaisorozulbaev7451
    @nurpaisorozulbaev7451 3 ปีที่แล้ว

    Супер! Никогда не было так четко ясно. Спасибо

  • @ТвойМаршрут
    @ТвойМаршрут 3 ปีที่แล้ว +1

    Отлично, спасибо! Такой теоретической базы как раз не хватает во многих уроках по вьюшке.

  • @alexeleave4551
    @alexeleave4551 3 ปีที่แล้ว

    Вот здесь отлично объяснили! Больше наглядных и практических примеров со сравнениями) Спасибо. Пойду сделаю себе чай декларативно :D

  • @МаксимПечёрин-я6э
    @МаксимПечёрин-я6э 2 ปีที่แล้ว

    Очень доходчиво, спасибо большое за вашу работу!

  • @Atelier155
    @Atelier155 3 ปีที่แล้ว +5

    Спасибо, вот теперь стало понятно

  • @Yevhenii_7777
    @Yevhenii_7777 3 ปีที่แล้ว

    Спасибо за отличное объяснение! Раньше вообще не сталкивался с такими понятиями

  • @NickBardier
    @NickBardier 3 ปีที่แล้ว

    Супер, спасибо за такие уроки.

  • @jasonborn4373
    @jasonborn4373 ปีที่แล้ว

    В этом курсе Илья часто упоминает о магии Vue), но по моему сам этот курс это магия!) Спасибо! За такое подробное разьяснение это важно!

  • @boreisha.artem13
    @boreisha.artem13 3 ปีที่แล้ว +1

    С чаем пример отличный!)) Спасибо)

  • @VYACHESLAVx
    @VYACHESLAVx 2 ปีที่แล้ว

    Спасибо большое!)

  • @andreyveda
    @andreyveda 2 ปีที่แล้ว

    Не люблю прописывать все пошаговые действия, а лишь то, что хочу увидеть в результате. Как это будет сделано движком браузера меня уже особо не парит. Как движок браузера display: flex; превращает в гибкий блок не волнует, хотя по факту даже V8 превращается в С+, Си код в ассамблерский, а он уже в машинный. Т е абстракция на абстракции и абстракцией абстрагируется! 😃🔥

  • @smartindex
    @smartindex 3 ปีที่แล้ว +1

    Пушка! Стало гораздо понятнее

  • @CryptoGenetic
    @CryptoGenetic 3 ปีที่แล้ว

    Круто! Я так понимаю, что Ruby on Rails - это очень декларативный фреймворк на бэкенде!

  • @alexanonymous5823
    @alexanonymous5823 3 ปีที่แล้ว

    огонь=)) спасибо за обьяснения декларативности=))

  • @lolwhatever7307
    @lolwhatever7307 3 ปีที่แล้ว +2

    Т.е. если мы используем какую-нибудь абстрактную функцию arr.sort, которая сортирует массив по своему усмотрению в зависимости от каких-то переменных, это декларативный стиль? А если мы пишем свою собственную конкретную реализацию это императивный?
    Но ведь сама функция sort внутри вполне императивна. Получается все относительно, и термины императивный и декларативный имеют свою силу только относительно текущего уровня абстракции?

  • @ТатьянаКольцова-ц7е
    @ТатьянаКольцова-ц7е 3 ปีที่แล้ว

    Все прекрасно объяснено! Спасибо

  • @syntax5569
    @syntax5569 2 ปีที่แล้ว

    Декларативно - "Сделай пиццу"
    Императивно - "возьми помидор, разрежь его слайсами, достань из холодильника продукти и т.д по схеме приготовления пиццы")

  • @amir18n
    @amir18n 2 ปีที่แล้ว

    супер!

  • @Fenrir-Wolf
    @Fenrir-Wolf 3 ปีที่แล้ว

    Спасибо за объяснение 👍

  • @Alex-hs8xj
    @Alex-hs8xj 3 ปีที่แล้ว +3

    получается что это различие условно? то есть более высокоуровневый слой мы называем декларативный, а менее - императивный? Например, мы пишем foo(f, c), как в примере, и подразумеваем, что это императивный стиль, но под капотом там осуществляется ряд команд, а значит это уже декларативный?

    • @kirillklimonov3289
      @kirillklimonov3289 3 ปีที่แล้ว +1

      Тоже непонятен этот момент. Запись в константу const x = 3 императивная команда, но если мыслить "запиши 3 в переменную х, и мне не важно какую область памяти ты для этого возьмешь и какой индекс присвоишь и как ты сделаешь её неизменяемой" звучит декларативно.

    • @andreypushkarev1870
      @andreypushkarev1870 3 ปีที่แล้ว +1

      Написал свой коммент, потом прочитал ваш) Ну да философия какая-то. Получается верх декларативности - это текст в редакторе ""Сделать сайт как у компании Х, с моими данными и котиками"

  • @ИгорьВасилевич-э4р
    @ИгорьВасилевич-э4р 3 ปีที่แล้ว

    Хорошее объяснение

  • @yauhenisaihak4210
    @yauhenisaihak4210 3 ปีที่แล้ว

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

  • @eGusevWeb
    @eGusevWeb 3 ปีที่แล้ว +1

    Спасибо!

  • @sergeypopov8772
    @sergeypopov8772 3 ปีที่แล้ว

    спасибо тебе огромное! Отличный материал. Разобрать как написать можно и нужно по документации - она не требует интерпретации. Не понимаю обучалок пересказывающих текст. Но очень не хватало материалов на философию того или иного метода. когда и почему тот или иной способ применять. Спасибо еще раз тебе огромное!

  • @iwannabekoshka
    @iwannabekoshka 3 ปีที่แล้ว

    Интересно, всё понятно, лайк

  • @ivanchukayev6547
    @ivanchukayev6547 3 ปีที่แล้ว +1

    Классно разъяснили!

  • @rusnickk
    @rusnickk 3 ปีที่แล้ว +2

    Если подумать то банальные инструкции js вроде const a = 1; так же декларативны, поскольку выражает наше намерение объявить именованную область памяти с начальным значением 1. Далее js движок v8 распарсит нашу инструкцию, сам выделит память, сам переложит в эту память исходное значение и вернёт ссылку на значение, не говоря уже всяких паралельных микрооптимизациях над нашим js кодом.

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      Нет. Рассматриваем не конкретную команду, а среду в которой она "живёт" (находится) наравне с другими командами. В этом и предыдущем видео говорится о ШАБЛОНИЗАТОРЕ Vue (как среде где есть команды). Вот он как раз пишется в декларативном стиле. Если мы возьмём как рассматриваемую среду МЕТОДЫ в том же Vue, то они пишутся в императивном стиле.
      Одиночные команды нельзя рассматривать.

    • @sovaz1997
      @sovaz1997 3 ปีที่แล้ว

      @@vladimirzaguliaev9857 да просто уровни абстракции разные, вот и все. И не важно, будь это шаблоны Vue, либо декларативные команды для процессора, которые уже он выполняет императивно относительно другого уровня абстракции)) Ну, в каком-то смысле, тут есть связь

  • @dmitrywalker6582
    @dmitrywalker6582 3 ปีที่แล้ว +25

    Это совсем другой уровень, не то что у
    `Владилена Минина`

    • @yuryitikhonoff9631
      @yuryitikhonoff9631 3 ปีที่แล้ว +4

      Закралась крамольная мысль, что данный курс и был создан, чтобы показать Минину и его аудитории другую альтернативу по самому заваленному его курсу. А выводы каждый сделает свои.

    • @user-ug1fk8ob3q
      @user-ug1fk8ob3q 3 ปีที่แล้ว +1

      @@yuryitikhonoff9631 Ошибаетесь, курс планировался еще в начале 2019.

    • @pshenychka828
      @pshenychka828 3 ปีที่แล้ว

      В Мініна, здається, просто нема "досвіду у комерційних проектах" (с) )) відчуй різницю))

    • @darkelf585
      @darkelf585 3 ปีที่แล้ว

      @@pshenychka828 Минин работал только на компанию, которая создает курсы, если мне не изменяет память, потому да, у него мало опыта в коммерции

    • @ЕгорЕгорович-д2т
      @ЕгорЕгорович-д2т 7 หลายเดือนก่อน

      За Мініна. Він чудово пояснює без води.

  • @snakill97
    @snakill97 3 ปีที่แล้ว

    комментарий для продвижения канала

  • @PacoOfficial
    @PacoOfficial 3 ปีที่แล้ว

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

  • @deutschc9058
    @deutschc9058 3 ปีที่แล้ว

    Я как Буриданов осел))хоть разорвись...Спасибо вам ребята)

  • @smith-dev
    @smith-dev 3 ปีที่แล้ว

    Видео каеф как обычно. Спасибо, а то я так и не смог дочитать спор в чатике)

  • @klick998
    @klick998 2 ปีที่แล้ว

    Все понятно
    Деклартивность - говорить более низким голосом

  • @yurastasyuk5783
    @yurastasyuk5783 3 ปีที่แล้ว

    Дякую 🤘

  • @hrubayurii4916
    @hrubayurii4916 ปีที่แล้ว

    Можно ли GPT Chat назвать следующим этапом декларативности в программировании?

  • @andreypushkarev1870
    @andreypushkarev1870 3 ปีที่แล้ว +6

    Получается, что императивность и декларативность в программировании это всего-лишь уровень абстракции? И то что было декларативным на одном уровне может стать императивным для более высокого уровня? К примеру, страница, сверстанная компонентами, более декларативна чем голый html, в который она преобразуется.

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      Обычно декларативное описание спускаясь на ступень ниже становится императивным, а не наоборот.

    • @andreypushkarev1870
      @andreypushkarev1870 3 ปีที่แล้ว

      @@vladimirzaguliaev9857 именно это у меня и имеется ввиду, а не наоборот)

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      @@andreypushkarev1870 правильно: "...для более НИЗКОГО уровня"

    • @igelko
      @igelko 3 ปีที่แล้ว +1

      Нет, не так. В императивном подходе мы в явном виде манипулируем состоянием системы, чтобы получить нужный результат где-то в состоянии. при этом можно сколько угодно пользоваться вызовами других процедур. Но фокусировка внимания программиста происходит на так называемых побочных эффектах - изменении состояния мира (значения переменных, ввод, вывод).
      В чисто декларативном стиле мы описываем нужный результат. Т.е. наша программа должна описывать результат в каком-то виде. Допустим, как SQL-запрос, или как композиция функций, т.е. f(g(x, y), z). При этом подходе у нас нет в явном виде состояния, которым мы манипулируем. Чтоб это понять лучше, надо почитать код на prolog или scheme, например. Код может быть при этом относительно низкоуровневым (например, вычисление факториала).
      Т.е. декларативность и императивность не обязаны образовывать иерархию.
      Промышленный код обычно представляет собой смесь из этих двух подходов. Сейчас считается хорошим тоном писать многие функции без побочных эффектов (чистые), т.е. она берёт на вход данные и возвращает результат, никак не влияя на окружающий мир. Такие легко тестировать и использовать. Но строго говоря код пишут именно ради побочного эффекта - активное взаимодействие с UI, автопилот авто, итд, так что одними чистыми функциями не обойдёшься.

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      @@igelko Может я коряво выразился в предыдущих ответах. Имел в виду то, что обычно декларативный стиль является "надстройкой" (в кавычках!!!) над императивным как следствие повышения абстракции, а не наоборот.
      Считаю, что ты прав на все 100%. Сам пишу пром. код на Vue около 4-х лет.

  • @artyom_ss
    @artyom_ss 3 ปีที่แล้ว

    Имхо, императивность - пишем код строго по api платформы/среды, декларативность - сахар, конфиги, препроцессоры

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว +5

      Я избегал бы слова "сахар". Все таки декларативность - это не сахар а именно более высокоуровневое представление. Про конфиги согласен. "Сахар" же - это более "краткая и удобная" форма записи чего-либо

  • @ЕгорД-л9ч
    @ЕгорД-л9ч 3 ปีที่แล้ว

    Четко

  • @tomitomion1179
    @tomitomion1179 3 ปีที่แล้ว

    Деструктуризацию можно назвать декларативным присваиванием?

  • @aleksandrmatyka3118
    @aleksandrmatyka3118 3 ปีที่แล้ว

    Илья, как експерт javascript скажите свое мнение, стоит ли использовать оператор optional chaining
    currentCompany?.name вместо currentCompany && currentCompany.name
    так как в нем используется больше проверок после компиляции, скажется ли это как то на произвольности приложения?

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว +1

      Не скажется в 99.99% случаев

    • @aleksandrmatyka3118
      @aleksandrmatyka3118 3 ปีที่แล้ว

      @@JavaScriptNinja огромное спасибо за ответ!

  • @vazgen_ai
    @vazgen_ai 3 ปีที่แล้ว

    Топ контент

  • @kotlancer
    @kotlancer 3 ปีที่แล้ว

    всё супер понятно :)

  • @ander1475
    @ander1475 3 ปีที่แล้ว

    уфф, дождался! =)

  • @vitiok78
    @vitiok78 3 ปีที่แล้ว

    Gitlab runner, кстати, тоже декларативная штука.

  • @mayonez007
    @mayonez007 3 ปีที่แล้ว

    Всегда думал что filter декларативный. Просто интересно, как будет выглядеть именно декларативный фильтр на JS?
    P.S В Python-e есть списковые включения, насколько я понимаю они декларативны. Но в JS такого синтаксиса нет.
    courses.filter(c => c.id> 10);
    filteredCourses(courses, `id > 10`); ?

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว

      Прочитайте закрепленную ветку

  • @v-tarkov_ru617
    @v-tarkov_ru617 2 ปีที่แล้ว

    Спринг мелоди разве на основе черного чая ?

  • @zizzxiii2714
    @zizzxiii2714 3 ปีที่แล้ว

    Как раз несколько дней назад читал статью про это))

    • @nikitakanishev
      @nikitakanishev 3 ปีที่แล้ว

      можно ссылочкой поделиться?

    • @perfecttg1731
      @perfecttg1731 3 ปีที่แล้ว

      @@nikitakanishev а погуглить не судьба?

  • @kitmeru
    @kitmeru 3 ปีที่แล้ว

    👍👍👍

  • @nekitos3269
    @nekitos3269 3 ปีที่แล้ว

    когда я просто пишу код императивный, я же не говорю куда премещатся битам или электронам в процессоре, они сами как-то решают исходя из вшитых инструкций в процессор. У каждого проца свои инструкции, будь то arm или х86. Электроны пепемещаются и получается результат. Это декларативность?

  • @aazubakin
    @aazubakin 3 ปีที่แล้ว

    Стало понятнее, когда привели пример на Vue и как он работает. Почему в React шаблонизация императивна меня мало волнует, курс же все таки про Vue.

    • @chirkov
      @chirkov 3 ปีที่แล้ว +2

      Это для людей, которые пробовали работать с реактом или хотя бы читали документацию.
      Мне эти объяснения помогли понять фундаментальную разницу вью и реакта.
      И отсюда осознать 2 разных подхода к разработке.

  • @myrichstory
    @myrichstory 3 ปีที่แล้ว +21

    деды в армии владели декларативным подходом: (среди ночи в казарме, например) "Чтоб через час у меня была пачка сигарет! Мне пох, откуда - роди!"😂

  • @ClanCRK
    @ClanCRK 3 ปีที่แล้ว

    Спасибо за видео!
    Правильно ли я понял, что мы можем назвать код декларативным или императивным ТОЛЬКО если упомянем относительно чего он таким является. Например, JS императивен относительно Vue и декларативен относительно v8/c++ (как тут правильнее)

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      Нет. Они не соотносятся друг относительно друга. Никак.
      Либо написано командами - императивный стиль, либо волеизъявлением желаемого - декларативный

  • @MaxHustleInSilence
    @MaxHustleInSilence 3 ปีที่แล้ว

    Что Вы думаете о React?

  • @Chat-Mayevskogo
    @Chat-Mayevskogo 3 ปีที่แล้ว

    Не согласен)
    Декларативность:
    const f = 3;
    let c = f + 2;
    foo(f, c);
    (Под капотом много оптимизаций и даже результат не всегда очевиден)
    Императивность:
    move rdi, 3
    move rsi, rdi
    add rsi, 2
    call foo
    Хотя и тут нужно перевести в опкоды да еще учесть оптимизации процессора, работа с памятью, и далее мы спускаемся на уровень электроники и тд.
    Я к тому что все есть абстракция и нужно еще обозначить какой уровень абстракции можно считать императивным.
    Или какую абстракцию считать императивной html отдельная абстракция от js. html декларативен в контексте js если из js создавать html.
    ....createElement('div'); .....
    Или ....innerHTML = 'foo bar';

  • @ГлебДемидов-н7о
    @ГлебДемидов-н7о 3 ปีที่แล้ว

    9:41 java-машина (JVM) !! а garbage collector тоже есть?

    • @mixfix86
      @mixfix86 3 ปีที่แล้ว +1

      конечно есть, java написана на javascript же

    • @ГлебДемидов-н7о
      @ГлебДемидов-н7о 3 ปีที่แล้ว +2

      @@mixfix86 😨🤔🤣

  • @АлексейПетров-и8к6о
    @АлексейПетров-и8к6о 2 ปีที่แล้ว

    Для SQL может быть много движков.
    Для HTML может быть много движков.
    А для JS - нет что ли? Он ведь тоже в браузере выполняется. И каждый движок браузера по-своему может его выполнить.
    По такой логике JS тоже декларативный.

  • @Young-fl6rq
    @Young-fl6rq 3 ปีที่แล้ว +1

    То есть, по-сути, любой случай, когда я использую интерфейс класса, делает мой код декларативным?

  • @zuzelok
    @zuzelok 3 ปีที่แล้ว +1

    Декларативность: нужно построить пирамиду
    Императивность: берем 10000 рабов, они делают 40000 камней нужных размеров и подгоняют их вместе

  • @ДмитрийГусаров-к5о
    @ДмитрийГусаров-к5о 3 ปีที่แล้ว

    vue быстрее react только в случае когда react разработчик не может его грамотно настроить? или в любом случае быстрее? если да - насколько? и стоит ли на этом акцентировать внимание? ведь в многих чатах уже пишут что react отстой, не реактивный, не декларативен, медленный и т.д.

    • @sovaz1997
      @sovaz1997 3 ปีที่แล้ว

      React с MobX ничем ни хуже Vue, а то и лучше в плане отличной поддержки TS и гибкости. А медленным код можно на чем угодно сделать, если не понимать базовые вещи в программировании

  • @oleksiiss
    @oleksiiss 2 ปีที่แล้ว

    А чому setup - імперативний, а стандартний options - декларативний? Не навпаки?

  • @user-mw1uf8tf7w
    @user-mw1uf8tf7w 3 ปีที่แล้ว

    Если я либерал, то мне лучше использовать декларативный стиль и в программированиии, я правильно понял суть?..

  • @betterlucknexttime195
    @betterlucknexttime195 3 ปีที่แล้ว

    Почему, ты называешь описание документа(HTML) как декларативность. Но jsx, называешь «императивным шаблонизатором»?

    • @JavaScriptNinja
      @JavaScriptNinja  3 ปีที่แล้ว

      Я не называю jsx императивным шаблонизатором. Я называю рендер функцию императивным способом объявить шаблон

  • @AlexandrSpirit
    @AlexandrSpirit 3 ปีที่แล้ว

    Императивность и декларативность... Используется во всех языках (наверное). Эта философия очень сложно мне даётся. Вроде более-менее стало понятно. Особенно с чаем )))

  • @Omicrons
    @Omicrons 3 ปีที่แล้ว

    Тема "Зеленого Поля Весенней Мелодии" на 3-ей полке не раскрыта...

  • @pannihto7588
    @pannihto7588 3 ปีที่แล้ว

    Если коротко: императивные команды говорят "как сделать", декларативные - "что сделать"

  • @user-ir5zd2jy9e
    @user-ir5zd2jy9e 3 ปีที่แล้ว +2

    HTML - декларативен.
    Тогда получается что модуль bootstrap-vue - декларатив поверх декларатива.
    Кстати как Вам подобные модули вообще по вкусу? Возможно это в курс надо, так как народ часто тащит их с npm

  • @АндрійКирієнко-х2ь
    @АндрійКирієнко-х2ь 3 ปีที่แล้ว

    спасибо за видео, можно ли сравнивать ети концепции на одном и том же примере js без html или на оборот, как по мне ето разние технологии, для разних целей и получаю кашу в голове.
    Тот же декларативний подход из Vue wqerty очень похож на JSX из императивного реакта if (true) { qwerty }, только разница в том что Vue програмируем в html, а React програмируем в js.

    • @vladimirzaguliaev9857
      @vladimirzaguliaev9857 3 ปีที่แล้ว

      В первом случае ты "говоришь" что желаешь видеть div при таких-то условиях. Во втором случае ты по условию "командуешь" вставить div. Чуешь разницу? ;)

  • @arnowt
    @arnowt 3 ปีที่แล้ว

    Описанное вами SQL и js абсолютно одно и тоже. Жёсткая команда и там и там...
    Выбери всё что больше 10.

  • @ragnnna2416
    @ragnnna2416 3 ปีที่แล้ว

    Ааа, да? Ну лан

  • @gravityarm9240
    @gravityarm9240 3 ปีที่แล้ว

    Кароче рівень абстракції

  • @СвятославКачмар_хмм
    @СвятославКачмар_хмм 2 หลายเดือนก่อน

    Навіщо так довго про таку банальщину? Така довжина може створити враження, що це щось з розряду рокет саєнс))

  • @hrantharuthiunian1011
    @hrantharuthiunian1011 3 ปีที่แล้ว

    Спасибо!!