>> alloca не канает?
> Говорят, у золотых рыбок долговременная память всё ж таки работает. А вот
> у тебя — не особо. Перечитай тред, что ли. Те же
> грабли есть в стандарте языка, только называются VLA, а посему —
> нет, не канает. Неспецифично.Ты читать умеешь? Изобретена alloca в unix. vla изобрели резко позже по мотивам этой самой alloca.
>> попробуй собрать пайпами цепочку команд и когда она обвалится, выяснить где собственно произошла ошибка.
> На сишечке — запросто (ну ладно, не очень запросто, несколько десятков строк
> кода понадобится написать). В шелле сложнее, да. Но покажи, где подобное
> реализовано лучше.
Где-где, в rust'е вестимо. Когда я пишу file.lines().map(...).filter(...).fold(...).бла-бла-бла, я всегда могу отследить источник ошибки.
> Да и нужно такое бывает крайне редко.
Да, "зелен виноград". Это не нужно, пока ты не начинаешь писать bash-портянки, пытаясь выдавать осмысленные сообщения об ошибках.
>> Или взять пути в файловой системе, которые позволяют любые символы
> Ну с натяжкой это можно назвать граблями, хотя, скорее, из-за засилья рукожопов,
Хаха. Попробуй поработать с путями из шелла, попробуй пописать скрипты, которые будут работать с любыми именами файлов. Может после этого у тебя пропадёт желание говорить о жопах с руками.
>> верить в то, что всё пойдёт хорошо, и не оставлять ни единого костылика на случай, если всё пойдёт плохо, чтобы можно было бы ошибку как-нибудь осмысленно обработать.
> Где тут может вылезти ошибка, которую *невозможно обработать*? Я что-то такого не
> вижу.
Попробуй из шелла поработать с путями. Где-то на просторах интернета был чувак, который исследовал способы работать с путями из шелла, и его вердикт был -- unix suxx.
>> Локали обсуждали недавно, с их черезжопностью.
> Если ты обсуждал их с голосами в своей голове, это не значит,
> что все анонимы тоже это слышали. Давай, рассказывай, где там возникают
> *ошибки, которые невозможно обработать*.
https://github.com/mpv-player/mpv/commit/1e70e82baa9193f6f02...
Локаль как глобальное состояние -- это то, за что изобретателям её нужно оторвать руки. Знаешь, когда я 20 лет назад, ковыряясь в коде какого-то рогалика, напоролся на замечательный код, который модифицировал глобальную переменную хранящую уровень, с тем чтобы при использовании вещи, чьё действие зависит от уровня, эта вещь сработала согласно тому, на каком уровне она была подобрана, а не тому, на котором уровне она была использована, я подумал, что это бредовый способ справляться с проблемами. Я подумал, что единственная причина простить чувака, который написал этот бред -- это то, что тот чувак такой же безрукий студент, как и я.
Но когда общесистемная хрень -- локали -- проектируются таким же образом, причём без единой задней мысли предоставить клиентскому коду, допустим, стек локалей, куда можно сделать push(locale) а потом pop(). То есть вообще просто взяли, присобачили глобал-стейт к каждому процессу, и хрен с ними со всеми потенциальными проблемами -- это либо полнейшая отмороженность, либо просто отсутствие мозга.