• Не понимаю паттерн MVC. Что почитать/посмотреть?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как всегда, набежало "специалистов"-попугаев, повторяющих заученные фразы, но так и не понявших ни что такое сам паттерн, ни вопроса, который был задан.

    Хотя ответ очень простой и первый вопрос автора даёт очень простую подсказку.

    Вся суть эмвэцэ в том, что это всего лишь интерфейс. Штепсель. Розетка, через которую твое приложение подключается к веб. Веб-интерфейс твоего приложения.

    То есть к самому приложению, если подумать, отношения не имеет.

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

    При этом модель - это не убогий интерфейс к таблице в бд, как думают все попугаи. А собственно все приложение и есть. Это ещё называется бизнес-логикой.

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

    Ответ с картинками и видео с ютюбе https://qna.habr.com/answer?answer_id=1475989#answ...
    Ответ написан
    1 комментарий
  • Для выполнения каких задач какой язык программирования подходит?

    Jump
    @Jump
    Системный администратор со стажем.
    каждый язык сделан под свою группу задач
    так и есть.
    якобы можно программировать все и на всем, различие только в простоте и лаконичности метода выполнения задачи.
    Это так, но с некоторыми оговорками.

    Компьютер понимает один язык - машинные коды.
    Человеку этот язык крайне неудобен поэтому для удобства делаются языки более-менее понятные человеку после чего программа переводится в машинный код понятный компьютеру.

    Например самый низкоуровневый - ассемблер.
    Минимум абстракции близок к машинным кодам - язык очень гибкий и сделать на нем можно что угодно, но написать на нем обычный текстовый редактор вроде блокнота - это куча кода и месяцы работы.
    Или взять C довольно низкоуровневый язык, позволяет что угодно, но тоже объемный проект очень долго писать, хотя конечно на порядок быстрее чем на ассемблере. Можно написать драйвер на нем.
    А вот всякие C#, пайтон - это уже языки более высокого уровня - писать гораздо быстрее, не надо думать о выделении памяти, и вообще пофиг что там и как под капотом. Десяток строк кода и у вас уже работает нейросеть. Но драйвер для устройства на них уже не получится написать.

    Ну и есть специализации - например php это язык для серверного бэкэнда для этого он разрабатывался и неплохо себя в этом показывает. Написать на нем обычное десктопное приложение затруднительно, хотя и можно, но это будет набор костылей.
    Пайтон - универсальный, подходит для написания бэкэнда, для скриптов администратора, для научных расчетов, на нем можно и десктопные приложения писать.
    C# заточен для работы в майкрософтовской инфраструктуре - если нужно написать десктопное приложение идеальный язык.
    Java - корпоративный язык.
    JS - скрипты администратора, фронтэнд.
    Ответ написан
    5 комментариев