Как я его приложил, а?

Фанат

oncle terrible
Команда форума
На NH снова обсуждают, какой плохой пхп.

Я прям на свой ответ не нарадуюсь - чеканный слох, безупречная логика.
Но с удовольствием выслушаю и критику.
https://news.ycombinator.com/item?id=12713659

Кстати, кто знает этого Андреа? Он, вроде, чувак известный, но какой-то мутный.
 

Вурдалак

Продвинутый новичок
Андреа скорее она, чем он. По-моему, она какой-то активный контрибутор PHP в прошлом.

PHP действительно страдает от инконсистентности, что тут обсуждать-то?
 

Breeze

goshogun
Команда форума
Партнер клуба
Хехе. Претензии всё те же. Ничего не меняется.
 

AnrDaemon

Продвинутый новичок
Так новых то не выдумать. И старые тоже теряют актуальность.
 

AnrDaemon

Продвинутый новичок
Ваапче, я думаю, аргумент можно сократить до одной фразы.
"You can write bad code in any language, but that doesn't means you should."
 

Вурдалак

Продвинутый новичок
@Фанат
"PHP is inconsistent" is a myth cherished by haters
— это откровенная неправда.

PHP во многих аспектах действительно говно, не нужно делать вид, что это не так, говорить, что это миф и так далее, нужно смотреть правде в глаза, какая бы неприятная она не была.

Тот факт, что PHP популярен и что он вообще работает, обратного никоим образом не доказывает.

Другое дело, что мы привыкаем, и это не становится большой проблемой.

Не нужно говорить, что «неконсистентность — миф», нужно тогда уж говорить «неконсистентность — факт, но я привык».
 

Фанат

oncle terrible
Команда форума
Там его приводят. Но разумеется хейтеры его тупо отметают :)
 

Фанат

oncle terrible
Команда форума
@Фанат
— это откровенная неправда.
Ну вообще да, ты прав.
Если уж говорить по существу, то формулировать надо как "Не надо делать из консистентности жупел".
Просто бесит уже этот молоток с двумя гвоздодерами и утверждения типа "Пхп язык неконсистентный, а потому абсолютно нежизнеспособный"
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Неконсистентность - это первое, что бросается в глаза, и что очень раздражает именно в начале, при изучении языка.
А дальше мы не то чтобы привыкаем - нет, мы не забываем ни разу про всю эту придурь. Мы почти не пишем вызовы функций php в реальной работе. Мы используем библиотеки, которые эту неконсистентность исправляют.
Из низкоуровневых функций часто используется json, implode, массивы, математика и приведение типов. Этот синтаксис консистентен.
Приведение сильно отличается от других языков, это приводит к разрыву шаблона, но правила приведения едины для всех вызовов.

Работа с базой, файлами, парсинг форматированных данных и сетевые вызовы всегда идут через библиотеки.
 
Последнее редактирование:

Вурдалак

Продвинутый новичок
Ну конечно консистентен, когда array_map принимает callback вторым аргументом, а array_filter – первым. Ой, сорри, наоборот.
А обёртки не могут быть полноценно использованы, когда в PHP до сих пор нет общего type hinting для array и ArrayAccess + Traversable.
И когда нет ничего типа generic'ов, чтобы можно было писать Collection<Foo>.
Пиши Foo[]|MyAwesomeCollection, а в type hinting — ничего. И при публикации кода в open source не забудь MyAwesomeCollection сделать отдельным пакетом. Уот так уот.
 

MiksIr

miksir@home:~$
Пилят, пилят... а теперь путаешься, || в одних языках, ?? в PHP... а еще есть ?: которое не совсем то, что ??. А на вариант "не определен или false/0" пока не нашлось комбинации, ждем ??:
 

fixxxer

К.О.
Партнер клуба
Ну конечно консистентен, когда array_map принимает callback вторым аргументом, а array_filter – первым. Ой, сорри, наоборот.
Тут как раз есть логика.
У map может быть много массивов, а у filter фильтр по умолчанию, который можно опустить.
Так что не понимаю, почему именно этот пример все мурыжат - предостаточно других, где логики вообще нет никакой.
 
Сверху