Nejlepší odpověď
Wikipedia začala v lednu 2001. Zpočátku používala jiný wiki software s názvem UseModWiki , která byla napsána v Perlu. V létě roku 2001 vyšlo najevo, že jeho popularita roste a že potřebuje některé nové funkce. Například UseModWiki nemohl zpracovávat mezery, takže jste museli psát spíše „BuenosAires“ než „Buenos Aires“. Také to mělo nějaké problémy s výkonem. Takže dobrovolný spisovatel z Wikipedie Magnus Manske, který byl také programátor, se rozhodl to napsat sám. Používal PHP jednoduše proto, že se ho chtěl naučit. PHP bylo tehdy velmi populární a rychle rostoucí jazyk pro vývoj dynamických webových stránek.
Více informací o historii MediaWiki najdete na těchto stránkách:
- Historie MediaWiki
- Proč malárský Magnus slaví Waleský den Wikipedie
- Architektura aplikací s otevřeným zdrojovým kódem (svazek 2): MediaWiki
Odpověď
Když jsem začal programovat – bylo mi v té době 17 let, bylo pro mě PHP „nejlepším jazykem vůbec“, jednoduše proto, že pro mě bylo tak snadno dostupné začátek.
Jak jsem s tím začal? Nainstaloval jsem XAMPP můj počítač se systémem Windows, klikl na „start“ pro MySQL, Apache a bylo to. Byl jsem závislý. Schopnost jednoduše umístit skript do /htdocs
a spustit jej pomocí localhost / test.php byla magická.
Chcete, aby byl web aktivní? získat hosting, nahrát skripty přes FTP a voila!
Databáze? Žádný problém, stačí udělat starý dobrý mysql\_query()
a nazvat to den. Poté, o několik let později, poté, co jsem se naučil, jak věci fungují pod kapotou – tj. Věděl jsem, co to tlačítko „start“ bylo v XAMPP – a vyzkoušel jsem jiné jazyky, jsem si uvědomil, jak ošklivé, nekonzistentní, náhodné, nebezpečné a přeplněné je PHP.
Myslím, že někteří lidé se z této bubliny XAMPP nikdy nedostanou, pouze se drží věcí, které jim jsou nejpohodlnější, a brání to do posledního dechu. To jim připadá jako náboženství.
Kdybych ze své podstaty nebyl zvědavý, pravděpodobně bych všechno dělal v PHP, s nádechem JavaScriptu na straně serveru, jako jsem to dělal za dne, pravděpodobně by rád Node.js – a možná dokonce úplně přepnout na něj.
Avšak nemám rád Node.js.
Klady a zápory zmíněných věcí:
PHP Nevýhody
- Každé možné paradigma, funkce, vše, na co si vzpomenete – php ji má implementovanou. Potřebujete vlastnosti ? Potřebujete přejít ? Potřebujete OOP ? Potřebujete funkční ? Potřebujete ještě něco? Máme to.
- Říká se, že PHP 7 je rychlé. Je to rychlé, pokud to srovnáte s prázdnou instalací Laravelu. Zkuste nainstalovat WordPress s „normálním nastavením pluginu“ a také „vícejazyčným voličem“. Hodně štěstí.
- Zabezpečení je v php vtip. Pamatujete si všechny ty SQL injekce? 90\% z nich byly php weby, protože se rozhodly, že je skvělé mít reklamu
mysql\_query()
inzerovanou jako „velmi snadný způsob provádění dotazů SQL“. Každý možný výukový program na světě začíná: Ok, tady je, jak zadáváte dotazy do databáze v php:mysql\_query(“SELECT * FROM article WHERE id =”. $\_GET[‘id’])
je to tak snadné !!! vidět? Není to Java, musíte si nejprve připravit prohlášení! Je to příliš často !! Nudné !!! -
file\_get\_contents(“https://www.example.com”)
a takéfile\_get\_contents(“../foo.txt”)
a takéfile\_get\_contents(“php://input”)
a co máš? Protože to jefile\_*
, takže je to k získání obsahu souboru. Nemluvě ofopen()
. -
error\_reporting(0)
a můžete dělat zázraky. - Mohu pokračujte ve své „standardní knihovně“.
Pros
- Úspěchem PHP je modul Apache mod\_php.
- Stačí nahrát skript a funguje to.
- Smazat skript a ten již nefunguje.
- Pokud jste se někdy podívali na jakýkoli kód, který má {}, řeknete „hej, stejně jako Java | C ++ | C atd., ale stačí zadat
$
před názvem proměnné. - Nahrajte skript přes ftp a jsme naživu, zlato.
- PHP má jednu z největších komunit na světě.
- Pole? Je to seznam nebo slovník? No, je to obojí (to je opravdu podvod, ale hej, lidé mají rádi kecy z něčeho, co funguje oběma způsoby, kdo se stará o slovník, který neudržuje pořádek ?!).
- Jediná věc, která ve skutečnosti posvítilo světlo na PHP je skladatel. Ale na druhou stranu, téměř každý má dnes nějakého správce balíčků…
- Laravel přišel na pomoc, aby jednou provždy přesvědčil lidi, že OOP je způsob, jak jít, a musíme zapomenout všechny ty ošklivé
mysql\_*()
nesmysly. Lidé jsou však zmatení, kam mají dát svou obchodní logiku. Bylo to úložiště? Byl to model nebo ovladač? Nebo Middleware? Kde? Hmm, nech mě přemýšlet … myslím, že to zvládne vlastnost …
Uzel Nevýhody
- Hrozné knihovny –
npm install winston
,hipster-webserver
atd. Je to vlastně hrozná věc, když chci logovací knihovnu a musím si vybrat z 9 různých knihoven. Prosím ne, prostě ne. - Zpětné volání peklo; s tím se nedá nic dělat, kromě asynchronního čekání na syntaxi, ale jednoduše většina knihoven jsou prostá zpětná volání nebo sliby nějakého jiného „vynálezu“, na který je autor pyšný. Sliby jsou jen zpětná volání s menším nepořádkem, kterými jsem v poslední době začal pohrdat.
Pros
- Rychlá I / O a rychlost zpracování v8. No a co? Cokoli s libuvem to dokáže. Zabalte pythona pomocí MagicStack / uvloop a proveďte měřítka. Nemluvě o dalších jazycích, kteří to dělají ještě elegantněji
- Snadný vstup. To je vlastně špatná věc. Vývojáři frontendu objevující jeho schopnosti na konci. Prostě nedělejte.
Jediný způsob, jakým bych Node chtěl, je, kdyby měl nějakou specifikaci. Kde by byly knihovny perfektně organizovány a naprogramovány se stejným stylem kódování. Přestaňte vymýšlet svůj styl . Je to hrozné.
Když se podíváte do knihovny 3. strany a uvidíte organizaci a styl kódu, který ani nezjistíte, prostě to vzdám.
Uzel je jako někdo, kdo dal 16letému dítěti auto a 30000 $, aby ho mohl pasákovat.
Pozitivní je, že bych neprogramoval, kdyby to nebylo pro PHP. I mají tendenci se na to dívat, jak se dítě dívá na svou nejstarší hračku. Nebudu si s tím hrát. Ale když se na to podívám, přináší mi to pár vzpomínek a úsměv na tváři.
V konec, když něco vyrobíš – pokud do toho dáš dostatek práce a srdce a lidem se to líbí – jazyk nezáleží. Na konečném výsledku záleží.
Mír