LINUX.ORG.RU
Ответ на: комментарий от anonymous

Но идеи в ФП зарожденные (и поэтому с ним ассоциирующиеся)

Неверно.

в большинстве популярных яп

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

Все эти reduce/map/zip и подход к их использованию (минус циклы, плюс рекурсия).

Полная чушь. Никто и нигде не реализует это через рекурсию. Ты опять транслируешь какую-то хреню.

Единственное - что сделало ФП - это внушило адептам названия. Но эти названия никакого к ФП отношения не имеют. Всякие форичи и калбеки при обходе - это императивная херня, которой тысячи лет.

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

Во-первых везде и всюду это методы. Это уже не ФП. Во-вторых причина существования обусловлена отсутствием циклов для обхода. Были только мусорные циклы со счётчиками из си. Но в си есть указатели и там это пишется куда проще и лучше.

К тому же, от этой мусорной концепции уже давно и везде отказываются. Потому что она сверх неоптимальна. Люди заменяют всякие списки на последовательности, а далее чейнят операции над ними. Чейнинг не имеет никакого отношения к ФП.

Если это - не доказательство «видимости» ФП, то я не знаю что.

Даже если мы предположим, что это действительно ФП, то это просто смешно.

Т.е. ФП дало миру мусорный аналог форича? Смешно. И это всё? Это не просто ничего - это совсем ничего. Без учёта того, что даже это ничего - это враньё и его на самом деле нет.

RibiKukkan
() автор топика
Ответ на: комментарий от arturianec100

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

А что я делаю? Первая стадия - показать людям, что сектанты есть сектанты. Чем я и занимаюсь. Т.е. люди должны осознать проблему.

Вторая стадия - эти люди, как и я, смогут глушить сектантов и всё более и более людей будет воспринимать сектантов за сектантов. И как только таких станет много - сектанты попросту испарятся. Т.е. они существуют лишь тогда, когда люди позволяют им существовать.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

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

Но то что существуют идеи, которые мы ассоциируем именно с ФП (под ассоциируем, я имею ввиду: то, что в головах людей) - неоспоримо. Ассоциации эти существуют — а иначе чему ты противостоишь? Языки, которые тычили в себя и говорили «ФП» популяризовали эти идеи - и в этом их заслуга (иначе бы ассоциаций не было). Ты пытаешься разрушить лингвистическую связь этих идей с ФП (поправь меня если я не прав, хотя о чем это я...). Но что ты предлагаешь на замену? Что бы массу этих идей и подходов связывали с чем теперь? C императивщиной что-ли? Зачем? Чтобы было сложнее излагать мысли?

anonymous
()
Ответ на: комментарий от RibiKukkan

То, что сектанты несут херню - это следствие. Причина же - в неверной методологии познания. Вместо «провести эксперимент и сделать выводы» и других более-менее объективных способов познания - «он - авторитет, значит то, что он говорит - правда». В ходе получения образования человек всё время сталкивается с «заучил методичку - умный, плохо запомнил - тупой».

В конце концов, можно подсунуть методичку, которая говорит, что С и С++ - дар свыше, комитет по стандартам С++ - это Олимп. И будет он обсирать всё остальное. Пусть даже аргументированно. Но он всё равно останется сектантом. Потому, что «методичка - истина, гуру - бох». Значит, ключевое свойство всех сектантов - не что и как обсирать, а как познавать мир.

«Как познавать мир» - это про систему образования. Плюс обучение базовым навыкам и знаниям с рождения. Родители - члены какой-то секты (феминизм, вообще любой -изм), учат ребёнка ходить, говорить. Начинают пересказывать ребёнку свою методичку (когда он в состоянии воспринимать слова) и он думает, что это - единственный способ познания. Обычная ситуация.

Именно система образования создаёт сектантов. Причём сознательно. Так проще ими управлять.

А сколько оппонентов реагируют на технические аргументы? А сколько вообще воспринимают тезисы про сектантов и методички? Гораздо меньше!

arturianec100
()
Ответ на: комментарий от anonymous

Но то что существуют идеи, которые мы ассоциируем именно с ФП

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

В конечном итоге ФП миру никаких идей не дало. Я могу назвать только технику композиции функций, но этим никто не занимается. Т.е. я могу в ФП лучше, чем рядовые адепты ФП. Но всё это по большему счёту бесполезные явления, которые имеют смысл лишь в ограниченной ФП-среде. Но самих идей ровно ноль.

Что бы массу этих идей и подходов связывали с чем теперь? C императивщиной что-ли? Зачем? Чтобы было сложнее излагать мысли?

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

Какие идеи, какие подходы? Ты там говорил про рекурсию, но очевидно рекурсию никто не использует. Ничего из упомянутого тобою через рекурсию не реализовано.

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

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

map над массивом в контексте ФП - это оксюморон. Не-чистый калбек - это тоже самое.

Но что ты предлагаешь на замену? Что бы массу этих идей и подходов связывали с чем теперь?

Мне без разницы. Я против того, что-бы сектанты присваивали себе чужое пользуясь слабостью неофитов.

Я даже не знаю как это назвать. Внешняя логика вообще не является языком. Т.е. map - это вообще не язык. Это просто метод у условного массива и не более того.

Никаким критериям ФП он не соответствует. Он не реализован через рекурсию. Никакой чистоты там нет. И прочее и прочее.

RibiKukkan
() автор топика

Локалхост + IPv6 остальное костыли

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от RibiKukkan

Эх, таки пришлось залогиниться.

Какие идеи, какие подходы?

ассоциируемые с ФП, твой кэп. и если бы таких было мало, ты бы с этим не боролся.

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

А ты понимаешь, что твои откровения - это солипсизм чистой воды?

Мне без разницы. Я против того, что-бы сектанты присваивали себе чужое пользуясь слабостью неофитов.

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

(1) Определить конкретно что эти люди называют и подразумевают под ФП

(2) Определить почему так что-то называть - неверно (исторический дискурс был бы очень к месту)

(3) Предложить и обосновать замену (вытекает из результатов (2)).

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

BOSS-NIGGER
()
Ответ на: комментарий от arturianec100

Вместо «провести эксперимент и сделать выводы» и других более-менее объективных способов познания - «он - авторитет, значит то, что он говорит - правда». В ходе получения образования человек всё время сталкивается с «заучил методичку - умный, плохо запомнил - тупой».

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

В конце концов, можно подсунуть методичку, которая говорит, что С и С++ - дар свыше, комитет по стандартам С++ - это Олимп. И будет он обсирать всё остальное. Пусть даже аргументированно. Но он всё равно останется сектантом. Потому, что «методичка - истина, гуру - бох». Значит, ключевое свойство всех сектантов - не что и как обсирать, а как познавать мир.

Правильно, но тут есть два нюанса.

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

Второе, если человек смог отринуть одно - он отринет другое. Тут главное - развить у человека вкус.

Человек привык жрать говно. Если он попробует что-то лучшее - он уже никогда не вернётся к говну. Допустим, я говорю с многими людьми. Многие из них даже не понимают - почему тонны фп-мусора это плохо. Почему красивый и понятный код - это хорошо.

«Как познавать мир» - это про систему образования. Плюс обучение базовым навыкам и знаниям с рождения. Родители - члены какой-то секты (феминизм, вообще любой -изм), учат ребёнка ходить, говорить. Начинают пересказывать ребёнку свою методичку (когда он в состоянии воспринимать слова) и он думает, что это - единственный способ познания. Обычная ситуация.

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

К тому же, опять же, у тебя явно прослеживается идеологическая подоплёка. Ты исходишь из того, что все могут что-то понимать и среда определяет всё. И если ты научишь кого-то чему - он сможет обрести самодостаточность. Нет.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

И как только таких станет много - сектанты попросту испарятся.

Есть же и экономические причины. Вакансий на С/С++ много, но не в СНГ. А вот на js и php много. Много вакансий рядом - больше людей тусуются с жсниками и пыхерами. Общаются и переносят убеждения.

Иногда даже рождают эпичные перлы «С++ мёртв, а JS процветает». А хули, ведь столько движухи и вакансий! Но надо понимать как работает жс, чтобы осознать всю бредовость этого тезиса. Жс - интерпретируемый язык. Значит, живёт не в астрале, а в конкретном рантайме (V8, SpiderMonkey...). А написаны они на С/С++. Значит, если выкинуть эти программы, написанные на С/С++, то жсу негде будет работать. Значит, выкидывание сишки умножает на ноль весь код на жсе! Это не говоря про браузер, ОС и прочие программы, поверх которых работает жс. NodeJS тоже написан на С++. Всё io и взаимодействие с реальным миром достигается за счёт вызова кода на С++.

Вот только осознание этого факта не меняет количество вакансий. Лишь немногие задачи требуют изменения жс движка. А задач «написать сайт» - океан. На аутсорс всё также кидается в основном банальщина на скриптухе. А большие проекты на С/С++ всё так же пилятся в больших западных компаниях и в опенсорсе.

arturianec100
()
Ответ на: комментарий от BOSS-NIGGER

ассоциируемые с ФП, твой кэп. и если бы таких было мало, ты бы с этим не боролся.

Ты их не назвал. Ты назвал какой-то мусор, который вообще не соответствует концепциям ФП. Ты там сел в лужу с рекурсией. Т.е. ты заранее понимаешь, почему концепции важны. Но ты засыпался. Ими подтёрлись.

А ты понимаешь, что твои откровения - это солипсизм чистой воды?

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

(1) Определить конкретно что эти люди называют и подразумевают под ФП

Это невозможно определить. В этом и фишка. У сектантов нету вообще ничего. Они специально размывают понятия. Т.е. они уже отождествляют с ФП любую мультипарадигму. Хотя само это понятие смешно и вообще сравнение жопы с пальцем.

ФП - это идеология. У неё нет каких-то своих решений уровня языка. Даже у ООП подобное есть, хотя нет. ООП такой же фантом и всё что называется сейчас ООП - это вообще не ООП. ООП является таким же именем нарицательным, как какие-нибудь функции. Все эти решения были придуманы и реализованы в императивщие. Сами источники ООП отрицают свою связь со всем этим.

(2) Определить почему так что-то называть - неверно (исторический дискурс был бы очень к месту)

Потому что есть базовые несоответствия. У тебя нету вообще ничего. Я тебя спросил. Чем является map? Обходом с калбеком? Дак это чисто императивная херня, которая была всегда.

Т.е. чем фактически твой map является? Объясни. Определи предмет.

В конечном итоге ты можешь привязать к ФП только название. И то, форма map никакого отношения к map из фп не имеет. Она метод. Это уже нарушение базовых фп-конепций.

(3) Предложить и обосновать замену (вытекает из результатов (2)).

Замену чему? Форичу? Ты мне определи предмет. Что именно мне ФП дало - что я должен заменять. Название map? Этим никто не занимается. Раз название уже есть - пусть остаётся для унификации.

Вообщем, приведи мне описание того функционала, который мне дал ФП. Пока что ты этого не показал.

RibiKukkan
() автор топика
Ответ на: комментарий от arturianec100

Есть же и экономические причины. Вакансий на С/С++ много, но не в СНГ. А вот на js и php много. Много вакансий рядом - больше людей тусуются с жсниками и пыхерами. Общаются и переносят убеждения.

На самом деле в той же вебне много вполне адекватных людей. Там вообще есть каноничные примеры обриста ФП. Если мы берём тот же жс и менеджмент состояний.

Секта так же внушала адептам, что их решения нормальные. Что их решения крутые. Они действительно верили в это, но потом пришли нормальные пацаны и показали им, что они жрут говно.

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

Хотя веб-неофитов очень просто обрабатывать и их людям ФП-сектанты. Ведь они крайне наивные и зелёные.

Вот только осознание этого факта не меняет количество вакансий. Лишь немногие задачи требуют изменения жс движка. А задач «написать сайт» - океан. На аутсорс всё также кидается в основном банальщина на скриптухе. А большие проекты на С/С++ всё так же пилятся в больших западных компаниях и в опенсорсе.

А это всё тоже самое. Сейчас там у сектантов готовится наступление.

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

Там сейчас сектантами пилятся множество недоязычков, которые являются такой же дырявой и мусорной скриптухой. Но люди не видя альтернативы сожрут это и будут считать мусорное ФП действительно статикой.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

ассоциируемые с ФП, твой кэп. и если бы таких было мало, ты бы с этим не боролся.

Ты их не назвал.

а я и не назову. твой тезис - ты и доказывай.

А ты понимаешь, что твои откровения - это солипсизм чистой воды?

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

хахаха, солипсист просит ему доказать, что он солипсист, ОНО МНЕ НАДО, ЧЕЛ?

Определи предмет.

Сам определи. Ты ж пытаешься что-то тут доказать.

В конечном итоге ты можешь привязать к ФП только название.

Будто что-то плохое.

Какие-то ветряные мельницы, какая-то беготня. Мне тебе что-то нужно доказывать, когда целью задался ты, а не я. Ну ты понял, да?

BOSS-NIGGER
()
Ответ на: комментарий от grem

Ты мне предлагаешь форкать лор и запускать? Нет, это слишком меня не устраивает. Меня не устраивает жабка, низкая технологичность движка и прочее. В том числе и самая базовая концепция. Мне не особо нужен именно форум.

RibiKukkan
() автор топика
Ответ на: комментарий от BOSS-NIGGER

а я и не назову. твой тезис - ты и доказывай.

Это твой тезис. Ты утверждал, что существуют что-то, что привнесло ФП в языке. Ты должен их показывать.

хахаха, солипсист просит ему доказать, что он солипсист, ОНО МНЕ НАДО, ЧЕЛ?

Зачем кидаешься лозунгами без каких-либо оснований?

Сам определи. Ты ж пытаешься что-то тут доказать.

Ты должен определить, раз ты утверждаешь наличие чего-то. Я же в принципе отрицаю какое-то влияние ФП на языки. Отсутствие нельзя определить.

Будто что-то плохое.

Изначально ты утверждал иное.

Какие-то ветряные мельницы, какая-то беготня. Мне тебе что-то нужно доказывать, когда целью задался ты, а не я. Ну ты понял, да?

Ну ты слился, быстро. Доказывать должен ты. Ты утверждаешь влияние ФП. Ты должен показывать влияние. Всё просто.

RibiKukkan
() автор топика
Ответ на: комментарий от arturianec100

Вакансий на С/С++

Это действительно проблема и эта проблема именно непонимания.

Решается проблема двумя способами. Первое - ты показываешь как на С++ решать проблемы доступные простым смертным. Второе - ты решишь представления неверные о всякой скритухе и прочем.

С++ не имеет инфраструктуры адекватной обычным людям. Хотя ничего не имеет, кроме скриптухи. Но она должна быть. И нужно глушить пропагаду скриптухи.

RibiKukkan
() автор топика
Ответ на: комментарий от arturianec100

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

Это, кстати, понимает тот же маздайсофт. Который первым же делом ударил туда, куда нужно - они убил блокноты. И таким образом смог впарить адептам ТС.

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

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

Если ты не читаешь моих сообщений и прололжаешь спор в стиле полемики - это твои проблемы.

Ты должен

никто те ниче не должен

Ну ты слился, быстро. Доказывать должен ты. Ты утверждаешь влияние ФП. Ты должен показывать влияние.

должен, слился, кококо. лол. ну ты повеселил, чувак.

Всё просто.

Все еще проще. НАДОЕЛ ТЫ мне. Я восвояси.

BOSS-NIGGER
()
Ответ на: комментарий от BOSS-NIGGER

Если ты не читаешь моих сообщений и прололжаешь спор в стиле полемики - это твои проблемы.

Быстро ты сломался. Т.е. ты так и не смог показать мне то, что ФП принесло в мейнстримные языки. Хотя нет, смог. Ты показал только названия и то я тебе помог.

Ты можешь отвечать за своё балабольство. Это зафиксировано.

никто те ниче не должен

Должен. Ты должен отвечать за своё трёп.

Все еще проще. НАДОЕЛ ТЫ мне. Я восвояси.

Молодец, мне нужно больше примеров типичных адептов ФП.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

С++ не имеет инфраструктуры адекватной обычным людям. Но она должна быть.

Во, высказать мнение о том, какой должна быть инфраструктура С++ - это полезный конструктив.

Только нужно помнить, что есть куча С++ проектов, заточенных на винду, которые «тянут на себя одеяло» и ограничивают влияние комитета С++. Так что надо и на линуксе, и на винде, и, возможно, на других платформах. Либо многие корпорации будут саботировать эти инициативы и пилить свои велосипеды. А ведь С++ живёт и в смартфонах-планшетах, смарт-тв, и на игровых консолях (плойка-хуан-свитч). Да, там проприетарасты и нет gnu утилит. Но это инфраструктура, работающая на С/С++ + свои велосипеды.

arturianec100
()
Ответ на: комментарий от RibiKukkan

И теперь у них есть потребность в получении действительно нормальной типизации и управления.

Напомнило, как бушевал в жсе callback hell. Фанатики отрицали проблему, говорили, что всё отлично. Потом запилили промисы (и назвали это монадой). И фанатики начали говорить, что теперь всё хорошо, а раньше было плохо. Переписали методичку. Но лишь немногие поняли, что проблемы с управлением потоком выполнения растут из того, что в жсе всё прибито к его eventloop'у. Это в С/С++ можно и коллбэки, и монады, и исключения, и самим написать eventloop какой душе угодно, и выкинуть eventloop нафиг. Неофиты с такой свободой стреляют по ногам и жалуются, что свобода - плохо, нужен диктатор, как он сказал - так все делают. Так проще. Зато только свобода как в сишке позволяет управлять потоком выполнения так, как нужно тебе, а не как захотели разрабы рантайма.

Кстати. Понятно, зачем ввели async/await в js. В С++ это можно сделать через очередь задач и threadpool, который их выполняет. И вернуть future чтобы операция была неблокирующей. Но зачем ввели async/await в C#? Там ведь тоже можно и таски, и тредпул, и future. И eventloop тоже необязателен.

arturianec100
()
Ответ на: комментарий от arturianec100

Кстати. Понятно, зачем ввели async/await в js. В С++ это можно сделать через очередь задач и threadpool, который их выполняет. И вернуть future чтобы операция была неблокирующей. Но зачем ввели async/await в C#? Там ведь тоже можно и таски, и тредпул, и future. И eventloop тоже необязателен.

Нет, future и прочий мусор - это говно. Промисы - это говно. async/await - это некий адекватный компромис.

Есть проще. Нормальный язык может(и должен) управлять потоком, да, управления. В С++ вообще никакие авейты и прочая херня ненужны. Причины просты - нам ненужно ничего делать - достаточно в любой момент остановить исполнение.

Дак вот, а в сишарпе поток исполнения остановить нельзя. Нельзя дать возможность пользовательскому коду это делать. От того там и существует async. Это такой костыль, который позволяет реализовать асинхронщину. Правильные подходы используются в каком-нибудь го(насколько я понял/видел).

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

Поэтому они создали костыли, которые их компилятору помогают реализовать это сверху.

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

Оптимальной, надёжной и состоятельной является только синхронная логика. Все остальное - говно. И синхронная это не такая, которая блокирующая.

RibiKukkan
() автор топика
Ответ на: комментарий от arturianec100

Так что надо и на линуксе, и на винде, и, возможно, на других платформах.
и на винде, и, возможно, на других платформах.

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

Доступные вещи - они доступны на то, что доступно всем.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

Оптимальной, надёжной и состоятельной является только синхронная логика. Все остальное - говно. И синхронная это не такая, которая блокирующая.

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

А сейчас я спать. Завтра гляну - что да как.

arturianec100
()
Ответ на: комментарий от arturianec100

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

sleep не является операций - являются блокирующей операцией. Чтение файла какого угодно - ничего не блочит. Т.е. проблемы вообще никакой нет.

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

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

Суть ФП в наборе ограничений. Была идея, что если тебе будут бить по рукам за определенные вещи, то ты будешь писать более правильный и безопасный код.

Deleted
()
Ответ на: комментарий от Deleted

Суть ФП в наборе ограничений.

Нет.

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

Не было. Тебе пытаются это впарить, но это враньё, очевидно.

Во-первых, если бы ФП развивалось по пути ограничений, как и любая другая парадигма(хотя это вообще не парадигма) - существовала бы версия менее ограниченная, но её нету. ФП наоборот развивается в сторону меньших ограничений.

Во-вторых, если бы ФП строилось на базе оснований об ограничениях, то основания имели бы первичную природу. На все эти маня-истории появились уже после.

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

Императивная модель появилась параллельно и вообще отдельно от ФП.

Далее у адептов ФП всё стало рушиться. Они начали подтираться своими же методичками. В конечном итоге ФП вообще сдохло и сейчас в методичках мультипарадигма. Т.е. адепты уже давно внутренне признали несостоятельность концепция. А мультипарадигма - это не то, что тебе хочет впарить адепт ФП.

Мультипарадигма - это всегда императивная модель. Как только ФП называет себя мультипарадигмой - оно становится императивным, по определению.

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

К тому же, все истории фп-методички не работают. Работали бы - адепты ФП не писали бы только лабы. Там всё враньё и манипуляции. Ты не назовёшь ни одной ФП-концепции, которая бы хоть что-то вразумительное давала. Но ты можешь попробовать.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

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

Ты что, после 2015 года интернетом пользоваться начал?

grem ★★★★★
()
Ответ на: комментарий от grem

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

Ничего не понял. Но как-то слишком страшно.

Ты что, после 2015 года интернетом пользоваться начал?

Да.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

Там у тебя просто события и реакции.

У меня это ассоциируется с event driven programming. Это подходящее решение для некоторых задач. Почти все мейнстримные тулкиты для гуя на любых ЯП используют это для разделения отрисовки и обработки, для связывания событий взаимодействия с виджетами и любых обработчиков. Ради гибкости. Мне Qt по нраву.

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

arturianec100
()
Ответ на: комментарий от RibiKukkan

Ничего не понял. Но как-то слишком страшно.

Такое было на заре развития интернета. Я тогда ходил в детский сад. Это максимум, на что хватало тогдашних адептов скриптухи. Когда человек ничего не знает кроме старого html и документации по древнему php, без бд и js - это предел возможностей.

arturianec100
()
Ответ на: комментарий от arturianec100

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

Ещё раз. Блокировки - это лишь самая мусорная вариация синхронной логики.

В чём проблема подхода базового и почему он используется. Во-первых он не имеет смысла, но то ладно. Во-вторых это попросту привычно для людей. Но - это говно.

Причины просты - это помойка. У тебя логика постоянно порождает тысячи эвентов(в этом нет ничего плохого), но эти эвенты напрямую биндятся на логику. И что это значит.

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

Хотя ничего из этого тебе ненужно. Твой гуй рисует условные 60фпс. Быстрее он обновляться на может. Абсолютно ненужно реагировать на каждую кнопку сразу. Ведь абсолютно неважно в какой момент текущего кадра ты её нажал - в лучшем случае какая-то реакция будет на следующем.

Поэтому правильным решением будет следующие. Ты просто весь кадр собираешь(либо там есть нюансы с летенси, но это не игрульки - тут насрать на летенси в пару кадров. Хотя даже там нигде идеальной летенси нету) все, условные, эвенты.

Таким образом в конце кадра ты получаешь всё, что тебе нужно сделать для отрисовки следующего. Ты можешь с этим что угодно делать. Можешь создавать таски(опять же условно), которые будут писать/читать файлы. Всё что можно применить сразу - ты применяешь. Так же ты сможешь валидировать все изменения. Ты не потеряешь согласованность данных.

Т.е. если говорить в контексте qt - ты просто атомарно обновляешь все модели в гуйне требующие изменений. Тебе ненужно заниматься все этой плебейской лапшой.

Ключевое тут то, что обновления происходят синхронно с тиканьем кадров, либо чего-то ещё. С таким подходом ты теряешь все проблемы, которые вызывает бесконечная, бесконтрольная(как любя говорить адепты ФП) мутация данных. Это говно. Это в принципе работать не может нормально и надёжно.

RibiKukkan
() автор топика
Ответ на: комментарий от RibiKukkan

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

Для qml сразу нагуглились события «когда отрисовался кадр»

QQuickWindow has a bunch of signals for the purpose of synchronization - beforeRendering(), afterRendering(), beforeSynchronizing(), afterSynchronizing(), frameSwapped(). Take your pick.

Для виджетов же не нагуглил. Движок отрисовки принимает решения когда какие виджеты перерисовать. Виджет принимает paintEvent() и «внутри» рисует себя. А QEventLoop не имеет сигнала типа «обработал все события». А ведь ещё есть QGraphicsView.

Подозреваю, что qt вообще не перерисовывает кадр когда нет никаких событий, провоцирующих redraw().

arturianec100
()
Ответ на: комментарий от arturianec100

Для виджетов же не нагуглил. Движок отрисовки принимает решения когда какие виджеты перерисовать. Виджет принимает paintEvent() и «внутри» рисует себя. А QEventLoop не имеет сигнала типа «обработал все события». А ведь ещё есть QGraphicsView.

Ну дак архитектурно qt помойка, как и любая другая реализация чего-то подобного. Это просто нагромождение беспорядочных связей и каждая эта связь обладает непредсказуемым эффектом.

Вообщем, тут уже я в какой-то степени солидарен с адептами ФП по части наличия проблемы. Посмотри адептом - они там популярно объясняют почему подобная архитектура дерьмо. Правда они решений не предлагают и лишь просят тебя навернуть дерьма, но это можешь игнорировать.

RibiKukkan
() автор топика
Ответ на: комментарий от arturianec100

Это тебе никак не поможет. Дело не в том что-бы что-то там обновлять каждый X мс. А что-бы все обновления отслеживались, валидировались, оптимизировались и применялись атомарно.

RibiKukkan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.