Сап программач. Насколько обычные программисты сталкиваются с математикой? Вот например, вспомнились мне круды, и я подумал, что прикольно их реализовывать через конечные автоматы, ака стейт-машины. Спросил нейронку используют ли такой подход, ответ был, что оин популярны. Хотя я не разу не слышал в контексте крудов или бизнес логики слово "стейт-машина", если гуглить то всё в геймдеве. И так почти во всём. И я вот не понимаю, это потому что я не работаю программистом или просто программистам это нихуя не нужно.
>>333924434 (OP) Ответ содержится в вопросе. Кто такие программисты, они же кодеры? Это люди, которые программируют, пишут код. А что значит «программировать»? Это значит переносить готовые модели и алгоритмы на формализованный язык по заранее определенным правилам синтаксиса. Где в этой задаче требование к глубокому и осознанному применению математики? Программирование не требует изобретать ничего нового, его задача изменить форму уже готовых представлений.
Уточни область. Нужно понимать базовый линал, если делаешь 3D без движка. Самый минимум, зная 9 точек образующих домик, и точку где находится камера, на бумажке посчитать и нарисовать, как он будет оттуда выглядеть. Ну и под CRUD обычно подразумевают что-то типо REST на http, и зачем ты тащишь state в stateless протокол хз вообще. Может ты про бизнес логику имел в виду. Но UPDATE order SET state = "pending", с математикой мало что общего имеет.
>>333924577 >Ебанутый? Сервер не должен состояние хранить Это ты ебаннутый, сервер не будет хранить состояния, если применять стейт-машину. Сервер просто будет набором автоматов, а не хранилищем данных.
>>333924741 >>333924577 Вы же просто не знаете, что такое машина состояний? По русски их еще называют конечный автомат. Это такой способ описывать процессы и системы как набор состояний и переходов между ними, в практике программирования можно смотреть на это как на архитектурный паттерн
>>333924618 > готовые модели и алгоритмы на формализованный язык Так их надо знать и понимать прежде чем переносить. Из 3 постов в 2 не понимают что такое стейт-машина. И вот непонятно мне как это у них в мозгах работает, я просто свои уже просадил математикой.
>>333924434 (OP) >Насколько обычные программисты сталкиваются с математикой? Хуй знает насчет обычных, но в программировании микроконтроллеров с математикой сталкиваться приходится часто.
>>333924434 (OP) Ты юродствуешь или что? Любой бизнес-процесс — большая стейт машина. Даже флоу таски в джире — стейт машина конфигурируемая. Всё это говно круд эндпоинтами и двигается из состояния A в состояние B.
>>333925170 Знать и понимать надо. Да, это уже уровень отличный от нуля. Но это всё ещё не уровень авангардной математики и тех, кто эти модели и алгоритмы изначально разрабатывает и проектирует. А чаще всего не нужен и он, потому что используется модель черного ящика. Подаем сигналы на вход и анализируем сигналы на выходе. Если нас всё устраивает, тогда ничего не трогаем. А если не устраивает, то меняем конкретный фрагмент под себя. Какого-то знания и понимания высоких абстракций здесь вообще нет, просто конкретная работа по управлению текстом. Собственно, вся современная разработка ПО укладывается в использовании готовых, написанных и уже отложенных решений. Изобретение велосипедов не приветствуется. Всё сводится к простому обмену данных через json.
>>333925330 >Любой бизнес-процесс — большая стейт машина. Так же как и композиция морфизмов. Вопрос не в том, что такое бизнес-процесс, а как его программисты понимают на работе.
>>333925511 А ты видимо человек, для которого микроконтроллеры это анализировать в режиме реального времени множество сигналов о состоянии объекта и адаптивно корректировать его поведение для достижения устойчивости. Наверное, тебе кажется, что в этом есть какая-то сверх математика на грани науки. Могу лишь разочаровать, что все эти задачи давно решены ещё в 17 веке. Практика отстает от теории по-прежнему на века. Просто у Лагранжа микропроцессоров ещё не было.
>>333925385 >Подаем сигналы на вход и анализируем сигналы на выходе. Если нас всё устраивает, тогда ничего не трогаем. А если не устраивает, то меняем конкретный фрагмент под себя. Какого-то знания и понимания высоких абстракций здесь вообще нет Так это сложнее, чем делать абстрактную модель, разве нет? Вот тут уже пояснили в треде, значит есть те, кто может думать/думает о таких процессах, как о стейт-машинах. А есть те, которые вообще не понимают. И скорее всего у них есть свои абстракции для кода, и возможно математические, но другие.
>>333925632 >Могу лишь разочаровать, что все эти задачи давно решены ещё в 17 веке. Нихуя ничего не решено. Если бы все было так просто, то Илон Маскович давно бы уже закончил свой старшип и каждый день летал в космос.
>>333925784 > Так это сложнее, чем делать абстрактную модель, разве нет? Нет, конечно. Это задача на внимательность. А для создания абстракций внимательность тоже нужна, но не достаточна.
>>333925559 На работе говорят языком, больше похожим на бизнесовый, чем на математическую хуету. Стейт машину как явление бизнес-аналитик может не знать, а вот BPMN или еще какую хуйню нарисовать вроде sequence diagram уже может. Стейт машина — техническая деталь, которая на уровне бизнеса не существует. А так если на собеседовании за реализацию асинхронщины в дотнете, джаваскрипте или rust будешь пиздеть, то там быстро разговор про стейт машины пойдет. Кстати, чаще всего если в коммерческом коде прямо встречается упоминание стейт машины в каком-то модуле, то это будет в большинстве случаев отвратительная неподдерживаемая поебень с каким-нибудь god object в качестве стейта.
Я как будто вообще не очень понял суть твоего вопроса, потому что не понимаю, как ты себе всё прелставляешь, но в общих чертах ответил.
Ещё в бизнесе обычно нет цепей Маркова и выравнивания данных в памяти, про false sharing какой-нибудь тоже от среднего крудошлепа не услышишь. Повезет если хотя бы про ABA Problem расскажет. Не хорошо и не плохо, просто ненужное отмирает в голове или никогда в нее не попадает, а гужное используется только там, где надо. Например, там, шде надо отрендерить сцену в 4к за 8.3 мс или где нужно маржин коллы на тысячах аккаунтов пользователей обработать за один тик системы.
>>333924434 (OP) писал маркетплейс. ПОчти не столкнулся с математикой. Только когда делал выдачу поиска, делал алгоритм, но там просто умножение и сложение.
>>333925928 Ничего он не строит, это модели давно разработаны, им уже по 300 и по 400 лет. Вопрос лишь в эффективной инженерной реализации. Но это сугубо инженерная задача, но никак не математическая. А следовательно не несущая никакого прибавочного знания.
>>333925879 То есть, думают в таких нестрогих математических(или полуматематических) абстракциях, но не называют их математически, пока не придётся делать необычную сложную хуету? Тогда всё стало ясно.
Часто программисты, которые хотят создать своё приложение, начинают думать, что истина в математике. Что они поймут её, и успех им обеспечен. Но правда в том, что они понимают, что им нужно какое-то сакральное знание, но слишком боятся начать изучать людей - своих клиентов. Они боятся, что не поймут. Поэтому учат то, что чётко регламентировано - математику.
>>333926172 А я и не про рынок РФ говорю, я из Европы на американского барина работаю и все super huevo. Все бабки инвесторов ушли в бетон, войну и пузырь. Как бы через пару лет мы с тобой в траншее не встретились.
>>333926186 Да, ты прав. Маркетинг - это примерно те же правила, что математика. Только результат там - не точное число, а лишь вероятность. Тебе никто ничего не обещает. Тебе каждый раз нужно принимать решение работая с тремя, пятью вероятностями. И это решение должен принять лично ты.
>>333924434 (OP) Программисты они же разные бывают, есть реально ученые, которые прям горизонты вперед двигают, еще есть те, кто пишут операционные системы, языки, библиотеки, базу создают для индустрии, а есть вот основная масса, кто более прикладными вещами занимается
>>333926152 Какие тебе нужны аргументы, ебанько? Ты только что написал, что решение инженерных задач не является решением математических задач. При этом инженеры каждый день используют математику для своих расчетов, а инженеры space x решают задачи, которые пока до них не решил вообще никто. И твой пук в лужу, что все уже решено в 17-м веке, говорит о том, что ты вообще не в теме и хуй знает стоит ли с тобой продолжать беседу.
>>333926230 Никто ничего не начал резать, просто инвестиций нет. Время сокращений, оптимизаций и банкротств. Всё заметается под ковёр AI. Мол, заменили два этажа работников внедрением AI, а на самом деле бабки кончились и от сорокалетней трейдинговой системы остался юридический отдел, занимающийся тем, чтобы всё закончилось тихо и никто не сел в тюрьму. В основном, такие сценарии вижу вокруг развивающиеся.
>>333924434 (OP) Тащемта сага пишется через конечный автомат, это все знают. Круд - это единичная операция, там КА не нужен. Твой пост - это литерали первый курс профильного вуза.
>>333926036 >модели давно разработаны, им уже по 300 и по 400 лет Толку с этих моделей, если применять их жопно? Придумывают новые под возможности вычислений. Некоторым моделям и 10 лет нет.
>>333926312 Ты просто не понял высоту полёта этого выпердыша музосранского лицея. Нужно мобильные телефоны не в CAD системах проектировать, а напрямую в диффурах описывать всё.
>>333924434 (OP) Я обезьяна-кнопкодав, работавший в бэкенде на плюсах, в геймдеве на плюсах и в бэкенде на джаве. Математика мне понадобилась только во втором случае, когда я bsp имплементировал по своему в движке. После имплементации я срыгнул с компании, душно там было пиздец. Ну может еще для анимаций в каком-нибудь гуи нужны, интерполяция/экстраполяция и всякие сины с косами чтоб кружки на экране в ретейнеде рисовать.
>>333926458 а как ещё зарплатным рабам выёбываться?
Их кабан зашибает реальные бабки, а им платит среднюю по рынку. Вот они и пишут "А зато я матан знаю", как будто на это знание можно латте за 20 баксов купить...
>>333924434 (OP) Машины состояний разные бывают, вот есть иерархия Хомского, там идет усложнение от конечных атоматов и до машины Тьюринга, а значит до любого тьюринг-полного языка, то есть до любого языка общего назначения, то есть любая программа по сути это некая машина состояний
>>333926397 >Нужно мобильные телефоны не в CAD системах проектировать, а напрямую в диффурах описывать всё. Такого не писал и так не думаю. Не все, но некоторые же вещи не то что в программировании, а даже в инженерии, легче обдумывать и оперировать через математические абстракции какие-то, или я совсем обматчевался?
Я ебу. Нахуй вы какие-то машины состояний напридумывали? Овер 9000 ненужных оверинжиниред понятий с которыми все становится сложнее, сука. А потом нюфани говорят "а че вкат такой тяжелый"
Че такое вообще машина состояний? Мне единственное что в голову приходит это int m_iState; и enum eState { kIdle = 0, kWorking, kFinishing };
И собственно в каком-нибудь switch проверять че там с m_iState. Все блять, я бы это обозвал состоянием ЧЕГО-ТО, т.е. m_iK8sWorkerState или что-то такое вместо вашего ебучего МАШИНА СОСТОЯНИЙ. Машину времени сделайте еще, дегенераты блять.
>>333926585 До тебя просто никто не додумался до этого. Выстроили целые отрасли экономики и научные нвправления вокруг неуклюжих частностей вместо универсальной абстракции.
Если серьезно, то это я так пошутил про кады, ты действительно такого не говорил. Однако, где граница между понятной абстракцией и оторванной от реальности абстрактной несусветицей? Где проплешина переходит в лысину? Ебаться лучше лёжа или в прыжке?
>>333924434 (OP) >Насколько обычные программисты сталкиваются с математикой? Реже, чем кажется, но математику нужно знать гораздо лучше, чем в других профах, чтобы куда-то подняться потом.
>вспомнились мне круды, и я подумал, что прикольно их реализовывать через конечные автоматы Зачем? CRUD это REST по сути урезанный, от него требуется просто 4 процедуры и чтобы оно было при высоконагруженности нормально (минималистично) и оптимально (использовало максимально оптимальные средства языка)
Ничего оптимальнее просто четырёх команд по сути нет, а ты предлагаешь какие-то графы вводить, состояния, т.е. плодить много лишних абстракций. Конечно, и такая задача иногда бывает, и её надо в таком ключе сделать.
Но адекватный программист от CRUD ожидает масштабируемость, быстроту, т.к. это связано с базами данных. Все эти штуки проектируются, чтобы правильно выдерживать миллионы запросов, усложнение архитектуры тут неприемлимо
>>333926657 >вместо универсальной абстракции Их нигде нет, даже в самой математике. >Однако, где граница между понятной абстракцией и оторванной от реальности абстрактной несусветицей? Там где, абстракция становиться неудобной.
>>333924434 (OP) SCXML (State Chart XML) - спецификация от W3C о том как описывать машины состояний в xml Qt State Machine framework - подсистема в составе Qt, чтобы создавать машины состояний QP real-time embedded frameworks - набор библиотек, чтобы для микроконтроллеров писать программы на основе модели акторов и иерархических конечных автоматов Есть тьма тьмущая разных библиотек и фреймворков на базе машин состояний в разных языках и экосистемах
>>333926768 У тебя был секс? Была близость? Обсуждал в переписке перед сном всякие безделушки с человеком, к которым испытываешь взаимные чувства? Была неловкость первого оголения? Слышал искренние комплименты от него или неё в свою сторону?
>>333926706 Короче, что хотел сказать, хороший CRUD это подходящий ситуации баланс между "простота хуже воровства" и масштабируемостью, надо по ситуации смотреть
>>333925170 И че твое знание тебе поможет найти работку на 300к? Если нет - то вся твоя заумная хуйня бесполезна, лол. Хуй саси и коупи, кокой ты великий учоный мыслитель фелосаф ебаный лодырь, пока я лутаю бабосы и двигаю прогресс.
>>333927137 Хуйсос, нахуй ты открыл рот, вонища началась.
Он начал с невероятно душной хуйни, где предлагал любителям манана начать заниматься коллективной мастурбацией. В прочем, не удивительно, что им ещё делать с бесполезными ирл знаниями.
>>333927155 Иди на нулевую, говно жрать. Что ты тут забыл? Я против говноедов ничего не имею, и к ним не захожу, почему ты не можешь также? У тебя психические отклонения?
Т.е. ты вот на нулевой, пожрал говна, которое тебе нравится. И зашёл сюда, чтобы отведать то, которое не нравится? Часто ты так делаешь? Объясни свою логику
>>333924434 (OP) Будешь писать парсеры или лексеры - вплотную столкнёшься с конечными автоматами. Т.к. именно на них оно там всё и строится. Регулярные выражения - аналогично.
>>333924434 (OP) Ты лучше дискретную маташу изучи: теорию графов, автоматы, мат логика (булевая алгебра и лог выражения); не очень часто, но бывает нужна комбинаторика. Ещё теорию множества + алгоритмы можешь чекнуть, но просто чтобы знал что такое существует.
В целом больше зависит от специфики твоей работы. Раньше, матан сложный нужен был лишь в ГейДеве для челов, которые геймплейные прогеры были и те, кто движки писал. Для всяких супер умных красноглазых которые работали с криптографией или писали сложное ПО для вычислений в авто-/аэро-/военных комплексах. Сейчас ещё ДатаСаентистам и всяким додикам которые в ИИ лезут - нужна.
Если ты обычный быдлан и хочешь в хуй не дуть, лутать 300к наносек и изучаешь веб для фронта/бека или пишешь всякое говно для мобилок, то достаточно простой школьной матеши.
Сейчас, с появление ИИ, тебе вообще нихуя знать не надо. Теперь лишь уметь в абстракцию(раньше это позволяли делать лишь обезьянами с лычками помидора-архитектора-техлида), а все сложные математически-логические задачи за тебя решает ИИ за пару секунд. Все эти литхуеды/хуедварсы раньше дрочили, чтобы собесы проходить и показывать какой ты умный, а теперь они нахуй не нужны никому, тк ИИ за 10$ решит любую самую сложную 5ти звездночную задачу за секунд 15
>>333924434 (OP) Посмотри в сторону хаскеля - там весь язык выглядит +- как ты описываешь. При этом на нем люди иногда те же круды пишут. А так, в целом, в боринг программировании как правило мало специфичной математики. Но конечные автоматы хорошая абстракция для каких-то задач, да.
>>333924434 (OP) Кто знает и умеет, тот использует. У меня диплом вообще был по применении конечных автоматов в автоматическом тестировании. Вот, например, простая state machine одной spa формы на vue из недавнего. Переход из состояний помечается как дробь, типа "событие (что произошло) / реакция (что надо сделать)".
>>333924434 (OP) или хитро-выебанная стейт-машина шопа на рельсе по продажам фармы с асешай "как хочет бизнес", без отдельного state-machine-класса, который только переходами занимается в одном файле, это бы превратилось в дичайшую код-лапшу.
>>333932759 Вкатился на позицию 'Junior специалист по поддержанию стандартов restroom инфраструктуры' с ЗП 50к через Яндекс Практикум. Магистр на мех-мате. У нас стек Java на бэке и React native. После смены с ребятами из команды делаем свой пет-проект на Пайтоне, CI/CD через клауд сделали. Было бы только желание, а то говоришь работы нету
Вот например, вспомнились мне круды, и я подумал, что прикольно их реализовывать через конечные автоматы, ака стейт-машины. Спросил нейронку используют ли такой подход, ответ был, что оин популярны. Хотя я не разу не слышал в контексте крудов или бизнес логики слово "стейт-машина", если гуглить то всё в геймдеве. И так почти во всём. И я вот не понимаю, это потому что я не работаю программистом или просто программистам это нихуя не нужно.