- 1
return (($publish && $filename ne '--') ? 1 : 0);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−118
return (($publish && $filename ne '--') ? 1 : 0);
Особенно умиляют скобочки
Попробовал в консоли выполнить
perl -e "$a=1; print ($a==1);"
Выдало синтаксическую ошибку, попробую воспроизвести прям как здесь , посмотрим что выдаст
$ perl -e '$a=1; print ($a==1);'
1
Круглые скобки и точка с запятой в конце необязательны.
Действительно если условие истинно то возвращается 1, в противном случае вернулась пуста строка, конечно если там идет проверка по типу func() or die '', то можно и сократить ,но я все таки предпочитаю чтоб в коде было понятно что вернется из функции.
Возможно там идет сравнение результата с какими-то константами, а не просто
funnc() or die '';
Я считаю все норм, какого-то унылого говна я не обнаружил
т.к. false которая =='', ничего не выводит..
( тогда тут строки должны быть )...
это оператор проверки строк на неравенство
http://www.cs.cmu.edu/afs/cs/usr/rgs/mosaic/pl-exp-op.html
#!/usr/bin/perl -w - вообще шедевр. Типа интерпретатор пёрла должен стоять только там :)
Уж куда читабельнее EAX какой-нибудь вместо $_ :)
так что с критикой ты обосрался, перейдя на файловую систему
а знаешь как москали в виндах /usr/bin называется? "Program Files"!
в program files лежат папки с названием производителя софта, что бы пользователю надо было знать не только название программы, но и название производителя.
кошмаршный пиздец "documents and settings" (который к тому же по разному назывался на разных локализациях операционки!!) они победили, а вот program files -- нет
> в виндах нет аналога бин.)))
даже sbin есть, но ни та, ни другая директория не обязана быть плоской (см. ниже про гайдлайны)
> лежат папки с названием производителя софта, что бы пользователю надо было знать
Казалось бы, какая трогательная забота. Но это всего лишь гайдлайны для вендоров, которые, кстати, многими говновендорами по сегодняшний день не соблюдаются
> "documents and settings" ... на разных локализациях
ЛОЛШТО?
> а вот program files -- нет
Хотя кроме GNU make до этого пробела никому нет дела, здесь отчасти согласен см. http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx#security_remarks http://www.securityfocus.com/columnists/301
то-то!
2) мну видел локализацию оного в каком-то романском языке (кажеца испанском).
Но папку "рабочий стол" я видел сам лично, правда в windows 98.
RE: /home
папки - в шелле, на файловой системе - директории (мы это недавно в рамках грамматического нацизма обсуждали, я помню), так всё-таки: видели или показалось? :-)
про упорядоченность не смешите -- в винде есть реестр) правда сейчас есть тенденция им не пользоваться (микрософт говорит что это оно изобрело метод xcopy, и отказ от реестра))).
видел.
как найду -- дам ссылко.
> про упорядоченность не смешите -- в винде есть реестр)
к чему бы это?
> правда сейчас есть тенденция им не пользоваться ... xcopy, и отказ от реестра
ЛОЛШТО? возможно вас встревожила ложная тревога, в связи с тем, что в 6.х таки запретили писать (в обоих смыслах) в директорию с бинарем
да-да, пруф или не было :-Р
2) EAX может значить что угодно, в зависимости от желания программиста (это -- регистр общего назначения), а $_ в каждом конкретном контексте значит вполне очевидное.
3) регулярки это действительно сила.
Отличный оператор goto для реализации сложных ветвящихся алгоритмов :)
Всякие супер символы перед именами переменных, типа $, @, %, & - их назначение очевидно и интуитивно понятно. Ассемблер со своими EAX отдыхает :)
Супер читабельные переменные, типа $_, $1, $&, $`, $', $+, $*, $., $/, $|, $,, $\, $", $;, $#, $%, $=, $~, $-, $^, $:, $?, $!, $@, $$, $<, $>, $(, $), $O, $[, $] - назначение этих и других встроенных переменных очевидно из их названия. :)
Регулярные выражения, отдельная тема. Настолько очевидные конструкции, что рекомендуется их использовать везде, где только можно прибегнуть к ним, а не к другим средствам :)
пиздануть и в кусты - типичное пхп поведение, во всем мире одинаково, расмус для вас спецкурсы проводит?
Так что это тебе нечего возразить на говноконструкции perl, разве как привести в ответ кусок кода на php.
Я понял, perl супер язык, не говно, т.к. есть php.
выяснилось, что наоборот, говном-то пых оказался
Источник: http://lurkmore.ru/perl
Пример типичной программы на Perl:
просто оставлю это здесь:
типичные программы на пхп http://govnokod.ru/php/
http://ex-parrot.com/~pdw/Mail-RFC822-Address.html
---
Можно подумать что Си (или java) там и тп языки программирования высокого уровня сразу и изначально зародились исключительно идеальными. Зародились сразу же со средой разработки, специально и во благо программистов.
--
ещё помнятся те времена когда javы и в помине не было, а к Си относились как к последнему говну, но почему-то всё равно продолжая на нём писать.
--
пых гавно потому что гавно в голове у его разработчиков, у у которых нет единой политики языка, а я есть помойка. Говноязык создал вокруг себя говносообщество, которое и развивает говноязык в сторону говна.
на любом языке можно написать говно, но только на пхп сам язык подталкивает автора к этому
Оно и заметно ;)
Идите молодой человек, лучше делом займитесь. И советую выучить какой-нибудь язык кроме php, это поможет Вам понять чем программист отличается от обезъяны, и почему первому (в отличии от второй) писать на php неудобно
И как уже говорил относительно php, что там много косяков. Но от этого perl менее говнистым, как ни странно, не становится. И писать на perl еще менее удобно, а уж тем более сопровождать чужой код.
Вот человек привёл кусочек кода, http://govnokod.ru/4478#comment50442 что он хотел этим показать?
Неумение элементарно работать со ссылками или наоборот?
Таки подобно можно тоже написать:
echo `top`;
- например, и удивляться почему это оно работает не так как вроде бы кажется.
--
пхп в освоении - язык, проще некуда (наверное второй после бейсика). И неудивительно, что на нём пишут все кому не лень, но пишут по-разному.
С таким же успехом они могли бы написать на любом другом языке. Плохо ли или хорошо написать. Но на то, как человек выразил свою мысль в строчках кода, язык программирования влияет очень слабо. Можно сказать, что практически совсем не влияет.
А влияет - мыслительный процесс (в мозге, кхм)...
---
Это типичная головная боль начинающих.
Ссылки - они такие ссылки...
--
Говно - это не столько язык, сколько программист.
Оператор goto есть даже в паскале и в яве, на случай если вдруг кому-то позарез понадобится. Насчет "сложного ветвящегося алгоритма" ничего не могу сказать -- не сталкивался.
Для ребенка, пока он не научился читать, текст "мама мыла раму" тоже нечитабелен. Предлагаю провести эксперимент. Откройте исходный код любой наугад взятой программы, которая работает на вашем компьютере в настоящий момент (начиная с браузера) и попробуйте в нем что-нибудь понять.
Perl неплохой язык для своего времени, он дал толчок и идеи многим другим языкам, но его читабельность не соответствует современным критериям.
Например, что означает в бат-файлах такая переменная: %~fs0, я бы с ходу без справочника не ответил, хотя иногда приходится писать батники. А ведь конструкция очень напоминает перловкие.
Перл уже долго и безуспешно хоронят (особо активные щас вдоль кремлёвской стены лежат :-) ). Может с точки зрения синтаксиса он и практически не изменился с 2000 года, но сколько всяких вкусных модулей и фреймворков появилось с того времени - не перечесть. А написание приложений в CGI-стиле остаётся уделом начинающих перловиков. ну а также истинных говнякеров, которых, впрочем, за какой язык ни посади лучше писать не станут.
*покормил*
Ну как, получилось?
Ну и как написать условный оператор с одним оператором в теле без операторных скобок?
питон? нет
паскаль? нет
бейсик O_o? тоже мимо
хаскелл? в принципе нет сраной мутабельности
(ням-ням)
...Наконец, можно вполне обойтись и без них, см. выше.
Да еще как принято, к примеру вместо:
Допустимо (и логичнее) записать без скобок:
Для тех кто не знает, такое же на Pascal:
И ни каких бегинов и ендов, как хотелось товарищу xXx_totalwar
Аналогично, кстати, и на Бейсике. Но я его не рассматриваю, так, к слову.
> ...Наконец, можно вполне обойтись и без них, см. выше.
Ну это, так сказать, через жопу.
In general, curly braces are not required for single-line statements, but they are allowed if you like them; conditional or loop statements with complex conditions or statements may be more readable with curly braces. Some projects require that an if must always always have an accompanying brace.
Code Conventions for the Java TM Programming Language:
(http://www.oracle.com/technetwork/java/codeconvtoc-136057.html)
Braces are used around all statements, even single statements, when they are part of a control structure, such as a if-else or for statement. This makes it easier to add statements without accidentally introducing bugs due to forgetting to add braces.
Любовь к фигурным скобкам, посмеялся :)
Вкратце речь тут идет о том, что желательно использовать эти скобки везде, где только можно, даже если конструкции языка позволяют их не использовать, т.к. можно в будущем, добавив туда еще 1 оператор, забыть про скобки и получить жука. Смешно :)
Перл без них не понимает, при том, что С++, Паскаль, Бейсик и т.д прекрасно понимают, если оператор единственный. И нет ни какого стандарта, обязывающего в С++ или Паскале везде использовать операторные скобки. Так что сами облажались. Удачи.
Со скобками плохо. Без скобок -- жопа.
А вот в правильном порядке перлу слабо без скобок понять конструкцию.
И, кстати, почему альтернативный порядок -- неправильный? Мне, например, нравится.
Нравится - используйте, ни кто не запрещает, мне по боку. В бат-файлах тоже можно много чего интересного использовать. И многие используют :)
> Снова мимо.
Мимо чего? Вы хотите сказать, что в перле допустимо:
Так что в самую точку.
То, что ты привел не есть аналог этого:
Если $val >= 10, то мы в $val не исходное значение получим, а пустую строку.
Удачи.
$val ||= ... вместо $val = ...
Удачи.
Но вас не смущает, что я, полный дуб в перле, поправляю вас, эксперта в познании мега-языка Perl в таких элементарных конструкциях? Не уж-то я, называющий перл говном, знаю его лучше вас? :)))
Если уж такая бодяга, то у вас, милейший, в одном абзаце на русском 1 пунктуационная ошибка. Ах да, автопроверка в браузере пунктуацию не проверяет. Вот же досада. Но если учесть, что уровень знания русского у вас выше, чем perl, то каков же уровень знания perl? Страшно даже представить... :)))
Где? Не сочтите за труд просветить неуча.
> Тафтология
Тафтология она такая тафтология :)
Если и повторять, то уж точно не за вами. А то уровня выше, чем у вас уровень знания перла, все равно не получится:
http://www.gramota.ru/slovari/dic/?lop=x&bts=x&zar=x&ag=x&ab=x&sin=x&lv=x& az=x&pe=x&word=%F2%E0*%F2%EE%EB%EE%E3%E8 %FF
повторили за ним неоднократно, Вы ставите себя в еще более глупое положение, чем собеседник. ...Боюсь, это мало поможет Вам в поиске доказательств несостоятельности Perl-а.
Я вот не совсем понял, как вы хотите сделать, так что ли:
$val ||= $val < 10 && $val + 10;
Опять облажались. Такая конструкция сработает только, если $val будет 0, а не < 10.
Толи язык настолько говнист, что вы не понимаете очевидных вещей, то ли...
Но больше всего меня доставляет то, что кто-то тут упорно мне минусы лепет, а вам плюсы :) Я с этого тащусь. Не уж-то такой же говнокодер, который тоже толком синтаксис perl не знает, а пытается с пеной у рта доказать свою правоту? :)))))
Плюсует за откровенные глупости, которые вы выдаете.
Забавные эти перловщики :))))
$val < 10 && $val + 10 || $val
Все просто и к гадалке не ходи.
2) goto не нужно использовать нигде, кроме ассемблера (там он называется jmp), однако он есть и в C и JAVA и даже в C# кажется. Просто не используйте его -- и все.
Уж PHP со своими регистр глобалсами и меджик квотесами помолчал бы про вредные фичи.
3) в пыхе тоже есть собачка -- ее читаемость Вас не смущает?
4) регулярки -- очень мощное средство, но что бы понять их -- нужно почитать книжку ориелли mastering regular expressions (она есть и на русском). К сожалению читать книжки умеют не все современные программисты, а в сообществе php так это даже считаестся чем-то постыдным.
Кстати, в PHP тоже есть поддержка регулярок.
и будут такие имена:
$/ => $RS или $INPUT_RECORD_SEPARATOR
$" => $LIST_SEPARATOR
ну и всё в таком духе
==========
Вообще, каждый выбирает свой стиль. Кто-то хочет переменные с явными названиями, а кто-то — не хочет. Я выбираю второй путь.
Но если придется в силу некоторых договорённостей с другими людьми перейти на первый стиль, перейду.
Я выбираю второй путь, и это мои проблемы.
==================================
Теперь о пользе переменной $, (разделитель элементов списка).
Когда надо, например, выводить большой массив, где разделитель будет какой-то произвольный символ, то
такая конструкция print join(<символ>, @big_array), создаст большую строку и программа может отнять много памяти.
(Да, потом на её месте в памяти можно ещё что-нить создать,
но факт остаётся фактом: программа может только увеличиваться в памяти, а не уменьшаться.
free в Си, только освобождает память для новых вещей, но не отдаёт обратно операционной системе).
==================================
Мнемонические правила:
$_ — без комментариев.
$" — разделитель элементов, когда берёшь в двойные кавычки:
$, — разделитель элементов списка при простом выводе (не в двойных кавычках). Мнемоническое правило $, => print $a, $b,
$c;
$\ — символ, который ставится в конце после каждого print(по умолчанию, пустая строка).
Когда мы хотим поставить перевод строки мы пишем [i]print "bla-bla\n"[i]. Чтоб этого не делать каждый раз, пишем $\ = "\n"; Мнемоническое правило $\ => \n (обратный слеш => обратный слеш)
$/ = символ-разделитель строк при чтении файла. Мнемоническое правило: $\ наоборот.
$1 - Регэкспы. Выражение захваченное в первые скобки
$2--$99 — аналогично $1
$! - Сообщение об ошибке. Мнемоническое правило: восклицательный знак -> Алярм (ахтунг :-) )
$@ - сообщение об ошибке в eval. Мнемоническое правило:
eval - это такая изолированная оболочка, где всё можно.
(bugmenot может написать как правильно :-) )
@ - а в кружочке, т.е. в оболочке. Следовательно, ошибка в eval.
$^O - Имя операционной системы. Мнемоническое правило:
OSName
$| - сброс буфера после каждого принта. Мне моническое правило: конвейер cmd1 | cmd2
===
Ну, а остальными я не пользуюсь, как-то без них обходился.
P.S. бухта Барахты: http://bit.ly/9AlavJ
Это говнистые конструкции — если команда выбрала юзать модуль English, иначе — нет.
Вообщем, говно, не говно — зависит от договорённостей.
Просто в Перл эти переменные использовать вне регэкспа.
Javascript:
test;//abctest
P.S. но в Джаваскрипте всё-таки можно использовать переменные $1 - $9 (не знаю сколько захватов скобок поддерживает Джаваскрипт: то ли 9, то ли 99)
'test'.match(/(\w{2})$/);
RegExp.$1;//st
и это удобно, к примеру:
if ($test =~ /<regexp>/) {
push @data, $1;
}
Я не помню про 32х разрядные регистры, но подозреваю что EAX ничем не отличается от AX в смысле идеологии.
counter же
> некоторых функциях BIOS
это уже прикладнуха :)
> он обычный регистр, но для LOOP он счетчик
у регистров общего назначения A, B, C и D есть более (цикл со счетчиком работает только с C) или менее (сложение работает со всеми регистрами, но использование операнда A дает короткие опкоды) выраженное специфическое назначение
> EAX ничем не отличается от AX
X - расширение до 16 бит, E - расширение до 32 бит
В качестве пережитков частично сие сакральное непотребство осталось. Например, команда mul/imul ожидает наличия одного аргумента в ax, результат возвращает в пару dx:ax. Кроме того, по соглашениям, функции в Windows API (возможно, что и все-все-все остальные, никогда не интересовался) возвращают указатели, int'ы и даже bool'ы именно через eax.
Почти аналогичные тонкости есть у регистров b, c и d. B как-то мистически связан с "базой" (вроде как "базовый регистр"), он был нужен для вычисления адресов относительно базы. Про C упоминали выше. D был регистром данных, но, надо вспоминать, чем и как.
ггг
На перле можно писать и страшно, и не страшно.
Есть гики, которые пытаются сильно сократить код, из-за сокращений получается получается страшный код. Вот такую славу они перлу сделали.
Чем "if (is_array($var))" лучше "if (ref($var) eq 'ARRAY')" ?
Я делаю "print ref($var)" и вижу сразу на какого типа переменную ссылается ссылка.
А что я вижу, когда вывожу is_array($var)?
Здесь я могу только определить ссылается ли ссылка массив или нет.
Если да, то я скажу, что в перле, помимо массивов, есть ещё и другие типы.
поймите правильно - я не противник перл. Это интересный язык и во многом даже уникальный. перл это один большой хак. в этом его величие, и в этом же его убожество.
и если уж говорить о "говнистости", то таки да - перл это еще и большая куча пахнущего говнеца.
Через ref и с классом можно сравнивать.
Вывод:
Test
Значит неправильно понял фразу "оператор для проверки принадлежности к классу."
Но, по крайней мере, у классов можно использовать метод isa, как написал Krushi
Он был неплохой язык для своего времени. Но его время уже прошло :)
вот это ололо, тогда пых стыдно даже препроцессором называть.
перл хотя бы создан лингвистом, а кто авторы у похапе? два жида и какой-то расмус. наговнячили 'язык' не зная про лексический скоп.
начиная с того, что он никогда не проектировался - он 'вырос' из пары скриптов на перле (нежданчик, да?) очень тупым накладываем фичек и заканчивая исторически сложившимся прививанием говностиля: кавычки, глобальные переменные, смешение логики и представлений и тд и тп
Я же не оцениваю твой уровень познания перла или батников, т.к. нет для этого почвы.
Ну почему же?
с перлом вы уже отличились,
знание батников продемонстрировали,
на уровень в qbasic намекнули
qbasic -- замечательный язык для обучения программированию детей до семи лет и ужасный для всего остального.
процессор cmd отличный язык для написания программ из двух строк, и ужасен для всего остального.
php -- прекрасный язык для написания одной странчки, выводящей в веб какую-то готовую информацию (например результат одного SQL запроса) и ужасный для всего остатльного.
Программа на php в которой более ста строк или более пяти файлов почти наверняка является дерьмом)
так вот, qbasic это всего лишь часть интерпретатора/π-компилятора бейсика из Microsoft`овского семейства Quick xxx, поставляемая как value add с виндами потому что дядюшка Билли в силу исторических причин жутко им гордится.
Мужчина и Женщина
где тут разделение?
ааа.. мы же про php - этого гермафродита, этого мутанта скрещенного с ужом и ежом - одновременно троеполое существо. тогда - нет.
http://www.nexen.net/chiffres_cles/phpversion/php_statistics_for_august_2006.php
--
И да, кстати, почему обходят стороной ASP?
может дать статистику за 1986?
я всё хочу донести до вас мысль, что особенности программиста отражаются на программе существенней, чем особенности языка.
Что столь "непредназначенный для вэб" язык как php - в этой самой "вэб" один из самых популярных. Если проект не слишком сложен (а таких миллионы), то php гораздо более подходит чем другие.
Не называйте это говноязыком, если он не способен реализовывать большие проекты. Своё предназначение он с лихвой оправдывает и окупает.
Если Вам нужен проект посложнее - не используйте php, используйте asm.
Или если Вам нужен быстрый доступ к данным, откажитесь от mysql, внедряйте elliptics.
А ещё лучше придумывайте своё.
--
Ваши изречения напоминают банальные рассуждения банального пользователя, который не в силах реализовать своё для себя, только и может, что на чём свет стоит, ругать производителей продуктов и услуг.
миллионы мух не ошиблись
>Если проект не слишком сложен (а таких миллионы), то php гораздо более подходит чем другие.
начнем с того, что за эти самые миллионы 'проектов' платят по паре енотов за пучок - Нищеброд-Business Inc. во всей красе, а вы все еще думаете, что вэб-разрабы боги во плоти? lol'd
>более подходит чем другие.
и в же это выражается?
>Если Вам нужен проект посложнее - не используйте php, используйте asm.
картинку с петросяном нагугли.
ваши изречения напоминают рассуждения банального раба пхп, банально уязвленного и ринувшегося в священный вар подтирать анус расмусу и остальным.
второй абзац...
--
Вы очень рьяно атакуете отдельно взятый язык. Основной Ваш довод - "что это говно".
Знаете, как-то малоубедительно...
Если я хочу на Луну слетать, я же не сажусь на велосипед. Это будет выглядеть глупо, не находите? Но это ещё не значит что велосипед -говно.
Вот если чел всё-таки воспользуется подобным транспортом для полётов (кхм). И при этом ещё будет громко ругаться: "Кто придумал этот велик?!.". То это скорее говорит, об особенностях ЕГО мыслительного аппарата, а не о говнястости транспорта...
Надеюсь популярно объяснил?.
:)
>Если я хочу на Луну слетать, я же не сажусь на велосипед
молодой человек, про это я здесь говорил еще до того, как вы про этот ресурс узнали,
потому и не видели с++ вары (это к реплике: Вы очень рьяно атакуете отдельно взятый язык.)
есть конфетка. Говно говном ведь язык.
Авторы ведь такие бедняжечки, ("с чем мне приходится работать?!"), и совсем ни при чём, во всей говнястости программы виноваты только разработчики языка программирования и сам язык.
Уж никак не косолапость пишущего...
настоящий totalwar
:)
Пример CGI-программы на батнике:
Что как бы намекает :)
"школота"
А потом как-то повзрослел.
Да, тафтология, тафтология :))
Кстати, батники с 98 года немного изменились :)
Ладно, думаю что спорить бессмыслено.
Достаточно посмотреть на сообщество перловиков (это будут бородатые юниксоиды) и пхпистов (это будет школота) и все станет понятно
Мне вот побоку, что php говном называют, т.к. я реально смотрю на вещи и соглашаюсь со многими доводами, более того, когда еще не было 5-й версии php, я его сам активно говном называл.
Вот только в чем прикол, от того, что php говно, perl меньшим говном не становится :)
Это пиздато, в Scala есть
много чести
показалось, что это школоло развлекается, погуглил - действительно, осенние каникулы в разгаре