Size: a a a

Programming Offtop

2021 January 13

DP

Defragmented Panda in Programming Offtop
(
Не ближе
Остановки все равно может не произойти (или может, но в гипотетическом будущем)
Остановка может произойти опять же по внешнему сигналу, ошибке
Ну и т.е. самый корректный способ завершения - isRunning = false
так же как и завершение цикла, восполнение fuel и начало нового цикла. работа та же
источник

Н

Напыщенное Эго... in Programming Offtop
Alexander Nozik
Тезис был о том, что повод не нужен. А встретят или не встретят - не знаю
Если без повода, то максимум просто временное задержание.. там на какие-нибудь 3 часа. Это ж даже не митинг. Трудно что-то для административки придумать "без повода".
Его стремятся изолировать, только когда близится риск, что он возглавит какой-нить массовый выход людей на улицы. Тогда вот наверное то, что вы называете "без повода" и задерживают. Хотя на самом деле они всегда держат его в каком-нибудь статусе по какому-нибудь делу, чтобы использовать это как повод.
источник

(

( in Programming Offtop
Defragmented Panda
так же как и завершение цикла, восполнение fuel и начало нового цикла. работа та же
Ну и зачем мне ебать мозги с обновлением топлива, если я могу просто написать бесконечный цикл?
Fuel pattern используют не от хорошей жизни
источник

(

( in Programming Offtop
Наверное, я не настоящий сварщик теорем
источник

DP

Defragmented Panda in Programming Offtop
(
Ну и зачем мне ебать мозги с обновлением топлива, если я могу просто написать бесконечный цикл?
Fuel pattern используют не от хорошей жизни
чтобы изолировать доказательство завершения кода до очень маленького куска кода

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

AM

Andrew Mikhaylov in Programming Offtop
(
Не ближе
Остановки все равно может не произойти (или может, но в гипотетическом будущем)
Остановка может произойти опять же по внешнему сигналу, ошибке
Ну и т.е. самый корректный способ завершения - isRunning = false
Я кстати опять со своими сайдэффектами, размазанным по коду, но звучит как прикольная фича, если она будет рерорты кидать, а не молча завершать цикл. А ты потом в аналитике бушь видеть -- цикл такой-то работает дольше заданного. Ну и возможность этот самый паттерн навешивать модифицировать / снимать самостоятельно с помощью какого-нибудь декоратора. Не берусь судить, какой дефолт логичнее, конечно.
источник

AK

Anton Korotkikh in Programming Offtop
(
Ну и зачем мне ебать мозги с обновлением топлива, если я могу просто написать бесконечный цикл?
Fuel pattern используют не от хорошей жизни
ну ты всё так сказал, while (isRunning) обычно и делают. fuel нах никому не нужен. с точки зрения архитектуры, сущности с бескоенчным внутренним циклом (на беке, например) это боычно слушатели ио, сокеты, поллеры итд, у них в принципе никакого топлива быть не может. это абстракция которая работает пока в принципе может или пока её не убил манагер таких абстракций. никакого топлива не нужно никому
источник

(

( in Programming Offtop
Defragmented Panda
чтобы изолировать доказательство завершения кода до очень маленького куска кода

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

Я тащемта только за то, чтобы люди садились на языки сильнее мейнстримных, но кастрированные фичи сильных языков тащить в мейнстримные не звучит хорошей идеей
источник

(

( in Programming Offtop
Andrew Mikhaylov
Я кстати опять со своими сайдэффектами, размазанным по коду, но звучит как прикольная фича, если она будет рерорты кидать, а не молча завершать цикл. А ты потом в аналитике бушь видеть -- цикл такой-то работает дольше заданного. Ну и возможность этот самый паттерн навешивать модифицировать / снимать самостоятельно с помощью какого-нибудь декоратора. Не берусь судить, какой дефолт логичнее, конечно.
Тогда ты просто пишешь свою функцию, которая внутри ебашит обмазанный цикл
Утилитных функций на котлине чтоли никогда не писал?
источник

DP

Defragmented Panda in Programming Offtop
(
Большинство пруверов доказывают завершимость использованием индуктивных типов данных и структурным уменьшением, я уже озвучивал причину, по которой им нужен фуел паттерн
Анализаторов - чего? Вот кстати, в эту же степь, для больших мейнстримных языков стат. анализаторы скорее всего с переменной степенью успешности и так могут детектить бесконечные-хуевые циклы
Свои же ошибки - для этого есть вышеупомянутые анализаторы, а так же ревью, дебаг и тесты

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

структурное уменьшение эдак на 3 порядка сложнее
источник

AM

Andrew Mikhaylov in Programming Offtop
(
Тогда ты просто пишешь свою функцию, которая внутри ебашит обмазанный цикл
Утилитных функций на котлине чтоли никогда не писал?
Если изначальным дефолтом взять "повесить это на все циклы", а потом давать возможность декоратором менять объём топлива или выключать его, то утилитарной функцией уже не обойтись.
источник

(

( in Programming Offtop
Andrew Mikhaylov
Если изначальным дефолтом взять "повесить это на все циклы", а потом давать возможность декоратором менять объём топлива или выключать его, то утилитарной функцией уже не обойтись.
Ух, какое ломающее изменение
источник

DP

Defragmented Panda in Programming Offtop
т.е. польза на байт тут максимальна

предложите свои идеи которые за минимум кода дают максимум фич

(лисп не трогать)
источник

AM

Andrew Mikhaylov in Programming Offtop
(
Ух, какое ломающее изменение
Если это руками подключённый компиляторный плагин, то всё ок.
источник

AM

Andrew Mikhaylov in Programming Offtop
Или параметр компилятору, если это встроенная фича.
источник

AK

Anton Korotkikh in Programming Offtop
Andrew Mikhaylov
Я кстати опять со своими сайдэффектами, размазанным по коду, но звучит как прикольная фича, если она будет рерорты кидать, а не молча завершать цикл. А ты потом в аналитике бушь видеть -- цикл такой-то работает дольше заданного. Ну и возможность этот самый паттерн навешивать модифицировать / снимать самостоятельно с помощью какого-нибудь декоратора. Не берусь судить, какой дефолт логичнее, конечно.
подобное уже есть, но реализуется проще. некий продолжительный процесс может просто переодически обновлять тамйшатмпы или иные параметры исполнения, а следяший сервис будет опрашивать всех таких чуваков которых увидит в рантайме и если что поднимет тревогу
https://github.com/eclipse-vertx/vert.x/blob/master/src/main/java/io/vertx/core/impl/BlockedThreadChecker.java
источник

(

( in Programming Offtop
Defragmented Panda
т.е. польза на байт тут максимальна

предложите свои идеи которые за минимум кода дают максимум фич

(лисп не трогать)
Фич? Если я написал бесконечный/потенциально бесконечный цикл, значит, я делал это с какой-то целью. Если мой цикл, который не должен был быть бесконечным, таковым оказался, то это логическая ошибка и я страшусь представить, какие результаты были бы, если бы такие мои циклы останавливались бы корректно
источник

DP

Defragmented Panda in Programming Offtop
(
Фич? Если я написал бесконечный/потенциально бесконечный цикл, значит, я делал это с какой-то целью. Если мой цикл, который не должен был быть бесконечным, таковым оказался, то это логическая ошибка и я страшусь представить, какие результаты были бы, если бы такие мои циклы останавливались бы корректно
я рад что ты хочешь острые инструменты

но многим другим подойдут более безопасные инструменты и я предлагаю обсудить их
источник

(

( in Programming Offtop
> Безопасные

Абстрактно, я пишу сортировку пузырьком, которая сортирует значения кошельков пользователя, а названия кошельков ("Рублевый", "Долларовый" и т.д.) сопоставляются по индексам получившегося отсортированного листа
Абсурдный пример, я знаю, но просто вспомните, какие кейсы вы решаете, когда пишете while

И если я написал её (сортировку) херово и она никогда не завершится, то пользователь просто получит ANR, а если она завершится корректно по истечению топлива, то получится UB, а пользователь получит неправильные названия к неправильным валютам/значениям и может по ошибке расплатиться не с того из своих кошельков

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

DP

Defragmented Panda in Programming Offtop
(
> Безопасные

Абстрактно, я пишу сортировку пузырьком, которая сортирует значения кошельков пользователя, а названия кошельков ("Рублевый", "Долларовый" и т.д.) сопоставляются по индексам получившегося отсортированного листа
Абсурдный пример, я знаю, но просто вспомните, какие кейсы вы решаете, когда пишете while

И если я написал её (сортировку) херово и она никогда не завершится, то пользователь просто получит ANR, а если она завершится корректно по истечению топлива, то получится UB, а пользователь получит неправильные названия к неправильным валютам/значениям и может по ошибке расплатиться не с того из своих кошельков

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

а обычно такого выбора нет

какая моя мысль верна?
источник