TIOBE же, считают по поисковым запросам. Может быть, возросло количество запросов «Когда умрет PHP?», «Как отказаться от PHP и начать программировать» и «Python для PHPистов».
Поясняю: любые области применимости PHP. Чтобы я мог гарантированно сказать, что можно построить на языке X систему, аналогичную системе на PHP без нагораживания особых костылей.
ибо вижу взаимоисключающие параграфы в твоих постах.
я где-то говорил, что пхп спасает от кривых рук?
php просто ЯП, и как и что ты на нём пишешь, зависит прежде всего от тебя. Да, этот ЯП заточен прежде всего на простые веб приложения вроде сайтега в 10 страниц для тебя и твоей кошки, причём если ты с кошкой никаких ЯП не знаешь, и знать не желаешь. Но это совсем не говорит о том, что на нём больше ничего иного писать нельзя.
В том-то и дело, что необходимости использовать пых при прямых руках не доказано. Ну, кроме кредо «PHP, или такой же, как все?» Именно по причине того, что любые прямые руки он ломает своими закидонами в тернарах, приведении типов, неконсистентности стандартной библиотеки и прочем.
и не важно, сколько там лоада
вот тут сегфолт и случился. Для хайлоада прямые руки востребованы. Т.о. пых портит прямые руки, умеющие в хайлоад.
Именно по причине того, что любые прямые руки он ломает своими закидонами в тернарах, приведении типов, неконсистентности стандартной библиотеки и прочем.
да ничего он не ломает. Единственное: если ты не умеешь писать небыдлокод, то на пхп ты никогда не научишься писать небыдлокод. Learning curve для пхп пологая, и никуда не идёт. Это не схема, и не C/C++, это НЕ язык для обучения(языку и вообще программированию).
Но всё равно, глупо думать, что он тебя «оболванит»: никто не заставляет тебя приводить FALSE к целому, если операция _может_ провалиться. И не надо думать, что исключение или ещё чего-нить в другом языке тебя спасёт от фэйла. Не спасёт. Тонны говнокода на любом другом ЯП являются отличным пруфом.
и не важно, сколько там лоада
вот тут сегфолт и случился. Для хайлоада прямые руки востребованы. Т.о. пых портит прямые руки, умеющие в хайлоад.
Не портит. Профессиональному и талантливому скульптору не западло юзать обычный молоток только потому, что 100500 таджиков юзают такой же.
Тонны говнокода на любом другом ЯП являются отличным пруфом
Тернары справа налево приводят к не-тернарным условиям, написанным справа налево, например:
if ($a == $b AND isset($a))
Это я видел лично. Поручиться за скилы писавшего не могу, но долго не мог понять, какие такие предпосылки толкнули данного человека утверждать, что «пых проверяет условия в порядке справа налево». После тернарной бомбы все встало на свои места.
Неконсистентность стандартной библиотеки точно так же развязывает руки писать что-нибудь вроде:
function getKey($obj) { ...}
function key_push($key, $obj) {...}
function key_pull($obj, $key) {...}
function real_key_pull($key, $obj, $IReallyMeanIt = false) {...}
И таких я тоже видел. Поэтому утверждаю: ломает. Даже неокрепшую психику пыхера-джуниора-филолога ломает так, что нормально, скорее всего, уже никогда не будет. Вместо того, чтобы прямо с порога сказать: «принято так и так, вот, посмотрите, как у нас в стандартной библиотеке (в других языках может быть по-другому, поэтому следуйте гайдам этих языков, если они, конечно, есть, лол). По крайней мере у нас тут все строго». Естественно, в текущий момент пых такого текста написать формально не имеет оснований.
Не портит. Профессиональному и талантливому скульптору не западло юзать обычный молоток только потому, что 100500 таджиков юзают такой же.
Не западло. Но рука сбивается. Начал тут перечислять, но, лучше тебе один раз увидеть: гугли(«бучарда»). После использования обычного молотка моторную память руки придется восстанавливать (и да, именно запарывая изделия и превращая исходный материал в мусор).
К слову сказать: заставлять скульптора забивать гвозди молотком - то же самое, что говорить сисадмину «нарисуй нам (отчет в 1С|сайт в инторнете|логотип в фотошопе), ты же компьюторщик, умеешь же»
Тернары справа налево приводят к не-тернарным условиям, написанным справа налево, например: if ($a == $b AND isset($a)) Это я видел лично. Поручиться за скилы писавшего не могу, но долго не мог понять, какие такие предпосылки толкнули данного человека утверждать, что «пых проверяет условия в порядке справа налево». После тернарной бомбы все встало на свои места.
не понял, в чём тут дело? Ну очевидно же, что выражение вычисляется в порядке приоритета, а если приоритет равный (а здесь это не так, кстати), то в документированном порядке (см. ассоциативность). С порядком всё нормально, он всегда левый («1»+«2».«3» === «33»), ну за исключением «равно» и отрицания.
Да и вообще, когда я был школьником, у меня была бумажка с приоритетами C. Твоему школьнику посоветую такую-же, а если лень, то пусть скобки ставит, или пишет в несколько строк
if(isset($a))
if($a == $b)
...
Не вижу тут никакой «ошибки».
И таких я тоже видел.
+1. Как хочу, так и пишу (IRL стараюсь писать также, как все остальные). Это вообще не к ЯП, это стиль, воюй со своими уютными гайдлайнами и их авторами. А в php этих гайдлайнов нет, и не было никогда. Да, кто во что горазд. Опять-таки, оно не значит, что и ты должен быть таким же говном, как 95% окружающих.
гугли(«бучарда»). После использования обычного молотка моторную память руки придется восстанавливать
неудачный пример, ладно... Да, 100500 таджиков пользуются молотком _неправильно_, если чего-то где-то откалывают. Да и вообще, скульптура это искусство, а php просто инструмент. Кисточка маляра отличается от кисточки художника, тут ты прав. И наверное художнику тоже малярной не нравится, согласен. Но вот если забор надо покрасить... Художник просто пошлёт на.
Другое дело, что художники-программисты никому не нужны. Как и никому ненужен красивый код. Как и никому не нужны ЯП вроде LISP'а. Или сайты на Pure C. (я не говорил, что их нет! Есть наверное).
PolarFox> Если код уже написан и сносно работает, какой смысл его переписывать.
Допустим, текущий код не позволяет расширить возможности программы и интегрироваться с новыми технологиями. В этом случае либо наворачивать гигантские конструкции из костылей, либо переписать код нафиг.
PHP заменяй на что угодно - хоть на C++. В принципе можешь даже без апача обойтись, если нужные возможности вебсервера в бинарнике будут. Некоторые так и делают.
а если приоритет равный (а здесь это не так, кстати)
Приоритет не равен для человека, для машины в данном случае приоритет равный, ибо (bool) expr1 AND expr2
Да и вообще, скульптура это искусство, а php просто инструмент
Бучарда - тоже просто инструмент. А вот написание приложения так, чтобы было выгодно его дальше сопровождать (т.е. не дороже профитов от приложения) - это искусство (или профессионализм, если хочешь, но прими во внимание, что т.н. «паттерны программирования» когда-то кем-то придумывались, поскольку их не было. Т.е. возвращаемся к искусству)
А в php этих гайдлайнов нет, и не было никогда
Одним из гайдлайнов на уровне ощущений является сам язык и отношение к нему его разработчиков.
PS. А вот лисперов ты зря обидел. Будет лиспосрач.
не везде, это веб язык в первую очередь, а не язык «общего назначения» - он туда и не лезет особо сейчас уже, раньше были потуги, но со взрывным развитием веба и мобильных технологий, и с другой стороны умиранием десктопа php прочно сидит в своей нише
Приоритет не равен для человека, для машины в данном случае приоритет равный, ибо (bool) expr1 AND expr2
сам-то понял что сказал? Машина она на то и машина, что-бы делать, что ей приказано. В данном случае для неё expr1 имеет БОЛЬШИЙ приоритет. Не спорь, спорить с машиной глупо и бесполезно.
А вот написание приложения так, чтобы было выгодно его дальше сопровождать (т.е. не дороже профитов от приложения) - это искусство (или профессионализм, если хочешь, но прими во внимание, что т.н. «паттерны программирования» когда-то кем-то придумывались, поскольку их не было. Т.е. возвращаемся к искусству)
выгодное говночерпание — тоже искусство?
Одним из гайдлайнов на уровне ощущений является сам язык и отношение к нему его разработчиков.
Весной был на 12-и собеседованиях в Италии, в 6 или 7 случаях использовалась java, ещё в двух RoR. Да, не всё было связано с вебом, но php там вообще нигде не было.
Машина она на то и машина, что-бы делать, что ей приказано. В данном случае для неё expr1 имеет БОЛЬШИЙ приоритет.
Я говорил про то же, но твои слова понял так, что expr2 (который isset()) имеет по каким-то неведомым мне причинам более высокий приоритет при вычислении значения логического выражения.
выгодное говночерпание — тоже искусство?
Если не подразумевает поиска решения и полета мысли - однозначно нет; работа по шаблону - удел машин.
Кстати, какой смысл писать ещё одну дырявую недоcms если их и так уже сотни?
Я уже говорил: «PHP, или такой же, как все?» (кстати, это слегка измененный рекламный слоган одного известного продавца обычных ноутбуков по цене стразиков)
Это значит, что использовать готовые CMS - недостаточно илитарно. Даже фреймворк чужой использовать - и то «западло». Пример: http://www.fengoffice.com/web/opensource/
Весной был на 12-и собеседованиях в Италии, в 6 или 7 случаях использовалась java, ещё в двух RoR. Да, не всё было связано с вебом, но php там вообще нигде не было.
ищут программистов, которые наконец-то помогут им перейти на нормальный ЯП с этого вялотекущего говна. :-)
[смайл не очень радостный, ибо в этой шутке только доля шутки]
В данном случае для неё expr1 имеет БОЛЬШИЙ приоритет.
Я говорил про то же
ну а при чём тут пхп? Ошибка явно в коде ДНК. Это всё равно, что грузчик, неправильно понимающий изображение рюмки на коробке.
Если не подразумевает поиска решения и полета мысли - однозначно нет; работа по шаблону - удел машин.
ну ты сначала эти машины запрограммируй. А потом заставь людей их юзать. А не мышкой по экрану Over9000 файлов перетаскивать по одному. Им, людям, видите-ли «так проще».
Ты умалчиваешь об одной весьма важной детали: ошибка в коде ДНК у Расмуса и его сподвижников. Это их проделки в тернарах приводят к тому, что народ начинает думать, что везде так, как в тернарах. Сам же говоришь: низкий порог вхождения.