LINUX.ORG.RU
ФорумTalks

Кого-то прорвало

 ,


0

2

$ summary --Ъ http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

I can’t even say what’s wrong with PHP, because— okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.

You pull out a screwdriver, and you see it’s one of those weird tri-headed things. Okay, well, that’s not very useful to you, but you guess it comes in handy sometimes.

You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.

You pull out the pliers, but they don’t have those serrated surfaces; it’s flat and smooth. That’s less useful, but it still turns bolts well enough, so whatever.

And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there’s no clear problem with the set as a whole; it still has all the tools.

Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.

That’s what’s wrong with PHP.

недавно обсудили на Хабре :) Похапэшники склонны все это считать фичами...

stevejobs ★★★★☆ ()

На ЛОРе тоже вроде было.

PolarFox ★★★★★ ()

Во-первых было. Во-вторых никогда не понимал таких статей. Аналогия на аналогии сидит. Сразу видно каких-то нытиков-неосиляторов и вообще такая статья существует про любой язык.

Bad_ptr ★★★★ ()
Ответ на: комментарий от PolarFox

претензии, большинство из которых вполне по делу.

Язык должен быть предсказуем.
Язык должен быть целостен.
Язык должен быть краток.
Язык должен быть надёжен.
Язык должен быть отлаживаем.



lisp )))

Bad_ptr ★★★★ ()
Ответ на: комментарий от PolarFox

Php такой кривой по историческим причинам, он был создан как замена perl для web. Но как php должен выглядеть, разработчики так и не определились. Набрали по чуть чуть из всех языков.

TDrive ★★★★★ ()
Ответ на: комментарий от PolarFox

От ассемблера никто не ждёт того, что он будет удобен и предсказуем.

так пых это ассемблер в мире веба? Закапывать :).

А вот на счёт непредсказуемости ассемблера это ты зря.

true_admin ★★★★★ ()

Доставило под конец рабочего дня! Спасибо!

Xellos ★★★★★ ()
Ответ на: комментарий от Bad_ptr

краток

APL во все поля. Да и по остальным пунктам тоже :)

buddhist ★★★★★ ()

Когда научитесь перевод делать для тех кто языка не знает. Или так торопился вбросить?

Форум русскоязычный.

nihil ★★★★★ ()

Кого-то

О, только щас заметил что домен знакомый.

Там в эбаут к дексу кстати

I'm extremely picky about software, whether it's my own or someone else's, and tend to rave about bad products a bit too much. After having been bitten by it too many times, I can't stand sloppy languages or sloppy databases.

Kalashnikov ★★★ ()
Ответ на: комментарий от TDrive

Php такой кривой по историческим причинам,

Как будто это его оправдывает.

Axon ★★★★★ ()

Как всегда переборщили с аналогиями

GblGbl ★★★★★ ()

Странно.

Он говорит: «Do not tell me that it’s the developer’s responsibility to memorize a thousand strange exceptions and surprising behaviors. Yes, this is necessary in any system, because computers suck. That doesn’t mean there’s no upper limit for how much zaniness is acceptable in a system. PHP is nothing but exceptions, and it is not okay when wrestling the language takes more effort than actually writing your program.»

Но в то же время не имеет данной претензии к Perl. Впрочем, Perl там, похоже, добавлен лишь для того чтобы не было похоже, будто главной целью статьи было сагитировать людей к переходу на Python.

Nebuchadnezzar ★★★★ ()
Ответ на: комментарий от TDrive

асм вполне предсказуем

Самый предсказуемый, я бы сказал.

Dragon59 ★★ ()
Ответ на: комментарий от Suntechnic

И про R есть?

оно просто не достигло нужного уровня популярности.

Bad_ptr ★★★★ ()
Ответ на: комментарий от lodin

Молоток с двумя гвоздодёрами даже уже сделали.

Ты не поверишь, но сделали и очень давно. Второй гвоздедер на рукоятке.

sleepflint ★★★ ()
Ответ на: комментарий от nihil

Повод учить язык, а не ныть. Форум ITшный, а не русскоязычный, и английский в IT - вполне себе стандарт.

takino ★★★★ ()

Автор прав в посылках, но не прав в выводах. Экосистема php прежде всего включает в себя не только крупняк, но сотни мелочёвки. И даже если её пишут серьёзные програмисты, то логика их будет проста: я это делаю для себя, мне тут не модуль управления ядерным реактором писать.

Поэтому php сожрал perl, по этому он пока неплохо сопротивляется ruby и python. Потому что настоящим php-киллером мог бы стать причёсанный php, в котором вот эта простыня будет приведена в порядок. Но ничего больше руками тронуто не будет. :)

atrus ★★★★★ ()
Ответ на: комментарий от atrus

Потому что настоящим php-киллером мог бы стать причёсанный php, в котором вот эта простыня будет приведена в порядок. Но ничего больше руками тронуто не будет.

Point статьи в том, что в PHP сломано вообще всё. Там просто нет того, что было бы сделано правильно.

Miguel ★★★★★ ()
Ответ на: комментарий от Miguel

Point статьи в том, что в PHP сломано вообще всё. Там просто нет того, что было бы сделано правильно.

Ну это просто не правда. Иначе на php ничего нельзя бы было сделать. На самом деле всё, что там опасано очень редко мешает жизни.

Кстати, подобную простыню (может чуть покроче) можно собрать по javascript, c++. Подозреваю, что и по python тоже наберётся.

Например, пассаж что в php нет потоков забавен от человека, который перед этим похвалил python. (Ладно, это старый пример, хотя ветка 2.x ещё кое-где используется. Но похвалятся тем, что изначально было криво и лишь относительно недавно поправлено...)

atrus ★★★★★ ()
Ответ на: комментарий от PolarFox

От ассемблера никто не ждёт того, что он будет удобен и предсказуем.

Хм... А разве ассемблер - это не максимально предсказуемый язык?

Deleted ()
Ответ на: комментарий от Deleted

Смотря что полагать предсказуемостью. У нас может быть кривая архитектура, в которой какая-либо простая вещь делается трудным образом, что увеличивает шанс сделать её неправильно. Ещё у нас может быть какой-нибудь не сильно прямой макроассемблер.

PolarFox ★★★★★ ()
Ответ на: комментарий от Deleted

А так и PHP предсказуем, если не вылезать из справки и исходников.

PolarFox ★★★★★ ()
Ответ на: комментарий от atrus

>Иначе на php ничего нельзя бы было сделать.

Это ещё почему? Главное знать (или считать, что знаешь), где всё работает необычно (т.е. везде) и как нужно обычно постучать в бубен, чтобы заработало (комменты в пхп документации).

Deleted ()
Ответ на: комментарий от Deleted

Главное знать (или считать, что знаешь), где всё работает необычно (т.е. везде) и как нужно обычно постучать в бубен, чтобы заработало (комменты в пхп документации).

И? Это везде так. Например в плюсах. Берём каноничный пример на сложение строк и литералов. Перегрузкой оператора «+» это можно осуществить. Пока кто-то не захочет сложить два литерала... Чем нас тогда хочет поразить автор? Php ничем не выделяется из других языков.

atrus ★★★★★ ()
Ответ на: комментарий от atrus

Это везде так. Например в плюсах.

Вообще-то, плюсы тоже говно (хотя и не такое, и сломано там далеко не всё). А вот насчёт «везде» я бы поспорил.

Miguel ★★★★★ ()
Ответ на: комментарий от Miguel

А вот насчёт «везде» я бы поспорил.

Можно попробовать примеры. Взять реально широко использовавшийся язык, имеющий сопоставимый возраст и посмотреть.

Я, собственно, говорю о том, что подобное - результат языковой эволюции. Т.е. когда перед разработчиками языка стоит выбор - забросить язык или дополнить. Добавим несколько итераций и мы получим то, что получим. :)

Вообще-то, плюсы тоже говно (хотя и не такое, и сломано там далеко не всё).

Ага. В них говно («совместимость» с C) было добавлено изначально. Но оно же обеспечило стартовую популярность. Наверное, Страуструп был не глуп и уже тогда понимал (или хотябы догадывался, что правильность языка это ещё не всё, а популярность - уже что-то). Вон, Вирт со своим паскалем и обероном. И где? ;-)

atrus ★★★★★ ()
Ответ на: комментарий от note173

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

AiFiLTr0 ★★★★★ ()
Ответ на: комментарий от note173

Да не, вполне себе. Странности есть, да, но по сравнению с пистоном - ерунда. А вот реальные проблемы PHP - не синтаксис, а тормоза, отсутствие нормального JIT'a, и геморрой со встраиванием языка. Хотя он почти у всех, кроме lua, который несмотря на местами странноватый синтаксис крайне доставляет.

AiFiLTr0 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.