Единствнное, что не понятно, как в поток обработки ввода-вывода попадает сформированный ответ, или запись ответа в сокет происходит в потоке обработчика? По сути вопрос можно перефразировать так — что делает cmd.m_req->create_response()…
По факту мы из объекта выкусили состояние и сделали наши функции зависимыми от этого состояния подающегося им на вход. Добро пожаловть в мир классов на старом добром C:) Там функции вполне чистые, и результат зависит только от аргументов(в том числе this), но всегда ли это хорошо и удобно? Да, я знаю про функуиональный стиль итд, но вот вопрос, не превращается ли это в написание кода только ради написания кода?
А как насчет получения вида на жительство при наличии рабочего контракта например с Израильской фирмой, и отсутствии привязки к месту жительства? Есть какие то требования по доходу? Недвижимости?
Почитал коменты и офигел, с автором все понятно, у него хобби такое. Но вот пассажи по поводу лени программистов хотелось бы оспорить. Я работаю в компании которая выпускает продукт, UI которого написан на MFC. И мы каждый день чувствуем давление рынка. Пользователи хотят все, и крутилки-свистелки-перделки, и анимации, и асинхронный интерфейс, и еще много всего такого, что наши менеджеры постонно приходят и рыдают как они хотят новый UI на WPF или Electron. Пока что нам удавалось их отговорить от таких радикальных шагов демострацией столбца «используемая память» в диспетчере задач на приложениях подобных нашему, но написанных на этих фреймворках. Но чем дальше, тем это будет сложнее. А реализовывать подобные штуки на MFC который мало чем отличается от голого WinApi — мазахизму подобно. Вот тут и начинают появляться лишние гигабайты на диске и ОЗУ… Так что не программисты виноваты, а те кто этого хочет, и те кто это впаривает как конкурентное преймущество.
На самом деле ПИД регулятор — это обобщенный регуляро который удовлетворяет потребностям 80% систем. Он выводится из теории автоматического регулирования как обощение. Для сложных систем применяются регуляторы, которые расчитываются конкретно для заданной системы. Исхотя из передаточной и импульсной характеристики системы. Задача не простая. Я уже забыл как это делается. Но мы это учили:) И делали системы автоматичесеого наведения ракет на цель по лучу слежения, исходя из хараактеристик цели — скорость, угловая скорость итд… Короче задача решена не оптимально.
Лямбды можно и в шарпе лепить, и в Java уже и в питоне… На самом деле, при грамотном использовании весь ужас метапрограммирования прячется где-то под капотом, и если в команде есть люди которые это с трудом воспринимают, то как правило им это и не надо, они пользуются уже следствиями всего этого, а там уже все намного проще. Вот например захотел я сделать что то типа Asp.Net WebApi на плюсах, конечно один в один не вышло, но сделал так что при определении класса можно определить (а можно не определить методы get post put delete итд...), хотел чтобы н было наследования, чтобы класс был чистым, без полиморфизма, и что бы если класс не содержит методов обработки соответствующих запросов, ервер отвечал что то вразумительное. Под капотом сущий ад из вариативных шаблонов SFINAE, traits итд… Но с наружи пользоваться этим легко и просто, создал реализуаци, определил статический метод который определяет путь обработки запроса — типа «api/device» и реализвывай что тебе надо — get, post итд… И добавь его в список типов, все. Пользуются и радуются:)
Так надо сравнивать их с альтернативой до C++11, например с функциональными элементами и списками типов из библиотеки Loki от Александреску. И все вопросы отпадут:))))
Полная аналогия с WPF, декларативная векторная графика, с моделью событий, и декларативной анимацией, оооочень сильная штука. На императивной модели создаия интерфейса и близко такого не сделать. Ваша задача решается там практически без кода.
Отличная статья, весь курс физики девятого класса в одной короткой статье, с четко изложенной причинно следственной связью! Жду продолжения с нетерпением, и даю читать сыну!
Мой вывод по поводу этого — обыкновенная халатность разрабов. Такой халатности в корпоративном софте просто пруд-пруди. Почитайте про безопасность SCADA систем например.
Похоже на Vue, только не хватает самого вкусного, декоративности и двустороннего биндинга, а без этих концепций, все равно получится лапша...
А вообще —