Попаднах на тази статия. Заглавието тайно нашепваше за невероятни разкирия, готови да отворят скептично мижящите ми очи към една нова, красива земя на “PHP якост”. Отворих статията и със затаен дъх потеглих на пътешествие, което можеше да открие пред мен нови програмистки хоризонти.
Да бе, всякаш си вярвах. Половината показват огромни кариеси в този фундаментално развален език. Валидацията на на домейни (точка 2), например, изглежда като нещо забавно. Функцията обаче се казва checkdnsrr() - дълго я съзерцавах в опити да декриптирам коварното име, но уви - просветление не последва. Точка три пък говори за mysqli_* функциите, които били подобрена версия на mysql_*. Сигурно им е много забавно на PHP програмистите да ъпдейтват софтуера си с awk. Да не говорим че топлата вода на именованите пространства, я има още в C++. Несериозно е модерен език да слага префикси пред (някои от) функциите си. Точка 7 също таи мъдрост - за да не показвате грешките си, слагайте error_reporting(0) в началото на всеки файл. Кара ме да си мисля какви други неща мога да слагам в началото на всеки файл, за да заобикалям несъобразителността на авторите… Точка 9 пък e незаплашително изглеждащия връх на опасния айсберг “by value и by reference”. Това несъмнено е поредното лошо нещо, което PHP е взел от Perl, същевременно игнорирайки хубавите. Няма да навлизам в детайли защо наличието и на двете е излишно през повечето време и причина за бъгове през останалото - убеден съм, че много PHP кодери и без това не му обръщат внимание.
И разбира се, да си дойдем на думата за точка 10. Не знам кой къде живее, ама в днешно време все по-рядко се пише SQL, а в тези случаи останалия цивилизован свят има редица подходи, като prepared statements, наименовани параметри и т.н. Абсурдно е толкова използвана, да не говорим опасна функционалност да няма добре-смазан стандартен апарат за работа. Да не говорим, че magic_quotes е обида за здравата мисъл. Вярно е, че се канят да го махат, но не мога да си обясня как на първо място са вкарали това недоразумение в езика.
Въобще, страхотен език. Не е изненадващо, че познати му викат “Рицарство На Разработката” - и той, като Средновековието е морално остарял и в днешно време пази само ръждясали ламарини и разпадащи се инструменти. Или пък PHP програмистите - “рънъри”. Това напълно го разбирам, тъй като и на мен ми се иска да избягам като го видя.
А, и да - една старееща, но неостаряваща връзка - събиране на PHP core developer-ите отпреди почти две години. Бисерите са по-малко, но има някои безценни. А логиката им е извънземна. Да не говорим колко от разговорените неща ги има две години по-късно…
P.S.: Явно тази статия е вдъхновила още някой. Тъжно. Макар и малко “по-куул”, са доста далеч от “куул” - по същия начин, по който и 2 грама пържола са повече от един, но твърде далеч от достатъчно.
One Comment
Ето няколко от нещата в PHP които ми правят впечатление .. а може и някои от тях да не ги знаете
1) цялото действие се развива в една нишка
2) класовете могат да бъдат само публични (public)
3) не могат да се влагат класове (http://en.wikipedia.org/wiki/Inner_class)
4) абстрактен клас, който наследява друг абстрактен клас, трябва да имплементира абстрактните функции на втория