Linkajánló: "PHP: a fractal of bad design"

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

Nagyon jó összefoglaló a PHP tervezési hiányosságairól (vagy inkább annak hiányáról). Nagy részét ugyan már ismertem, viszont nagyon jó így összeszedve, referenciákkal megtámogatva.

Van 1-2 dolog, ahol szerintem mellényúl az író, pl. a protected-private-t firtató résznél, valamint látszik egy "enyhe" pythonos beütése a szerzőnek, de összességében nagyon jó írás.

Dedikálnám mindazoknak, akik szentül meg vannak itt győződve az open source minőségi felsőbbrendűségében ;)

Hozzászólások

Azert van annak valami oka, hogy ennyien hasznaljak/juk ezt a szart. Bár tegyem hozzá, nagyrészt igaza van.

A PHP nagyszerűen skálázódik / skálázható.

Meg nem nagyon igényel hálózati ismereteket.

Ha a PHP-t pl. egy Java-s megoldással akarod helyettesíteni akkor rendszerint négyszeres költséggel számolhatsz, hozzátéve, hogy a Java-hoz nehezebben megfizethető programozókat kell felvenned, a skálázódáshoz is nagyobb szakértelem és rengeteg tapasztalat fog kelleni.

A piac ezt ugye meg díjazza, a PHP-vel olcsón, gyorsan, a szomszéd Pistikével viszonylag működő alkalmazásokat lehet összeférceltetni, neked már más dolgod sincs, mint a forgalom növekedésével tolni alá a szervereket (a MySQL-el úgyis az adatbázis backend döglik meg elősször, szóval semmi probléma :-)).

Aha, ez érdekes. Facebooknál is hangosan nevetnek?

Ahogy mondod.

Éppen a gyors fejlesztés és a skálázhatóság miatt választották a PHP-t. Nahát.

Hint:

Éppen ez volt az amit linkeltem.

Mert szerinted melyik interpreted nyelvet nem fordítják ekkora méretekben?

Konkrétan a Google is ezt teszi a Python-al.

A PHP jól skálázható, ez tény, ugrálhatsz amennyit akarsz, kb. csak fél perc erre egy példát találni az interneten.

A Python is jól skálázható, mellesleg egy sokkal jobb nyelv, mint amilyen a PHP valaha is lesz.

"Ahogy mondod."

Ha sikerül mindjárt előbányászom neked a videót, ahol a Facebook fejlesztői maguk mondják el, hogy az egyszerű fejlesztés és a skálázhatóság miatt választották a PHP-t.

> Éppen a gyors fejlesztés és a skálázhatóság miatt választották a PHP-t. Nahát.

Erre van valami linked?

Mert szerintem pont nem emiatt valasztottak (t.i., HipHop-ot nekik kellett megirni, hogy elfogadhato sebessegu legyen a php. Igy alapbol nem lehetett az, es ha lassu, nem skalazodhat tul jol sem, ergo nem ezert valasztottak).

--
|8]

"hozzátéve, hogy a Java-hoz nehezebben megfizethető programozókat kell felvenned"

Jelenleg az a nagy büdös helyzet, hogy akár PHP, akár Java, akár .NET, nehéz normális, valamennyire tapasztalt, hozzáértő, precíz, megbízható embert találni.

El nem tudom képzelni, hogy mi lehet a helyzet, ha valami egzotikusabb nyelvhez keresnél embert.

----------------
Lvl86 Troll - Think Wishfully™

Inverz a relacio, egyebkent.

Mert egzotikusabb nyelveket azok tudnak/tanulnak, akiket igazan erdekel a programozas, es szamukra nem "csak egy jol fizeto szakma", hanem inkabb hivatas. Na, ezek a jo programozok.

Igy pl. Lisp v. Ada v. Scala programozokbol nagyobb szazalekban talalsz talpraesettet, mint az emlitettek kozul.

Dedikálnám mindazoknak, akik szentül meg vannak itt győződve az open source minőségi felsőbbrendűségében ;)

Hehe :-) Eszembe jut egy sztori, amikor egy kereskeldemi antispam termek hazai disztributora folyamatosan azzal kampanyolt, hogy az x termek annyira jo, hogy brtualisan alazza a nyilt forrasu spamszuroket.

Egy kicsit megkapargatva a felszint kiderult, hogy bar o konzekvensen "az open source" megoldasokat fikazza, valojaban mindig a spamassassin-nal meri ossze kedvenc penzes cuccat (raadasul ugy, hogy a spamassassin egy komponens az o csomagolt termekeben). Erre csinaltam par benchmarkot egy _masik_ open source termekkel, es az jott ki vegeredmenykent, hogy ha az emlitett x kereskedelmi termeket hulyere optimalizalod (=a temerdek elerheto antispam komponensbol _csak_ 1-et kapcsolsz be (es az nem az SA :-))), akkor nem sokkal marad el a teljesitmenye attol a masik open source termektol.

Szoval lehet, hogy rossz vegen fogod meg a dolgot, ha a php alapjan akarod eldonteni az open source minosegi felsobbrendusegenek kerdeset.

Hajra, elnok ur! A Heti Valasz cenzuraja

> Dedikálnám mindazoknak, akik szentül meg vannak itt győződve az open source minőségi felsőbbrendűségében ;)

A PHP nem open source. A PHP open fos. :P

--
|8]

Jó. Ezt most valaki megírta.
És?

Aranyos kis írás, külön kedvelem a „Don't comment with these things” részt… ☺

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Ez a mai kedvenc:


<?php
$arg = 'T';
  $vehicle = ( ( $arg == 'B' ) ? 'bus' :
               ( $arg == 'A' ) ? 'airplane' :
               ( $arg == 'T' ) ? 'train' :
               ( $arg == 'C' ) ? 'car' :
               ( $arg == 'H' ) ? 'horse' :
               'feet' );
  echo $vehicle."\n";
?>

---
pontscho / fresh!mindworkz

Aki ezt képes egymásba ágyazni, megérdemel egy s mást :-) Néhány ismerősömmel pont szoktam obfuscated php-ul levelezni, de ott is rendesen zárójelezek…

$y = $x = ""; echo (($y='G')?((($y.='u')=='c')?0:(($y[2]='k')?
(($y!==$y)?0:(($y!=2+5)?(($y[3]=(($x==$y)?'v':'d'))?
(($y[4]=$y[1])?(($y.='i')?(($y[7]=(2*2==4)?'i':'u')?
(($y.='ú'.$y[4].$y[7])?((!($y[10]='v'))?0:($y.=(($x='í')?
(($x='q')?($x='e'.$x):0):0).$y[4]).('t'.$y[6].(((!($x='í'))?
0:('c'.($x='s'.$x)).'l')))):0).'i':0):0):0):0):0)):0)):0).'!';
int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

it is not okay when wrestling the language takes more effort than actually writing your program

Itt egy pillanatig meginogtam, hogy most PHP-ről vagy C++-ról van-e szó...

A cikk lényege talán nem is a PHP, hanem hogy hogyan kell írni:
- olvasmányos stílusban
- érthetően
- a témát jól összefoglalva
- mindent megmagyarazva (ha kell konkrét példákkal)
- rámutatva mindenre amivel gond van
- de ezt nem " A PHP fos." stílusban
- hogy még az is örömmel és egyetértve olvassa, akinek a PHP az élete, és nagyon nehezen kezeli a kedvenc nyelvét érő kritikát

Itt van mit tanulni :)