URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 84136
[ Назад ]

Исходное сообщение
"Анализ проблем языка программирования PHP"

Отправлено opennews , 17-Апр-12 11:45 
В статье "PHP: a fractal of bad design (http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de.../)" представлен подробный и обстоятельный обзор проблем в дизайне языка программирования PHP. Автор показывает исключительность PHP как одного из наиболее непроработанных языков, проблемы в котором носят систематический характер. В частности в статье продемонстрированы проблемы в самом языке, функциях, структурах, экосистеме, средствах отладки. Указаны на недоработки в безопасности, надёжности, целостности и предсказуемости.

URL: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de.../
Новость: http://www.opennet.me/opennews/art.shtml?num=33619


Содержание

Сообщения в этом обсуждении
"Анализ проблем языка программирования PHP"
Отправлено Stefan , 17-Апр-12 11:45 
Эту статью уже все кому не лень обсудили...
А про PHP и без неё было многое понятно.
Даже бывший тех. директор и инженер Facebook отказались от PHP когда начали работать над своим проектом Quora и таких случаев много.

Хотя кому я рассказываю... Здесь и так все это знают)))


"Анализ проблем языка программирования PHP"
Отправлено Аноним , 18-Апр-12 22:05 
В подобных статьях хочется видеть примеры более достойных языков лишенных указанных недостатков.

Снова удивляет почему (наверно) самый кривой язык в своей области приобрел наибольшую популярность. Многие CMS да и просто сайты на нем, тысячи веб девелоперов знают только его и успешно на нем работают. Его просто многие умеют и им проще делать свои проекты на нем, даже если это просто веб морда к другой критически важной программе. Эффект масштаба, известности и привычки в действии.


"Анализ проблем языка программирования PHP"
Отправлено arisu , 18-Апр-12 22:15 
> Снова удивляет почему (наверно) самый кривой язык в своей области приобрел наибольшую
> популярность.

так тыщу раз уже поясняли: низкий порог вхождения обеспечил хороший начальный пинок.


"Анализ проблем языка программирования PHP"
Отправлено artist60 , 19-Апр-12 01:31 
Этот директор тоже не умеет отключать register_globals и т.п. вещи известные даже школярам?

"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 11:47 
Да очень много народу торчит от пыхпыха, и пытаться из пересадить на что то другое бессмысленно и бесперспективно

"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 13:39 
Они не торчат, просто не осилили ничего другого. Sad, but true.

"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 15:25 
Дай угодаю, ты осилил яву или сишарп? Я пишу коммерческие продукты на PHP/JS/SQL, C/C++, Python и Java. Знаком с еще большей кучей языков, включая три вида ассемблера и использую их для своих нужд время от времени. Хочу заметить, что для веб-приложений и сайтов PHP наиболее удобный, удачный, быстрый, функциональный и надежный язык с моей точки зрения. Эта позиция сформирова на основе личного многолетнего опыта. Не потому, что PHP такой хороший, у него есть проблемы. Просто остальное еще хуже.

"Анализ проблем языка программирования PHP"
Отправлено Vaso Petrovich , 17-Апр-12 15:37 
>три вида ассемблера

это как? один еще один и еще один?


"Анализ проблем языка программирования PHP"
Отправлено Капитан Очевидность , 17-Апр-12 16:34 
Он, вероятно, имел ввиду "11 видов ассемблера".

"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 16:12 
>Я пишу коммерческие продукты на PHP/JS/SQL, C/C++, Python и Java

Бла-бла-бла... Рассказывай сказки, деточка!

Про си и пых - поверю; возможно чутка знаешь жабу (вряд больше: жабовцы получают столько, что состоявшемуся жаба-кодеру вовек не захочется писать на пыхе), а вот про питон НЕ ВЕРЮ! (с) Станиславский. Тот кто кодит веб-проекты на питоне НИКОГДА не будет писать на пыхе. Это все равно, что человек привыкшему к ухоженному и чистому дому начать плевать на пол!


"Анализ проблем языка программирования PHP"
Отправлено Anonimous , 18-Апр-12 22:58 
Это точно. Хорошо знаком с PHP и Python. От PHP меня тошнит, но иногда "надо", потому что быдлохостинги частенько только php поддерживают. Порочный круг "венды"...

"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 17:26 
Какой у вас ЧСВ. Не зашкаливает еще?

"Анализ проблем языка программирования PHP"
Отправлено evgeny_t , 17-Апр-12 19:37 
подозреваю что коммерческие проекты это
homepage статический за 5тр ?

если бы вы делали хотя бы один крупный проет на java на другие языки у вас бы времени не осталось.

и вы конечно вкрурсе что такое : spring jstl jsp ?


"Анализ проблем языка программирования PHP"
Отправлено Имя и код , 18-Апр-12 01:34 
> подозреваю что коммерческие проекты это
> homepage статический за 5тр ?
> если бы вы делали хотя бы один крупный проет на java на
> другие языки у вас бы времени не осталось.
> и вы конечно вкрурсе что такое : spring jstl jsp ?

Очевидно это ваятель на каких-нибудь вебсферах, жабабот...


"Анализ проблем языка программирования PHP"
Отправлено Аноним , 18-Апр-12 22:11 

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

Должен вас огорчить. Одним людям языки даутся другим нет. (мне кстати - нет) Люди первые их осваивают быстро и владеют несколькими без пафоса. Люди вроты учат один язык всю жизнь и знают неплохо, но не более того. Еще какие-то люди умудряются зарабатывать сотни тысяч на ровном месте (без блата, собственными силами: талантами, трудом и силой убеждения (последнее подчеркнуть)), а другие какие-то копейки на нескольких работах. Такова жизнь.


"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 11:53 
Сегодня немало времени убил, пока не вспомнил, что empty($a), принимает даже строку '0' как пустую строку. И ещё три косяка сегодня нашёл. Плохо.

"Анализ проблем языка программирования PHP"
Отправлено Andrey Mitrofanov , 17-Апр-12 12:04 
> '0' как пустую строку. И ещё три косяка сегодня нашёл. Плохо.

Конечно плохо. Мог бы не тратить время, а сразу на http://phpsadness.com/ _прочитать.


"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 13:40 
Я на это поведение ещё лет 7 назад наткнулся. Просто забыл. :(

"Анализ проблем языка программирования PHP"
Отправлено анон , 05-Май-12 13:43 
> empty($a), принимает даже строку '0' как пустую строку

замечательно.
для защиты от инжекции сразу приводим входящие данные к набору '0'..max_int
и в теле программы просто if(!empty($var)){code()}
не ломая голову над типом. очень удобно

> И ещё три косяка сегодня нашёл. Плохо.

нормально. тренируйтесь



"Анализ проблем языка программирования PHP"
Отправлено Ананаец , 17-Апр-12 11:59 
Бэйсик, в его первоначальном виде, тихо помер.
Подождите немного :)

"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 12:32 
> Бэйсик, в его первоначальном виде, тихо помер.
> Подождите немного :)

Вряд ли PHP помрет в обозримом будущем. Тенденция не та, к счастью, PHP становится(пытается) лучше со временем.


"Анализ проблем языка программирования PHP"
Отправлено cobold , 17-Апр-12 12:49 
да, php он как виндовс, каждая версия лучше предыдущей [sarcasm]

"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 12:01 
Основной язык PHP, но я его не люблю, хоть и пишу на нем с 2005 года.
Каждой задаче - свой инструмент, для facebook использовать PHP нонсенс. Скорее всякие руби\питоны etc.
Но т.к. порог вхождения у PHP низкий, то и использовать его дешевле, а на не слишком больших проектах и не заметно разницы между PHP и Python.
Вы же не сажаете картошку экскаватором? Но и не кукольной лопаткой.

"Анализ проблем языка программирования PHP"
Отправлено spanasik , 17-Апр-12 12:22 
Нифига не дешевле, потому что потом, если нормальный проект, всё это переписывается на другом языке за другие деньги. Двойная оплата получается, скупой платит дважды.

Ну и зная обычную квалификацию среднего PHP программиста, встаёт вопрос о сохранности данных. Если таковой не волнует, и не волнует будущее проекта, то да, дешевле :-)


"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 12:30 
> Нифига не дешевле, потому что потом, если нормальный проект, всё это переписывается
> на другом языке за другие деньги. Двойная оплата получается, скупой платит
> дважды.
> Ну и зная обычную квалификацию среднего PHP программиста, встаёт вопрос о сохранности
> данных. Если таковой не волнует, и не волнует будущее проекта, то
> да, дешевле :-)

Ну, если не взлетит, то потеряете точно меньше.
Тут речь о компромиссе. Преждевременное масштабирование - смерть. Непредусмотренное масштабирование - смерть..
А в целом, кадры решают все. Дебил пишущий на C и архитектор 10тью годами опыта на PHP - дадут разные результаты.


"Анализ проблем языка программирования PHP"
Отправлено spanasik , 17-Апр-12 12:35 
Про "дебилов и архитекторов" исчерпывающе сказано в посте, который мы обсуждаем.
Я не о масштабировании, а о том, что кривой язык - кривой проект, как правило.


"Анализ проблем языка программирования PHP"
Отправлено jesus , 18-Апр-12 09:40 
здесь более уместным будет вспомнить про танцоров и яйца;)

"Анализ проблем языка программирования PHP"
Отправлено myhand , 17-Апр-12 12:49 
> Дебил пишущий на C и архитектор 10тью годами опыта на PHP - дадут разные результаты.

На C дебил не напишет ничего даже с виду работоспособного, существенно длиннее хелловорда.

Архитиктор и PHP - в одном предложении звучат как повод поржать над резюме.


"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 13:47 
>> Дебил пишущий на C и архитектор 10тью годами опыта на PHP - дадут разные результаты.
> На C дебил не напишет ничего даже с виду работоспособного, существенно длиннее
> хелловорда.

Я лет 6 назад писал с нуля полностью и веб-сервер и обёртку, и прочее. Интернет к нам в деревню приходил редко, и я не знал про фреймворки. А в итоге получилось примерно то же самое, только куда более гибкое для меня. :)

Причём даже не на C :)


"Анализ проблем языка программирования PHP"
Отправлено koblin , 17-Апр-12 12:32 
>порог вхождения у PHP низкий

это миф, писать на питоне не сложнее, и после php он воспринимается как глоток свежего воздуха


"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 12:35 
>>порог вхождения у PHP низкий
> это миф,

хз-хз. PHP я за неделю изучил в основе, еще неделю практиковался затем получил работу быдло-кодера :)

> писать на питоне не сложнее, и после php он воспринимается как глоток свежего воздуха

питон - моя страсть, но я до сих пор хорошо не могу на нем писать.. возможно сказывается нехватка времени.


"Анализ проблем языка программирования PHP"
Отправлено koblin , 17-Апр-12 12:40 
я о том что быдлокодить на питоне можно так же через неделю изучения =)

"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 13:43 
> хз-хз. PHP я за неделю изучил в основе, еще неделю практиковался затем
> получил работу быдло-кодера :)

Бутылку можно изучить за полтора часа, главное, хотя бы немного понимать html. И можно на нём жарить всякие вещи, как пирожки, а python изучать уже в процессе. При этом ты на php таких вещей и через полгода не напишешь. Или напишешь так, что уж лучше не надо.

btw, этож кто тебя такого красивого взял? Явно не за знание php. :)


"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 14:03 
>> хз-хз. PHP я за неделю изучил в основе, еще неделю практиковался затем
>> получил работу быдло-кодера :)
> Бутылку можно изучить за полтора часа, главное, хотя бы немного понимать html.
> И можно на нём жарить всякие вещи, как пирожки, а python
> изучать уже в процессе. При этом ты на php таких вещей
> и через полгода не напишешь. Или напишешь так, что уж лучше
> не надо.

А что такое "бутылка"?

> btw, этож кто тебя такого красивого взял? Явно не за знание php.
> :)

Чтобы писать сайты-визитки и красивым быть не надо.. а там пошло-поехало.


"Анализ проблем языка программирования PHP"
Отправлено Anonymousapiens , 17-Апр-12 14:03 
>Бутылку можно изучить за полтора часа, главное, хотя бы немного понимать html. И можно на нём жарить всякие вещи, как пирожки, а python изучать уже в процессе.
>а python изучать уже в процессе.

Вот так и появляются на свет быдлокодеры на питоне, которые кроме вебни ничего не умеют.


"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 14:53 
> Вот так и появляются на свет быдлокодеры на питоне, которые кроме вебни ничего не умеют.

Они тебе мешают? :)


"Анализ проблем языка программирования PHP"
Отправлено Anonymousapiens , 17-Апр-12 18:41 
Да, потому что они создают в глазах общественности представление о питоне как еще-об-одном-веб-языке-который-непонятно-зачем-нужен-ведь-есть-php.

"Анализ проблем языка программирования PHP"
Отправлено arisu , 17-Апр-12 18:43 
и ведь правы, чертяки!

"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 13:47 
> питон - моя страсть, но я до сих пор хорошо не могу на нем писать.. возможно сказывается нехватка времени.

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


"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 13:59 
>> питон - моя страсть, но я до сих пор хорошо не могу на нем писать.. возможно сказывается нехватка времени.
> Страсть к языку где один случайно нажатый бэкспейс может всё сломать. Спасибо
> насмешили.

а в PHP случайный пробел после ?> сломает сессию, отправку хедеров, куки.. ужас-ужас ;)


"Анализ проблем языка программирования PHP"
Отправлено vov , 17-Апр-12 14:27 
и именно потому в конце файла их (скобок) присутствие теперь необязательно

"Анализ проблем языка программирования PHP"
Отправлено Denisiuk , 17-Апр-12 14:29 
> и именно потому в конце файла их (скобок) присутствие теперь необязательно

верно, и это полезно, но ищущий всегда найдет свои грабли..


"Анализ проблем языка программирования PHP"
Отправлено vov , 17-Апр-12 14:35 
Это верно для всех языков.
В том же perl это девиз: "есть всегда несколько способов сделать это", читай "выстрелить в ногу"
А уж не от грабель с нулевыми указателями в C и иже с ними то тут то там находят уязвимости.

"Анализ проблем языка программирования PHP"
Отправлено Аноним239 , 17-Апр-12 12:43 
Ну ка hello world на питоне в контексте web?

"Анализ проблем языка программирования PHP"
Отправлено Andrey Mitrofanov , 17-Апр-12 12:45 
Параличь? google://python+web+hello-web ~~ About 47,600,000 results

"Анализ проблем языка программирования PHP"
Отправлено bliss , 17-Апр-12 12:50 
Не холивара ради, просто замечание. Осваивал питон после перл. Отличный язык питон, но опыт программирования на перл восстает, когда питон генерит исключение при обращении к отсутствующему ключу в ассоциативном массиве и прочих строгостях в динамически типизированном, в общем-то, языке. Да еще и постоянно париться -- хз, что за переменная, без sigils... Так что легкость и глоток свежего воздуха -- понятие относительное...

"Анализ проблем языка программирования PHP"
Отправлено bliss , 17-Апр-12 12:55 
А в отношении nonlocal в третьем питоне так вообще смешно. Все-таки function scoping не всегда лучше block scoping...

"Анализ проблем языка программирования PHP"
Отправлено NZ , 17-Апр-12 12:58 
> Не холивара ради, просто замечание. Осваивал питон после перл. Отличный язык питон,
> но опыт программирования на перл восстает, когда питон генерит исключение при
> обращении к отсутствующему ключу в ассоциативном массиве и прочих строгостях в
> динамически типизированном, в общем-то, языке. Да еще и постоянно париться --
> хз, что за переменная, без sigils... Так что легкость и глоток
> свежего воздуха -- понятие относительное...

Мне тоже после perl было с python тяжело. Языки семантически похожи, но и во многом отличаются - это сбивает с толку.


"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 13:45 
> Не холивара ради, просто замечание. Осваивал питон после перл. Отличный язык питон,
> но опыт программирования на перл восстает, когда питон генерит исключение при
> обращении к отсутствующему ключу в ассоциативном массиве и прочих строгостях в
> динамически типизированном, в общем-то, языке. Да еще и постоянно париться --
> хз, что за переменная, без sigils... Так что легкость и глоток
> свежего воздуха -- понятие относительное...

Чистый python вообще ужасен, особенно для веба :)

Но обёрток хватает.


"Анализ проблем языка программирования PHP"
Отправлено vov , 17-Апр-12 13:15 
В php "свежее мясо" привлекает обилие готовых коробочных решений, устанавливающихся за 5 кликов на вебсервер  а ля "денвер", который ставится за 4.

Лет 5 назад пробовал подобный финт проделать с одной CMS на Perl, не прошло.. Тупо не хватило навыков, чтобы хотя бы установить. В последствии разобрался, но и понял, что прямота рук тех разрабов ушла недалеко от того, что тут называется "школобыдлокодер".

Ruby, Perl, Python - программисты. РАДУЙТЕСЬ, что ПОКА это школоло начинает с PHP и там остается!


"Анализ проблем языка программирования PHP"
Отправлено Anonymousapiens , 17-Апр-12 13:41 
>Ruby, Perl, Python - программисты. РАДУЙТЕСЬ, что ПОКА это школоло начинает с PHP и там остается!

Чему радоваться-то? Оно там остается, и количество внедрений перла и питона в итоге в десятки раз меньше. Искал работу недавно (php или perl или python, с упором на последние два), получил предложений - php: 40+, perl: 2, python: 1.


"Анализ проблем языка программирования PHP"
Отправлено Anonymousapiens , 17-Апр-12 13:31 
Проблемы, лол. Их нет только у тех языков, которые никому не нужны.

"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 13:48 
> Проблемы, лол. Их нет только у тех языков, которые никому не нужны.

Когда PHP станет никому не нужен, от его проблем это не исправит.


"Анализ проблем языка программирования PHP"
Отправлено Anonymousapiens , 17-Апр-12 14:08 
>Когда

Ну и?


"Анализ проблем языка программирования PHP"
Отправлено terr0rist , 17-Апр-12 14:51 
На самом деле, профессионально писать на РНР - можно.
Из этой статьи мы просто видим, насколько __СЛОЖНЕЕ__ писать профессионально на таком г**ноязыке, как пых.
В отличие от, скажем, перла/питона/С/жавы, где есть чёткая и понятная документация (и пускай в жаве она размером с большую советскую энциклопедию), где всё в общем предсказуемо и логично, количество усилий, затрачиваемых на пыхокодинг, больше в разы. И только тот, у кого железные нервы, отличная память и чётко обозначенная цель, может написать на пыхе что-то серьёзное, работоспособное и полезное. А это и есть настоящий профессионал :)

"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 14:54 
> И только тот, у кого железные нервы, отличная память
> и чётко обозначенная цель, может написать на пыхе что-то серьёзное, работоспособное
> и полезное. А это и есть настоящий профессионал :)

Именно. Это очень скучно, очень нудно, но возможно. :)


"Анализ проблем языка программирования PHP"
Отправлено Михрютка , 17-Апр-12 15:34 
ггг авторша же предупреждает

Do not tell me that “good developers can write good code in any language”

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


"Анализ проблем языка программирования PHP"
Отправлено Andrey Mitrofanov , 17-Апр-12 15:43 
> открыть бутылку пива можно и задницей, но настоящий профессионал все-таки возьмет открывашку.

Гм. Наличие спроса --> профессионалы открывают и... пыхпыхом.


"Анализ проблем языка программирования PHP"
Отправлено б.б. , 17-Апр-12 19:17 
Если они удовлетворяют спрос на язык, а не на решения ....

"Анализ проблем языка программирования PHP"
Отправлено terr0rist , 17-Апр-12 21:56 
Речь не о том, что любой, кто профессионал в С (например), может взять РНР в качестве "открывашки". А о том, что человек, "открывший"-таки бутылку с помощью пыха, однозначно профессионал. Ну и, кстати, (к аналогиям всегда можно придраться) открыть бутылку задницей - банально круто. =))
Естественно, на вопросы "почему пых" и "а зачем ваще" в каждом случае ответ свой.

"Анализ проблем языка программирования PHP"
Отправлено arisu , 17-Апр-12 22:02 
> А о том, что человек, "открывший"-таки
> бутылку с помощью пыха, однозначно

...извращенец.


"Анализ проблем языка программирования PHP"
Отправлено Аноним , 18-Апр-12 13:55 
> Do not tell me that “good developers can write good code in any language”
> открыть бутылку пива можно и задницей, но настоящий профессионал все-таки возьмет открывашку.

Фразы какие-то бессмысленные. Что имелось ввиду?

Good PHP developers can write good code in PHP.
Good PHP developers hardly write good code in C.

Настоящий профессионал (специалист) _по_ _открыванию_ бутылок с пивом откроет бутылку и задницей.
Настоящий профессионал (бармен, профессия) откроет бутылку открывашкой.
Настоящий профессионал (специалист) _по_ _пользованию_ открывашкой откроет ей не только бутылку.


"Анализ проблем языка программирования PHP"
Отправлено sarman , 17-Апр-12 16:10 
https://www.destroyallsoftware.com/talks/wat


"Анализ проблем языка программирования PHP"
Отправлено Аноним , 17-Апр-12 16:42 
если уж решили сказать А, то говорите и Б

http://habrahabr.ru/post/142195/


"Анализ проблем языка программирования PHP"
Отправлено arisu , 17-Апр-12 16:46 
breaking news! у php был дизайн!

"Анализ проблем языка программирования PHP"
Отправлено Клим , 18-Апр-12 00:14 
Какие могут быть вопросы к Personal Home Page, это же всего лишь большая домашняя страничка. Какая безопасность, Господа, Вы о чём???