gds
→ eurekafag
09.05.2012 15:46 umodni510B6167
Ты чото на шелле пишешь, а я не помню, пеарил ли тебе свой давний "safe bash coding guidelines". Если нет, то: http://gds.livejournal.com/42541.html . Там же описал и про кавычки. Там интересно. В том смысле "интересно", в котором это слово упоминается в китайском проклятии "чтоб тебе жить в интересные времена".
Recommended by:
@eurekafag,
@ulidtko
Спасибо, почитаю. Вообще, я просто написал подручный скрипт для вычистки задач, завершившихся с ошибкой в бакуле, надо было распарсить многострочный вывод, но на будущее пригодится.
Последние строки статьи и первый коммент заставили усомниться во вменяемости автора, правда.
по поводу последних строк — ну а чо, если "по условиям задачи" есть нормальные языки, то шелл-скрипты нужны только для обёрток. Запустить, прибить, распарсить что-то реально несложное, посмотреть на файлы несложным образом. Больше шеллу ничего доверять не нужно, это моя позиция, проверенная опытом скриптописательства на шелле — всегда есть мелкие поганые ошибки.
А про камент с "поддерживать венду" и "тащить перл" — у меня, опять же, были такие "условия задачи": работать на всех юниксах и на виндах и тащить минимум зависимостей. Задачу я решил, проект работает, зарелизен, опенсорс, для вендов скрипты требуют только mingw+msys, люди пользуются, довольны, я пользуюсь для своих целей, тоже доволен, чо ещё надо-то.
На мой взгляд, на шелле писать в разы безопаснее, чем на сишках всяких. Да и по сути, ты просто клеишь уже готовый утиль. Не видел пока скриптования на Це. Олсо, слово «нормальный» из своего языка лучше исключить. Моветон-с.
сишечька — это не нормальный язык, слишком низкоуровневый, слишком ошибконезащищённый. Хотя, к сожалению, в некоторых областях почти незаменимый. Надеюсь дожить до изменения данных обстоятельств, но ещё лет 20 я сишечьке даю смело.
Разумеется, только альтернативно-одарённые будут на си писать скрипты. Ну, нормальные люди тоже могут, но если у них соответствующие "условия задачи", такие, в которых требуется либо сишный "скрипт", либо недопустимы другие разумные варианты.
Про слово "нормальный" могу сказать, что это нормальное слово: описывает мою субъективную норму, отсчитываемую относительно моего мировосприятия. То есть, я считаю, что си для шелл-скриптов — это ненормально (хотя, как описал выше, бывают исключения), и считаю, что более-менее сложную логику ненормально писать на баше. То есть, везде, где я использую это слово, я подразумеваю "[не]нормально с моей личной точки зрения". Как "imho", только гораздо ближе к "imnsho", потому что подкреплено либо рассуждениями, либо опытом. Пожалуй, оставлю это слово в лексиконе.
Компилируемых в бинарник языков не так уж много. Так что кроме сишки я не могу ничего назвать. Касательно слова — лучше так и писать, что ИМХО, субъективно и т.п. Потому что так повелось, что словом «нормально» обозначают, как надо, как все делают, и как следует делать и собеседнику, что в корне неверно. Для одних нормальная ОС — винда, для других столь же нормален линукс, и отсюда возникают конфликты и прочее. Если, конечно, тебе по нраву постоянно троллировать, ради бога. Но если надеешься на конструктивную дискуссию, следует сразу очерчивать круг своих предпочтений и не навязывать его другим штампами нормально/ненормально. Это ненормально, в конце концов.
в бинарник немало компилируется — c, c++, ocaml, coq, haskell, agda. С первыми четырьмя так вообще просто обеспечить хоть статическую линковку (кроме libc), про последние два не в курсе, но как-то что-то делают.
Про "нормально" — это ненормально, что этим словом обозначают общую норму, "для всех", тем более, учитывая, что "сколько людей — столько мнений", и что многие либо знают это, либо как бы догадываются. Однако да, про явное очерчивание логика есть и она скорее по нраву.
С другой стороны, есть вещи настолько б-гомерзские, что одним "имхо это говно" не обойтись. Например, срать друг другу в рот. Или писать сложную логику на баше, когда есть другие варианты. Вот именно такую мерзость я классифицирую как "ненормально".
https://github.com/eurekafag/Shell-Spark...
ну, бывает.
сходу вопрос: правильно ли я понимаю, что результат выполнения функции getdest (из shs) должен быть поддиректорией той директории, куда смонтирована флешка?
Я не для разбора дал, а просто как пример ненормального проекта. Сейчас конкретно косяки вылавливать нет ни времени, ни желания.
учитывая примитивность логики — может это и нормально для шелла. Но вот тут — действительно, IMHO большими буквами, так как весь проект не изучал, тоже со временем/желанием не ок, просто первую функцию посмотрел.
abs осиль ёпт, или тебе только бы в питон нырять?
какой нахуй питон.
второй
в таком случае забери свои слова взад.
это я еврейке, ёпт
понел, ок.
Блять, а лайвджоурнал с мобилы — пиздец. Шрифт такого размера, что букв разглядеть невозможно.
А ты сделай такое движение, будто пальцами анус растягиваешь, и они увеличатся.
я, конечно, мобильными браузерами не пользовался, но там действительно нужно 8 пальцев для увеличения шрифта?
Дык в том-то и дело, что в жопере мобиле переносы строк при этом там же остаются.
Пока хватает двух.
этому треду не хватает илимирки.
И дедфуда. И получился бы Идеальный Тред, мы бы его поместили в Палату Псто и Весов и показывали блоггерам.
Я треды с элемирками не читал, а что там будет? ЮНИКС КОКОКО КОСТЫЛИ СОРОКАЛЕТНЕЙ ДАВНОСТИ КОКОКО ШЕЛЛ НЕЯЗЫК ПРОГРАММИРОВАНИЯ РОБ ПАЙК ПИТУХИ КОКОКО?
там будет феерический понос про то, что все языки не поддерживающие System F2 \omega — говно.
че
вот именно! :D
советы айти-профессионалов
да хули, я сразу предложил coq и agda для шелл-скриптов. problems?
ПЕРД
ну, правильно. и тогда компьютером опять будут пользоваться одни профессионалы!
да я порекомедовать просто хотел.
пользоваться <> писать код. Но так было бы даже лучше. Мог бы рассказать про мегатонны ненависти и затрат времени из-за криворуких пидорасообразных шелло- и мейкфайло-писателей, но плохое стараюсь долго не помнить.
ну, на любом языке можно писать как перле :3
хуёвый аргумент.
хуёвый перл
хуёвые аргумент и перл.
ну, может быть. хороший язык будет энфорсить учитывать все варианты, поэтому скрипты не будут чудесато валиться из-за необъявленности переменной или херового ввода.
вот, я как раз про это. Полностью согласен. Понятно, что на любом языке можно писать как на <подставь говно>, но на хороших языках почему-то это даже неудобно, вдобавок, разные языки могут предоставлять разные хорошие возможности (каждый — свои), делающие код удобным для написания и надёжным для использования.