Забыли пароль?
Запросите новый здесь.

Автор темы: Razor
ID темы: 2228
Информация:
Тема содержит 14 сообщения, была просмотрена 11406 раз.
Просмотр темы
PHP-Fusion Russia » Разное » Флуд
 Распечатать тему
PHP: фрактал плохого дизайна(немного холивара)
Razor
В интернете существует такая статья: "PHP: фрактал плохого дизайна".
Вот ссылка на перевод на хабре - http://habrahabr.ru/post/142140/.
Приведу цитату:
Я даже не могу сказать, что не так с PHP, потому что… Окей. Представьте себе, эмм, коробку с инструментами. Набор инструментов. Выглядит нормально, инструменты как инструменты.

Вы берёте отвёртку и видите крестовину с тремя лепестками. Окей, не очень полезно для вас, но может когда-нибудь понадобиться.

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

Берёте плоскогубцы, у которых нет зазубрин; они плоские и гладкие. Не так полезно, как могло бы быть, но ими всё ещё можно выкручивать болты.

И так далее. Все инструменты чем-то странные и вывернутые, но не настолько, чтобы быть совсем бесполезными. И во всём наборе нет конкретной проблемы; в нём есть все инструменты.

Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома с пятиугольными комнатами и крышей кверху ногами. Вы стучитесь в дверь, она просто падает внутрь и они орут на вас за то, что вы сломали их дверь.

Вот что не так с PHP.

Статья не новая, но тема довольно таки злободневная. Давайте обсудим.
Выскажу своё мнение по этому поводу.
Скажем пару тройку лет назад, когда я только освоил процедурный подход и клепал говноскрипты и говносайты(да кого я обманываю, я и сейчах их делаю), я бы встал на сторону противников автора, оперируя тем, что php гибок и понятен(даже для домохозяек) и отсутствие строгой типизации и каких либо правил и норм написания кода - это плюс. Далее когда начинаешь понимать принципы ООП паттернов проектирования и осваиваешь какие-либо более вменяемые языки программирования, начинаешь во многом понимать автора и становишься солидарным во многих моментах.
И на данный момент мои скромные тезисы по этому поводу(мои+вырезки из статьи с которыми согласен):
Положительные
  • На практике описанные в статье проблемы и парадоксы, практически не встречаются и не мешают жить
  • Такие гиганты как facebook и вконтакте написаны на php, вконтакте насколько мне известно использует процедурный подход, конечно на своём допиленном интерпретаторе KPHP, но тем не менее..

Отрицательные
  • PHP - как первый язык программирования - плохо, если вы хотите именно научиться программированию.(альтернатива - python)
  • PHP построен, чтобы продолжать фурычить при любых обстоятельствах. Если есть выбор между тем, чтобы сделать непонятно что и упасть с ошибкой, он сделает непонятно что. Что-нибудь лучше, чем совсем ничего(это как раз объясняет первый тезис).
  • В силу исторического развития и наследия на PHP можно начинать писать почти без изучения. Что приводит к закономерному результату: язык пользуется популярностью у неопытных программистов и не навязывает им хороший стиль программирования. Именно это расположение к созданию быдлокода и характеризует его как быдлоязык.

Нейтральные
  • PHP изначально создавался для непрограммистов, ребятами из Тель Авива в свободное от работы время, унаследовав свой дизайн из нескольких языков: основной конечно Perl, C, C++ и Java

Изменил(а) Razor, 17.06.2014 20:52
Sr. Software developer
plesk.com
x2
 
jikaka
сколько людей, столько и мнений
я лично начинал с паскаля в школе, видимо в нем и застрял
ab
 
Web
spiker
...Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон.
...Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов...


Какая разница что дать для работы плотнику-долб**бу. "Раздвоенный молоток" или супер-навороченную "Макиту". ag

Мне эта статья напоминает рекламу на телеканалах типа "Магазин на диване": Хватит пользоваться на кухне обычной тёркой, она режет пальцы и т.д. купите наш супер-пупер-мега такой-то прибор....

А мне плевать на их прибор (все они в итоге выбрасываются на помойку), мои пращуры тёрли на тёрке морковь и я тру.
Да — это небезопасно, да — это может быть старомодно. Но это проверено временем.
 
Razor
spiker написал:

...Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон.
...Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов...


Какая разница что дать для работы плотнику-долб**бу. "Раздвоенный молоток" или супер-навороченную "Макиту". ag

Мне эта статья напоминает рекламу на телеканалах типа "Магазин на диване": Хватит пользоваться на кухне обычной тёркой, она режет пальцы и т.д. купите наш супер-пупер-мега такой-то прибор....

А мне плевать на их прибор (все они в итоге выбрасываются на помойку), мои пращуры тёрли на тёрке морковь и я тру.
Да — это небезопасно, да — это может быть старомодно. Но это проверено временем.

Не говорите мне, что «хорошие разработчики могут писать хороший код на любом языке», или что «плохие разработчики что-то там ещё». Это ничего не значит. Хороший плотник может забить гвоздь камнем или молотком, но где вы видели плотников забивающих что-либо камнями? Один из факторов, определяющих хорошего разработчика, это способность выбрать подходящие инструменты.

Sr. Software developer
plesk.com
 
spiker
Не говорите мне, что «хорошие разработчики могут писать хороший код на любом языке»

Я не буду вам ничего говорить.
Во-первых кто вы такой? Пуп Земли?
Во-вторых я охарактеризовал всего-лишь статью.

Пример с камнем неуместен. Нужда заставит и зубами будешь гвоздь выдирать.
 
Razor
spiker написал:

Не говорите мне, что «хорошие разработчики могут писать хороший код на любом языке»

Я не буду вам ничего говорить.
Во-первых кто вы такой? Пуп Земли?
Во-вторых я охарактеризовал всего-лишь статью.

Пример с камнем неуместен. Нужда заставит и зубами будешь гвоздь выдирать.

Это всего лишь цитата из статьи.
Sr. Software developer
plesk.com
 
spiker
Ну.. Статья эта не Библия, чтобы цитировать тут направо и налево.

К примеру. На даче. Тёща попросила вбить пару палок в землю, чтоб что-то там подвязывать. До кладовки за молотком на другой конец огорода идти лень. Взял валяющийся рядом кирпич, ну и вогнал их в землю. Стоят до сих пор. Я "плохой разработчик"? Глядя со стороны, да, идиот. Но задача то выполнена.
 
util
стопитьцот! Полностью согласен..ab
Счастлив не тот, кто получает подарок, а тот, кто подарок делает.
 
Web
Zaxap
Вижу, тут сейчас начнется война, php-фагов и perl'овцев...
//---небольшое-отступление---
Мы в школе вообще ничего такого не изучали, пришлось самому выкручиваться))
Скажу одно: школьный сайт написан на...куске платного веб-редактора.
Хостинг, на котором этот сайт висит зовется "один"gb_ru...
"Школьный" домен (это поражает БОЛЬШЕ всего) - домен второго уровня, на этом блаблабла."один"gb.ru завязанный...
Так что ловить нечего...когда мы стали "изучать" xhtml (да, "знакомились" с "версткой"...нам объясняли, что закрывающийся тег должен быть всегда и писАть нужно только заглавными буквами (правда, когда я ездил в "малуюкомпьютернуюакадемию", там "уроки" не отличались, в принципе) ab
//---
Теперь по делу: не использовал ничего в веб-среде, кроме php, начал также - как быдлокодер (хотя..какой у меня код..по мере надобности изучаю функции/их особенности на php_net)).
При этом осознание, что php какой-то деревянный, присутствует...пусть это "дерево" такое же и мягкое, как пластилин: вот это как раз и странно...даже аномально! ad
Изменил(а) Zaxap, 18.06.2014 13:22
Зло не дремлет, а я добрый...
 
Vova
Начинал с этого


Скриптовий язык для програмирование миссий, и собитий в играх серии GTA.
 
Web
Zaxap
Vova, если об этом, то я тогда начал вообще с ВарКравтовского редактора, с Jass'а ag
Зло не дремлет, а я добрый...
 
Polarfox
Побольше статей с хабра прикольных, я из топа могу принести еще "вроде бы интересных" ab
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
x1 x1
 
Rush
php далеко не худший вариант, давайте не будет забывать про жс, который в разы более непредсказуем и непрозрачен чем пхп)

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

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

радуют перспективы развития, все же сейчас все бурлит, всякие хаки, ххвмы и т.д. phpng, composer/потенциальный перепиленный pear встроенный в пхп.

зы. статью не читал, прочту на досуге.
 
Web
Razor
Rush написал:

php далеко не худший вариант, давайте не будет забывать про жс, который в разы более непредсказуем и непрозрачен чем пхп)

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

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

радуют перспективы развития, все же сейчас все бурлит, всякие хаки, ххвмы и т.д. phpng, composer/потенциальный перепиленный pear встроенный в пхп.

зы. статью не читал, прочту на досуге.

Тоже слежу за развитием phpng, хочется послушать доклад Дмтрия Стогова на эту тему..
http://habrahabr.ru/company/devconf/blog/223579/
Оффтопик Вот сразу pdf-ka презентации.


Объединено 22.06.2014 20:15:
Вот зацените видос(на английском, но в принципе итак все понятно), сравнение базовых конструкций php и python.
YouTube Video

Изменил(а) Razor, 22.06.2014 20:15
Sr. Software developer
plesk.com
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
PHP Fusion 6 несколько проблем  →  Установка и настройка системы 7 / 1904 07.06.2021 23:12
ЧПУ Дополнительных страниц для PHP-Fusion 8  →  Разное 8 / 2880 26.10.2020 18:42
Помогите отключить часть кода в user_info_panel.php  →  Вопросы новичков 5 / 2917 05.10.2020 15:16
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 5350 25.07.2020 03:46
какие функции надо переписать для PHP 7?  →  Пожелания и предложения 15 / 11193 12.07.2020 07:19
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 3386 19.06.2020 17:06
PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи  →  Моды 20 / 22055 17.03.2020 19:59
Кто делал гибрид Wordpress и PHP-Fusion?  →  Пожелания и предложения 3 / 1804 08.03.2020 15:50
Какой плагин PHP-Fusion уместно использовать для создания сайта КВИЗа?  →  Пожелания и предложения 1 / 2894 18.02.2020 15:14
Добавление Ваших сайтов на php-fusion на сайт!  →  Новости и объявления 1 / 6119 24.01.2020 06:14
Топ 5 пользователей форума
Alex Alex (1,264)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)