Пишу, по большей части, про историю, свою жизнь и немного про программирование.

PHP 5.3.0 jumps to Basic

В PHP 5.3.0 ввели оператор «jump»: «Added „jump label“ operator (limited „goto“). (Dmitry, Sara)»

Полюбуйтесь:

$n = 1;

L1:
if ($n > 3) jump L2;
echo "$n: okn";
$n++;

jump L1;

L2:

Здравствуй, непонятный запутанный код! Ребят, сделайте «my» как в Perl, а? Куда ведь более полезный функционал.

25 комментариев
recoder.livejournal.com 2008

Похоже, что в PHP окончательно победила тенденция саморазрушения...

preprocessor (prepor.ru) 2008

ахаха :) спасибо, долго смеялся :)

p.s. простите за эмоции. действительно очень показательный пример.

Евгений Степанищев (bolknote.ru) 2008

Комментарий для prepor.ru:

Не сыпьте соль на рану :)

creagenics.com 2008

ОМФГ

Евгений Степанищев (bolknote.ru) 2008

Комментарий для creagenics.com:

Угу :(

plazix (openid.yandex.ru/users/plazix) 2008

нда... это пиздец...

acerbial (coprophagous.ru) 2008

ПИЗДЕЦ КОТЕНКУ

kukutz (kukutz.ya.ru) 2008

пхп давно сдох

acerbial (coprophagous.ru) 2008

Преходи на питон.

playpausenstop.livejournal.com 2008

хех, давно так не смеялсо...

помню еще как на первом уроке по паскалю в 9м классе учитель информатики строго настрого запретил использовать goto:, а тут на тебе )))

мои поздравления )))

zencd.livejournal.com 2008

php — зомби или приведение
давно пора умереть, но всё что-то держит

indeyets.livejournal.com 2008

этот «goto» по крайней мере избавлен самых опасных черт «настоящего goto»
возможен переход только вверх по стеку (т. е. нельзя прыгнуть в середину while/for)

практическую ценность представляет только для микро-оптимизаций алгоритмов

кстати, откуда ты взял этот пример? он не рабочий. Рабочий такой:

<pre>
foreach(range(1,10) as $i) {
    if ($i == 5)
        goto LABEL;
}

echo «cycle finished\n»;

LABEL:
echo «goodbye, cruel world!\n»;
</pre>

Евгений Степанищев (bolknote.ru) 2008

Комментарий для kukutz.ya.ru:

Ага, но в «Яндекс» меня зовут почему-то именно php-разработчиком :)

Евгений Степанищев (bolknote.ru) 2008

Комментарий для indeyets.livejournal.com:

Да, я чисто умозрительно догадался, что внутрь цикла (чем и опасен goto) войти не получится.

Пример взял из тестов к какой-то сборке PHP.

Евгений Степанищев (bolknote.ru) 2008

Комментарий для coprophagous.ru:

С хостингом на «Питоне» трудновато.

1smash1.livejournal.com 2008

MUWAHAHAHA!

jahson.livejournal.com 2008

Нда. Комментаторы жгут, только непонятно — от злобства, или недопонимания? Впрочем, удивляться нечему — слишком уж похапе-программистов много и слишком они уродливы. Хотя, также много и python-программистов того же уровня. Всё относительно, и огромное сообщество похапе-уродов воняет очень сильно, потому так и известно. Думаю, количество уродов в питоне ничуть не уступает похапешному, просто сообщество поменьше. При этом многие представители не-похапе сообществ похожи своим поведением на пидарасов, которые громким ором пропагандируют свои преимущества. Опять же, думаю аналогичное можно сказать о похапе-сообществе, но это свойственно ему в меньшей мере.

Хорошие *-программисты есть, но они как-то не лезут во всё это говномесиво — зачем?

А теперь то, что должно стоять в самом начале. Я тоже считаю, что введние goto не особо нужно, и, возможно, даже опасно. Но:

  1. goto есть не только в php, поэтому его присутствие особо не удивит
  2. break / continue — это тоже goto, только обрезанные, т. е. goto особ никуда и не уходило, просто его обрезали, дабы шаловливые ручки программистов не создавали себе проблем
  3. для использования любого инструмента нужен навык
  4. если человек думает жопой и оттуда же у него растут руки, то тут уже ничем не поможешь — код в любом случае будет получаться жопский, пиши он на php, или python

Пункты 3 и 4 превалируют. Особенно 4.

Евгений Степанищев (bolknote.ru) 2008

Комментарий для jahson.livejournal.com:

Для использования PHP тоже нужен навык. Навык использования его так, чтобы не было мучительно больно.

А goto — ещё одна штука, позволяющая неграмотным программистам писать такой код, что у меня глаза слезятся.

jahson.livejournal.com 2008

Комментарий для Евгения Степанищева:

Насчёт навыка — это точно. Но goto, а точнее его присутствие или отсутствие вряд ли сильно поменяют подход неграмотных программистов. Говорю же, «особенно 4».

У меня глаза уже не слезятся. Я просто говорю слово из трёх букв и сажусь разбираться.

Евгений Степанищев (bolknote.ru) 2008

Комментарий для jahson.livejournal.com:

Я тоже его говорю и тоже сажусь, куда деваться, но хотелось бы, чтобы всё обходилось без слова из трёх букв.

jahson.livejournal.com 2008

:)
Это решится лишь тогда, когда кроме всего прочего станут обучать программированию. Я вот студент со стажем, лень было учиться, поэтому много времени потерял, но зато сделал одно простое наблюдение (и я уверен, не только я это заметил) — среди, казалось бы, достаточно программистского направления прикладных математиков, нормальных программистов (которые программу могут более-менее написать) очень мало. А хороших — которые напишут, да так, что остальные поймут и проникнутся — так и вообще почти нет. Проблема тут не только в опыте и головах, но и в том, что как таковому, навыку программирования не обучают вообще.

Так и витает в воздухе идея подобного обучения. Только вот форма пока не ясна.

Евгений Степанищев (bolknote.ru) 2008

Комментарий для jahson.livejournal.com:

Будешь смеяться, но я закончил ВМК, прикладная математика :)

jahson.livejournal.com 2008

Комментарий для Евгения Степанищева:

Улыбнуся :) И как там было с программистами?

Евгений Степанищев (bolknote.ru) 2008

Комментарий для jahson.livejournal.com:

Херово. Очень херово. Из девушек почти никто не работает в IT, многие пошли в 1C.

jahson.livejournal.com 2008

О, 1С. У нас всё точно так же. Девушки-прикладные математики — это, конечно, почти миф :) На моей памяти сейчас только одна есть, но она отдельный случай — хороший математик.