- 1
- 2
- 3
function deleteCookie(name, path, domain) {
if (getCookie(name)) document.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-1970 00:00:00 GMT';
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+154
function deleteCookie(name, path, domain) {
if (getCookie(name)) document.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-1970 00:00:00 GMT';
}
...
Глянь плиз, может сможешь помочь
Ну-ну.
Просто там зачем-то выебнулись и обозначили большую часть стандартных функций всякой херней из закорючек...
А вот когда дело доходит до управления ресурсами и оптимизации, там начинается веселье.
Еще один.
Правда это ощущение довольно быстро проходит, когда от чистого кода переходишь к I/O.
На самом деле хороший академический язык, было бы хорошо в уневерах такое читать. Может когда нибудь стану аспирантом и буду мучить детей хаской
я понимаю, что хаски красив в чистых функциях. Мне кажется его хорошо юзать для создания либ под решение задач и дергать из чего то императивного.
Кстати MS намекает так юзать связку C#-F#
Кажется - креститься надо.
Вот я делал чистый функциональный парсинг файла. Гемор тот еще из-за лени хаски... То ему лень его дочитать до конца и закрыть. То он в памяти оставляет недопарсенные записи, потому что их содержимое никому еще не понадобилось (попрощайся с исключениями из чистого кода навсегда, только Maybe, только Either, только хардкор)...
Еще бывают заскоки с fold'ами, когда вместо няшной хвостовой рекурсии начинает жрать стек (и падать) или плодятся миллионы thunk'ов, и прогу пидорасит от нехватки памяти (это если повезло, и комп не сожрал все 8 гиг и не ушел в своп).
В общем запилить можно, и даже работать будет довольно шустро, если выхлоп профайлера поизучать, но не так уж просто и приятно :)
Опять же о студентоте и функциональщине - раньше у нас преподавали основы функциональщины на лиспе, но так как большая часть нифига не понимала, все отменили. У нас был добровольный факультатив на Erlang из 3 занятий потому что на 3 пришло только двое. Мне кажется это печально. Совершенно нелюбознательные программисты - это прискорбно
> Совершенно нелюбознательные программисты - это прискорбно
Не факт. Еще может быть препод-мудак, который только читает методичку, нихрена не может объяснить, и совершенно ничем не может заинтересовать студентов. Вот они и не ходят (и правильно делают).
В конце-концов если хочется покопаться в эрланге - это можно сделать в спокойной обстановке дома.
Мне стало интересно - почему везде говорят, что хаскелл ( да и вообще функцианальщина) - супер сложен и его знают полтора человека?
Фи, скукотища же.
> почему везде говорят, что хаскелл ( да и вообще функцианальщина) - супер сложен
Большинству влом осиливать что-то новое, если можно не напрягаясь зарабатывать на уютненьком шарпике/пыхе.
Ну да. Тут скорее не сложность, а именно "всем похуй". Да и рынок не способствует. MS F# продвигает, Scala растет - но это все для эстетов.
Стрелялочки годные есть, не спорю. Но батла это пафос и уныние.
Из стрелялок - олдскульные. Халфа, хитманы, системшок2, первые части колды, масс эффект в какой-то мере и т.п. Ну и bioshock infinite понравился (хотя бесят картонные человечки в качестве статистов), если говорить о свежих.
> реген
Реген сейчас везде. К сожалению, большинство игр сейчас это не столько игра, сколько интерактивный фильм.
сейчас его, угловатое, вроде, даже на фулл-хд то не запустить (может, текстурные моды какие есть)
мафия больно коридорная была, хотя графон на селероне впечатлял
А еще был блад) тыкай сатанистов вилами!)
наверное, возраст, хз
последнюю неделю поигрываю в tropico 5 вообще, там тоже стреляют, но совсем немного
http://risovach.ru/upload/2013/07/mem/kto-to-slishkom-mnogo-est_25540626_orig_.jpeg
Видимо, кто-то слишком умный и попал в 5% населения. (Или знает только простое подмножество функциональщины)
>супер сложен
потому что среднему говнокодеру всё сложно. Легко только лежать на диване, пить пиво, играть в контру и писать круды и формочки на своем пхп
Как время
Там же есть оператор принудительного вычисления ака "пинок в жопу"
Которым придется засрать весь твой чисто-конкретно-функциональный код, а скорее всего и большую часть структур данных. Ну либо юзать на верхнем уровне deepseq, у которого тоже есть свои тараканы.
Короче тут именно пробовать надо, а не рассуждать. Тогда поймешь, в чем жопа.
ага, не зря я упомянул управление ресурсами :)
Лень в стиле getContents или чтения из HDBC нарушает гарантии и открывает дырки для утечек ресурсов.
Неспроста написаны тыщи библиотек итеративного ввода/вывода, кондуиты, пайпы и прочий эпос (нетривиальный для освоения, надо сказать).
В этом плане кресты, как язык с поддержкой детерминированного управления произвольными ресурсами (а не только памятью), выгодно выделяются на общем фоне (а теперь можно прозрачно передавать владение ресурсом, лепота).
P.S. Сейчас наши доблестные стажёры ищут, куда утекают файловые дескрипторы в жабо-программе четырёхлетней давности. GC нас всех спасёт, ага.
Так вон ниже, Роман завлекает:
>В этом плане кресты, как язык с поддержкой детерминированного управления произвольными ресурсами
Где лихой модератор на красном поне?
Я нашёл у этих языков ещё одну общую черту.
Хорошую библиотеку для них тяжело написать, но легко и удобно использовать.
При откритии сорцов буста или недр parsec ощущения схожие:
3.14ЗДЕЦ КУДА Я ПОПАЛ ЧТО ВООБЩЕ ТУТ ПРОИСХОДИТ НА КАКОМ ЯЗЫКЕ ЭТО НАПИСАНО
При этом жабокод всюду имеет примерно одинаковую степень унылости.
Это из-за обилия значков в первую очередь. А во-вторых более высокий уровень композиции и абстракции кода, там где в менее сложном языке программист вынужден будет повторить код, то в подобных языках копипаст как-бы архивируется, при этом неизбежно повышая энтропию (степень информативности и одновременно степень непредсказуемости то бишь меру хаотичности) кода.
На одном полюсе у нас тупой длинный копипаст, осилив необольшую базовую часть которого читается в целом легко.
На другом полюсе хоть короткий и отформатированный, но асимптотически стремящийся по читабельности к бинарным файлам густой код из значков.
Сопровождать одно сложно из-за необходимости менять в куче мест, сопровождать другое - менять надо в одном месте, но пока поймешь где, как и на что может пройти неделя.
Пхп - униКальный язык. В его лучших традициях попытка совместить оба полюса: ачитабельный паттерн густая каша шагает рядом с обильным поносным копипастом.
J?
ЖеЦешный Гоу идёт на смену крестоблядской лошарке!
Все - на кресты. Каждый трудящийся должен иметь в кармане копию стандарта!
Сишку знать надо, спору нет, а кресты... ну знать их тоже надо, но кодить не обязательно
В крестах не сидел - не кодер.
Улыбнется сквозь решетку солнце мне,
Заиграет и запустится gc,
Тред создатся в пуле, Entity Framework
Сгенерит запросик к базе - будет толк.
Царь пернатый прочирикал - петушня,
Что ж, руками чищу память я,
Без работы ты не будешь никогда,
В код насрал - прощайте кореша!
Запахло бустой, а сишке отбой,
Программер седой, дескриптор закрой,
Запахло бустой, баг снимет рукой -
Дефайны порой, c шаблонов горой.
Памяти текут из кучи ручейки,
Строки рвутся на свободу из души,
Не вернется молодость моя -
Я не буду больше кодить на крестах.