Просмотр темы
PHP: фрактал плохого дизайна(немного холивара)
|
|
Razor |
Опубликовано 17.06.2014 20:41
|
Администратор Группа поддержки Сообщений: 508 Зарегистрирован: 20.08.2010 15:55 |
В интернете существует такая статья: "PHP: фрактал плохого дизайна". Вот ссылка на перевод на хабре - http://habrahabr.ru/post/142140/. Приведу цитату: Я даже не могу сказать, что не так с PHP, потому что… Окей. Представьте себе, эмм, коробку с инструментами. Набор инструментов. Выглядит нормально, инструменты как инструменты. Вы берёте отвёртку и видите крестовину с тремя лепестками. Окей, не очень полезно для вас, но может когда-нибудь понадобиться. Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон. Он, конечно, всё ещё пригоден, я имею ввиду, что вы можете забивать гвозди серединой бойка, держась за ручку наоборот. Берёте плоскогубцы, у которых нет зазубрин; они плоские и гладкие. Не так полезно, как могло бы быть, но ими всё ещё можно выкручивать болты. И так далее. Все инструменты чем-то странные и вывернутые, но не настолько, чтобы быть совсем бесполезными. И во всём наборе нет конкретной проблемы; в нём есть все инструменты. Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома с пятиугольными комнатами и крышей кверху ногами. Вы стучитесь в дверь, она просто падает внутрь и они орут на вас за то, что вы сломали их дверь. Вот что не так с PHP. Статья не новая, но тема довольно таки злободневная. Давайте обсудим. Выскажу своё мнение по этому поводу. Скажем пару тройку лет назад, когда я только освоил процедурный подход и клепал говноскрипты и говносайты(да кого я обманываю, я и сейчах их делаю), я бы встал на сторону противников автора, оперируя тем, что php гибок и понятен(даже для домохозяек) и отсутствие строгой типизации и каких либо правил и норм написания кода - это плюс. Далее когда начинаешь понимать принципы ООП паттернов проектирования и осваиваешь какие-либо более вменяемые языки программирования, начинаешь во многом понимать автора и становишься солидарным во многих моментах. И на данный момент мои скромные тезисы по этому поводу(мои+вырезки из статьи с которыми согласен): Положительные
Отрицательные
Нейтральные
Изменил(а) Razor, 17.06.2014 20:52 Sr. Software developer
plesk.com |
|
|
jikaka |
Опубликовано 18.06.2014 06:44
|
Супер Администратор Разработчики Сообщений: 4845 Зарегистрирован: 26.07.2010 12:10 |
сколько людей, столько и мнений я лично начинал с паскаля в школе, видимо в нем и застрял |
|
|
spiker |
Опубликовано 18.06.2014 08:07
|
Опытный пользователь Сообщений: 215 Зарегистрирован: 26.08.2010 08:49 |
...Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон. ...Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов... Какая разница что дать для работы плотнику-долб**бу. "Раздвоенный молоток" или супер-навороченную "Макиту". Мне эта статья напоминает рекламу на телеканалах типа "Магазин на диване": Хватит пользоваться на кухне обычной тёркой, она режет пальцы и т.д. купите наш супер-пупер-мега такой-то прибор.... А мне плевать на их прибор (все они в итоге выбрасываются на помойку), мои пращуры тёрли на тёрке морковь и я тру. Да — это небезопасно, да — это может быть старомодно. Но это проверено временем. |
|
|
Razor |
Опубликовано 18.06.2014 08:13
|
Администратор Группа поддержки Сообщений: 508 Зарегистрирован: 20.08.2010 15:55 |
spiker написал: ...Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон. ...Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов... Какая разница что дать для работы плотнику-долб**бу. "Раздвоенный молоток" или супер-навороченную "Макиту". Мне эта статья напоминает рекламу на телеканалах типа "Магазин на диване": Хватит пользоваться на кухне обычной тёркой, она режет пальцы и т.д. купите наш супер-пупер-мега такой-то прибор.... А мне плевать на их прибор (все они в итоге выбрасываются на помойку), мои пращуры тёрли на тёрке морковь и я тру. Да — это небезопасно, да — это может быть старомодно. Но это проверено временем. Не говорите мне, что «хорошие разработчики могут писать хороший код на любом языке», или что «плохие разработчики что-то там ещё». Это ничего не значит. Хороший плотник может забить гвоздь камнем или молотком, но где вы видели плотников забивающих что-либо камнями? Один из факторов, определяющих хорошего разработчика, это способность выбрать подходящие инструменты.
Sr. Software developer
plesk.com |
|
|
spiker |
Опубликовано 18.06.2014 08:45
|
Опытный пользователь Сообщений: 215 Зарегистрирован: 26.08.2010 08:49 |
Не говорите мне, что «хорошие разработчики могут писать хороший код на любом языке» Я не буду вам ничего говорить. Во-первых кто вы такой? Пуп Земли? Во-вторых я охарактеризовал всего-лишь статью. Пример с камнем неуместен. Нужда заставит и зубами будешь гвоздь выдирать. |
|
|
Razor |
Опубликовано 18.06.2014 08:49
|
Администратор Группа поддержки Сообщений: 508 Зарегистрирован: 20.08.2010 15:55 |
spiker написал: Не говорите мне, что «хорошие разработчики могут писать хороший код на любом языке» Я не буду вам ничего говорить. Во-первых кто вы такой? Пуп Земли? Во-вторых я охарактеризовал всего-лишь статью. Пример с камнем неуместен. Нужда заставит и зубами будешь гвоздь выдирать. Это всего лишь цитата из статьи. Sr. Software developer
plesk.com |
|
|
spiker |
Опубликовано 18.06.2014 09:01
|
Опытный пользователь Сообщений: 215 Зарегистрирован: 26.08.2010 08:49 |
Ну.. Статья эта не Библия, чтобы цитировать тут направо и налево. К примеру. На даче. Тёща попросила вбить пару палок в землю, чтоб что-то там подвязывать. До кладовки за молотком на другой конец огорода идти лень. Взял валяющийся рядом кирпич, ну и вогнал их в землю. Стоят до сих пор. Я "плохой разработчик"? Глядя со стороны, да, идиот. Но задача то выполнена. |
|
|
util |
Опубликовано 18.06.2014 10:07
|
Ветеран Сообщений: 666 Зарегистрирован: 13.09.2010 13:10 |
стопитьцот! Полностью согласен..
Счастлив не тот, кто получает подарок, а тот, кто подарок делает.
|
|
|
Zaxap |
Опубликовано 18.06.2014 12:53
|
Элита Сообщений: 1090 Зарегистрирован: 05.09.2012 10:32 |
Вижу, тут сейчас начнется война, php-фагов и perl'овцев... //---небольшое-отступление--- Мы в школе вообще ничего такого не изучали, пришлось самому выкручиваться)) Скажу одно: школьный сайт написан на...куске платного веб-редактора. Хостинг, на котором этот сайт висит зовется "один"gb_ru... "Школьный" домен (это поражает БОЛЬШЕ всего) - домен второго уровня, на этом блаблабла."один"gb.ru завязанный... Так что ловить нечего...когда мы стали "изучать" xhtml (да, "знакомились" с "версткой"...нам объясняли, что закрывающийся тег должен быть всегда и писАть нужно только заглавными буквами (правда, когда я ездил в "малуюкомпьютернуюакадемию", там "уроки" не отличались, в принципе) //--- Теперь по делу: не использовал ничего в веб-среде, кроме php, начал также - как быдлокодер (хотя..какой у меня код..по мере надобности изучаю функции/их особенности на php_net)). При этом осознание, что php какой-то деревянный, присутствует...пусть это "дерево" такое же и мягкое, как пластилин: вот это как раз и странно...даже аномально! Изменил(а) Zaxap, 18.06.2014 13:22 Зло не дремлет, а я добрый...
|
|
|
Vova |
Опубликовано 18.06.2014 12:59
|
Ветеран Сообщений: 877 Зарегистрирован: 05.08.2011 11:53 |
Начинал с этого Скриптовий язык для програмирование миссий, и собитий в играх серии GTA. Мои сайты: ABCVG.com / Допомога учням / ГДЗ / 8Gamers - Игровой портал / Мониторинг CS / Мониторинг игровых серверов / Хостинг от ABCVG.net
|
|
|
Zaxap |
Опубликовано 18.06.2014 13:09
|
Элита Сообщений: 1090 Зарегистрирован: 05.09.2012 10:32 |
Vova, если об этом, то я тогда начал вообще с ВарКравтовского редактора, с Jass'а
Зло не дремлет, а я добрый...
|
|
|
Polarfox |
Опубликовано 18.06.2014 16:10
|
Администратор Разработчики Группа поддержки Сообщений: 3384 Зарегистрирован: 20.08.2010 14:03 |
Побольше статей с хабра прикольных, я из топа могу принести еще "вроде бы интересных"
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
Rush |
Опубликовано 18.06.2014 20:00
|
Администратор Разработчики Группа поддержки Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
php далеко не худший вариант, давайте не будет забывать про жс, который в разы более непредсказуем и непрозрачен чем пхп) потом, пхп свои задачи выполняет хорошо, не требует много ресурсов (в отличии от тех же питона и руби), выделяется более высокой скоростью работы. касательно быдлокода и прочего - пхп в этом плане довольно творческий язык, субъективно конечно. радуют перспективы развития, все же сейчас все бурлит, всякие хаки, ххвмы и т.д. phpng, composer/потенциальный перепиленный pear встроенный в пхп. зы. статью не читал, прочту на досуге. |
|
|
Razor |
Опубликовано 18.06.2014 20:15
|
Администратор Группа поддержки Сообщений: 508 Зарегистрирован: 20.08.2010 15:55 |
Rush написал: php далеко не худший вариант, давайте не будет забывать про жс, который в разы более непредсказуем и непрозрачен чем пхп) потом, пхп свои задачи выполняет хорошо, не требует много ресурсов (в отличии от тех же питона и руби), выделяется более высокой скоростью работы. касательно быдлокода и прочего - пхп в этом плане довольно творческий язык, субъективно конечно. радуют перспективы развития, все же сейчас все бурлит, всякие хаки, ххвмы и т.д. phpng, composer/потенциальный перепиленный pear встроенный в пхп. зы. статью не читал, прочту на досуге. Тоже слежу за развитием phpng, хочется послушать доклад Дмтрия Стогова на эту тему.. http://habrahabr.ru/company/devconf/blog/223579/ Объединено 22.06.2014 20:15: Вот зацените видос(на английском, но в принципе итак все понятно), сравнение базовых конструкций php и python. YouTube Video Изменил(а) Razor, 22.06.2014 20:15 Sr. Software developer
plesk.com |
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |