[Musikken afspilles] DAVID J. MALAN: Okay. Dette er CS50. Dette er starten på uge otte. Og du husker måske, at vi slap sidste gang at kigge på et nyt sprog helt. I virkeligheden, en, der er forholdsvis let og det er ikke engang et programmeringssprog. Det er et kodesprog, der lader os faktisk strukturere og gøre websider. Og når du noget andet sammenholdt med denne-- eller du snart vil, hvis du ikke allerede har. Vi kommer til at bruge Cascading Style Sheets, eller CSS, som er en anden type sprog med egenskaber og værdier det kommer til at lade os gøre tingene gerne ændre farven og ændre placeringen og disse former for tweaks. Men i dag og fremefter, vi begynder at fokusere på mere kraftfulde sprog, faktiske programmeringssprog som PHP. Så PHP har eksisteret i nogen tid. Og som du kan se, det designet primært tidligt for faktiske bruge i webudvikling og faktisk genererer websider. Så hvad slags funktioner gør et sprog behov for at gøre web sider dynamisk med det? Med andre ord, hvis du ønsker at generere indhold dynamically-- ligesom Facebooks Nyhedsfeed, som ændrer sig hele tiden, eller chatbeskeder, der dukker op fra tid at time-- ligesom hvad er central del af funktionalitet du behøver i et programmeringssprog der ville lade dig dynamisk udskrive nye oplysninger til skærmen? STUDENT: Kode. DAVID J. MALAN: Kode. OK. Vi vil tage det. Lidt mere præcis. Jeg mener, vi kunne gøre dette med C, helt ærligt. Det ville være en smerte i nakken. Men-- er dette engagement? STUDENT: Ja. Variabler, måske? DAVID J. MALAN: Variable. OK, helt sikkert. Variabler kan helt sikkert hjælpe os ud. Og endda noget enklere. Vi brugte det i den allerførste program af den allerførste dag når vi rent faktisk sagde "Hej verden". STUDENT: Udskriv. DAVID J. MALAN: Print, right? Print eller printf i verden af ​​C. Så al den tid, vi har haft på vores rådighed en language-- C, i particular-- og endda Scratch for den sags skyld kan generere tekststrenge. Tja, hvis HTML, som vi så i sidste uge, er bare en hel masse tekststrenge omend med åbne konsoller og lukket beslag og en slags rim og årsagen til det, ja så kunne vi virkelig begynde at generere websider enten manuelt ved at skrive dem ud i gedit eller i Microsoft Word, for det matter-- vi bare brug for en tekst editor. Eller vi kunne skrive kode, til dit forslag tidligere, vil, lad os dynamisk generere HTML, og det er, hvad vi vil at begynde at gøre med PHP og i sidste ende selv med en sprog kaldet JavaScript, er at bruge et sprog til at generere en anden. Og ja, det er, hvad Facebook og mange, mange andre steder gør faktisk dynamisk vise nye oplysninger til dig. Så lad os begynde med denne-- a kryptisk leder linje, men en det er faktisk temmelig stærk. Hidtil har vi været ved hjælp af C, som er en kompileret sprog. Og kun en hurtig recap-- en kompileret sprog har hvad karakteristisk? Du selvfølgelig nødt til at kompilere det, men hvad betyder det? Ja? STUDENT: Det skal være samles til maskinkode. DAVID J. MALAN: OK. Det skal samles til maskinkode. Så du tager din kildekode, som er en slags engelsk-lignende. Du konvertere det til noget lavere niveau, som i sidste instans kaldes objekt code-- 0'er og 1'er. Og det er disse 0'er og 1-taller, der en CPU, ligesom dem fra Intel, faktisk forstår. Nu, PHP og Python og Ruby og JavaScript og klaser af andre sprog er ikke kompileret sprog, men fortolket sprog, hvilket betyder, at du bare skrive dem og derefter du behøver ikke gøre dem til 0'er og 1'er. Man i stedet bare give derefter som input til en andens program, kaldet en tolk. Og denne persons Programmet er udformet at forstå, hvad hver hver symbol i Python eller PHP eller Ruby eller en række andre sprog betyder. Og så alt hvad vi behøver er noget som dette. Så i virkeligheden, vil jeg gå over til apparatet her, bare i en hvilken som helst gamle vindue, og vi er kommer til at gå videre og åbne en fil kaldet, siger hej. Nu tidligere, jeg kunne have reddet dette selv med en filtype, men jeg har tænkt mig at gøre noget endnu enklere her. Jeg har tænkt mig at gå videre og begynde denne fil med dette kryptiske syntaks. Så "bruger, bin, ENV, for miljø, php. " Dette er blot en linje kode, der er vil fortælle mit operativsystem, gå finde i din lokale miljø uanset hvad det er, uanset hvor PHP is-- den interpreter-- og gå videre og bruge den tolk at fortolke følgende kode. Nu, dette er slags en grim funktion af PHP. Men i dette sprog enhver gang du skriver PHP kode, du nødt til at have en af ​​disse grimme PHP tags afgrænser begyndelsen af din code--