Najlepsza odpowiedź
Wikipedia powstała w styczniu 2001 roku. Początkowo korzystała z innego oprogramowania wiki o nazwie UseModWiki , który został napisany w Perlu. Latem 2001 roku stało się jasne, że jego popularność rośnie i potrzebuje nowych funkcji. Na przykład UseModWiki nie obsługuje spacji, więc trzeba było napisać „BuenosAires” zamiast „Buenos Aires”. Występowały też pewne problemy z wydajnością. Więc wolontariusz Wikipedii, Magnus Manske, który był również programistą, zdecydował się napisać Użył PHP tylko dlatego, że chciał się go nauczyć. PHP był wówczas bardzo popularnym i szybko rozwijającym się językiem do tworzenia dynamicznych witryn internetowych.
Więcej informacji o historii MediaWiki można znaleźć na tych stronach:
- Historia MediaWiki
- Dlaczego Malarias Magnus obchodzony jest w Walii w Dniu Wikipedii
- Architektura aplikacji Open Source (tom 2): MediaWiki
Odpowiedź
Kiedy zaczynałem programować – miałem wtedy 17 lat, PHP był dla mnie „najlepszym językiem wszechczasów”, po prostu dlatego, że był dla mnie tak łatwo dostępny w początek.
Jak zacząłem z tym? XAMPP został zainstalowany na mój komputer z systemem Windows, kliknął „start” dla MySQL, Apache i to wszystko. Byłem uzależniony. Możliwość umieszczenia skryptu w /htdocs
i uruchomienia go przez localhost / test.php była magiczna.
Chcesz, aby strona internetowa działała? przejdź na hosting, prześlij skrypty przez FTP i voila!
Baza danych? Nie ma problemu, po prostu zrób stary dobry mysql\_query()
i zadzwoń na jeden dzień. Potem, kilka lat później, po nauczeniu się, jak działają rzeczy pod maską – tj. Wiedząc, czym jest ten przycisk „start” w XAMPP – i wypróbowaniu innych języków, zdałem sobie sprawę, jak brzydki, niespójny, przypadkowy, niebezpieczny i zagracony jest PHP. p>
Myślę, że niektórzy ludzie nigdy nie wychodzą z tej bańki XAMPP, po prostu trzymają się rzeczy, w których czują się najlepiej i bronią ich do ostatniego tchu. To staje się dla nich jak religia
Gdybym nie był z natury ciekawy, prawdopodobnie zrobiłbym wszystko w PHP, z odrobiną JavaScript po stronie serwera, tak jak robiłem to kiedyś, prawdopodobnie chciałbym Node.js – a może nawet w pełni się na niego przełączył.
Jednak nie lubię Node.js.
Plusy i minusy wymienionych rzeczy:
PHP Wady
- Każdy możliwy paradygmat, funkcja, cokolwiek myślisz – php ma to zaimplementowane. Potrzebujesz cech ? Potrzebujesz gotowego ? Potrzebujesz OOP ? Potrzebujesz funkcjonalnego ? Potrzebujesz czegoś więcej? Mamy to.
- Mówią, że PHP 7 jest szybki. Cóż, jest szybki, jeśli porównasz go z pustą instalacją Laravel. Spróbuj zainstalować WordPress z „normalną konfiguracją wtyczki”, a także z „selektorem wielu języków”. Powodzenia.
- Bezpieczeństwo to żart w php. Pamiętasz te wszystkie zastrzyki SQL? 90\% z nich to strony php, ponieważ uznali, że bardzo fajnie jest mieć
mysql\_query()
reklamowane jako „bardzo łatwy sposób wykonywania zapytań SQL”. Zaczyna się każdy możliwy samouczek na świecie: OK, oto jak przeszukiwać bazę danych w php:mysql\_query(“SELECT * FROM article WHERE id =”. $\_GET[‘id’])
to takie proste !!! widzieć? To nie jest jak Java, musisz najpierw przygotować oświadczenie! To zbyt szablonowe !! Nudne !!! -
file\_get\_contents(“https://www.example.com”)
, a takżefile\_get\_contents(“../foo.txt”)
, a takżefile\_get\_contents(“php://input”)
a co masz? Ponieważ to jestfile\_*
, więc służy do pobierania zawartości pliku. Nie wspominając ofopen()
. -
error\_reporting(0)
i możesz zdziałać cuda. - Mogę bez przerwy o swojej „bibliotece standardowej”.
Zalety
- Sukcesem PHP jest moduł Apache mod\_php.
- Po prostu prześlij skrypt i działa.
- Usuń skrypt i gotowe już nie działa.
- Jeśli kiedykolwiek spojrzałeś na jakikolwiek kod, który zawiera {}, powiesz „hej, to tak jak Java | C ++ | C itd. itd., ale po prostu wstaw
$
przed nazwą zmiennej. - Prześlij skrypt przez ftp i jesteśmy na żywo, kochanie.
- PHP ma jedną z największych społeczności na świecie.
- Array? Czy to lista czy słownik? Cóż, to jedno i drugie (to naprawdę oszustwo, ale hej, ludzie lubią bzdury czegoś, co działa w obie strony, kogo obchodzi słownik, który nie utrzymuje porządku ?!).
- Jedyna rzecz, która właściwie rzucił trochę światła na PHP kompozytor. Ale z drugiej strony, prawie każdy ma obecnie jakiegoś menedżera pakietów…
- Laravel przyszedł na ratunek raz na zawsze, aby przekonać ludzi, że OOP to najlepszy sposób i musimy zapomnieć cały ten paskudny
mysql\_*()
nonsens. Jednak ludzie nie wiedzą, gdzie umieścić swoją logikę biznesową. Czy to repozytorium? Był to model czy kontroler? Albo oprogramowanie pośredniczące? Gdzie? Hmm, pozwól mi pomyśleć… Myślę, że cecha wystarczy…
Węzeł Wady
- Okropne biblioteki –
npm install winston
,hipster-webserver
itd. To naprawdę straszna rzecz, gdy chcę bibliotekę rejestrowania i muszę wybierać z 9 różnych bibliotek. Nie rób tego, po prostu nie rób tego. - Oddzwoń do diabła; nic nie można na to poradzić poza składnią async await, ale po prostu większość bibliotek to zwykłe wywołania zwrotne lub obietnice jakiegoś innego „wynalazku”, z którego autor jest dumny. Obietnice to po prostu wywołania zwrotne z mniejszym bałaganem, którym ostatnio zacząłem gardzić.
Zalety
- Wysoka prędkość wykonywania we / wy i v8. Więc co? Wszystko z libuv może to zrobić. Spakuj Pythona za pomocą MagicStack / uvloop i wykonaj testy porównawcze. Nie wspominając o innych językach, które robią to jeszcze bardziej elegancko
- Łatwe wprowadzanie. To właściwie zła rzecz. Deweloperzy frontendu odkrywający jego zdolności backendowe. Po prostu nie „t.
Node chciałbym tylko, gdyby miał jakąś specyfikację. Biblioteki byłyby idealnie zorganizowane i zaprogramowane w tym samym stylu kodowania. Przestań wymyślać swój styl . To okropne.
Jeśli spojrzysz do biblioteki innej firmy, jeśli zobaczysz organizację kodu i styl, których nie możesz nawet pojąć, po prostu się poddaję.
Węzeł jest tak, jakby ktoś dał samochód i 30000 dolarów 16-letniemu dziecku, żeby mógł go odpicować.
Z drugiej strony nie programowałbym, gdyby nie PHP. patrzę na to tak, jak dziecko patrzy na swoją najstarszą zabawkę. Nie będę się nią bawić. Ale kiedy na nią patrzę, przywołuje to pewne wspomnienia i wywołuje uśmiech na mojej twarzy.
W koniec, kiedy coś zrobisz – jeśli włożysz w to wystarczająco dużo pracy i serca, a ludzie to lubią – język nie ma znaczenia. Wynik końcowy jest wszystkim, co się liczy.
Pokój