DAVID Malan: Byenveni tounen, tout moun. Se konsa, yè, ou pral sonje ke nou konsantre sou sijè sa yo isit la. Se konsa, nou te gen kat toupatou topics-- sou vi prive, sekirite, ak sosyete; teknoloji entènèt; nwaj informatique; epi finalman, devlopman entènèt. Èske nenpòt moun ki gen nan Pleasant oswa tan an yo gade yon ti kras Jan Oliver yè swa? Li nan aktyèlman trè amizan, si se pa yon ti kras fè yo pè. Nenpòt kesyon sou anyen nou te fè yè? Nenpòt CLARIFIKASYON? Nenpòt kesyon ke ou vle fè ke nou manyen sou jodi a nan kèk fòm? Se konsa, pwòp adwaz. Se konsa, sa ki nan sou ajanda a pou jodi a? Se konsa, mwen te panse nou ta kòmanse jodi a ak yon gade nan sa ki nan jeneralman li te ye tankou thinking-- enfòmatik nan risk pou yo oversimplifying, panse tankou yon òdinatè, petèt panse tankou yon enjenyè, ak ap eseye kòmanse òganize panse ou oswa nan ba ou yon sans pi bon nan sa k ap patisipe nan aktyèlman kòmandan yon òdinatè fè yon bagay pa fason pou pwogramasyon. Epitou, n ap kenbe l 'nan yon bèl wo nivo, bèl anpil lang angle, men eseye sèvi ak nan abitye egzanp yo formalizra ki jan ou ta ale sou rezoud pwoblèm. E nou pral revize kèk CS sijè, tankou distraksyon, ki te moute yon koup nan fwa yè, algoritm, ak Lè sa reprezantasyon. Epi sa a, kote nou pral kòmanse jodi a nan jis yon ti moman. Lè sa a, nou pral pran yon gade nan pwogramasyon. Nou pral pran yon gade nan kèk konstwi fondamantal ak kote ou ta ka dwe abitye ak ta ka menm jwenn byen entwisyon. Nou pral gade, an reyalite, Yon pwogram echantiyon anviwònman ki trè aksesib, trè amizan, ak tout bon vize pou laj 12 ak yo. Nou pral depanse yon kèk minit gen ak Lè sa a pran bagay sa yo nan yon nivo pi ba ak aktyèlman pale sou kèk nan algoritm yo ak done estrikti, se konsa pale, ki pwogramasyon tipikman sèvi ak yo rezoud pwoblèm byen lwen plis efikasite pase ou ta ka kapab fè san yo pa yo tout ansanm. Lè sa a, apre manje midi, nou pral pran yon gade nan pil teknoloji, ki se jis yon fason anpenpan nan di koleksyon nan teknoloji ke ou ta ka itilize yo rezoud kèk pwoblèm. Epitou, n ap pale sou alfabè a soup nan lang ki egziste today-- Java ak Piton ak C ++ ak PHP ak Ruby ak tout kalite lòt bagay. Nou pral pran yon yon ti tan gade nan modèl konsepsyon. Pwogramasyon, sou tan, gen adopte metodoloji ki gen tandans yo ede yo rezoud pwoblèm plis fasilman. Lè ou kòmanse wè tèt ou ekri kalite a menm nan Kòd ankò e ankò, moun formalizra moun plede repete yon ak enpute non yo ak Lè sa a sèvi ak yo ak ankouraje yo, finalman. Epitou, n ap pale yon ti kras sou estrateji mobil, tankou sa sa vle di aktyèlman fè yon app mobil oswa yon sit entènèt mobil. ou fè l 'pou android? ou fè l 'pou iOS? ou fè l 'pou tou de nan sa yo? Ak sa ki se komès-konpwomi yo? Lè sa a, finalman, nou pral pran yon gade pwogram entènèt, ki se yon tèm kolektif reyèlman dekri nenpòt ki lè ou ekri lojisyèl sa a, se vle di ke yo kouri sou entènèt la, si wi ou non sou telefòn oswa Bureau oswa laptops. Nou pral pran yon gade tou kout nan baz done ak desen an ladan l ', si sèlman paske prèske nenpòt enteresan aplikasyon ki baze sou wèb jou sa yo gen kèk kalite baz done. Sinon, li ta jis pou kontni estatik. Ak yon baz done pèmèt ou fè chanjman sou tan, si wi ou non tèt ou oswa nan itilizatè. Epitou, n ap konsidere kouman ou ta ale sou desine ki baz done ak ki kalite jagon ki ta ka vini nan yon nan enjenyè diskisyon nan yon tablo blan lè aktyèlman mete ann aplikasyon yon app pou premye fwa. Nou pral pale yon ti tan sou APIs, sèvis itil ke ou ka itilize yo kanpe sou la zepòl lòt moun, si wi ou non konpayi oswa moun ki, ak rezoud ou pwòp pwoblèm pi vit. Lè sa a, nou pral travayèz petèt yon ti jan ak JavaScript, yon lang programmation ki nan itilize tou de nan navigatè jou sa yo, men tou, nan serveurs. E petèt, nou pral revize, tan pèmèt, kèk nan men yo-sou entènèt bagay nou te fè yè ak entegre de la ansanm anvan nou ajoune. Se konsa, avèk that-- sa ki nan ahead-- se gen yon bagay ke ou manke ta renmen asire yo ke nou Insert ak manyen sou nan kèk pwen. Si li nan sous dlo nan lide, pote l 'moute anvan lontan. Men, poukisa pa nou kòmanse ak yon gade nan panse enfòmatik. Ak kite m 'pwopoze ke panse enfòmatik se, ankò, sòt de deskripsyon an wo nivo de ki sa yon syantis òdinatè ta ka fè. Ak tout bon, kite la kòmanse ki gen twa engredyan ki ta ka ale nan panse enfòmatik. Sa a se jis yon fason pou dekri li. Nou te kapab sètènman defini sa a nan nenpòt ki kantite fason. Men, kite m 'pwopoze, pou dedomajman pou la jodi a, ke pwoblèm nan mond lan, tout pwoblèm nan mond lan, lè pwoche bò pa yon syantis òdinatè te kapab dwe wè li kòm sa nou pral entrain rele, ki bezwen jwenn manje nan sa nou pral rele algoritm, ki Lè sa a, bay rezilta. Nan lòt mo, tout la mond nan pou rezoud pwoblèm reklamasyon mwen ka distile nan twa engredyan sa yo. Se konsa, sa mwen vle di pa entrain? Entran se jis sa w ap lage yo nan lòd yo rezoud. Pou egzanp, isit la nan yon pwoblèm lekòl fin vye granmoun. Si mwen gen yon liv telefòn isit la ak Mwen vle gade yon bagay nan li, sa a se opinyon mwen. Mwen gen 1,000 oswa konsa paj nan yon liv telefòn. Sa a se opinyon an nan pwoblèm mwen. Apre sa, mwen vle jwenn yon bagay tankou Mike Smith, se konsa yon zanmi ki gen non ak nimewo se èspere ke nan liv sa a adrès. Sa a se anvan jou yo nan selil telefòn, Se konsa, mwen pa ka jis rechèch pou li. Se konsa, mwen gen fè li fin vye granmoun lekòl ak aktyèlman rechèch sa yo entrain pou kèk repons. Epi sa repons se jis ale yo dwe rele pwodiksyon an. Se konsa, D 'a se liv la telefòn. algorithm a se tou sa seri etap mwen sèvi ak jwenn Mike Smith. Apre sa, pwodiksyon an se, èspere ke, nimewo telefòn Mike Smith nan. Lè sa a Lè sa a, ta dwe jis reprezantan nan pi nenpòt pwoblèm nan ak ou se entrain men epi ou vle yo pwodwi rezilta. Se konsa, anvan nou konsidere pwosesis la pa ki nou ka rezoud pwoblèm sa, jwenn Mike Smith ak yon bagay konsa, se pou yo konsidere premye a ak entrain yo last-- ak sorti. Fizikman, nan kou, D 'a isit la se yon pakèt antye nan papye kole ansanm nan fòm lan nan yon liv telefòn. Men, òdinatè, nan laptops course-- ak Bureau e menm telefòn sa yo days-- sa yo se aparèy elektwonik. Ak nan fen a nan jounen an, sa ki nan D 'a sèlman nan yon òdinatè? Oke, li nan yon bagay tankou sa a kòd pouvwa isit la. Mwen ploge li al antre nan miray la, ak Mwen jwenn yon koule nan elektwon, ki pèmèt m 'nan kouri machin nan. Oswa petèt moun elektwon yo kreye pa fason pou batri m 'yo. Men, nan fen jounen an, sa a, se bagay la sèlman pral antre nan laptop mwen. Se konsa, kantite ki enteresan bagay se finalman vini soti, si pa fason pou aparèy pou enprime a oswa ekran an oswa audially oswa renmen an. Se konsa, si tout sa nou gen kòm nou an fondamantal opinyon nan yon òdinatè se elektrisite, Se konsa, jis elektwon ale nan ak oswa soti, ak pou ki jan nou ka sèvi ak sa opinyon ki aktyèlman reprezante enfòmasyon? Nan lòt mo, ki jan nou jwenn ki sòti nan yon koule senp nan elektrisite reprezante aktyèl nimewo oswa lèt aktyèl oswa imaj aktyèl sou ekran an oswa sinema reyèl oswa e-may oswa nenpòt ki kantite sa yo pi wo konsèp nivo, si ou vle, ki nan la fen nan jounen an yon jan kanmenm gen yo dwe estoke nan sa a elektwonik aparèy mekanik lè l sèvi avèk se sèlman moun ki ingredients-- senp elektwon vini nan ak soti? Se konsa, li ta sanble ke, nan fòm la ki pi senp, kalite a sèlman nan eta Mwen gen nan mond m ', se konsa speak-- kondisyon nan world-- mwen an se swa Mwen gen elektwon ap koule tankou dlo, elektrisite ap koule tankou dlo, oswa m 'fè not-- sou sa, nan. Li kite yo formalizra sou yo ak sou, kòm yon syantis òdinatè ta ka, ak jis 1 ak 0. Se pou nou jis dekri kèk abitrè men ki konsistan nimewo nan li. 1 vle di sou, 0 vle di la. Oswa ou ta ka wè tou sa a kòm vre vle di sou ak fo vle di. Ou kapab tou fè nwa ak blan oswa wouj ak ble. Ou jis bezwen de deskriptè. Ak yon syantis òdinatè ta jeneralman jis itilize 0 ak 1. Se konsa, si sa a, se ka a, alfabè sèlman mwen se ki fòme ak 0 a ak 1 a, ki jan te kapab mwen pètèt jwenn nan menm nimewo a 2 nan yon òdinatè, se pou kont li nimewo 3 a oswa yon lèt nan alfabè a oswa yon imaj oswa yon fim? Ki jan nou sòt de demaraj tèt nou soti nan prensip debaz sa a nan 0 ak 1 a ak aktyèlman reprezante yon bagay ki pi enteresan? Oke, kite la mete kesyon sa a sou kenbe sèlman pou moman yon epi konsidere yon bagay èspere ke yo konnen yo, menm si ou pa te reyèlman panse sou li nan nenpòt detay pou 10, 20, 30, 40, 50 plis ane. Sa a se ki sa? Kouman ou ta pwononse sa? Pa yon kesyon Trick. Yon nimewo, men sa ki sa li ye? 1, 2, 3, oswa 123. Apre sa, mwen te renmen ki jan ou di 1, 2, 3, paske se sa yon fason pou gade li. 1, 2, 3, li nan yon sekans nan twa senbòl. Li nan foto ke nou kounye a gen mo pou. Men, si ou sòt de li yo tout ansanm, yon moun tipik nan lang angle ta ka di 123. Epi sa a, sòt de yon pi wo konsèp nivo, santi l tankou yon nimewo rezonab gwo. Men, ki jan nou te jwenn la? Oke, li ta kapab yon pandan y ap depi ou te panse sou li tankou sa a, men tounen nan jou mwen, mwen kalite te aprann sa a kòm kolòn 1 nan, 10 yo nan kolòn, ak kolòn 100 an. Se konsa, kòm Lakisa di, li se 1, 2, 3, men li la tou 123. Men, ki jan nou jwenn nan ansyen nan lèt la? Oke, ou ta tipikman fè nan kolòn 100 an, mwen gen yon 1. Se poutèt sa se tankou li di 100 fwa 1. Lè sa a, nan kolòn 10 la, mwen gen 2. Se poutèt sa se tankou li di 10 fwa 2. Nan kolòn 1 nan, mwen gen 3. Se poutèt sa se tankou li di 1 fwa 3. Men, si mwen ajoute bagay sa yo ansanm, sa a, nan kou, se 100 plis 10 a plis 3. Apre sa, oh, Se poutèt sa mwen jwenn sa a pi wo nivo nosyon nan 123. Se jis matematik de baz, annakò ak sa sa yo senbòl gen pwa yo, si ou pral, kontneur oswa valè kolòn. Apre sa, yon fwa mwen anpil anpil pitit tout bagay soti, mwen jwenn nimewo sa a. Se konsa, kouman anpil nan nou konnen ki jan yo pale binary-- 0 a ak 1's-- tankou yon òdinatè? OK, pafè, pa gen yon, oswa Pa gen yonn nan ou panse ou fè. Men, mwen ta fè reklamasyon ou aktyèlman konnen sa a deja. Nou jis bezwen sòt de ajiste modèl mantal nou an yon ti kras. Men, pwosesis la se egzakteman menm bagay la. Kite m 'kite yon sèl sa a' kanpe ak olye pou rale sa a desann pou yon moman. Nan mond lan nan òdinatè, nou sèlman gen 0 ak 1 a. Se konsa, bagay la sa a, se pral chanje se ki sa? Oke, nan mond imen mwen, la sistèm desimal, Dec siyifikasyon 10, Mwen gen chif konbyen a jete mwen an? 10, dwa? 0 jiska 9, nan kou. Epi sa a, rezon sa a genyen nan plas 10 an ak kote 100 la. Ki kote se ke vini soti nan? Oke, sa a se 10 a pouvwa a nan 0. Sa a se 10 sou pouvwa a nan 1, 10 sou pouvwa a nan 2, ak pou fè. Ou jis kenbe miltipliye kolòn ou pa 10, kòmanse koupe ak jis 1 nan yon sèl nan rightmost isit la. Se konsa, nan mond lan nan òdinatè, si ou sèlman gen binary-- siyifikasyon bi 2-- oswa 0 ak 1 a, nou jis reyèlman bezwen chanje baz la nan ki matematik. Se konsa, nan lòt mo, kounye a nou pral jis gen kolòn 1 nan ak the-- kote se sa a going-- kolòn 2 a, kolòn 4 an, e petèt pi lwen toujou. Poukisa se sa? Oke, sa a se 2 pouvwa a 0-th. Sa a se 2 1 an. Sa a se 2 a 2 a, ak sou sa. Se konsa, Lè nou konsidere ke isit la, nou gen 1, 10 an, 100 la, 1,000 a, 10,000 an, 100,000 la, 1 dè milyon, ak pou fè, isit la nou gen 1, 2, 4, 8, 16, 32, 64. Ou jis kenbe miltipliye pa 2, olye pou yo kenbe miltipliye pa 10. Koulye a, si objektif la nan men se ki reprezante nimewo lè l sèvi avèk sèlman 0 a ak 1 a, se pou yo konsidere ki jan nou rive la. Sa a, nan kou, se modèl la 0 0 0, men sa ki nimewo concept li reprezante? Oke, 4 fwa 0 plis 2 fwa 0 plis 1 fwa 0, kite a ajoute moun ansanm. 4 fwa 0 se, nan kou, 0, plis 2 fwa 0 se, nan kou, 0 plis 1 fwa 0 se, nan kou, 0. Se konsa, ah, sa a reprezante a Nimewo nou moun konnen kòm 0. Oke, kounye a, se pou yo trè byen vit vit pou pi devan. Si mwen olye pou pa reprezante 0 0 0, men kite a fè 1 0 1, ke sa ta kapab ki jan Lakisa, pi bonè, ta jis fè konnen li 1 0 1. Men koulye a,, ki jan nou pran li nan ki pi wo a nivo nimewo a nou moun ta ka konnen? Se konsa, sa se nimewo sa a? Li nan 5, nimewo a nou konnen kòm 5. Oke, poukisa se sa? Bon, nou ka vrèman sòt de mache atravè li metodikman 4 fwa 1, 2 fwa 0, 1 fwa 1. Ajoute sa yo ansanm, se konsa sa a se 4 plis 0 plis 1. Epi sa a,, tout bon, 5. Se konsa, li nan ap resevwa yon ti kras fatigan kounye a fè aritmetik a ankò e ankò. Men, pwosesis la se egzakteman menm bagay la. Bagay la sèlman ki gen chanje nan mond nou an se ke kolòn nou yo 1, 2, 4, 8, 16, ak pou fè, olye pou yo 1, 10, 100, 1,000. Epi sa a, jis paske alfabè nou an ki gen retresi ki ant 0 jiska 9 nan jis 0 a 1. Se konsa, kòm yon ti kras egzamen isit la, ki jan ta ou reprezante ki kantite 7 nan binè? 0? Oke, 0, ou vle di 0 0 0? Di l 'ankò, Karina. Pafè. Poukisa se sa? Li nan efektivman 4 plis 2 plis 1. Telman bon. Ki jan nou reprezante yon ti kras another-- ki jan sou nimewo 2? Close, men bak. Se konsa, sa sa a ye? Se 4 plis 1, se konsa sa a, se 5 ankò. Se konsa, what's-- Mwen regrèt sa, Karina? 0 1 0. 0 1 0 ta dwe 2, paske ankò, menm si li sòt de pa sote soti nan ou, jis fè matematik la. 4 fwa 0, 0, 2 fwa 1 se 2, 1 fwa 0 se 0. Se konsa, sa se nimewo a nou konnen kòm 2. Kouman sou nimewo a 8? Hm? Bon. Se konsa, nou kalite bezwen yon lòt kontneur. Nou bezwen 1 0 0 0. Epi sa a, vre nan sòt nou an nan sistèm fin vye granmoun desimal lekòl la. Ki jan ou fè reprezante ki kantite 1,000? Oke, ou ta sanble yo gen kalite nan yon plas difisil, si mande w reprezante nimewo a 1,000, paske menm si ou bay tèt ou tankou 9 nan sa yo, 9 nan sa yo, 0 de sa yo, ki se nimewo a pi gwo ou gen, ou pa t 'byen ale nan 1,000. Se konsa, si ou 1,000, ou jis bezwen yon lòt pozisyon, se konsa ke ou ka fè 1 0 0 0, èrgo nimewo a 1,000. Se konsa, kounye, se pou yo kat jeyografik sa a sòt de konseptyèl ekspresyon diskisyon tounen nan pyès ki nan konpitè, kote ankò, D 'a te jis sa a ti kras pouvwa kab, elektrisite vini nan ak ap koule tankou dlo soti. Se konsa, pou sa yo dwe trase soti isit la a, byen, sa nou te reyèlman bezwen? Oke, ou ka panse pou yo te andedan nan yon òdinatè, yon pakèt antye nan anpoul limyè, si ou pral. Yo ap reyèlman rele tranzistò. Apre sa, tranzistò yo se jis switch ki ka swa gen limen oubyen etenn. Se konsa, ou ka panse a yon tranzistò sa a, se sou se sa ki pèmèt elektrisite nan koule ak yon tranzistò sa a, se li kòm kanpe elektrisite soti nan ap koule tankou dlo. Apre sa, olye ke pran sou limyè yo isit la, poukisa yo pa m 'fè sa a sòt nan style nouvo lekòl. Se konsa, sa a ta kapab yon 1, yon flach yo te sou, se sèlman apèn menm si. Lè sa a ta kapab yon 0, e kounye a, li nan nan. Se konsa, lè l sèvi avèk aparèy fizik sa a, mwen kapab kounye a reprezante sistèm nan binè. Mwen jis bezwen de eta yo. Li pa enpòtan sa koulè li se oswa sa li ye. Tout sa ki zafè se ke mwen gen yon eta sou yo ak sou yon lòt eta an. Se konsa, lè l sèvi avèk telefòn mwen isit la, ki jan mwen reprezante ki kantite nou konnen kòm 0? Oubyen yo mete li équivalant, ki sa Nimewo mwen reprezante kounye a? 0, paske aparèy la se la. Men, si mwen fè sa? Epi, koulye a, ki jan mwen reprezante ki kantite 2? Èske mwen ka prete telefòn ou isit la, jan nou te fè yè? Se konsa, kite a wè, se konsa si mwen vle reprezante nimewo a 2, se sa a nimewo a 2? No Ki nonb mwen aksidantèlman reprezante isit la? Sa a se aktyèlman nimewo a 3. Se konsa, ki youn fè mwen vle fèmen? Telefòn nan nwa or-- byen, si they're-- telefòn nwa oswa telefòn nan blan? Telefòn nan blan. Se konsa, si mwen fèmen sa a ak nou liy l 'kanpe sou isit la, nou gen yon 1 nan plas 2 a ak yon 0 nan plas 1 an. Se konsa, mwen se kounye a reprezante nimewo a 2. Lè sa a, Natirèlman, ta dwe nimewo a 3, paske kounye a tou de ki kreye tout limyè sa yo yo sou. Apre sa, mwen pral sispann isit la, men li vle di rezon si mwen vle reprezante a nimewo 4 oswa 8 oswa pi wo, Mwen pral bezwen plis telefòn. Men, sa a tout sa ki k ap pase sou. Se konsa, si ou te janm vin konnen andedan nan a-- remèsye you-- òdinatè se dè milyon de tranzistò, sa a, se jis dè milyon de ti switch ti kras. Apre sa, yo ap pa limyè anpoul ki vire sou yo ak sou, men yo swa pèmèt elektrisite dlo koule yon kote oswa sispann li. Se konsa, gen nan de ou STATES-- limen oubyen etenn, limen oubyen etenn. Se konsa, nou ta sanble kounye a gen kapasite sa a ki reprezante konsèp sa a ki nou ta renmen nan aktyèl kenkayri. Men, tout sa nou gen kounye a se kapasite a ki reprezante nimewo li ta sanble. Se konsa, kouman nou ale sou reprezante lèt nan alfabè a, ki santi l tankou sòt nan pwochen nan karakteristik ou ta vle ajoute nan yon òdinatè modèn yon fwa ou gen nimewo? Ak tout bon, si ou panse sou li, istorikman, òdinatè Yo te vin entwodwi reyèlman yo sèvi kòm Kalkilatris numériquement. Men, nan kou, sa yo jou, yo fè plis ankò. Menm lè yo bòt moute, ou tipikman wè youn oswa plis mo yo. Se konsa, kouman ou reprezante mo, si tout sa ou genyen se, ankò, kouran elektrik la nan nan fen a jou, oswa équivalant 0 ak 1 a? Yeah. Yeah, mwen vle di, nou kalite te fè yè sa a nan kèk fòm, kote nan kèk pwen, Mwen panse ke mwen abitrèman te di ke, si nou vle reprezante a lèt A, nou te ka jis rele ke yon 1. Li te nan kontèks la nan chifreman, kote nou jis bezwen kèk kalite kòd, kèk kalite kat. Se konsa, petèt Yon ap reprezante kòm yon 1, ak B yo pral reprezante kòm yon 2, ak Z ap reprezante kòm yon 26, pou egzanp. Lè sa a, opozisyon an sèlman se ke si mwen ale nan programme lèt nan Imèl m ' oswa nan mesaj tèks m ' kòm nimewo, nou tout oblije dakò ak demann yo sèvi ak nan seri menm nan konvansyon. Ak tout bon, mond lan te fè egzakteman sa. Gen yon sistèm nan mond lan rele ASCII, Haitian Creole Kòd pou Enfòmasyon Interchange, ki se tou senpleman yon desizyon kèk ane de sa ke moun yo te fè ki deside ke Yon ki pral egal, pa 1, 2, ak 26, e konsa forth-- li nan yon ti kras different-- men 65, 66, 67. Apre sa, mwen pral rale moute yon tablo nan jis yon moman. Men, li la abitrè. Men, li pa gen pwoblèm ke li nan abitrè. Mond lan te jis pou ki konsistan. Koulye a, pi plis dènyèman, gen nan yon bagay amateur rele Unicode, paske kalite nan mond lan nan reyalize, apre yo fin envansyon òdinatè, ke gen nan plis pase byen 256 senbòl nan mond lan ke nou ta ka vle reprezante, espesyalman lè ou prezante lang Azyatik ak lòt senboloji ki bezwen plis ekspresyon pase ou ka anfòm nan vèsyon an pi bonè nan sa a kòd, ki te rele ASCII. Se konsa, Unicode aktyèlman pèmèt ou yo sèvi ak plis 0 a ak 2. An patikilye, ou kenbe tande nan mo bytes nan sosyete a epi menm jis yè. Ak yon multiple se sa ankò? Ki sa ki nan yon multiple? Se jis 8 miyèt moso. Se konsa, sa ki vrèman vle di? Oke, sa vle di, pi bonè, lè nou te ap pale de binè epi mwen te lè l sèvi avèk abitrèman twa Bits lè nou te ap pale de binary-- plas 1 an, 2 nan plas, ak nan a 4 place-- byen, yon multiple jis vle di ke w ap pale pa nan inite nan twa men kat, senk, sis, sèt uit, ki ba nou plas 8 la, 16 a, 32 an, 64 an, ak 128 nan. Nan lòt mo, yon ti jan se pa tout ki itil yon inite nan mezi, paske li nan jis tankou yon ti kras ti moso nan enfòmasyon, limen oubyen etenn. Se konsa, kèk ane de sa, mond lan jis deside li nan yon ti kras pi bon yo pale nan tèm de bytes, uit bagay sa yo nan yon tan. Se konsa, konsa te fèt nosyon de yon multiple. Se konsa, nou gen uit Bits isit la. Epi li vire soti, tou, pou menm jan an rezon, mond lan deside ane Anons sa pibliye depi ke yo reprezante yon lèt ASCII, w ap ale nan sèvi ak inite nan 8 miyèt moso. Se konsa, menm si ou pa fè sa bezwen ke anpil, w ap toujou ale nan sèvi ak 8 Bits reprezante yon lèt nan alfabè a. Lè sa a se pratik, paske lè sa a si ou resevwa yon mesaj ki gen yon 0 0 0 1 1 1 1 0 ki te swiv pa yon lòt 1 1 1 0 1 0 0 1, kidonk si w resevwa 16 Bits, mond lan ka jis asime ke premye 8 nan yo se yon lèt ak dezyèm 8 nan yo se yon lòt lèt. pa gen pwoblèm konbyen gen. Li jis zafè ki nou ap tout ki konsistan lè nou ap entèprete Bits sa yo. Lè sa a te jis o aza. Sa vle di yon bagay, men mwen pa t ' reyèlman panse osijè de sa li vle di. Se konsa, li yon ti manti blan. Originally, ASCII aktyèlman itilize sèlman 7 miyèt moso. Apre sa, ti jan a wityèm se rele pwolonje ASCII. Men, pwen an se, finalman, menm bagay la. Mond lan jeneralman ofisyèl sou 8 miyèt moso. Se konsa, sa a ta sanble yo gen yon ti kras limite, paske mwen ka sèlman reprezante kapital A, kapital B a Z. kapital Men, tout bon pa, lè m 'ale to-- gen nan yon pakèt moun sou resous sou entènèt, pou egzanp, asciitable.com, sa a a pwal yon ti kras akablan nan premye. Men, mwen pral pwen soti sa ki enpòtan isit la. Sa a jis k ap pase nan be-- ak mwen pral walk-- kite a wè, si m 'ale sou isit la. Isit la se, nan desimal a kolòn, nimewo a 65. Yo, epi sou lèt la kolòn men dwat karaktè, kr, se lèt A. la Epi ou ka inyore, pou kounye a, tout bagay nan mitan yo. Sa a se ekzadesimal, oktal, ak yon kòd HTML. Nan sit sa a se jis ap eseye voye jete yon anpil nan enfòmasyon nan ou nan yon fwa. Men, tout sa nou pran swen sou se desimal a kolòn ak kolòn nan karaktè. Se konsa, pa sa a lojik, ki sa ki nimewo a ke mond lan te deside reprezante yon miniskil yon? Yeah, 97. Epi jis konfonn potansyèlman yon ti kras, ki nimewo li te mond lan deside ta ka repwezante nimewo a 1? Dwa, paske we-- 49, li sanble isit la, desann nan pati anba a kite. Koulye a, sa mwen vle di pa sa? Se konsa, li sanble ke nan sistèm òdinatè, gen se jeneralman yon fondamantal diferans ant yon nimewo ak yon karaktè. Yon nimewo se bagay ki nou aprann ap grandi lè nou te super jèn nan lekòl klas. Li nan bagay sa yo ou konte avèk yo. Men, yon karaktè se jis yon fòm, yon glif, se konsa pale, sou ekran an. Koulye a, nou moun sòt de wè yon bagay ki sanble tankou sa a. Epi nou di, o, ki se nimewo a 2. Men, pa gen, sa se sèlman yon senbòl ki sanble tankou sa nou konnen kòm nimewo a 2. Se konsa, gen nan sa a fondamantal distenksyon ant nimewo aktyèl ak karaktè. Sa a se yon kantite. Men, jeneralman, nan la kontèks nan yon òdinatè, si ou olye pou wè yon bagay tankou sa quoted-- epi ou fè pa toujou gen wè li te site, men pou dedomajman pou la discussion-- si ou wè quotes alantou nimewo a, sa a se kounye a yon karaktè. Se konsa, nimewo sa a 2 anba kapo a andedan nan yon òdinatè ta dwe reprezante ak yon modèl nan Bits ki reprezante ki kantite 50 dapre tablo sou entènèt. Sepandan, si yon òdinatè jis wè sa a, sa a ta dwe reprezante ak a modèl nan ti jan 0 0 0 0 0 0 1 0. Lè nou konsidere ke, pèsonaj sa a ta aktyèlman ap reprezante as-- epi kounye a, Mwen te rive nan panse ke yon harder-- ti kras se konsa sa a pèsonaj ta dwe reprezante ak 0 0 1-- sa mwen bezwen isit la? 0 0 1 1 0 0 1 0. Kouman pou mwen t 'fè sa a? Oke sa a se nimewo a 50, si ou anpil anpil pitit li soti lè l sèvi avèk kolòn sa yo, sa a se nimewo a 2, e konsa Se poutèt sa gen dikotomi sa a. Lè sa a se jis yon kol kounye a pou karakteristik ki egziste nan lang programmation ke nou pral manyen sou yon ti tan pita jodi a. Nan lang programmation, ou gen jeneralman, men se pa toujou, bagay sa yo rele kalite done diferan. Nan lòt mo, yon programmer-- lè li ap ekri, yon pwogramè vin deside nan sa ki fòma nan magazen done li. Ou kapab swa magazen done kòm nimewo anvan tout koreksyon, tankou nimewo a 2. Oswa ou ka sere yo kòm strings, oswa sekans nan karaktè ke ou ta jeneralman eksprime ak quotes nan lang programmation ou yo. Ou ka gen bagay sa yo called-- Mwen pral senplifye ak rele yo reyèl numéros se konsa nimewo ki yo pa nonm antye relatif tankou nimewo a 2, men nimewo renmen 4.56. Se konsa, nonm reyèl kapab tou gen pwen desimal, se konsa sa a, se yon diferan fondamantal moso nan done nan yon òdinatè. Lè sa a, ou ka menm gen lòt kalite done toujou. Se konsa, sa se sèlman yon kol reyèlman nan pi senp la nan desizyon konsepsyon ki yon pwogramè ta ka fè anba kapo a. Se konsa, nenpòt kesyon jis ankò? Se konsa nou eseye fè sa a yon ti kras plis reyèl. pyès ki nan konpitè Sa a se pa anpil nan itilize ankò. Men, pi fò tout moun nan sal sa a pwobableman te grandi ak epi ou toujou ap sèvi ak kondui difisil nan kèk fason. Menm si pi fò nan laptops nou an pa gen okenn ankò gen aparèy ki ap fonksyone tankou sa a, olye pou laptops jodi a jeneralman gen solid kondui eta ki pa gen okenn pati k ap deplase. Epi sa gen tandans ka pi chè, malerezman, men yon ti jan ti kras pi vit ak a-- byen, souvan, yon anpil pi vit, ki se youn nan rezon ki fè yo. Epi tou li pa fè sa jenere chalè kòm anpil. Li kapab pi piti, se konsa li a jeneralman yon nèt pozitif. Men, sa a pèmèt nou nan kat jeyografik yon ti kras pi plis konkrètman sa nou ap pale de nan a an 0 ak nivo 1 pou nou kounye a nan yon aparèy fizik. Li nan yon sèl bagay pou m 'pale sou 0 ak 1 a an tèm nan telefòn mwen oswa abstrè nan tèm nan switch yo te sou yo ak sou. Men, sa ki sou kondui difisil? Nan laptops ou, si ou gen yon pi gran yon sèl, oswa nan òdinatè Desktop ou, oswa sètènman nan serveurs jodi a, ki kote ou gen kondui difisil sa yo ki te yon teraokte nan espas, 4 teraokte nan espas, byen sa sa vle di? Yon kondwi difisil ak 1 teraokte nan espas vle di gen nan 1 billions bytes andedan nan li yon jan kanmenm, oswa équivalant 8 billions Bits anndan an. 1 teraokte ta dwe 8 ​​terabits oswa 1 billions Bits, ki vle di si ou gen yon difisil kondwi, ou gen yon jan kanmenm oswa lòt yon billions 0 a ak andedan 1 an nan li. Men, si nou jis pran yon gade nan yon abitrè foto nan yon kondwi difisil reprezantan, sa a se sa yon difisil kondwi ta ka tipikman gade tankou anndan an. Li, tou, se kalite tankou yon jwè disk fin vye granmoun men jeneralman ak miltip dosye andedan, se konsa speak-- miltip gwo bòl, menm jan yo ap rele, metal disk sikilè, ak Lè sa a, yon ti kras tèt lekti, anpil tankou yon jwè dosye fin vye granmoun. Epi sa tèt lekti deplase retounen lakay yo epi soti ak yon jan kanmenm li Bits yo. Ak sa ki nan sou gwo bòl sa yo, menm menm si nou moun pa ka wè yo, swa an reyalite oswa nan foto sa a, gen nan ti ti kras patikil mayetik. E menm si ou te lontan bliye ki jan elektrisite ap travay, yon patikil mayetik ki nan chaje jeneralman gen yon fen nò ak yon sid end-- se konsa nò ak nan sid. Se konsa, mond lan jis deside kèk tan de sa sa a, si yon pwotokòl mayetik esansyèlman se ki aliyen tankou sa a, nò-sid, kite a rele ke yon 1. Si li nan olye pou sid-nò, kite yo jis rele ke yon 0. Se konsa, si ou gen nan jete ou yon billions ti ti kras mayetik particles-- ak èspere ke, entèlijans la pyès ki nan konpitè nan lòd yo baskile moun ki bò kote ke ou wè fit-- si ou vle reprezante yon pakèt antye nan 0 a, ou jis bezwen 8 patikil mayetik tout ki aliyen tankou sa a. Men, si ou vle reprezante uit 1 an, ou jis bezwen 8 patikil mayetik ki aliyen tounen nan tounen nan do tankou sa a. Ki sa mwen vle di pa la patikil mayetik? Franchman, tout ane sa yo pita, la bagay ki toujou vini nan lespri mwen se nèg sa a, si ou te grandi ak zafè sa a. Sa a se yon little-- pou moun unfamiliar-- yon ti kras jwèt timoun ki gen moun chov sa a isit la ki gen tout bagay sa yo ti nwa ti kras patikil mayetik ki vini ak li. Apre sa, lè l sèvi avèk ki baton wouj, ki se jis yon leman, ou ka sòt de ba l 'yon moustach oswa sousi oswa cheve oswa nenpòt bagay sou li. Se konsa, an reyalite, si nou rale nan, pou egzanp, sa a se ki kalite jwèt ou ka jwe ak Wooly Willy. Lè sa a se sèlman vle di, sa yo yo se pi gwo patikil mayetik pase yo aktyèlman sou yon kondwi difisil, e li lwen mwens patikil mayetik. Men, kite a aktyèlman wè Lè sa a, si ou gen ti patikil mayetik nan yon kondwi difisil, ki jan ou ka aktyèlman sèvi ak sa yo ki reprezante done. [VIDEO lèktur] -La Kondwi difisil se kote PC ou magazen pi fò nan done pèmanan li yo. Pou fè sa, done yo vwayaje soti nan RAM ansanm ak siyal lojisyèl ki di nan kondwi difisil ki jan nan magazen ke done. sikui yo kondwi difisil tradui sa yo siyal nan fluctuations vòltaj. Sa yo, nan vire, pou kontwole, kondwi a la difisil k ap deplase parts-- kèk nan kèk k ap deplase nan pati kite nan òdinatè a modèn. Gen kèk nan siyal yo kontwole yon motè, ki vire gwo bòl metal-kouvwi. Done ou se aktyèlman ki estoke sou gwo bòl sa yo. Lòt siyal deplase tèt yo Read / ekri li oswa ekri done sou gwo bòl yo. machin sa a se konsa egzak ki yon grenn cheve moun pa t 'kapab menm pase ant tèt yo ak bondi gwo bòl. Men, li tout travay nan vitès formidable. [FEN lèktur] Epi ou ka wè nan a ke nan fen videyo a, gen yo jeneralman gwo bòl miltip. Se konsa, ke tèt lekti se pa sèlman lekti tèt la. Li nan kalite tankou twa oswa kat oswa plis tèt lekti ke deplase tankou sa a, lekti done ansanm. Se konsa, gen nan yon anpil nan konpleksite ak sòt de distribisyon ki nan patisipe nan yon kondwi difisil. Epi bagay la se k ap vire vrèman reprize vit, se konsa gen nan yon anpil nan konpleksite. Men, kite a rale nan yon ti kras pi fon ak wè kote yo sa yo patikil mayetik ak ki jan yo nou ap vin nan yo. [VIDEO lèktur] gade -Kite a nan sa nou jis te wè nan mouvman dousman. Lè yon batman kè tou kout sou elektrisite se voye nan tèt la lecture / ekri, li viraj sou yon elektwomayetik ti pou yon fraksyon nan yon dezyèm fwa. leman a kreye yon jaden, ki chanjman polarite a nan yon ti, ti pòsyon nan patikil yo metal ki rad sifas chak plato a. Yon seri modèl nan sa yo ti chaje moute zòn sou ki gen kapasite a reprezante yon ti jan sèl nan done nan la binè sistèm nimewo itilize pa òdinatè. Koulye a, si se aktyèl la voye yon sèl chemen pou rive nan tèt la lecture / ekri, se zòn nan polarization nan yon direksyon. Si yo aktyèl la voye nan direksyon opoze a, se polarization la ranvèse. Kouman nou ka jwenn done sou ki gen kapasite a difisil? Jis ranvèse pwosesis la. Se konsa, li patikil yo sou mòn lan ki gen kapasite ki jwenn aktyèl la nan tèt la lecture / ekri deplase. Mete ansanm dè milyon de sa yo segments sèmante, ak ou te gen yon dosye. Koulye a, moso yo nan yon dosye sèl pouvwa gen gaye tout lòt peyi sou gwo bòl yon kondwi a, kalite tankou dezòd la nan papye sou biwo ou. Se konsa, yon dosye espesyal siplemantè kenbe tras nan kote tout bagay se. Pa fè sa ou vle ou te gen yon bagay konsa? [FEN lèktur] Se konsa, ke yo te mansyone nan la, petèt, se ki sijè soti nan yè nan sipresyon. Lè ou efase yon dosye, yè nou te di ki yon òdinatè aktyèlman fè sa, lè ou trennen yon bagay bwat la Resikle oswa fatra bin? Li jis bliye li. Men, nan 0 a ak 1 a, patikil yo mayetik ki gade tankou wouj ak ble bagay isit la, oswa bra m 'isit la, yo toujou gen sou kondwi a difisil. Se konsa, gen egziste software-- Norton Sèvis piblik yo ak antan ak lòt plis modèn software-- ki jis pral analysis yon kondwi antye difisil kap nan tout moun sa yo nan 0 ak 1 a, paske li sanble ke pi formats-- dosye dokiman Word, Excel dosye, imaj, videyo files-- tout gen sèten modèl ki komen nan mitan yo. Chak dosye videyo ta ka dwe nan yon videyo diferan, men premye plizyè nan Bits yo anjeneral menm bagay la. Ou dènye Bits yo plizyè yo anjeneral menm bagay la. Se konsa, ak gwo pwobablite, ou ka gade pou modèl sa yo. E menm si te dosye a te bliye, ou ka di ak gwo pwobablite, men sa a sanble yon dokiman Word, pèmèt refè li epi un-bliye li, si ou pral. Se konsa, sa a, se ki jan ou ka refè done ki nan swa te aksidantèlman efase oswa efase oswa fè espre efase pou kèlkeswa rezon. Nan kontras, sekirite sipresyon fè sa nan yon kontèks la nan yon foto tankou sa a? Egzakteman, fè yo tout o aza. Se konsa, li sòt de deplase kèk nan yo desann, kèk nan yo leve, kite kèk nan yo chanje, ak jeneralman fè bri o aza soti nan li, oswa jis petèt fè tout nan yo 0 a oswa tout nan yo 1 an. Epi sa twò kapab jeneralman fwote done ou ale. Se konsa an n retounen kounye a nan pwoblèm nan nan panse enfòmatik, annakò ak sa nou gen entrain yo fòmil. Ak algoritm bay ou sorties finalman. Nou konsantre kounye a sou entrain ak rezilta, paske kounye a, mwen reklamasyon nou gen yon fason pou reprezante entrées ak sorti. Nou jis ap ale nan sèvi ak binè. E pa gen pwoblèm ki sa nou vle reprezante jodi a, si li nan yon nimewo oswa yon lèt oswa dè milye ladan l 'nan yon liv telefòn oswa imaj oswa sinema, nan fen nan jounen an, li la tout nan 0 ak 1 a. Apre sa, mwen reklamasyon ke, menm si sa a se yon mond super senp ak jis 0 a ak 1 a, nou ka bati tèt nou yo. Apre sa, nou te wè yon egzanp sou ke ak lèt ​​konsa byen lwen. Se konsa nou konsantre kounye a sou sa a engredyan presegondè, yon algorithm. Li kite yo retounen nan sa a egzanp nan Mike Smith. Se konsa, nan liv sa a telefòn, ki Byensir, nou pa itilize anpil ankò, gen yon pwoblèm yo dwe rezoud. Nou vle jwenn yon moun tankou Mike Smith. Sa m 'ta ka fè yo jwenn Mike? Oke, mwen te kapab jis louvri moute sa a liv, kòmanse nan premye paj la, ak reyalize, o, mwen se nan seksyon an A. Mike a pa la. Mwen bezwen seksyon an S pou Smith. Se konsa, jis kenbe vire yon paj nan yon tan. Kite m 'pretann ke sa a se tout paj blan ak paj pa jòn, paske nou pa ap ale nan jwenn Mike nan paj sa yo jòn de tout fason. Men, mwen nan paj sa yo blan. Epi, koulye a, mwen nan seksyon an B. Mwen toujou pa jwenn li. Se konsa, mwen kenbe vire yon paj nan yon tan. Sa a se yon algorithm. Li se yon seri enstriksyon pou rezoud kèk pwoblèm. Nan lòt mo, gade nan paj, si Mike a pa sou li, vire paj, ak either ankò, li ankò e ankò, depreferans kap desann jan ou ap fè li. Se konsa, se sa a algorithm, pwosesis sa a, kòrèk? Padon. Non, mwen tande kèk NOS. OK, men li is-- yeah, li la sètènman fatigan. Tankou, nou pral isit la tout jou si mwen kenbe kap chèche Mike nan vitès sa a. Men, kite m 'fè reklamasyon li nan kòrèk. Li nan estipid, men li la kòrèk. Nan fen jounen an, lontan ke li ta ka pran, mwen pral jwenn Mike si li se nan la ak mwen peye atansyon. Apre sa, mwen evantyèlman rive nan paj l 'yo. Men, si mwen jwenn twò lwen, si Mwen jwenn nan seksyon an T, Lè sa a, mwen kapab yon ti kras optimize ak jis di, hm, tout fè. Mwen pa menm bezwen gaspiye tan ale nan nan nan Z. Men, sa a se yon trè lineyè apwòch, si ou pral, yon trè sòt de kite-a-dwa apwòch, yon liy dwat. Ak kòrèk men ralanti li yo. Se konsa, mwen sonje soti nan lekòl klas, sòt nan yon optimize ki sòti nan yon elèv klas premye, kote mwen te aprann ki jan yo konte pa pa yo menm men pa twos-- se konsa 2, 4, 6. Li se yon, anpil pi rèd fè, men nan teyori, li nan faster-- 8, 10, 12, 14, ak pou fè. Kouman sou ki algorithm? Èske li pi efikas? Èske li pi vit? ODYANS: Li nan efikas. DAVID Malan: Yeah, se konsa li a def-- li a literalman de fwa osi vit, an konsideran mwen fè pa jwenn trebiche moute ak dwèt mwen. Li nan de fwa osi vit, paske Mwen vire nan de paj nan yon fwa olye de yon, men li la potansyèlman nan kòrèk, paske poukisa? ODYANS: W ap sote kèk. DAVID Malan: Dwa, sa ki si Mike k ap pase yo dwe sandwiched-- petèt lè mwen se pita nan liv la telefòn, Mike k ap pase yo Sandwitch ant de paj sa yo, ak mwen jis je fèmen sote sou li. Se konsa, nou bezwen yon ranje ti kras la. Yon fwa mwen frape seksyon an T, mwen pa ka jis konfyans di, nou pa t 'jwenn Mike Smith. Mwen pwobableman gen a doub tounen. Oswa nan reyalite, yon fwa mwen rive nan yon moun yo te rele S-N, olye pou yo S-M pou Smith, imedyatman, mwen te kapab double tounen, paske petèt li te sou paj la anvan yo. Men, mwen pa gen a doub tounen lwen. Nan teyori, si mwen fè l 'sou bò dwat nan tan, mwen jis ale tounen yon sèl paj. Se konsa, li ajoute sèlman yon sèl siplemantè etap. Se konsa, mwen te ale de fwa osi vit, men li koute m 'yon paj siplemantè. Men, ki santi l tankou yon genyen nèt. Men, sa a se pa ki jan pi fò moun nan sal sa a ta ka rezoud pwoblèm sa a. Ki sa ki ta yon moun tipik, petèt yon kèk ane de sa fè, jwenn Mike Smith? Yeah, pa t 'jwenn Mike. Kisa pou mwen fè? Se konsa, jwenn yon ti kras pi pre, men mwen fè know-- ki sa ki vre sou yon liv telefòn? ODYANS: Li nan sekans. DAVID Malan: Se sekans. Li nan alfabetik. Se konsa, si mwen se nan seksyon an M, Mike se byen klè a dwat la, Mwen kapab literalman chire pwoblèm nan nan half-- li la anjeneral pi fasil pase dlo that-- pwoblèm nan nan mwatye voye jete byen lwen, se konsa ke kounye a, Mwen gen yon pwoblèm sa a, se pa gen okenn ankò 1,000 pages-- ki te difisil, paske mwen panse ke mwen aktyèlman chire liv la sa a telefòn time-- pa 1,000 paj, men 500. Se konsa, pwoblèm nan se literalman mwatye kòm gwo. Epi sa a, bèl irezistib, paske ak algoritm anvan m ', vèsyon 1 ak 2, mwen te sèlman fè pwoblèm nan yon paj ki pi piti, de paj ki pi piti nan yon tan. Lè nou konsidere ke kounye a, mwen te fè li 500 paj pi piti tout nan yon fwa. OK, se konsa koulye a, Karim pwopoze ke mwen ale nan mwatye a dwat. Se konsa, mwen pral ale apeprè nan mitan an, bay oswa pran. Men, si m 'te fè sa a matematik, Mwen te kapab ale dwat nan mitan an. Epi, koulye a, mwen reyalize, o, Mwen se nan seksyon an T. Mwen aktyèlman t 'ale twò lwen. Men, mwen ka, ankò, chire nan pwoblèm nan mwatye, voye jete byen lwen. Apre sa, bytes mwen pa tankou gwo. Li nan sèlman, ki sa, 256 paj oswa 250 paj, bay oswa pran kounye a. Men, li la toujou fason pi plis pase yon paj oubyen de paj. Se konsa, kounye a, m 'ale rèd ak mitan yo. Oh, mwen pa t 'ale byen lwen ase kounye an. Se konsa, mwen repete, repete, repete, repete, jouk tan mwen se èspere ke kite avèk sèlman yon sèl paj. Se konsa, ki envite kesyon an, si mwen te kòmanse avèk apeprè 1,000 paj, ki jan anpil etap sa te pran m ' ak vèsyon 1 nan algorithm mwen an? Bon, si Mike se nan S a seksyon, nan ka ki pi mal la, sa a, se trè fèmen nan nan fen alfabè a. Se konsa, si liv telefòn gen 1,000 paj, Mwen pral jwenn Mike nan 1,000 paj, bay oswa pran. Petèt li a tankou 800 oswa konsa, men li a trè fèmen nan 1,000. Lè nou konsidere ke, nan dezyèm lan algorithm, konbyen paj vire omaksimòm ta ka mwen mande pou jwenn Mike Smith? Genyen 1,000 paj, men mwen fè yo de nan yon tan. Dwa, se konsa max tankou 500ish, paske si mwen ale nan anyè telefòn lan antye, nan ki pwen, mwen ka sispann. Men, mwen ka koupe tout cheve sou yon kèk pa jis kanpe nan seksyon an T. Men, li la nan ka pi move 500 paj. Se konsa, kouman anpil fwa mwen kapab divize yon 1,00o-paj liv telefòn nan mwatye ankò e ankò ak again-- soti nan 1,000 a 500 a 250 a 125? Konbyen tan anvan m 'frape yon paj? Yeah, li a sou 10. Tou depan de awondi ak sa yo, li nan sou 10 paj bezwen manm yo dwe vire oswa liv telefòn bezwen yo dwe chire. Se poutèt sa se bèl gen anpil pouvwa. Nou te kòmanse ak yon pwoblèm 1,000-paj nan tout twa nan istwa sa yo. Men, nan algorithm nan premye, li te pran m ', pi move ka, 1,000 paj tounen vin jwenn jwenn Mike. Dezyèm algorithm, 500 paj jwenn Mike. Twazyèm algorithm, 10 paj jwenn Mike. Epitou, se menm plis pwisan lè ou panse sou sòt de yon senaryo opoze. Sipoze ke konpayi an telefòn pwochen ane petèt vin melanje de tout ti bouk ansanm, ak liv la telefòn se toudenkou sa a epè, olye pou yo sa a sa, se konsa 2,000 paj olye pou yo 1,000. Oke, algorithm premye fwa mwen kap chèche Mike Smith nan yon liv telefòn 2,000-paj, vin pi mal ka, li nan pral pran konbyen paj vire ane pwochèn? liv Telefòn se 2,000 paj, so-- byen, pa gen yon sèl plis. Si liv la telefòn se de fwa tankou byen pwès desann kouvri algorithm nan premye, premye algorithm, 2,000, dwa? Nan ka ki pi mal la, Mike se reyèlman fèmen nan fen a nan liv la, se konsa li a 2,000 vire paj. Dezyèm algorithm ap pase Dezan, tankou 1,000 paj. Men, ki jan sou nan twazyèm mwen ak ki pi resan algorithm? Si konpayi a telefòn double nan Nimewo nan paj soti nan 1,000 a 2,000, ki jan anpil plis fwa bezwen mwen chire ke liv nan mwatye jwenn Mike? ODYANS: Jis yon sèl. DAVID Malan: Jis yon sèl plis, paske avèk yon paj dlo, Mwen kapab literalman divize ak konkeri, si ou pral, ke pwoblèm nan mwatye pran yon mòde masiv soti nan li. Se konsa, sa a se yon egzanp sou efikasite ak joui yon algorithm ak ki tout moun nan nou yo sòt de entwitif yo konnen yo. Men, li la menm jan kòrèk ke lòt algoritm mwen ak sa tweak pou algorithm, dezyèm lan, men li la pou pi plis efikas. Men, an reyalite, ki sa yon òdinatè syantis, oswa nan vire yon pwogramè, ta tipikman fè lè li ap ekri kòd se eseye figi konnen, tout dwa, mwen pa vle m ' pwogram jis yo dwe kòrèk, Mwen vle tou li nan dwe efikas ak rezoud pwoblèm byen. Imajine nan mond reyèl la jodi a, tankou Google endis, rechèch tankou dè milya de paj, imajine si yo itilize algorithm nan premye jwenn chat nan mitan yon milya dola pages-- gade nan premye paj la nan baz done yo, dezyèm lan, twazyèm lan, jis kap pou yon chat, kap chèche yon chat. Sa a trè reprize ralanti li ta sanble. Yo te kapab olye pou sèvi ak yon bagay rele rechèch binè, ki gen okenn bi coincidence-- sa vle di de, nou kenbe divize yon bagay nan 2, nan half-- yo ta ka itilize rechèch binè e petèt jwenn chat menm pi vit, oswa tou sa li se w ap chèche pou. Apre sa, franchman, gen nan menm amateur algoritm ki fè pi plis pase jis divize bagay sa yo nan mwatye yo nan lòd yo jwenn enfòmasyon byen vit. Epitou, n ap pale yon ti kras sou moun apre manje midi jodi a. Se pou m 'jis eseye reprezante sa a. Nou pa bezwen ale nan nenpòt matematik oswa nimewo vrè. Nou ka pale sou sa a nan abstrè a. Men, kite m 'jis pwopoze, si ou te gen yon diskisyon kounye a ak enjenyè yo pwopoze sa a algorithm ak w ap ap eseye fè yon desizyon kalkile, paske petèt nan enjenyè di nou la a, ou konnen ki sa, mwen kapab aplike yon rechèch lineyè nan tankou de minit. Li nan ki fasil. Binè rechèch se pa sa ki anpenpan, men li nan pral pran m 'tankou 10 minit, se konsa 5 fwa osi lontan. Genyen yon komès isit la, menm nan tèm nan n ap deside ki sa lojisyèl ekri. ou ekri algorithm nan pi senp, ki pral jis pran ou de minit? Ou, ou pase plis tan, 10 minit, ekri algorithm nan amateur? Ki jan ou deside ki kalite kesyon? Oswa ou ta ka fè l 'yon ti kras pi plis reyèl. Sa m'ap di bòs nan travay mwen li nan pral pran m 'swa yon semèn oswa 10 semèn aplike nan lojisyèl nan fason sa a, ki jan w deside ki algorithm nan vèt-limyè? Karim? ODYANS: Odyans lan, mwen devine. DAVID Malan: Odyans lan. Ki sa ou vle di pa odyans lan? ODYANS: Si li k ap pase yo dwe itilize pa itilizatè ki [fèbl] pa itilizatè [fèbl]. Men, si li nan yon bagay w ap jis ap fè pou tèt ou fasilite yon pwoblèm, [Fèbl] pi vit. DAVID Malan: Yeah, li nan rapid ak sal se yon bon fason yo dekri li. An reyalite, si w ap dekri anpil nan tan m ' nan lekòl grad, annakò ak sa souvan fwa, Mwen te ekri move Kòd konsyans so-- omwen, sa a jan mwen rasyonèl l-- konsyans sa, paske menm si mwen te ekri kòd ki te relativman parese al touye, Mwen te kapab ekri kòd nan tèt li trè vit, depans jis minit oswa èdtan pa jou. Apre sa, li te tounen soti, mwen detanzantan bezwen nan dòmi. Se konsa, menm si kòd m 'mande 8 èdtan nan kouri, byen sa a, se amann, Mwen pral jis ale nan dòmi pandan ke li kouri. Se konsa, nan moman an, mwen te panse sa a te trè entelijan, menm si mwen aparamman te travay nan PhD mwen trè dousman. Men, konvès la se sa ki sa a, si mwen te ekri lojisyèl pou lòt moun ki konte plis pase m ', byen, fè yo rete tann 8 èdtan nan jwenn tounen rezilta rechèch yo se pa tout sa ki irezistib. Se konsa, depanse plis tan moute devan yo ekri lojisyèl ki pi plis efikas, plis tankou algorithm twazyèm nou an, pwobableman benefis itilizatè yo sou tan. Se konsa, li reyèlman depann sou tan ki jan moun ki depans ajoute jiska. Si w ap ale yo dwe ekri lojisyèl yo sèvi ak li yon fwa, pwobableman ta ka kòm byen fè rapid ak sal, menm jan yo di. Jis voye jete byen ansanm. Li nan kòd ki anbarase ou, li nan te tèlman mal, men li vin travay la fè yo kòrèkteman, menm si li pa efikas. Kontrèman, ou pase plis tan sou yon bagay, jwenn li jis dwat. Lè sa a, amortir sou tan, ki inicio pri nan tan se pwobableman entérésan, si ou kenbe optimize pou ka a komen. Ak tout bon, sa a, se yon tèm nan pwogram, oswa òdinatè syans plis jeneralman, ap eseye optimize pa pou ka a estraòdinè men case-- yo komen sa operasyon ki pral rive ankò e ankò? Si w ap ale nan gen dè milya nan itilizatè chèche sou sit entènèt ou, ou ta dwe pwobableman pase plis nan semèn moute devan ekri pi bon lojisyèl, pou ke tout nan itilizatè ou benefisye. Koulye a, se pou yo eseye pran sa a yon ti kras pictorially, men pa tèlman numériquement. Se konsa, isit la nan jis yon tablo lekòl fin vye granmoun. Se pou m 'di ke sa a se tan. Apre sa, li pa gen pwoblèm what-- aktyèlman, non, pa tan. Se pou nou mete sa sou aks la ak lòt. Se pou nou di ke sa a se tan an, ak sa a se gwosè nan pwoblèm. Apre sa, yon syantis òdinatè ta ka jeneralman rele sa a jis n. n se tankou nou an ale-a varyab, kote n se yon nimewo, n nimewo, epi li nan Nimewo nan tou sa entrain ou genyen. Se konsa, nan ka sa a, n se ki kantite paj. Se konsa, li ta kapab 1,000 nan ka a nou jis te di. Se konsa, tan kapab gen nenpòt ki inite mezi. Petèt, li nan dezyèm fwa. Petèt, li nan jou. Petèt, li la tankou vire paj. pa gen pwoblèm. Kèlkeswa sa ou vle konte nan, ki yo pral tan oswa koute équivalant. Se konsa, avèk ki trè premye algorithm, si mwen, pou egzanp, te gen yon liv telefòn 1,000-paj, Mwen pral trase yon dot la, paske si li nan 1,000 paj, li te pran apeprè 1,000 paj vire, bay oswa pran. Lè sa a, si mwen te gen yon liv telefòn 2,000-paj, ak mwen pral trase yon dezyèm dot isit la, paske pou 2,000 paj, li a tankou 2,000 segonn oswa paj vire oswa kèlkeswa sa. Se konsa, lè m 'te di byen bonè, li nan kalite yon relasyon lineyè, ki te ekspre, paske mwen te vle pita on-- dwat now-- trase yon liy. Li nan kalite yon dwat liy relasyon. pant lan se 1/1, si ou pral. Pandan se tan, algorithm nan dezyèm te di, si ou te gen 1,000 paj epi ou te lè l sèvi avèk algorithm, dezyèm lan, kote mwen konte pa 2 a, vire de paj nan yon moman, mwen ta dwe trase yon dot anba a oswa pi wo dot orijinal mwen an? ODYANS: Pi ba a. DAVID Malan: Pi ba a, paske kòm nou te wè, li pran mwens tan, mwatye kòm anpil tan. Se konsa, dot a yo ta dwe mwatye kòm yon wo lòt la. Menm kontra sou isit la, sa a dot ta dwe pwobableman dwe apeprè a. Se konsa, algorithm dezyèm m 'yo, Menm jan an tou, gen yon relasyon lineyè ak tan. Apre sa, nou ka trase li kòm sa yo. Se konsa, kounye, twazyèm lan ak final algorithm se yon ti kras pi rèd vin tire dlo. Men, entwitif, si mwen te gen 1,000 paj ak algorithm twazyèm m 'yo, li ta dwe sèlman pran m 'tankou 10 etap. Men, si mwen te gen 2,000 paj ak algorithm twazyèm m 'yo, li ta dwe pran m 'pa 10 etap, men 11, jis yon sèl plis. Se konsa, nou ap sèlman apèn pral wè sa a. Epi li vire soti, si Mwen rale nan sou sa a, mwen se ale nan egzajere pou efè, fòm nan ki liy, finalman, se pa yon line-- dwat paske, tout bon si se te, li ta gade plis renmen an others-- li la aktyèlman yon liy koube ki, si nou rale nan, ki pral fè yon gade pi plis tankou sa a. L-- byen, OK, inyore pati sa a. Sa ki te plim mwen pral nan ang. Li se yon liy koube ki se toujou ogmante, toujou, toujou, toujou ogmante, men se sèlman jis apèn. Se konsa, apre yon sèten tan, ou gen yon relasyon sa a, se plis tankou sa a. Li prèske sanble dwat. Men, li la tout tan tout tan tèlman dousman ogmante. Men, pou prèske tout pwen sou aks-x ou, orizontal aks, li nan pi ba pase sa lòt liy yo. Se konsa, sa a ta kapab yon relasyon N, annakò ak sa si ou gen paj n, pran ou n segonn. Sa a ta kapab yon relasyon n / 2. Ou gen paj n, li pran ou n / 2 segonn, mwatye kòm anpil moun. Lè sa a se yon logaritmik relasyon, ki si ou sonje, ouvri sesyon baz 2 nan n kaptire sa a kalite kwasans, se konsa pale. Se konsa, sa a se sòt nan nan apa pou Bondye grail nan mitan twa a nan sa yo isit la, paske li nan jis pou pi plis efikas, men joui pi konplèks aplike. Nenpòt kesyon? Oke, kite m 'fè sa, se pou m 'louvri moute yon fenèt tèks jis pou nou ka eseye formalizra yon bagay isit la. Se pou m 'ale pi devan kounye a epi yo aplike sa a algorithm pou jwenn Mike Smith nan kòd, si ou vle a, kòd pseudocode. Mwen pa pwal yo sèvi ak Java oswa C ++. Mwen jis ale nan sèvi ak sòt de Angle ki tankou sentaks, nou ta jeneralman rele Kòd pseudocode. Isit la, mwen gen yon fenèt vid. Apre sa, mwen ap di etap 1 nan trè an premye algorithm se ranmase liv telefòn. Etap 2 a louvri liv nan premye paj. Etap 3 yo pral gade nan paj pou Mike Smith. Si nan paj, rele Mike. lòt paj vire epi ale nan etap 3. Fè, se pou yo di. Se konsa, li pa byen pafè, ki nou pral wè nan yon ti moman. Men, kite a konsidere sa konsèp mwen te prezante isit la. Se konsa, etap 1 ak 2 ak 3 yo vèb bèl anpil. Yo ap deklarasyon, actions-- fè sa. Se konsa, nan yon pwogram lang, nou ta jeneralman rele yo deklarasyon oswa fonksyon oswa pwosedi, rele yo nenpòt ki kantite bagay sa yo. Men, yo ap jis actions-- fè sa. Etap 4 se fondamantalman diferan, paske li te kalite mande yon kesyon. Li nan di nou ap kalite nan nan yon fouchèt nan wout la. Si Mike se sou paj la, rele l ', se konsa vire a goch, si ou pral. Men, si pa, tounen nan kèk lòt page-- ou pito, regrèt, tounen nan kèk lòt etap, ki antren kèk kalite loupin konstwi. Apre sa, nou fè l 'ankò e ankò e ankò. Ak aktyèlman, ou konnen ki sa? Yeah. lòt moun si nan fen nan arè liv. Se konsa, nou bezwen kalite yon twazyèm kondisyon, paske ou pa kapab kenbe vire anons la paj nauseum, paske evantyèlman, mwen pral frape nan fen liv la. Apre sa, yon ensèk nan yon pwogram ta ka pa prevwar ki senaryo. Lè sa a, mwen jis reyalize, o, rete tann yon minit, mwen bezwen yon senaryo twazyèm. Si mwen soti nan paj, mwen ta dwe reyèlman jis sispann. Sinon, li nan endefini. Ki sa ki nan pral rive si mwen kenbe di vire paj la epi ale tounen, sa a se lè òdinatè friz oswa aksidan, lè ou frape kèk sitiyasyon inprévu tankou sa. Koulye a, sa ki sou Mike twazyèm algorithm Smith la ranmase liv la telefòn, liv ouvè a first-- Non, pa premye paj tan sa a, middle-- oh, byen, ki ta gen algorithm, dezyèm lan. Se pou nou jis ale dirèkteman nan twazyèm lan. ODYANS: Oh, mwen regrèt. DAVID Malan: Sa a amann. Se pou nou jis ale dirèkteman nan ouvè a third-- nan mitan e kounye a, gade pou Mike Smith. si nan paj, rele Mike. Lè sa a, ki sa nou vle di isit la? lòt ki sa? Nou ka eksprime sa a nan nenpòt ki kantite fason. Gen nan pa gen repons dwat. OK, si se pa ankò, men nou bezwen be-- OK, nou vle divize an de, men fè nou vle ale bò gòch oswa ale dwa? Ki jan nou eksprime ki nosyon? Oke, nan ka Mike a, se wi, sa a, se san patipri. Men, OK, se konsa sa a, se aktyèlman yon pwen bon. Se byen. Nou pral kenbe prale ak sa a lojik. So-- ODYANS: Mwens pase mwatye. DAVID Malan: Yeah. Se konsa, lòt bagay si paj se, nou pral di, mwens pase Smith, nan kite nan Smith, then-- kite a wè, se sa a ale nan konplike? lòt moun si paj vini anvan Smith, dlo nan mwatye, jete ki mwatye? ODYANS: Mwen te panse ki te [fèbl]. DAVID Malan: Mwen tande tou de repons. ODYANS: Left. DAVID Malan: OK, jete lwen kite mwatye, kòm Lakisa te di anvan, bò gòch la mwatye, Lè sa a, mwen kalite vle jis ale to-- m 'ale nan bò dwat la. Ou équivalant, ak mwen te fè yon ti kras ti jan nan yon dezòd nan konmansman an isit la, Mwen efektivman vle ale nan etap 2 ankò, kote ouvè a middle-- a oswa open-- yeah, kite yo jis di, paj nan mitan. Lè sa a fiks li. Li nan pa gen okenn ankò yon liv. Se jis mwatye nan yon liv, paj se konsa ouvè a presegondè. te else-- prèske la. Etap 6, lòt bagay si paj vin apre Smith, chire nan mwatye, jete dwat mwatye, lè sa a ale nan etap 2. lòt kite fimen, yon senaryo katriyèm si nou pa gen okenn paj gòch a vire. Se konsa, nou te kapab netwaye sa a leve. Apre sa, nou ta dwe netwaye sa a leve. Sa a se trè pseudocode Kòd, si ou pral, nivo trè wo deskripsyon. Men, li jeneralman pran lide la. Epi, ankò, nan senaryo sa a, nou gen nosyon de yon kondisyon, yon branch, yon fouchèt nan wout la yo, ki fè yon decision si sa a, ale fason sa a, lòt moun si, ale fason sa a, lòt moun si, ale fason sa a. Lè sa a se yon trè komen teknik pwogram deside ki direksyon yo ale, se konsa pale. Epi nou gen tou kèk kalite nan loupin estrikti, kote n ap fè yon bagay ankò e ankò. Koulye a, li vire soti, anpil tankou nan egzanp sa a, ke yo te super egzak enpòtan. Men, nou te tou wè yon bagay ke nou kenbe rele distraksyon. Kisa sa vle di ranmase liv telefòn? Nou ap jis kalite pran pou yo akòde nan sal sa a ki ki gen kèk siyifikasyon semantik. Tout moun nan nou jis kalite konnen, o, byen, ranmase liv la telefòn. Ki sa ki ki vrèman vle di? Oke, ki vrèman vle di yon ekstansyon pou men, panche sou, pwolonje dwèt yo, zongle liv ant dwèt yo, leve kanpe, rale men nan direksyon pou ou. Apre sa, nou ta ka vrèman pedant sou sa a, reyèlman yo te super egzak tankou sa ki m ap fè. Men, tout nan etap sa yo kolektivman yo sa li vle di nan ranmase yon liv telefòn. Se konsa, pi bonè, lè m 'te di, chak nan de premye deklarasyon sa yo ka panse a kòm yon kontinye oswa yon fonksyon, reyèlman li reprezante sa nou kenbe rele yon distraksyon. Se tankou yon wo nivo konseptyèl ekspresyon deskripsyon yon pwoblèm ki aktyèlman enplike nan byen yon kèk etap. Se konsa, sa a, tou, se yon renouvlab sijè nan pwogram, kijan mwen ta ka ekri yon pwogram lè l sèvi avèk sentaks tankou sa a men pick_up_phone_book (). Lè sa a, syntactically, mwen pral yo nan vole yon bagay soti nan pi lang programmation. Koulye a, etap 1 sanble menm plis tankou yon fonksyon, kòm yon pwogramè ta ka rele li. Li sanble ke kòd ki yon moun te ban yon non pou ale ak pou bay m 'yo sèvi ak somehow-- nan lòt mo, sa liy lan mwen te make reprezante fonctionnalités ke petèt Mwen pa t 'menm aplike tèt mwen. Yon moun ki pi gran, gen plis konprann pase m 'deja kalkile ki jan ou eksprime nosyon a nan davwa ke yo pran yon liv telefòn. Apre sa, li a tankou senk etap sa yo mwen jis balanse koupe, koupe tèt la nan tèt mwen. Men, li oswa li te deja aplike sa a, te bay moun etap plizyè yon non, pick_up_phone_book. Apre sa, parantèz yo se jis sa ki pi pwogramasyon fè nan fen deklarasyon tankou sa a. Mwen kounye a ka kanpe sou li oswa li zepòl epi pa janm ankò, panse osijè de sa li vle di nan ranmase yon liv telefòn. Mwen kapab jis di, ranmase liv la telefòn. Epi sa a, ekzakteman ki sa tout moun nan nou moun te fè isit la. Lè nou te pwobableman 1 ane fin vye granmoun, 2 zan, yon moun te gen yo anseye nou ki sa li vle di ke yo ranmase yon liv telefòn. E depi tout tan tout tan lè sa a, nou te distrè lwen nan men moun trè entérésan etap mekanik. E nou jis gen yon entwisyon konpreyansyon nan sa li vle di ranmase yon liv telefòn. Epi ou ka èkstrapolasyon kounye a nan plis konplike things-- konstwi yon bilding nan. Tankou, nan kèk moun, ki aktyèlman gen siyifikasyon. Avèk kontraktè, nan achitèk, ki gen kèk sans. Apre sa, yo ta konnen ki sa fè, si Mwen te di, ale konstwi yon bilding nan. Men, pi fò nan nou nan chanm nan pa t 'kapab fas ak nivo sa a nan distraksyon. Ou bezwen di nou renmen ale jwenn pèl la epi ale jwenn konkrè a ak klou moso yo nan bwa ansanm ak tou sa lòt bagay se patisipe nan bati yon bilding nan. Epi sa a, paske nou pa gen ankò yo te pwograme yo konprann sa li vle di yo konstwi yon bilding. Nou pa gen ki distraksyon. Nou pa gen ki fonctionnalités. Se konsa, sa ou pral wè nan pwogramasyon lang, an jeneral, lang espesyalman plis modèn, tankou Java, PHP, Ruby, ak Piton, yo ap pi plis ki gen matirite pase ki pi gran lang, tankou C ak C ++ ak ankò lòt moun. Se konsa, yo vin ki gen plis fonctionnalités bati nan. te Plis Kòd te ekri pa moun ki pale nan tan lontan an ke nou kapab kounye a rele oswa rele oswa itilize, jan mwen ap Sa anpeche nan ak sa a make liy isit la. Se konsa, menm si nou pa ap pale sou lang programmation se pou chak, jis pseudocode Kòd, nan tout nan lide yo toujou nan ki diskisyon. Epi li vire soti presizyon se super enpòtan, kòm se distraksyon. Li kite yo eseye kominike ki jan sa a. Mwen aksidantèlman ta ka yo gate sa a pa flache yon glise sou ekran an prematireman. Men, kite m 'mande pou yon volontè brav, si ou pa lide vini. Ou ta dwe la devan nan kamera, si w ap OK ak sa. Nenpòt moun ki ta renmen vini leve, li ba enstriksyon bay kolèg ou yo isit la? Jis gen vini sou isit la ak kanpe sou isit la ak di kèk mo. Victoria ap souri pi plis nan ak evite je m 'pi plis la. Èske ou ta kapab byen vle vin sou koulye a? OK. Men, si tout lòt moun nan plas ou te kapab pran soti yon moso papye bouyon, si ou pral. Aliyen papye se amann. Vini non alantou fason sa a. Oswa kèk nan papye a ki ou te ba yo yè, sèlman nenpòt fèy vid nan papye, si ou t 'kapab. Men, si ou pa gen okenn, jis mande frè parèy ou a si ou t 'kapab. Se konsa, pou moman sa a, pou egzanp sa a, Victoria ki pral jwe wòl la nan yon pwogramè, yon enjenyè, ki moun ki bezwen nan pwogram nou tout, kòm òdinatè yo, fè yon bagay. Epitou, n ap wè sa ki sipozisyon ou deside fè. Nou pral wè ki jan egzak li chwazi yo dwe. Men, si demonstrasyon sa a ale pedagojik byen, anpil nan erè yo ap fèt, ki nou pral Lè sa a, sèvi ak ki kòm yon opòtinite pou diskisyon. Men, defi a pou ou ta dwe gen pou fè pou evite moun erè, gen yon pwogramè bon. Se konsa, defi a nan men, si ou ta renmen nan mache sou isit la, se nan devan Victoria sou ekran an isit lan-- ak èspere ke, pa youn nan ou sonje sa a lè m ' klere sou ekran an. Epi yo pa vire toutotou nan tout, paske gen yon lòt ekran nan sal sa a ke mwen ka fèmen. Se konsa, pa vire. Nan devan Victoria se ke rèl menm. Apre sa, travay li kounye a se di ou tout sou moso ou nan papye sa vin tire dlo. Apre sa, nou pral wè, ki baze sou enstriksyon vèbal pou kont li, Kòd òdinatè, si ou pral, ki jan egzat desen ou sont- en ou yo. Fè sans? ODYANS: Yeah. DAVID Malan: OK, egzekite. ODYANS: Trase yon kare. [Ri] DAVID Malan: E pa gen kesyon ka mande. Ka sèlman fè sa w ap di. Oh, ak si ou gen glisad jodi a louvri nan yon tab, pa gade nan tab ou yo. OK? ODYANS: OK, trase yon sèk. Yon an pant mwen kapab di pant? DAVID Malan: Jiska ou. ODYANS: Yon pant. Ak yon triyang. DAVID Malan: Tout dwa. Apre sa, rete isit la sèlman pou moman yon. Men, mwen pral vini alantou an jis yon ti moman. E pa gen bezwen yo mete non w sou li. Kite m 'vini ozalantou yo ak kolekte desen ou, si ou pa lide chire yo deyò. Isit la se sa nou te tounen. Mwen pral pwojè l 'sou ekran an. Mwen wè yon kare, yon sèk, yon pant, ak yon triyang. Se konsa, sa ki te yon sèl repons la. Apre sa, let's-- whoops. Mèsi. Isit la nan yon lòt varyete, ak youn dèyè li. Se konsa, yo tout yo sanble yo pran Lespri Bondye a. Mèsi. Genyen yon lòt, ak isit la nan yon lòt yon sèl. entèpretasyon nan pant se yon ti kras diferan, nou menm ti curvy. Apre sa, pi pre a, swa paske yo te nan bèl bagay espesifik ak kote ou te dekri, oswa petèt ou kalite wè sa anvan, sa a se tout bon sa Victoria te aktyèlman dekri. Men koulye a,, sa yo ki nan nou ki pa t 'jwenn li byen dwat, se pou yo ofri kèk objeksyon isit la. Se konsa, Victoria premye di trase yon kare. Epi, koulye a, nou ka asime pou dedomajman pou la nan jounen jodi a ke tout moun konnen ki jan yo desine yon kare. Men se pa sèlman nèt klè, dwa? Ki jan lòt bagay ou te kapab gen trase yon kare, oswa kote ka gen kèk nan ekivok yo isit la pou òdinatè a? ODYANS: Kote ak gwosè. DAVID Malan: Kote, dwa? Tout moun nan ou te gen yon papye nan kèk fòm, jeneralman rektang, men yon ti kras gwosè diferan. Men, ou sètènman te kapab trase, si ou te vle, yon kare gwo, petèt yon kare ti. Petèt, li te vire toutotou a. Mwen pa panse nou te wè sa. Men, li te kapab yo te plis dyaman tankou men yo toujou, menm si sa, matematik yon kare. Se konsa, sa ki te joui Limit. Lè sa a, li te di, trase yon sèk. Gen kèk nan ou te rale l akote li, ki se pa rezonab, paske moun gen tandans panse oswa li dwat a gòch nan pifò lang, Se konsa, pa yon move devine. Men, sa te kapab gen sèk te andedan kare a, te kapab yo te alantou nan kare, yo te kapab vin yon lòt kote sou fèy la, se konsa joui Limit. ta ka Pant yo te petèt pran libète yo ki pi vèbalman ak sa sa vle di. Se konsa, kèk nan nou entèprete li kòm yon liy squiggly oswa yon liy dwat oswa renmen an. Lè sa a, triyang, tou, te kapab gen te oryante nan nenpòt ki kantite fason. Se konsa, nan ti bout tan, menm avèk yon bagay ki ou gade epi w ap tankou, wow, se konsa senp, yon timoun te kapab trase sa a, byen pa reyèlman, sof si w ap super, super konvenkan epi di òdinatè a ekzakteman ki sa yo fè. Se konsa, si nou te kapab, si ou gen yon lòt fèy papye, se pou yo eseye sa a yon fwa plis. Apre sa, mwen pral bay Victoria youn lòt egzanp sou ekran an isit la. Epi ankò, pa vire toutotou epi yo pa gade nan glisad ou yo. Apre sa, mwen pral ba l 'yon moman yo panse sou jan yo dekri sa a. pa kite yo wè pè a nan je ou yo. [Ri] Epi ankò, sa a ogmante tan kèk nan moun takeaways epi eseye jwenn prèske tout moun omwen repons kòrèk la. ODYANS: OK, pran yon moso papye, gade nan mitan an nan ki moso papye. Nan mitan ki moso nan papye, trase yon kib. [Ri] DAVID Malan: Ki sa ki gen nou te aprann? Nou te konsa fèmen. OK, repete si ou te kapab, pou tout moun. ODYANS: Nan mitan an moso papye, trase yon objè, ki sanble yon kib. DAVID Malan: OK, sa a, se tout sa ou jwenn yo travay avèk. Pèmèt m 'yo dwe analyse epi yo pa konsa anpil kritik, men yo fè reklamasyon an ki Victoria definitivman sanble ap panse nan anpil wo nivo Abstraksyon, ki se pa rezonab. Paske otreman, nou ta tout dwe trè disfonksyonèl, si nou te gen yo dwe tout tan tout tan se konsa egzak ak tout bagay nou fè nan mond lan. Men, li di ale nan I middle-- te panse nou te sou tankou yon track bon la, tankou ale nan mitan an trè nan paj la, ak Lè sa a trase yon kib. Se konsa, li te panse nan Abstraksyon, paske li la toujou gade sa ki nan sou ekran an kòm tout bon yon kib. Men, gen nan anpil opòtinite pou entèpretasyon la. Men, an reyalite, gen nan anpil lòt fason, ou te kapab eksprime ki, ki mwen pral pwopoze koulye a. Se konsa, isit la nou gen yon sèl enkarnasyon nan yon sèl la picture-- whoops-- enkarnasyon nan foto a, se konsa yon ti kras twa dimension nan li, ki se bèl. Isit la nan yon lòt, ki kote ou gen nan menm, menm si li nan kalite yon kib louvri. Kèk moun te pran li yon ti kras plis plat, de dimansyon. Epi sa a, amann. Se konsa, gen, tout bon nan la sant nan papye a. Yon sèl sa a Mwen panse ke ou pral tankou, paske si n 'al jwenn isit la, sa a se sa li te dekri. Koulye a, kite m 'pwopoze konbyen lòt bagay nou ta ka dekri sitiyasyon sa a. Retounen nan jou a, youn nan pi plis nan fason pi komen yo aprann pwogramasyon te ekri kòd, ekri liy nan enstriksyon, ki kontwole yon ti kras tòti sou ekran an. Logo ak lòt variantes de sa a te non an nan lang lan. Apre sa, tòti a te rete nan yon nan lemonn. Se konsa, ta kwè rektangilè sa a espas se mond l 'yo. Epi ou ta kòmanse pa assuming-- mwen pa vrèman konnen ki jan yo desine tòti, kidonk kite a fè l 'tankou sa a. Lè sa a, li a te gen yon kokiy ak Lè sa a petèt kèk pye. Se konsa, ou ta ka gen sa a ti kras karaktè sou ekran an. Apre sa, objè a nan sa a lang programmation te fòse tòti a yo ale leve, desann, agoch, adwat ak yo mete plim li desann oswa chwazi plim l 'moute, pou li te ka aktyèlman trase sou ekran an nan mond sa a trè plat rektangilè. Se konsa, kote mwen te panse ou ka prale a, ak ki kote ou ta dwe konsidere plonje desann nan mantalman pou dekri enstriksyon plis jeneralman, Mwen ta reklamasyon, se mete ou plim desann nan middle-- la epi n ap debarase m de a tòti, paske mwen pa ka vrèman kenbe desen l 'trè byen. Epi, koulye a, konbyen lòt bagay te kapab M 'ap di trase yon kib? Oke, nou te ka di yon bagay tankou trase yon liy nòdès dyagonal, pou egzanp, oswa nan yon ang ki 45-degre anwo. Apre sa, ki ta ka gen vinn m 'isit la. Apre sa, mwen se trè lwen soti nan yon kib. Men koulye a,, mwen te kapab di yon bagay tankou vire 90 degre sou bò goch la epi trase yon liy nan egal longè nòdwès. Apre sa, mwen ta ka kontinye ak direksyon menm jan an. E li pa k ap pase yo dwe fasil. Apre sa, franchman, nou pwobableman ta te isit la pou senk minit. Men, petèt nou ta gen vinn yon bagay ki, nan fen jounen an, fini moute ke yo te yon kib, men nou plonje andedan nan ki distraksyon fè li nan tankou yon ba nivo ke ou pa ka vrèman wè sa ki w ap fè jouk tout la bagay se aktyèlman gen sou paj la. Se konsa, sa a se yon prensip jeneral, ankò, nan Programming ide sa a nan distraksyon. Li nan tèlman bèl pwisan, paske ankò, li jis te di, trase yon kib, tout moun ki nan nou bèl anpil ta grok trè vit. Nou ta jis konprann, OK, trase yon kib. Nou pa ta ka konnen oryantasyon an, se konsa nou te kapab fè yon ti kras pi plis egzak, men nou ka jeneralman foto oswa konnen ki sa yon kib se. Epi sa a, ki itil, paske si chak fwa ou chita bò tab la kòm yon pwogramè a klavye ou yo ekri kòd, si ou te gen yo panse nan sa yo yon nivo ki ba, pa youn nan nou ta janm jwenn anyen fè. Epi sètènman, pa youn nan nou ta jwi pwosesis la nan Kòd ekri. Li ta tankou ekri nan 0 a ak 1 a, ki franchman te pa tout sa ki sa pibliye depi lontan moun te ekri kòd nan 0 ak 1 a. Apre sa, nou trè byen vit te vini ak sa yo pi wo nivo languages-- C ++ ak Java ak lòt moun. Se konsa nou eseye sa a yon fwa plis jis baskile tab yo, se konsa ke tout moun nan nou gen chans lan yo panse nan olye menm jan an. Te kapab nou jwenn yon sèl plis volontè sa a tan vini nan tablo a epi trase, pa resite? Yeah, OK. Ben, vin sou yo. Epi, Ben, nan ka sa a, yon fwa ou fè fas a tablo a, pa gade agoch, pa gade dwat. Se sèlman fè sa ou kòlèg isit la di ou. Se pou tout lòt moun nan nan chanm, ou kounye a se pwogramè a. Li se òdinatè a. Ak foto a mwen te chwazi isit la nan avanse se yon sèl sa a isit la. Yo ap just-- yo ap panse nan yon blag komik se tout. Se konsa, ta yon moun renmen sèvi kòm volontè enstriksyon an premye oswa deklarasyon ki di ke ta dwe plim lòd Ben a? Epitou, n ap fè sa kolektivman, petèt youn enstriksyon ki soti nan chak moun. Mwen dezole? ODYANS: Trase yon sèk. DAVID Malan: Trase yon sèk se premye bagay la mwen tande. ODYANS: Up tèt. DAVID Malan: Up tèt. OK, nou ka kite ou efase, defèt. Koulye a, yon lòt moun. Dann lan, ou ta dwe confortable ofri enstriksyon vin apre a? ODYANS: Asire w, trase sant la nan pati anba a nan sèk la, ak yon ti ponyen-yon ti kras ti espas de sa, trase yon liy dwat desann nan twa ka nan wout la desann tablo a yon ang ti tay nan bò gòch ou yo. DAVID Malan: Bon. ODYANS: Kras ang. DAVID Malan: Defèt, Kontwòl-Z. OK. Andre, ou vle ofri moute enstriksyon vin apre a? ODYANS: Asire w. Anba nan fon an nan ki liy, yon pli lwen ti tay angle-- whoops-- petèt sou yon twazyèm nan longè a [fèbl], ti tay ang anba ak renmen yon tyè nan longè a nan [fèbl]. Se konsa, yeah, ki soti nan pwen sa a, trase yon liy yon twazyèm nan longè a nan anvan an liy plis nan bò gòch la. DAVID Malan: Sa OK? Dwat liy, ke se ok? OK, Olivier, ou vle yo ofri moute pwochen an? ODYANS: [fèbl] ki soti nan anba nan sèk la, [fèbl]. Trase sou bò nan men dwat nan [fèbl] santimèt. [Ri] DAVID Malan: Mwen panse ke w ap ale nan gen konvèti sa a, se pous isit la. ODYANS: One Stop. [Ri] DAVID Malan: OK. [? Ara,?] Ou vle yo ofri moute pwochen an? ODYANS: Trase yon [fèbl] anwo [fèbl] menm bagay la tou nan. [Fèbl] sèk, trase nan la [Fèbl] epi trase [fèbl]. DAVID Malan: OK, pa plis defèt. Se pou yo fè yonn osinon de lòt enstriksyon. Chris, ou vle ofri youn? ODYANS: Nan pati anba a nan sèk la, [fèbl] trase yon slopping liy egal anba sou bò goch la [fèbl]. DAVID Malan: OK. Andre? Nou did-- Karim? ODYANS: Apati de liy dwat la, nan fen liy lan gòch, pati anba a, w ap ale nan ale dwa sou longè a menm jan ak ki liy w ap sou, desen dwat a [fèbl]. [Fèbl] degre, se konsa [fèbl] degre sou bò dwat. DAVID Malan: Tout dwa. Se pou nou pran yon poz. pa vire toutotou ankò. Se pou nou pran yon poz, e kite yo eseye yon lòt tantativ anvan nou revele Ben sa l 'a te desen. Èske ou ka chefeul Ben fè regleman oswa aktyèlman, nan pa gen okenn, kite yo jis ba ou yon lòt tablo, menm pi bon. Se konsa, ta yon moun kounye a renmen pran plis nan apwòch la ki Victoria te pran pi bonè sou, kote nou pale nan yon nivo ki pi wo distraksyon ak nan jis yon fraz oswa de dekri nan Ben sa yo dwe trase san yo pa trape nan move zèb yo, se konsa pale, nan nivo sa a yon pi ba nivo? Victoria. [Ri] ODYANS: Trase yon figi sou nonm lan mache. Apre sa, janm li ak zam gen yo dwe bò dwat. DAVID Malan: OK, sa a, se tout sa ou jwenn. Tout dwa. Poukisa nou pa nou revele Ben sa li te fè. Se konsa, yon wonn nan aplodisman. Sa ki te pi di petèt la. Se konsa, menm si nou ap pale an tèm san patipri komik sou jis desen foto, èspere ke ou ka vrèman apresye degre nan ekspresyon ke sa ta kapab nesesè yo nan lòd yo di yon òdinatè ki sa fè. Ak an reyalite, lefèt ke Ben te kapab trase sa a vit konsa se sòt de kontra Bondye nan lè l sèvi avèk yon lang, petèt yon pi wo nivo vèsyon nan lang angle, ki pèmèt l ' jis sèvi ak mo, oswa tande pawòl soti nan Victoria, ki pèmèt l ' sa yo abstractions-- jis trase yon figi mache al nan regleman ki sòt de gen kèk siyifikasyon semantik nan li ki se pa prèske kòm evidan lè w ap jis di, mete plim ou desann, trase a dwat a, trase sou bò gòch. Se konsa, sa a, tou, se trè komen nan pwogramasyon. Sa a ta dwe di ke yo dwe tankou yon lang nivo ki ba anpil, pwogram nan 0 ak 1 a si ou vle. Lè sa a ta dwe yon nivo ki pi wo pwogram lang nan Java, oswa yon bagay tankou sa. Yon ti jan nan yon Senplifikasyon, men sa a sòt nan nan tankou emosyonèl santi ke ou santi ou lè lè l sèvi avèk yon sèl kalite bagay oubyen yon lòt. Yon ti jan nan fristrasyon isit la pa bezwen nan pou presizyon sa yo, men opòtinite pou yo dwe yon ti kras lach ak rèv la vle isit la. Men, nan kou, pinèz ka leve kòm yon rezilta. Si w ta renmen nan home-- nou pa pral fè yon sèl sa a nan class-- men si ou ta renmen pote sa a lakay ou yon sèl, Mwen te panse nou ta plonje nan sa a. Se konsa, si ou ta renmen yo jwe jwèt sa jwèt ak lòt enpòtan ou oswa timoun oswa tankou an, ou ta ka jwi ke kòm byen. Se konsa, kite yo ale pi devan ak gade nan yon dènye bagay isit la pou panse enfòmatik. Epi sa pote nou nan Jan Oliver, pa pou clip la ou ta ka gen pou wè yè swa, men nan yon pwoblèm yon ti jan ki sot pase. Yon kèk mwa tounen, Volkswagen te pran byen yon ti jan nan flak pou sa rezon ki fè, si ou konnen? Ki sa yo jwenn nan pwoblèm pou? Yeah, se konsa emissions-- yo t ap eseye bat emisyon tès pa esansyèlman gen yo machin polye anviwonman an mwens lè machin yo te ke yo te teste ak polye anviwonman an plis lè machin yo pa yo te pran tès la. Ak sa ki nan de pli zan pli enteresan nan mond lan, kòm ou ka gen dedwi soti nan diskisyon nan like-- ki sa ki l-- CarPlay, lojisyèl Apple la pou machin ak lefèt ke anpil nan nou de pli zan pli gen manyen ekran nan machin nou an, gen nan yon kantite lajan pè nan lojisyèl an moun nan machin jodi a, ki franchman ouvè yon ka antye nan vè lè li rive sekirite ak risk fizik. Men, pou jodi a, se pou yo konsantre sou jis sa ki nan patisipe nan lojisyèl ekri ki ta ka yo gamed sistèm nan. Pou definisyon an nan la pwoblèm, pou moun abitye, kite a pran yon gade nan Jan Oliver. Se pou moun ki abitye avèk pwoblèm nan, se pou yo gade nan li nan yon lantiy plezi atravè Jan Oliver kòm byen. Se pou m 'frape pyès teyat sou sa a, mwen panse, twa-minit entwodiksyon. Modi li. [VIDEO lèktur] -Cars-- DAVID Malan: Li evidan, sou YouTube, it's-- - Karaktè --Nan intélijant nan fim sa yo Vit ak furious. Semèn sa a, Alman otomobil Volkswagen te jwenn tèt li nan mitan an nan yon eskandal nan pwopòsyon potansyèlman kriminèl. -Volkswagen Se na pé mété sipò pou dè milya nan amann, akizasyon kriminèl posib pou ekzekitif li yo, jan konpayi an ekskiz pou manipilasyon 11 milyon machin yo ede li bat emisyon tès yo. modèl dyezèl -Certain te fèt ak lojisyèl sofistike ki itilize enfòmasyon, tankou pozisyon an nan volan an volan ak machin vitès, detèmine machin nan te sibi emisyon egzamen an. Anba ki sikonstans, motè a ta redwi emisyon toksik. Men, te machin nan truke kontoune ke lè li te ke yo te kondwi. Emisyon ogmante 10 a 40 fwa pi wo a nivo akseptab EPA. -Wow, 10 a 40 fwa pi gran pase EPA a pèmèt. Sa se bagay ki pi mal Volkswagen te janm fè, se yon bagay ou ta ka di si ou pa janm ta tande pale de Dezyèm Gè Mondyal. Men, petèt siy ki sur nan ki jan anpil pwoblèm Volkswagen se nan, se ke gen moun nan anpil nan tèt te desann. CEO a demisyone nan Mèkredi apre eskalade fè kontwòl domaj, li di li te infiniman regrèt, ki kònen klewon gwo jouk li te tounen soti li te sèlman 10% regrèt men te truke bouch li yo atifisyèlman gonfle sorriness l 'yo. Apre sa, pandan se tan, US Volkswagen lan chèf te gen yon ekskiz nan pwòp li. -Kite A dwe klè sou sa a, konpayi nou an te malonèt. Ak nan mo Alman m ', nou te totalman vise moute. -Yeah, Men totalman vise moute yo pa travay German. Apre sa, lang Alman an gen anpil fraz bèl a dekri sitiyasyon jis tankou sa a, tankou [GERMAN], ki vle di apeprè, tristès a ki vini soti nan biznis ki gen rapò manti, oswa [GERMAN], ki tradui kòm anmède papa yo menm ki enplike nwaj nan gazolin. Li se yon lang bèl. Li jis vwal nan lang lan. Ak nan chemen an, pandan y ap ki nan nonm ka ekskiz te kònen klewon sensè, li la vo anyen li te pale nan yon pati lansman ofisyèl pou 2016 la Volkswagen Passat, sa vle di yon ti tan apre li di regrèt sa, li te di sa a. -Remèsye Anpil pou vini yo. Jwi aswè a. Moute pwochen se Lenny Kravitz. [MIZIK jwe] -OK, OK, te mete fen ou ekskiz ak moute pwochen Lenny Kravitz pa fè sa rele Kenbe tèt nou anplas rpantir. Li urleman, nou te mande Bon Jovi, li di pa gen okenn. mak Volkswagen a gen te andomaje anpil. Apre sa, franchman, anons nouvo yo kanpay se pa egzakteman ede yo. - [GERMAN], nou nan Volkswagen ta renmen li padon pou twonpe ou ak machin nou an. [FEN lèktur] DAVID Malan: Se konsa, sa a te yon endirèkt fason de- sorry-- sa a te yon fason endirèkt a entwodwi yon pwoblèm fondamantal nan lojisyèl, ki se ke ou bezwen yo detekte sèten kondisyon. Se konsa, kesyon an nan men isit la se, ki jan fè yon machin ki kapab, kòm aplike nan lojisyèl pa pwogramasyon sa yo, detekte ke li la aktyèlman te teste? Se konsa, yo dwe super klè, sa yo te fè te, nan yon anviwonman kote pwogramasyon yo kalkile machin nan te ke yo te teste yo, yo yon jan kanmenm te fè machin nan emèt mwens emisyon, mwens emisyon, lafimen se konsa mwens toksik ak sa yo. Men, lè li la nòmalman kondwi sou wout la, li ta jis emèt kòm anpil polisyon kòm li te vle. Se konsa, kouman nou te ka ekri nan pseudocode pou sa a algorithm? Ki jan nou ta ka ekri pseudocode a pou lojisyèl an kouri nan machin nan? Mwen vle di, nan yon Nutshell, li klou desann nan yon bagay konsa. si ke yo te teste yo, emèt mwens. lòt emèt plis. Men, sa a yon ti kras twò wo nivo, dwa? Ann eseye plonje nan tankou sa ki sa a distraksyon pou yo te teste vle di. Nan lòt mo, menm si ou pa konnen anyen sou machin, sa ki sòt de kesyon ta ka ou mande yo nan lòd yo detèmine si ou se ke yo te teste yo, si w ap machin nan? Ki sa ki ta ka Karakteristik prezante si se yon machin ke yo te teste? ODYANS: Tès ekipman yo. DAVID Malan: Tès ekipman yo. Se konsa, si ekipman tès ki tou pre, Lè sa a, emèt mwens. Se konsa, mwen te ka imajine mete ann aplikasyon ke ak kèk kalite kamera oswa detekte sa ki nan bò kote ou. Ak kite m 'pwopoze, ki jis santi l twò konplike gen aktyèlman plis pyès ki nan konpitè jis pou sa. ODYANS: Si w ap nan pak, si kapo ou a se louvri. DAVID Malan: Nan pak oswa kapo louvri, se konsa sa a, se bon. ODYANS: Epi kouri machin. DAVID Malan: Se konsa, sa a, se yon ti kras plis concrete-- ak kouri machin. Se konsa, sa a ta ka konjonksyon a nan yon kèk kondisyon diferan, si ou pral. Se konsa, si machin nan se nan pak, e menm menm si sa a se yon bagay trè mekanik tipikman, mwen te kapab imajine ekri lojisyèl, espesyalman paske gen nan souvan yon limyè gen jou sa yo, Mwen te kapab imajine ke yo te gen lojisyèl ki ka sijè rechèch chifte a oswa sa ki pa yo, se ou nan pak, se ou nan kondwi yo, se ou nan do. Apre sa, mwen ka jwenn tounen yon reponn sa a, se swa repons lan se wi oswa pa gen okenn nan kalite sa yo ki nan kesyon. Se konsa, mwen ta ka tou pwobableman reponn yon kesyon tankou, se kapo a louvri. Petèt, gen nan kèk kalite Capteur ki swa ki ban m 'tounen yon 1 oswa 0, vre oubyen fo, kapo a se louvri. Lè sa a, machin kouri, mwen te kapab detekte ki yon jan kanmenm atravè sa mekanis? Tankou, machin nan ap kouri, mwen te kapab detekte ke li nan sou li a, Mwen te kapab detekte yon jan kanmenm ke machin nan ap deplase? ODYANS: rpm. DAVID Malan: Yeah, se konsa gen nan toujou ke zegwi ki di ou rotasyon konbyen pou chak minit wou yo yo gen. Se konsa, mwen te kapab gade nan sa. Men, si li pa 0, ki pwobableman vle di machin lan ap deplase. Men, nou dwe fè yon ti kras atansyon a, because-- kite nan senplifye sa a men si nou jis te di, si machin kouri, nou pa vle jis emèt mwens, nou vle si machin nan ap kouri ak li a ke yo te pran tès la. Se konsa, gen yon lòt kèk engredyan ki jan te ipotèz lojisyèl an ap fè, paske absan kòd la sous aktyèl, ou ka sèlman sòt de dégager soti nan la efè fizik nan machin nan tankou sa ki ta ka ale sou anba kapo a nan lojisyèl. Se konsa, si machin kouri ak petèt, di, wou dèyè pa k ap deplase, ta ka sa a gen indicative nan kèk kalite tès? Kisa mwen Sa anpeche nan isit la? Yeah, petèt, li nan sou yon sèl nan bagay sa yo roulo, kote tankou wou yo yo vire nan devan an oswa nan do a, depann sou si li nan devan wou oswa dèyè kondwi rou, se konsa mwatye nan wou yo yo k ap deplase, men nan lòt de yo se pa, ki se yon sitiyasyon etranj nan mond lan reyèl. Si w ap kondwi sou la wout, ki pa ta rive. Men, si w ap nan yon depo sou kèk kalite sistèm roulo, ki ta ka tout bon rive. Mwen panse ke jan tou pwopoze ke petèt, si machin nan ap kouri ak volan wou pa deplase, ki twò ta kapab yon siyal, paske se sa rezonab pou tankou yon imedyatman sou yon wout. Men, menm lè sa a, moun nan se pwobableman k ap deplase li yon ti jan ti kras oswa ki sètènman sou yon kèk segond. Ou kou a nan yon minit, chans yo se li pa yo pral fikse nan egzakteman yon pozisyon nan menm. Se konsa, nan lòt mo, nou ka pran substraction, moun ou ye ke yo te teste yo, ak kraze desann sou menm fonctionnalités nan engredyan sa yo eleman. Epi sa a, se vre wi: ki sa Volkswagen lan enjenyè yon jan kanmenm te fè sa. Yo te ekri lojisyèl konsyans detekte si se machin nan ke yo te teste yo, Se poutèt sa emèt mwens, lòt moun emèt nan chemen an nòmal. Ak pwoblèm nan isit la, tou, se ke lojisyèl se pa yon bagay ou ka reyèlman wè sof si ou gen kòd la sous sa yo rele. Se konsa, gen nan de diferan kalite code-- omwen de diferan nan kòd nan mond lan. Genyen yon bagay yo rele sous Kòd, ki se pa kontrèman ak sa nou ve yo te ekri a, kòd sous. Sa a se kòd sous ekri nan yon lang yo rele pseudocode, ki se jis yon bagay angle-renmen. Gen nan pa gen definisyon fòmèl pou li. Men, C, ak Java, C ++, sa yo ki yo tout lang fòmèl sa, lè ou ekri nan yo, sa ou genyen se yon dosye tèks ki gen kòd sous. Men, gen tou yon bagay nan mond lan rele Kòd machin. Ak kòd machin, malerezman, se jis 0 a ak 1 a. Se konsa, kòd machin se sa ki machin konprann, nan kou. Kòd Sous se sa moun konprann. Epi jeneralman, men se pa toujou, gen yon pwogram ki yon pwogramè sèvi ak ki pran sous Kòd ak vire l 'nan kòd machin. Epi sa pwogram se jeneralman rele yon du. Se konsa, opinyon ou se kòd sous, pwodiksyon ou se kòd machin, ak du a se yon moso nan lojisyèl ki fè pwosesis sa a. Se konsa, sa a aktyèlman kat joliman nan entrain nou an, algoritm, rezilta. Men, sa a se yon trè espesifik enkarnasyon de sa, sa vle di sa, menm si ou posede youn nan Volkswagen a machin ki se koupab de sa a, li pa tankou ou ka jis louvri nan kapo oswa louvri manyèl itilizatè a oswa gade nan kòd la sous, paske pa tan an li rive nan machin ou nan antre kay ou, li nan deja te konvèti nan 0 ak 1 a. Epitou, se trè difisil, li pa enposib, men trè difisil al ranmase anpil nan anyen ki soti nan jis gade nan an kache 0 ak 1 a. Se konsa, ou kapab konnen li soti, finalman, si ou konprann ki jan yon machin operates-- Intel Anndan si ou konprann achitekti nan Intel, men li la trè konsome tan. E menm la, ou ta ka pa kapab wè tout bagay ke kòd la ka aktyèlman fè. Nenpòt kesyon sou sa a oswa sa a kalite pwosesis plis jeneralman? Ak aktyèlman, nou ka mare sa a diskisyon nan diskisyon yè a nan Apple. Sa a, tou, pou rezon sa FBI la pa kapab jis ale ak gade nan telefòn sispèk la nan epi jwenn liy yo nan kòd, pou egzanp, ki pèmèt paskod nan oswa pèmèt ke reta 80-milisgond. Paske pa tan an li nan sou iPhone parèy la, li nan deja te konvèti nan 0 ak 1 a. Oke, kite la pran yon poz isit la pou nou an gade nan panse enfòmatik. Poukisa nou pa nou pran yon ti repo 15 minit. Lè nou retounen, nou pral pran yon gade nan pwogram tèt li epi yo kòmanse nan kat jeyografik kèk nan sa yo konsèp wo nivo nan yon aktyèl, si playful, lang programmation.