Beste svaret
Wikipedia startet i januar 2001. Opprinnelig brukte den en annen wiki-programvare kalt UseModWiki , som ble skrevet i Perl. Sommeren 2001 ble det klart at populariteten vokser, og at den trenger noen nye funksjoner. BrukModWiki kunne for eksempel ikke håndtere mellomrom, så du måtte skrive «BuenosAires» i stedet for «Buenos Aires». Det hadde også noen ytelsesproblemer. Så en Wikipedia-frivillig forfatter Magnus Manske, som også var programmerer, bestemte seg for å skrive den Han brukte PHP ganske enkelt fordi han ønsket å lære det. PHP var et veldig populært og raskt voksende språk for å utvikle dynamiske nettsteder den gangen.
Du kan finne mer informasjon om historien til MediaWiki på disse sidene:
- MediaWiki-historie
- Hvorfor Malarias Magnus feires av Wales Wikipedia-dag
- Arkitekturen til applikasjoner med åpen kildekode (bind 2): MediaWiki
Svar
Da jeg begynte å programmere – jeg var 17 på den tiden, var PHP “det beste språket noensinne” for meg, rett og slett fordi det var så lett tilgjengelig for meg i begynnelsen.
Hvordan begynte jeg med det? Jeg installerte XAMPP på Windows-maskinen min, klikket på “start” for MySQL, Apache og det var det. Jeg var hekta. Evnen til å bare sette skriptet i /htdocs
og kjøre det via localhost / test.php var magisk.
Vil nettstedet være live? få hosting, laste opp skriptene via FTP og voila!
Database? Ikke noe problem, bare gjør den gode gamle mysql\_query()
og kaller det en dag. Noen år senere, etter å ha lært hvordan ting fungerer under panseret – dvs. å vite hva den «start» -knappen var i XAMPP – og prøvde andre språk, skjønte jeg hvor stygg, inkonsekvent, tilfeldig, usikker og rotete PHP er.
Jeg tror noen mennesker aldri kommer ut av den XAMPP-boblen, de holder seg bare med de tingene de er mest komfortable med og forsvarer den til siste åndedrag. Dette blir som en religion for dem
Hvis jeg ikke var nysgjerrig av natur, ville jeg sannsynligvis bare gjøre alt i PHP, med et snev av JavaScript for serversiden, som jeg gjorde på dagen, jeg vil sannsynligvis ha Node.js – og kanskje til og med bytte fullt ut til det.
Imidlertid misliker Node.js.
Fordeler og ulemper med nevnte ting:
PHP Ulemper
- Alle mulige paradigmer, funksjoner, hva du enn kan tenke deg – php har den implementert. Trenger du egenskaper ? Trenger du goto ? Trenger du OOP ? Trenger du funksjonelt ? Trenger du noe annet? Vi fikk det.
- De sier at PHP 7 er rask. Vel, det går fort hvis du måler det med en tom Laravel-installasjon. Prøv å installere WordPress med «vanlig plugin-oppsett», og også «multispråkvelger». Lykke til.
- Sikkerhet er en vits i php. Husker du alle disse SQL-injeksjonene? 90\% av dem var php-nettsteder fordi de bestemte seg for at det er veldig kult å ha
mysql\_query()
annonsert som «en veldig enkel måte å utføre SQL-spørsmål». Hver mulige opplæring i verden begynner: Ok her spør du hvordan databasen i php:mysql\_query(“SELECT * FROM article WHERE id =”. $\_GET[‘id’])
det er så enkelt !!! se? Det er ikke Java, du må først forberede uttalelsen! Det er for kokeplate !! Kjedelig !!! -
file\_get\_contents(“https://www.example.com”)
og ogsåfile\_get\_contents(“../foo.txt”)
og ogsåfile\_get\_contents(“php://input”)
og hva har du? Fordi det erfile\_*
så det er for å få innhold i filen. For ikke å nevnefopen()
. -
error\_reporting(0)
og du kan gjøre underverker. - Jeg kan fortsett og fortsett med “standardbiblioteket”.
Fordeler
- Suksess med PHP er Apache mod\_php-modul.
- Bare last opp skriptet så fungerer det.
- Slett skriptet og det fungerer ikke lenger.
- Hvis du noen gang har sett på en kode som har {}, vil du si «hei det er akkurat som Java | C ++ | C, etc etc, men bare sett
$
før variabelnavnet. - Last opp skriptet via ftp, så er vi live, baby.
- PHP har et av de største samfunnene i verden.
- Array? Er den listen, eller ordboken? Vel, det er begge deler (dette er virkelig en ulempe, men hei folk liker dritten av noe som fungerer begge veier, hvem bryr seg om en ordbok som ikke holder orden ?!).
- Det eneste som faktisk skinket litt lys på PHP er komponist. Men igjen, nesten alle har noen form for pakkeleder i disse dager …
- Laravel kom til unnsetning for en gang for alle å overbevise folk om at OOP er veien å gå, og vi må glemme alt det ekkel
mysql\_*()
tullet. Imidlertid blir folk forvirret hvor de skal legge forretningslogikken sin. Var det depot? Var det modell eller kontroller? Eller Middleware? Hvor? Hmm la meg tenke … Jeg tror et trekk vil gjøre susen …
Node Ulemper
- Forferdelige biblioteker –
npm install winston
,hipster-webserver
osv. Det er faktisk en forferdelig ting når jeg vil ha et loggbibliotek og må velge fra 9 forskjellige biblioteker. Vennligst ikke, bare ikke gjør det. - Tilbakeringing i helvete; ingenting kan gjøres med dette bortsett fra at asynkronisering venter på syntaksen, men de fleste av bibliotekene er ganske enkelt tilbakekallinger eller løfter om en annen «oppfinnelse» som forfatteren er stolt av. Løfter er bare tilbakeringinger med mindre rot som jeg begynte å forakte i det siste.
Fordeler
- Rask utføringshastighet for I / O og v8. Hva så? Alt med libuv kan gjøre det. Pakk en python med MagicStack / uvloop og gjør referansene. For ikke å nevne andre språk som gjør dette enda mer elegant
- Enkel oppføring. Dette er faktisk en dårlig ting. Frontend-utviklere som oppdager hans bakenden evner. Bare ikke gjør det.
Den eneste måten jeg vil ha Node er hvis den hadde noen spesifikasjoner. Hvor bibliotekene ville være perfekt organisert og programmert med samme kodestil. Slutt å oppfinne stilen din . Det er forferdelig.
Når du ser på tredjepartsbiblioteket, hvis du ser kodeorganisasjonen og stilen som du ikke en gang kan begynne å forstå, gir jeg meg bare.
Node er som om noen ga en bil og 30000 dollar til en 16 år gammel gutt, slik at han kan pimp den.
På den positive siden ville jeg ikke programmert hvis det ikke var for PHP. har en tendens til å se på det som et barn ser på sitt eldste leketøy. Jeg vil ikke leke med det. Men når jeg ser på det, gir det noen minner og smiler ansiktet mitt.
I slutten, når du lager noe – hvis du legger nok arbeid og hjerte i det, og folk liker det – betyr ikke språk. Sluttresultatet er alt som betyr noe.
Fred