LINUX.ORG.RU

PHP: недостатки


0

0

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

/* не тролль, не пхпшник */

anonymous

он идеален. это глобально и надеждно.

isden ★★★★★
()

PHP != LISP

anonymous
()

Количество грязных хаков в языке зашкаливает. Да, конечно, этому есть простое объяснение в силу исторических причин - он изначально не создавался для "большого" программирования,

За то он замечательyо справляется с задачами типа

<? include $filename; ?> с тривиальным вычислением $filename,

для них его и следует использовать.

Если же логика более сложная, надо брать другой инструмент.

anonymous
()

Недостаток PHP - это он сам весь целиком. Его просто не должно быть.

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

> Недостаток anonymous'а - это он сам весь целиком. Его просто не должно быть.

fxd.

isden ★★★★★
()

> Давайте не будем принимать во внимание низкий порог вхождения и бажность или тормознутость реализации.

А почему это вдруг? Стандарт языка есть? - Нету. Поэтому делать можно что угодно, и единственно верная реализация будет от тех, кто создал этот язык - ну у они уж могут творить что хотят.

Когда разрабатывают стандарт, то там уже разбираются с большей частью недостатков языка - а тут уж как-то сложно определить - то ли недостаток языка, то ли косяк реализации, то ли не бага а фича.

anonymous
()

>Хочется услышать недостатки именно самого языка.

IMO Когда ПХП-еры начинают писать, они не разделяют представление, логическую модель и persistence. А потом это поздно делать, надо переписывать но всем влом.

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

> Когда разрабатывают стандарт, то там уже разбираются с большей частью недостатков языка - а тут уж как-то сложно определить - то ли недостаток языка, то ли косяк реализации, то ли не бага а фича.

4.2. Например, С++. За примерами косяков, см. книги Саттера Exceptional C++, More Exceptional C++ и Exceptional C++ Style, а также Александреску Modern C++ Design, Cтрауструп The Design and Evolution of C++.

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

> 4.2. Например, С++. За примерами косяков, см. книги

в C++ косяки несколько другого уровня, не на уровне базовых возможностей языка.

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

Имхо, тут логика такая: интерпретатор пытается распознать число в литерале, пока может это делать. В данном случае он распознаёт 0, его он и выводит.

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

> интерпретатор пытается распознать число в литерале Чаво? Интерпретатор видит 0 и начинает считывать восьмеричный целый литерал, затем ему попадается 8 - в этом месте он должен обругать аффтара кода, за то что он фигню пишет. Такая программа не должна даже начинать исполняться.

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

да нормальный это фреймворк
в том числе ооп
вы не то ругаете
ругать надо дотнет со всеми его причиндалами

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

Нет этому объяснения, кроме криворукости авторов. РНР должен в таком случае умирать с выводом ошибки, как (судя по дискуссии в ЖЖ) делают в таком случае питон и перл.

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

> дотнет -- весьма приличный язык

Язык, да...

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

>дотнет -- весьма приличный язык,

дотнет не язык, язык это до-диез.

>получше явы,

эт вряд ли.

>пхп до него как до луны.

+1

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

> IMO Когда ПХП-еры начинают писать, они не разделяют представление, логическую модель и persistence. А потом это поздно делать, надо переписывать но всем влом.

А оно и не надо. Надо просто юзать РНР, где вся задача состоит из представления, тогда оно прокатывает нормально.

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

>где ты видел в яве проперти?

А так же перегрузку операторов и прочего синтаксического сахара. Без это вполне можно жить. Код страшненький, но можно привыкнуть :) Но есть функциональность .НЕТА который в джаве просто нету. Например - уметь структы и ансеф блоки. для разработки реальных аппликух это может сильно ускроить и уменьшить потребление памяти для кучи юзкезов.

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

>AOT>JIT

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

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

>hint: talks было бы лучшим местом

Вот в этом сильно сомневаюсь. Всё свелось бы к «глобально и надёжно», «толсто» и к белкам с бобрами. А тут вполне себе конструктивненько получилось. Узнал много нового.

anonymous
()

вот за этот баг я бы постучал разрабам по кумполу: http://bugs.php.net/bug.php?id=38915

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

true_admin ★★★★★
()

Ребят, чё мне делать помогите пожалуйста. Я скачал PHP в архие .tar.bz из офсайта РНР, устанавливаю через терминал на Mandriva 2009 так: 1.Распаковка 2. ./configure (всё нормально без ошибок) 3. Затем make, а "make" мне говорит что нет такой команды. А RPM-ок я не нахожу. :(

anonymous
()

Главный недостаток PHP - то, что он не на всякую криворукость и неграмотность программиста генерит фаталы/варнинги/нотисы :)

KRoN73 ★★★★★
()

пхп позволяет кодить людям, не знающим ничего об объявлении переменных, о целых и вещественных типах, о GET и POST переменных. Главное - научиться игнорить ворнинги=)) Не знаю, хорошо это или плохо..

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