Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Лул 😀 А че там по MVC паттернам запилить в самом начале выплевывателя заголовок правильный, потом сделать тяпку-ляпку типа for ... echo "{" . $key .":" . $value . "," . "\r\n" . "}"; !$#@@%@#^! :DDD
Акадамики, бля буду иисусе, PhD сучий потрох ... Синдорм умного человека x)
p.s.: надо это ... пиздить тех, кто много думает над ситуациями, котрых быть не должно ... чтобы те кто это пишет не думали о хуйне и пиздили тех, кому эта хуйня нравится ... надо это ... ограничивать любителей свободного полета фантазии и мнимого удобства предусматривающего все и вся ... это просто программа , она должна просто помогать тебе делать что либо хорошо и все ... смысла предусматривать все мнимые мудизмы нет на уровне логики, есть смысл избавиться от хуйни сразу D: сабж
Не берусь утверждать, т.как давно это было, но родной json_encode тоже говно то еще. Там и проблемы с Юникодом были, и проблемы с пониманием типов данных.
Поп в церковно-приходской школе, ведет урок физики:
- Ответствуйте олухи, что легче всего на свете?
Вовочка тянет руку.
- Говори отрок.
- Хй, батюшка!
- Обоснуй!
- От одной мысли встает!
- Озорно, но справедливо! Ответствуйте далее, олухи, что тяжелее всего на
свете?
Вовочка тянет руку.
- Говори отрок.
- Хй, батюшка!
- Обоснуй!
- Не захочет, и краном не поднимешь!
- Ох, озорно, но справедливо! Ответствуйте далее, олухи, что быстрее
всего на свете?
Вовочка тянет руку.
- Уймись отрок, так ты мне на х*ю всю физику построишь
если в языке строки устроенны так - он упорот. В большенстве случаев нужно копировать строку, а не ссылку по этому логичнее обычно присвоение сделать копированием, а а копирование ссылки - специальным методом. Ну или просто возможность создавать строки на стеке или в куче по желанию
> если в языке строки устроенны так - он упорот.
Ну в жабе и питоне, к примеру, они именно так и устроены 🙂 Просто они там иммутабельны, поэтому всем похуй.
Ну во-первых любые иммутабельные объекты потокобезопасны. Раз его никто никак не может поменять, то и проблем с конкуренцией никаких.
Во-вторых строки передаются достаточно часто, а меняются реже, а если и меняются, то как правило целиком. Поэтому глупо было бы 10 раз целиком копировать строку, при протаскивании ее через 10 функций.
В-третьих у таких строк очень дешевые слайсы.
> стек
А причем тут стек? В той же жабе на стеке только ссылка на строку, лежащую в куче.
P.S. Вообще, в инете довольно часто ведутся холивары, насчет того, какие строки лучше - иммутабельные, полностью копируемые или cow 🙂 Тут они когда-то тоже были.
> прям в кеше?
Не, ну не настолько же... Хотя если размещать объекты в маленьком пуле, который не выжимает из кеша из-за того, что его часто юзают, то так оно и будет.
В расшаренной памяти например, или в заmap'анном в память файле, или в самопальном пуле, память под которую выпросили у оси в обход менеджера кучи...
Акадамики, бля буду иисусе, PhD сучий потрох ... Синдорм умного человека x)
Ну и в общем-то они ведут себя как значения, а не как ссылки:
- Ответствуйте олухи, что легче всего на свете?
Вовочка тянет руку.
- Говори отрок.
- Хй, батюшка!
- Обоснуй!
- От одной мысли встает!
- Озорно, но справедливо! Ответствуйте далее, олухи, что тяжелее всего на
свете?
Вовочка тянет руку.
- Говори отрок.
- Хй, батюшка!
- Обоснуй!
- Не захочет, и краном не поднимешь!
- Ох, озорно, но справедливо! Ответствуйте далее, олухи, что быстрее
всего на свете?
Вовочка тянет руку.
- Уймись отрок, так ты мне на х*ю всю физику построишь
1) иммутабельные (аля python, java, haskell, js, c# и т.п.);
2) мутабельные с полным копированием (аля c++'ный std::string, PHP ниже 5.0, perl?);
3) мутабельные с COW(copy-on-write) (строки в Qt, delphi, PHP 5.0+).
P.S. Про PHP могу гнать, в одному комменте со стековерловочки про COW в 5.0+ прочел, глубоким анализом не занимался.
> подавляющем большинстве
Ну да, так оно и есть. Ну только не всех языков, а именно используемых в настоящее время.
Ну в жабе и питоне, к примеру, они именно так и устроены 🙂 Просто они там иммутабельны, поэтому всем похуй.
И в питоне тоже? А в чем тайная выгода? Что бы стек не корежило когда строка из 0б внезапно увеличивалась до 9000?
Во-вторых строки передаются достаточно часто, а меняются реже, а если и меняются, то как правило целиком. Поэтому глупо было бы 10 раз целиком копировать строку, при протаскивании ее через 10 функций.
В-третьих у таких строк очень дешевые слайсы.
> стек
А причем тут стек? В той же жабе на стеке только ссылка на строку, лежащую в куче.
P.S. Вообще, в инете довольно часто ведутся холивары, насчет того, какие строки лучше - иммутабельные, полностью копируемые или cow 🙂 Тут они когда-то тоже были.
Если про кресты - то нет. Там с этим свободней. В крестах юзают и cow строки (c++ builder, qt) и просто копируемые по значению (std::string).
А в пыхе она и является одним из примитивов.
А в java даже структур нету - классы да примитивы
Можно и в других местах, если очень хочется...
Не, ну не настолько же... Хотя если размещать объекты в маленьком пуле, который не выжимает из кеша из-за того, что его часто юзают, то так оно и будет.
В расшаренной памяти например, или в заmap'анном в память файле, или в самопальном пуле, память под которую выпросили у оси в обход менеджера кучи...
http://ideone.com/lNtdHl
Но так не будет, т.к. строки ведут себя как значения.
Это пример на гипотетическом пыхе, в котором строки бы передавались как в яве по ссылке без копирования и cow, но при этом оставались бы мутабельными.