- 1
- 2
- 3
- 4
- 5
- 6
import execjs
js = '{"1": "2", "3": [4,5]}'
default = execjs.get()
print default.eval(js)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−267
import execjs
js = '{"1": "2", "3": [4,5]}'
default = execjs.get()
print default.eval(js)
Раз уже астрологи объявили неделю ебанутого парсенья json.
bakagaijin 02.06.2015 11:08 # 0
j̢s̢ =̴ '{"1": "2", "3": [4,̶5]̵}'̕
d̡éfaưl͠t͞ ̕= ͟execj̴s.ǵe̡t()͘
̶́p̶̨͢r̀i͜n̷͟t d̨̛e̷͢f̸̀͠a̕u҉͏̸l̷t͞.̢̢͟ev̢i͡l̢͡͝(j̕͜s)͡ ̴ ҉h̨͜e͜͢͡ ͏c̀ó͘m̧̧e̷̵҉s̨͠ ͜͟HE̶̡ ̶CO̵ME͏S̴͟
3_14dar 02.06.2015 19:32 # 0
1024-- 02.06.2015 19:48 # 0
̫̦̺̲̭̣ͅП̛͉͇̗ͅо̧̳̬̪̤̼̼л̥̦̩̞̝̗у̴̠̮̯̫͇̠ч̸̺̭ и̖̺л͍̩̮ ͎̬п̟̦̰̱͔а̫̳͍̝̪р͉̪͇̠͇͞о̳͍̲̗͜л͓͉͘ь͙̮ ̦̩о̪̤̗͚̺̤̳͜т̪̙ ͖̣у̘̼͙͙чё̲̣̥́т̘̜͔͕к̟̱͝и ̡̱̮͔̦̩С̰̯т̦̥̺͚͉р̤̭͚̠͜а̮̠й̙̝̼͔̺͎̺͜к̪̘͇̬̗̼ е̭̘̩р̩͚а̶͎.̻̬̱̠͝
͈̲̩̗͜С̸͖д̀ел͕͝ал̥̘̥̣̣ ̡ͅс̴̟͇͎̝̪е̢̗̯͍̝̯б͟я̛͉͈̟ ҉͈̠̫͚̹а̴̣̙̳д̴̖̯̣̭м̪͕̞͖͝и̺̲͢н̶̦̮о̷̲м̸̩̼̟. ̬
͢И̸ ͔̞п̗̟р̗̭̰̭и̟͈͡шё̴̫͚͍͕̯л̷.̛͍̤̠͚̬̹
3_14dar 02.06.2015 20:18 # 0
bakagaijin 02.06.2015 20:43 # +1
И чтоб два раза не вставать, можно погуглить по parse html regex, первая ссылка будет my eyes на стековерфлоу, вот там he comes шикаааарный первый eating flesh ответ на вопрос, как парсить he comes хтмл регексами zalgo comes he comes
3_14dar 02.06.2015 21:45 # 0
inkanus-gray 02.06.2015 23:34 # 0
Правильный ответ: use composite characters, Luke!
http://www.alanwood.net/unicode/combining_diacritical_marks.html
3_14dar 03.06.2015 00:00 # 0
inkanus-gray 03.06.2015 00:32 # 0
Кстати, у нас без Уникода было тяжело. Приходишь в дисплейный класс, а там вместо chcp 866 стоит какой-нибудь малоизвестный русификатор, в котором нет буквы ё. Смотришь на экран и плю±шься. ≡баные нестандартные кодировки...
К чему это я? Ах, да, в Уникоде есть специальные символы, которые при растеризации накладываются на предыдущие. И самое интересное, что процесс наложения можно повторять неограниченное количество раз.
3_14dar 03.06.2015 04:41 # +1
Вот поэтому. У кого у нас и к чему ты это вообще спросил?
Ты, наверно, про это: "Самое интересное, правильный ответ так никто и не дал.". Это относилось к вопросу на SO про то почему нельзя парсить html регулярками. В одном ответе ответили что регулярки - это конечный автомат без хранения состояния и бесконечный html с конечным количеством состояний не распарсить, но в коментах ему сказали, что в некоторых языках регекспы тянут на машину Тьюринга.
В 90-х я еще был у вас, но указанных проблем не наблюдалось. Может, у вас всякое ебанько админило? Чистого доса не было, был уже 95
1024-- 03.06.2015 10:31 # 0
> бесконечный html с конечным количеством состояний не распарсить
> регекспы тянут на машину Тьюринга
Задроты-теоретики какие-то собрались и всё засрали. Чёрт, как же невыносимы теоретики.
Даже по их любимой теории конечный HTML хорошо описывается регулярной грамматикой (правда, описание экспоненциально длиннее текста, но что остановит теоретиков?).
Зачем описывать свойства регулярных грамматик, когда регулярное выражение используется внутри полного по Тьюрингу языка, из-за чего система "регулярка-программа" может распарсить даже неограниченную грамматику?
Гееретики постоянно строят какие-то геемодели нашего мира, забывая про существенные моменты. То у них на брейнфаке можно написать больше, чем на C++; то все задачи решаемы, но про бесконечную память они вежливо молчат.
Интересно, есть там ответ, где советуют учесть 1. опыт программиста 2. накладные расходы на полноценный парсер 3. длину и сложность регулярки 4. частоту и внезапность изменения задачи и другие параметры и понять, что выгоднее в данном случае.
3_14dar 03.06.2015 20:37 # 0
Читай определение. Надо парсить бесконечный.
Кстати, a.*b - это какая машина? НКА или что-то дрогое.
>Зачем описывать свойства регулярных грамматик, когда регулярное выражение используется внутри полного по Тьюрингу языка, из-за чего система "регулярка-программа" может распарсить даже неограниченную грамматику?
Потому что у тебя к регулярке будет добавляться и логика на ЯП. А хочется вхуярить регулярку и будет заебись.
Теоретики собрались по простой причине - если html нельзя парсить даже теоретически, то и практически тоже (или с костылями выше)
>Гееретики постоянно строят какие-то геемодели нашего мира, забывая про существенные моменты. То у них на брейнфаке можно написать больше, чем на C++; то все задачи решаемы, но про бесконечную память они вежливо молчат.
То же самое.
>Интересно, есть там ответ, где советуют учесть 1. опыт программиста 2. накладные расходы на полноценный парсер 3. длину и сложность регулярки 4. частоту и внезапность изменения задачи и другие параметры и понять, что выгоднее в данном случае.
Да, там был ответ, что ограниченный набор парсить вполне выгодно (например, выкусывать куски текста). Но когда нужно выкусывать структуры текста, не имеющие к тому же четкой регулярки (вроде парсенья коментов говнокода), то dom парсер становится на порядок проще.
1024-- 04.06.2015 10:30 # +1
Я не теоретик, не знаю. Но если КС-грамматики парсят тоже какими-то автоматами, но посложнее (предположу, что как раз НКА), то буду утверждать, что каноничная регулярка - ДКА.
> Надо парсить бесконечный.
Памяти на вас не напасёшься.
> если html нельзя парсить даже теоретически
...то у нас нет парсеров и браузеров. А значит теория неверно моделирует реальность, фтопку её.
> А хочется вхуярить регулярку и будет заебись.
Хочется писать простой поддерживаемый и быстрый код. Скажем, если сначала заменить все пробелы на один, регулярка станет проще и быстрее. И читать приятно, и пирфоманс.
Лучше я плюну на теории и напишу две простых регулярки, которые будут работать в цикле, чем одну большую или, не дай Бог, КС-грамматику ещё писать.
bormand 04.06.2015 10:46 # +1
3_14dar 04.06.2015 11:32 # 0
Память в автоматах с памятью как раз может быть бесконечной.
> если html нельзя парсить даже теоретически
... с помощью регулярок...
>регулярка станет проще и быстрее.
Не факт.
>Лучше я плюну на теории и напишу две простых регулярки, которые будут работать в цикле, чем одну большую
Скорость работы регулярки зависит от размера?
kegdan 04.06.2015 12:18 # +1
bormand 04.06.2015 13:07 # +1
kegdan 04.06.2015 13:10 # 0
Семен то говорил, что это даже теоретически невозможно
3_14dar 04.06.2015 20:07 # 0
Наверно, имелось в виду, что ты регуляркой не можешь заменить xpath.
1024-- 04.06.2015 15:09 # 0
повезло. крупно повезло
> регулярка станет проще и быстрее.
> Не факт.
Ну тогда не заменять. Если она простая и быстрая, пусть используется.
> Скорость работы регулярки зависит от размера?
Да, как от одного из параметров. (1) Размер связан с содержанием (2) В длинных регулярках человеку легче наговнять какую-нибудь фигню.
Вон в стерторовском случае что-то вида домен\s*[:;]\s*\d{2,5}. Если пробелы отфильтровать, фигни вида "example.com : lol" будут быстрее забраковываться, не надо будет ждать, пока оно прогонит по \s*.
3_14dar 04.06.2015 20:11 # 0
Как простота согласуется со скоростью работы?
>(1) Размер связан с содержанием
Сложные, но небольшие регулярки типа a.*b имеют больший класс сложности чем str1|str2|...
1024-- 04.06.2015 20:23 # 0
Простая часто быстрее. Я уже писал про человеческий фактор и о том, что это не напрямую связано.
> Сложные, но небольшие регулярки типа a.*b имеют больший класс сложности чем str1|str2|...
А вот на первый взгляд, первая требует не более одного прохода и хранение O(1) данных, а вторая - либо несколько проходов, либо дерево с ворециями.
Так что да, первый вариант короче, проще и быстрее.
> больший класс сложности
Опять теория, фтопку её. Нужна только практика, только результат взвешивания N факторов.
3_14dar 04.06.2015 20:31 # 0
Угу.
Пример не очень удачно, но какой-нибудь (.*)* будет явно дольше.
Есть прога которая позволяет смотреть во что компилируются регексп?
>Опять теория, фтопку её.
1024-- 04.06.2015 20:55 # 0
Вот начнём регулярку переписывать и удалять из неё говно - скорее всего будет короче и быстрее. Короткую легче осознать.
Но обратный эффект никто не отменял, это да.
Не знаю. Но занятная была бы прога. Может, у Кегдана есть.
kegdan 04.06.2015 21:12 # 0
3_14dar 04.06.2015 21:16 # 0
Нет.
regex buddy мб? в фитоне есть флаг в re.compile
re.compile('.*', re.DEBUG)
такой бы тоьлко почитаемее
http://ideone.com/K08g0k
kegdan 04.06.2015 21:19 # 0
http://referencesource.microsoft.com/#System/regex/system/text/regularexpressions/Regex.cs,bbe3b2eb80ae5526
inkanus-gray 03.06.2015 14:32 # 0
Я 95 увидел только в 2001-м году.
3_14dar 03.06.2015 20:37 # 0
inkanus-gray 03.06.2015 20:57 # 0
В школе вообще видел «Агат» с интерпретатором Бейсика вместо операционной системы.
kegdan 03.06.2015 21:15 # 0
3_14dar 03.06.2015 22:47 # 0
Я не знаю на чем. Я в украшке в ~97 уже на винде 95 сидел в школе, правда, это был лицей. Мухосранск?
inkanus-gray 04.06.2015 01:08 # 0
3_14dar 04.06.2015 02:19 # 0
inkanus-gray 04.06.2015 13:05 # 0
В вузе мне сначала пришлось работать на каком-то клоне IBM PC XT (NEC или типа того), у которого было около мегабайта оперативки. Потом пересел на 486. В 2001-м году на эти «четвёрки» какой-то пидорас (в плохом смысле этого слова) поставил Windows'95 и всё начало тормозить, было видно как по линейкам рисуются окна. Вообще странные машины: то ли кэш у них не работал, то ли планки памяти были древние, но «четвёрки» так тормозить не должны.
А на Украине в ~97 уже на винде 95 сидели в школе. Какими кретинами надо быть, чтобы настолько опережать рашку и всё просрать!
defecate-plusplus 04.06.2015 13:50 # −1
В поздние 90е я ходил на кружок информатики, там было вполне нормальное оснащение - нфс3-4 на минимальных настройках шла.
По винде никто не ограничивал, застал машины от NT 4.0 до 2000/Me в последние месяцы (а так 98 в основном).
А в родной школе да, какие то монохромные терминалы были (я точно не могу сказать, т.к. меня в школе освободили от информатики, ведь заведение с кружком было вполне официальным с корочкой, программой и объемом часов).
мухосранск на 40к жителей
3_14dar 04.06.2015 20:14 # 0
Не в каждой. В старой я то самое советское чудо видел.
Но дос... Это пиздец какой-то, товарищи. Такое разве что в детской колонии было, где я был на экскурсии(там наверняка были уже PC).
3_14dar 04.06.2015 20:22 # +1
Не в каждой. В старой я то самое советское чудо видел. Я не знаю опережала ли украшка рашку (нефти все-таки нет), но ты наверно хочешь вбросить что виноват майдан а не бандюковичи, кучмоиды и ко.
Но дос... Это пиздец какой-то, товарищи. Такое разве что в детской колонии было, где я был на экскурсии(там наверняка были уже PC).
В вузе в 2000 у нас в универе были p2-350, первые компы которые я видел где уже все было в материнке - сетевуха, звуковуха, может и видюха даже. Универ был самый обычный, так что у вас в московии какой-то нереальный уровень попила должен был быть. Четверки у нас были в лицее, тогда я узнал, что дум2 может тормозить. И там тоже стояла windows 95 (частота 100 мгц была), но работать было можно, сильных тормозов не было.
inkanus-gray 05.06.2015 00:52 # 0
Не угадал. Я не могу отрицать очевидного. Не могу отрицать, что грабили общими усилиями несколько поколений. Но также не могу отрицать того, что Майдан качественно ничего не изменил. Но об этом в другой теме.
> Но дос... Это пиздец какой-то, товарищи.
Зато благодаря воспитанию на ДОСе я не боюсь ко-ко-ко-консолечки.
3_14dar 05.06.2015 02:14 # 0
http://govnokod.ru/15804#comment288736
>Зато благодаря воспитанию на ДОСе я не боюсь ко-ко-ко-консолечки.
На 95 мы и проходили и дос, и нортон. А ко-ко-ко-ко-ко-ко-консолечка в чистом досе даже в повтор команд не умеет. Помню я винкей нажал, вылетел в винду и не знал как вернуться в нортон (у меня комп через год появился)
3_14dar 05.06.2015 03:04 # 0
3_14dar 05.06.2015 03:13 # 0
Дискетки это вообще отдельный разговор. Помню как таскал проги/игори из комп класса и у меня вечно не хватало места на винте (даже после того как drivespace в винде поставил). Вполне нормальной была ситуация, когда дискета толком не читается, проверка не спасает. Отформатировал - как новенькая. Может, магнитное поле в лифте, может, еще что-то. Мне эникей лицейский рассказывал как анекдот, что к нему школьник принес дискету, которая лежала в сумке со сменкой и не читалась. Сейчас флешки быстрее, больше, бесшумнее и без этих ёбаных закидонов.
guest 09.06.2015 01:37 # 0
ты думаешь у других тут детства не было? Думаешь никто в децтве принца персии на дискету не переписывал? DOS 6.22 не трогал? Перемычкой на саунд бластере IO не выбирал? На MASM не писал? На TurboC? Не знает что такое egavga.bgi? Шарик у мышки не чистил? Все, блядь, народились сразу с айфоном шестым? Все тут 1997го года рождения?
3_14dar 09.06.2015 02:38 # 0
>Думаешь никто в децтве принца персии на дискету не переписывал?
Я его даже на осциллографе видел, году в 95.
>Перемычкой на саунд бластере IO не выбирал?
Не выбирал, слава богу, у меня уже все pnp было.
>На MASM не писал?
На каком-то асме писал.
> На TurboC?
Только пасцаль.
>Не знает что такое egavga.bgi?
Мы даже 800*600 заюзали для танчиков.
>Шарик у мышки не чистил?
Постоянно, ибо гамал.
>Все тут 1997го года рождения?
Некоторые.
guest 09.06.2015 17:58 # 0
да-да, я тоже в 95 стрелкой от осцилограффа веб сайты делал
3_14dar 21.06.2015 16:16 # −2
LispGovno 22.06.2015 14:51 # 0
guest 05.06.2015 15:03 # +1
inkanus-gray 05.06.2015 16:18 # 0
Use DOSKEY, Luke! А вообще, когда есть Нортон, и DOSKEY не нужен.
kegdan 05.06.2015 04:01 # +1
А благодаря отсутствию в винде
а вместо него
я понял, что жизнь - не сахар
3_14dar 05.06.2015 05:50 # 0
Qwertiy 05.06.2015 09:50 # 0
kegdan 05.06.2015 10:31 # 0
bormand 05.06.2015 12:25 # +1
А зачем тебе миллисекундная точность в говноскриптах?
kegdan 05.06.2015 12:32 # +2
kegdan 05.06.2015 14:43 # 0
В батниках не эксперт, так по мелочи
guest 05.06.2015 14:46 # +6
3_14dar 06.06.2015 06:33 # 0
inkanus-gray 06.06.2015 12:01 # 0
Не поверишь, но MySQL даже соцсети и другие крупные компании используют. Так что это совсем не шутки.
Другое дело — высоконагруженные системы AI на .bat файлах.
guest 06.06.2015 14:31 # 0
просто когда у тебя на нём система с десятилетним пробегом то конечно стремно что-то менять. Других оснований для использования отсосно-уебищного говнища без нормальных констреинтов, профайлинга и нормального оптимизатора нет.
Для новых проектов нужно выбирать минимум постгрю. Если человек выбирает mysql для нового проекта то оно или тупое пидрилло, не способное освоить постгрю по причине неумения читать, или просто тупое пидрилло без всякий причин.
Не существует *ни одной* причины по которой можно выбрать mySQL
3_14dar 06.06.2015 20:06 # 0
guest 09.06.2015 01:34 # 0
А вот про хостинг я согласен: если бюджет проекта не может превышать 5 баксов в месяц, то MySQL + PHP наш выбор. Но если проект хотя-бы 15 баксов, то можно уже AWS, Postgres и RoR или Django
3_14dar 09.06.2015 02:39 # 0
С квадратичной сортировкой - кагбэ тоже :)
> если бюджет проекта не может превышать 5 баксов в месяц, то MySQL + PHP наш выбор.
Ну что за пездеж. За 5 можно VPS снять.
guest 09.06.2015 02:47 # 0
А про VPS ты прав: ну окей, MySQL отличное решение для проектов дешевле 3 долларов
inkanus-gray 06.06.2015 22:04 # 0
• http://spb-borodin.livejournal.com/596.html
• http://spb-borodin.livejournal.com/779.html
Что-то двигало вконтактоблядями, когда они выбрали MySQL, хотя на тот момент Postgre уже стукнуло N лет...
guest 09.06.2015 01:31 # 0
а что выбирали бляди, выбравшие пых в 2007м я даже думать не буду
1024-- 05.06.2015 15:35 # +2
3_14dar 05.06.2015 20:36 # 0
inkanus-gray 05.06.2015 16:19 # 0
kegdan 05.06.2015 16:20 # +1
inkanus-gray 05.06.2015 16:41 # 0
kegdan 05.06.2015 16:45 # 0
defecate-plusplus 05.06.2015 14:53 # +1
кому ты заливаешь, петушок
в универе в 2000 - это означает, что тебе сейчас 30+ лет
guest 05.06.2015 14:57 # +1
откуда на ГК люди 30+?
тут только прыщавая пубертатная школота 17ти лет
Stertor 05.06.2015 18:04 # −1
Прыщеандр-ы?
inkanus-gray 05.06.2015 18:41 # 0
Stertor 05.06.2015 18:54 # 0
inkanus-gray 05.06.2015 19:02 # +3
kegdan 05.06.2015 19:16 # 0
guest 05.06.2015 19:18 # 0
kegdan 05.06.2015 19:19 # 0
inkanus-gray 05.06.2015 20:30 # 0
Справа нас рать.
И с раной Мамай
Убежал в Сарай.
kegdan 05.06.2015 20:38 # 0
Справа кусты
Сьешь шаурму
И там будешь и ты
Stertor 05.06.2015 20:34 # −1
Зато целуется хорошо.
3_14dar 05.06.2015 22:46 # 0
kegdan 06.06.2015 04:46 # 0
kegdan 05.06.2015 15:00 # 0
guest 05.06.2015 16:25 # 0
guest 05.06.2015 16:42 # +2
defecate-plusplus 05.06.2015 17:04 # 0
или типа если живут 120 лет вместо 60, то и развитие в 2 раза медленнее?
тогда ок
LispGovno 22.06.2015 14:54 # 0
пидарок в 30 с гаком лет всё еще лузер-нищеброд без работы? охлол.
Stertor 22.06.2015 16:01 # −1
Когда почувствуешь власть мужчины над собой, не думай, однако, что из тебя сделали пидара. Ты был им ранее.
bormand 02.06.2015 16:09 # 0
3_14dar 02.06.2015 17:59 # 0
>Слишком сложный код.
Дык. Не просто модуль, а внешний js интерпретатор
Stallman 02.06.2015 18:08 # 0
1024-- 02.06.2015 19:25 # 0
kegdan 02.06.2015 20:34 # 0
bormand 02.06.2015 23:38 # 0
1024-- 02.06.2015 23:57 # +1
'1'+1? Опять исключение.
Пишешь скрипт, а он падает, сучара. Программист должен сам стрелять себе в ногу, а не получать от языка по поводу и без повода.
3_14dar 03.06.2015 00:00 # 0
{}.get('a', None)
>'1'+1? Опять исключение.
Нахуй
bormand 03.06.2015 00:06 # +8
Stallman 03.06.2015 00:10 # +1
bormand 03.06.2015 00:11 # +2
NaN
Stallman 03.06.2015 00:14 # +3
Stallman 03.06.2015 00:17 # 0
kegdan 03.06.2015 00:21 # 0
Фиолетовое сердце, блеать!
bormand 03.06.2015 10:04 # 0
kegdan 03.06.2015 10:07 # 0
bormand 03.06.2015 10:39 # 0
kegdan 03.06.2015 10:41 # 0
bormand 03.06.2015 12:44 # 0
Ты, наверное, удивишься, но бывает даже аниме по фигуркам. А по играм, особенно визуальным новеллам - вообще частое явление.
kegdan 03.06.2015 12:47 # +1
Даже фильм пытаются снять нарисовать
http://www.youtube.com/watch?v=JjaYW5Cnr5k
Stallman 03.06.2015 12:52 # 0
Например?
bormand 03.06.2015 12:57 # +1
Трансформеры и прочая ранняя мехота?
kegdan 03.06.2015 20:40 # 0
guest 09.06.2015 17:59 # 0
Stallman 03.06.2015 12:48 # 0
Хотя есть и исключение, например, Little Busters, хотя ВН - это и не совсем игра, но всё же.
Как же я хочу её трахнуть.
bormand 03.06.2015 12:59 # 0
Stallman 03.06.2015 13:03 # 0
Кстати, а сколько у тебя тайтлов, няша?
bormand 03.06.2015 13:39 # 0
NaN
Stallman 03.06.2015 13:44 # 0
bormand 03.06.2015 15:04 # 0
undefined же.
kegdan 03.06.2015 15:33 # 0
Stertor 03.06.2015 17:10 # −1
kegdan 03.06.2015 18:55 # −1
Stertor 03.06.2015 19:37 # −1
bormand 03.06.2015 00:23 # 0
inkanus-gray 03.06.2015 00:35 # +2
kegdan 03.06.2015 00:15 # +1
1024-- 03.06.2015 00:16 # 0
Вот, например, недавний наш пример с созданием папки в Node.js. Какие-то исключения, какой-то бред. А ведь вполне бы хватило кодов возврата. Нужно точное описание ошибки - проверяешь код возврата (ну или возвращённый объект типа Error). Хочешь просто либо прочитать файл, либо то, что прочиталось, либо пустую строку - игнорируешь. Всё равно внутри обёртка и проверки кто-то гоняет, это же не malloc.
Stallman 03.06.2015 00:19 # +3
Расмус тоже так думал. Не секрет, что из этого вышло.
1024-- 03.06.2015 00:34 # 0
Падать нужно только тогда, когда нет ни единого шанса для продолжения, иначе выйдет псевдонадёжное говно, которое на самом деле нисколько не надёжное, падает от дуновения ветра.
Бюрократия. Нет справки? Не важно, что стоял день в очереди. Возьми справку и постой столько же завтра.
Самая безумная и подлая фигня - падать по получении NaN. Вышел NaN? Давайте упадём и похерим все хорошие вычисления за последние два дня.
3_14dar 03.06.2015 00:36 # +2
Угу, работает http://raz0r.name/vulnerabilities/simple-machines-forum/
Ты сравниваешь show must go on с необрабатываемыми исключениями, а их еще можно и обрабатывать. Скажи ты реально такой дебил или это все же троллинг?
Исключения не нужны, когда есть вменяемая реакция по умолчанию на исключение, позволяющая работать дальше, но она есть довольно редко (например, equals для null не должен бросать NPE)
bormand 03.06.2015 00:40 # +2
3_14dar 03.06.2015 01:16 # 0
3_14dar 03.06.2015 01:15 # +3
kegdan 03.06.2015 00:35 # +1
3_14dar 03.06.2015 00:34 # 0
1024-- 03.06.2015 00:35 # 0
Оба варианта неверны.
kegdan 03.06.2015 00:38 # 0
3_14dar 03.06.2015 00:39 # 0
bormand 03.06.2015 00:42 # +1
kegdan 03.06.2015 00:49 # 0
Ну или эрланговская модель актеров - она ня
3_14dar 03.06.2015 01:17 # 0
/0? SMGO это и есть фурычить при ошибках без вмешательства программиста
kegdan 03.06.2015 01:28 # 0
магия вуду? Если не ты - так другой программист прописал. Так что либо ошибка отслеживается руками либо на нее кладется болт.
3_14dar 03.06.2015 01:34 # 0
kegdan 03.06.2015 01:38 # 0
- а что будет если я попробую в твоей проге поделить на ноль?
- я не знаю, лол
3_14dar 03.06.2015 01:17 # 0
bormand 03.06.2015 01:26 # +1
3_14dar 03.06.2015 01:32 # 0
Определение "мелочей".
kegdan 03.06.2015 01:35 # 0
1024-- 03.06.2015 00:43 # 0
Исключения сосут, возвращаемые обёртки универсальны и удобны.
bormand 03.06.2015 00:47 # 0
1024-- 03.06.2015 00:52 # 0
Всё это связано с обработкой ошибок, да. И с программированием.
Но у меня в простом варианте не надо ничего ловить, чтобы код просто работал. А в сложном варианте нужно писать примерно столько же кода, сколько и с исключениями.
Исключение можно и вручную вбросить, если это действительно нереальный случай, которого быть не должно и никогда не будет, если кто-то не ошибётся.
А то повадились языки сами вбрасывать на каждый чих.
kegdan 03.06.2015 00:56 # 0
Со сторонними ресурсами (сервис, бд) без исключений никак - 100%ые AP не делают
bormand 03.06.2015 01:20 # +6
Файл не существует? Похуй, будем считать, что в нём пустая строка. Пустая строка не бьётся на три части по табу? Похуй, вернем массив из одного элемента. Нету второго элемента? Да похуй, пусть будет undefined. Undefined + 1? NaN! Его и покажем юзеру. Ничто не остановит бульдозер.
kegdan 03.06.2015 01:30 # +4
3_14dar 03.06.2015 04:41 # +1
1024-- 03.06.2015 01:31 # 0
Можно и исключения не ловить в пистоне. Тоже выйдет фигня.
Не надо смешивать "нет файла" и "строка не соответствует заданной грамматике". В тех местах, где ошибки важны, они обрабатываются, в тех, где не важны - не обрабатываются.
В описанном выше примере мы можем отказаться от проверки на существование файла, но ветвиться по формату строки, чтобы не показывать NaN. Удобный подход.
3_14dar 03.06.2015 01:35 # 0
Можно, но это нужно хотя бы делать осознанно. По умолчанию они прерывают работу, а коды ошибок по умолчанию игнорируются.
>В тех местах, где ошибки важны, они обрабатываются, в тех, где не важны - не обрабатываются.
Все это можно и с исключениями сделать.
1024-- 03.06.2015 01:40 # 0
Это и плохо. При неважной ошибке падает всё множество программ, когда как с кодами возврата и их безопасными модификациями падают только те, которые пошатнули специально.
>> прога не должна падать от мелочей.
> Определение "мелочей".
Мелочи определяются программой. Для одной NaN - нормальный разультат. Для другой в этом случае отправляется письмо разработчику, а все изменения откатываются. Индивидуальный подход.
3_14dar 03.06.2015 04:38 # 0
Ага, таки программист? А что ему мешает игнорить неважные исключения?
1024-- 03.06.2015 10:17 # 0
Так упадёт всё. Исключение придётся обрабатывать, пусть и обработчик будет пустым.
3_14dar 03.06.2015 10:39 # 0
1024-- 03.06.2015 10:44 # 0
Меня настолько это не волнует, что я напишу об этом 1000 комментариев. Пусть все знают, что не волнует. Пусть все знают, что я игнорирую исключения. Игнорирую, слышите? try{} catch{} на каждый вызов. Игнорирую в каждой строке.
kegdan 03.06.2015 10:47 # 0
3_14dar 03.06.2015 11:14 # 0
kegdan 03.06.2015 01:40 # 0
3_14dar 03.06.2015 01:20 # 0
Happy case - главный показатель? Кстати, с исключениями он чище, т.к. отделяется код и обработка ошибок
1024-- 03.06.2015 01:34 # 0
govnokod.ru
>> в простом варианте не надо ничего ловить
>> в сложном варианте <...> примерно столько же кода
Интегрально выгодно.
3_14dar 03.06.2015 04:39 # 0
>govnokod.sru
А чего ты сидишь в инторнете, а не в чебурашке?
1024-- 03.06.2015 10:19 # 0
kegdan 03.06.2015 10:23 # 0
1024-- 03.06.2015 10:33 # 0
kegdan 03.06.2015 10:37 # 0
Vasiliy 03.06.2015 11:24 # 0
kegdan 03.06.2015 11:27 # 0
Vasiliy 03.06.2015 11:30 # +4
Stallman 03.06.2015 11:41 # 0
3_14dar 03.06.2015 10:37 # 0
3_14dar 03.06.2015 01:19 # +1
kegdan 03.06.2015 01:32 # +2
3_14dar 03.06.2015 04:39 # 0
С каких пор ты стал на си кодить?
kegdan 03.06.2015 06:06 # 0
3_14dar 03.06.2015 06:20 # 0
kegdan 03.06.2015 06:24 # +1
У нас - у тебя, у меня, у васи пупкина у всех пользователей пк
3_14dar 03.06.2015 10:38 # 0
kegdan 03.06.2015 10:39 # 0
Vasiliy 03.06.2015 11:35 # +1
3_14dar 03.06.2015 20:39 # 0
roman-kashitsyn 03.06.2015 09:45 # +1
Их было бы в 5 раз больше. Управление ресурсами через try/finally - это унылая тоска. Например, C++ с исключениями, но без деструкторов - это адовая бомба.
Ну вот в жавке есть исключения. Типичная жабопрограмма генерит гигабайты стэк трейсов. Да, ошибок стало в 5 раз меньше.
kegdan 03.06.2015 10:04 # 0
3_14dar 03.06.2015 10:39 # 0
Кому-то это мешает? Все же лучше кодов возврата и сегфолтов
bormand 03.06.2015 00:41 # 0
Впрочем, у меня тоже. Только в другую сторону.
Fike 03.06.2015 05:18 # 0
вы приняты.жпг
Stallman 03.06.2015 00:11 # +2
guest 06.06.2015 14:32 # 0
3_14dar 02.06.2015 19:32 # 0