Давид Малан: Добродошао назад, сви.
Дакле, јуче, ви се сећате да смо се фокусирали на овим темама овде.
Дакле, имали смо четири свеобухватни топицс-- приватност, сигурност, и друштво;
Интернет технологије; цлоуд цомпутинг; и на крају, веб развој.
>> Да ли неко има пропусни опсег или време
да гледам Литтле Јохн Оливер синоћ?
То је заправо прилично забавно, ако не мало застрашујуће.
Има ли питања о било чему јесмо јуче?
Има ли објашњења?
Има ли питања које желите да да ћемо дотаћи данас у неком облику?
Тако чисту прошлост.
>> Дакле, шта је на дневном реду за данас?
Па сам мислио да ћемо почети данас са освртом на оно што је генерално
познат као прорачунска сам-- на ризик од поједностављено, размишљања
као и рачунар, можда размишља као инжењер,
и покушавају да почну да организовати своје мисли
или да ти дам бољи осећај шта је укључено у ствари командовао
компјутер да уради нешто путем програма.
И ми ћемо га задржати у прилично Висок ниво, прилично енглеском,
али покушајте са употребом познат примери да озваничи како
би го о решавању проблема.
>> И ми ћемо поново нешто ЦС теме, као апстракције,
која је то пар пута јуче,
алгоритми, а затим представљање.
И тамо ћемо почети данас у само тренутак.
Онда ћемо да погледамо програмирања.
Ми ћемо да погледамо неки основне конструкције
са којим сте можда упознати и можда чак наћи сасвим је интуитивно.
>> Ми ћемо гледати, у ствари, у програмирање узорка
окружење које је врло приступачан, веома разиграни, и заиста на мети
за децу од 12 и више година.
Ми ћемо провести неколико минута тамо и онда се ствари на нижем нивоу
и заправо говоре о неким алгоритми и структуре података,
да тако кажем, да програмери обично користе
за решавање проблема много више ефикасно него што би
бити у стању да без њих заједно.
Онда после ручка, ми ћемо погледати у технологији гомиле, што је само
фенси начин да се каже збирке технологија
да би користите за реши неки проблем.
И причаћемо о писму супа од језика који постоје данас--
Јава и Питхон и Ц ++ и ПХП и Рубин и све врсте других ствари.
>> Узећемо само начас у дезена.
Програмери, током времена, има усвојене методологије
који имају тенденцију да им помогне решавају проблеме лакше.
Када почнете да се види писање иста врста код опет и опет,
људи формализује те понављања и описивали имена њих
а затим их користе и промовисати их, на крају.
И причаћемо мало о мобилним стратегијама,
као шта то значи у ствари направи мобилну апликацију или мобилни сајт.
Да ли то за Андроид?
Да ли то учинити за иОС?
Да ли то учинити за обоје то?
А шта су компромиси?
И коначно, ми ћемо узети поглед веб програмирање, који
је заједнички термин заиста описује у било ком тренутку
пишете софтвер који је треба да раде на Интернету,
било на телефонима или десктоп или лаптоп.
Ми ћемо се на кратко погледамо базе података и дизајн
у њему, ако само зато што скоро сваки Занимљиво веб-басед апликација
ових дана има неку врсту базе података.
У супротном, било би само бити статички садржај.
И база података омогућава вам да промене у току времена, било себе
или од стране корисника.
И ми ћемо размотрити како сте ће ићи око пројектовања
да база података и врста жаргона да могу доћи у инжењер је
дискусија на белој табли када заправо имплементацију
апликација за први пут.
>> Причаћемо кратко о АПИ, корисне услуге
које можете користити да стоје на рамена других, без обзира да ли компанија
или појединци, и реши своје сопствени проблеми брже.
А онда ћемо површно можда мало са ЈаваСцрипт,
програмски језик који се користи И у претраживачима ових дана, али и
у серверима.
И можда, ми ћемо поново, време дозвољава,
неки од руке на веб ствари које смо јуче и интегрише два
заједно пре него што завршимо.
>> Дакле, са то-- шта је ахеад-- је Има ли недостаје то ти
жели да буде сигуран да смо убацили и дотаћи у неком тренутку.
Ако је пада на памет, би га убрзо.
Али зашто не почнемо са погледај рачунарску размишљања.
>> И пусти ме да предложи да компјутерска размишљање је, опет,
врста описа високом нивоу шта је компјутерски стручњак може да уради.
И заиста, почнимо са три састојцима који
Можда одем у рачунарску размишљања.
Ово је само један начин да се то описује.
Могли бисмо свакако дефинисати ово много начина.
>> Али дозволите ми да предложи, ради данас,
да светских проблема, све светске проблеме,
када прилази компјутерски стручњак могао
да се гледа као што ћемо позива улаза, који
Потребно је да се хранили у шта ћемо назвати алгоритми, који потом, дати резултате.
Другим речима, цела свет решавања проблема Тврдим
може дестилована у ова три састојка.
Па шта мислим под улаза?
Улази је управо оно што сте предао како би се решили.
>> На пример, овде је старе школе проблема.
Ако имам телефонски именик овде и Желим да изгледам мало труда,
ово је мој улаз.
Имам 1.000 или тако странице у именику.
Ово је улаз за мој проблем.
И желим да нађем нешто Лике Мике Смитх, тако пријатеља
чије име и број надам се у том именику.
>> Ово је пре дана ћелија телефони, тако да не могу само тражи за то.
Тако да морам да урадим оно старо школа и заправо претрага
ови улаза за неки одговор.
И тај одговор је управо иде да се зове излаз.
Тако да је улаз је телефонски именик.
Алгоритам је све што сет кораци користим наћи Мике Смитх.
А излаз је, надамо се, Мике Смитх је број телефона.
А то онда би било Представник највише било проблема
да са си хандед улаза и желе да произведе резултате.
>> Дакле, пре него што размотри процес којим можемо решити тај проблем,
проналажење Мике Смитх и Нешто налик томе,
Размотримо прво и у ласт-- улази и излази.
Физички, наравно, улаз овде је гомила папира лепљењем заједно
у облику именика.
Али рачунари, од цоурсе-- лаптопова и десктоп па чак и телефони
ово даис-- то су електронски уређаји.
>> И на крају крајева, шта је једини улаз на рачунар?
Па, то је нешто као ово напајање овде.
Ја га укључите у зид, и Ја се проток електрона,
који ми омогућава да покренете машину.
Или можда ти електрони створена путем мог батерије.
Али на крају дана, то је једина ствар која у свом лаптопу.
И толико занимљиво ствар је на крају
излази, да ли путем штампача
или сцреен или аудиалли или слично.
>> Дакле, ако сви имамо као наша основни улаз на рачунар
је струја, па само електрони ће у и или ван,
па како можемо користити тај улаз у ствари, представља информацију?
Другим речима, како да дођемо од једноставног протока електричне енергије
да представља стварни бројева или стварне слова
или стварне слике на екрану или стварни филмове или е-маил
или било који број од њих виши концепти нивоу,
ако хоћете, да је на крај дана некако
морају се чувају у овом електронски механички уређај
користећи само оне једноставне ингредиентс-- електрони улазе и излазе?
>> Па се чини да, у најједноставнијем облику,
једина врста држава Имам у мом свету, тако
на спеак-- услови у мојој ворлд-- је било
Имам електрони тече, струја тече, или ја не-- учинити, искључивање.
И да формализује и искључивање, као компјутерски научник можда,
са само 1 и 0.
Хајде само да описује неке произвољне али у складу број на њега.
1 значи на, 0 значи искључен.
Или можда ће бити видели ово као прави средства на и лажни средства.
Такође могао црна и беле или црвене и плаве.
Треба само два дескриптора.
И рачунара научници би углавном само користити 0 и 1.
>> Дакле, ако је то случај, мој једини писмом се састоји од 0 је и 1 је, како
могу ли добити да чак и број 2 у рачунару, а камоли број 3
или слово абецеде или слика или филм?
Како да се некако бутстрапује сами од овог основног принципа
од 0 је и 1 је и стварно представљају нешто занимљиво?
>> Па, хајде да то питање на чекању за само тренутак
и размотрити нешто надам се познато,
чак и ако нисте баш размишљала о она у детаље за 10, 20, 30, 40, 50
више година.
То је оно што?
Како би изговорити то?
Није трик питање.
Један број, али шта је то?
1, 2, 3 или 123.
И ја волео како си рекао 1, 2, 3, јер је то један од начина да их гледате.
1, 2, 3, то је секвенца три симбола.
То је слика коју смо сада имају речи за.
И ако на неки начин их све прочитао заједно, типичан човек на енглеском језику
бих 123.
И то је нека врста виши ниво концепт,
изгледа као разумно великим бројем.
>> Али како смо тамо?
Па, то ће протећи извесно време од Ви сте мислили о томе овако,
ал у мојим дана, некако сазнао
као 1 колумни, на 10 је колона, и 100 је колона.
Како каже Лакиса, да је 1, 2, 3, али је такође 123.
Али како ћемо добити од ово прво ово друго?
>> Па, ви би обично радимо у Тхе 100 је колона, имам 1.
Дакле, то је као да говори 100 пута 1.
А онда у 10 колумни, Имам 2.
Дакле, то је као да говори 10 пута 2.
У периоду од 1. колумни, Имам 3.
Дакле, то је као да говори 1 раз 3.
>> И ако додам те ствари заједно овога, наравно,
је 100 плус 10 плус 3.
И ох, зато сам ово виши ниво појам 123.
То је само основни математике, при чему ови симболи имају тегове да им, уколико вас
ће, плејсхолдера или вредности колона.
А када помножите све се, ја добити овај број.
>> Дакле, колико умете да говори бинари-- 0 је и 1'с-- као компјутер?
У реду, савршен, нико, или нико од вас мисле да уради.
Али бих те тврдим заправо већ знају.
Ми само треба да на неки начин подесити наш ментални модел мало.
Али тај процес је потпуно исти.
>> Пусти ме оставити ову горе и уместо тога повући ово доле за тренутак.
У свету рачунара, имамо само 0 је и 1 је.
И тако је ствар која ће се променити је шта?
Па, у мом људском свету, децимални систем, нов смисао 10,
Имам Колико цифара на располагању?
10, зар не?
0 до 9, наравно.
>> И зато имамо 10 мјесто и 100 мјесто.
Где је то долази?
Па, ово је 10 на снази од 0.
То је 10 на снази од 1, 10 на снази од 2, и тако даље.
Само настави да се помножи своје колоне за 10, почевши од само 1
у крајње десне једном овде.
>> Дакле, у свету рачунари, ако само
имају бинари-- Би значење 2-- или 0 и 1 је, управо смо
Стварно треба да се промени основа тог математике.
Другим речима, сада ћу само има предност од 1 је колону и до--
где је то гоинг-- од 2 је колону, од 4 колумна, а можда и шире.
Зашто је то?
Па, то је 2 у 0-ог власти.
То је 2 од 1.
То је 2 до 2, и тако даље.
>> Према томе, док овде имамо 1, 10 је, 100 је, 1.000 је, 10.000 је, 100.000 је, 1
милиони, и тако даље, овде имамо 1, 2, 4, 8, 16, 32, 64.
Само настави да се помножи са 2, уместо држати множењем са 10.
Тако да сада, ако је циљ у рука је да представља
Бројеви који користе само 0 а и 1 је, Хајде да размотримо како да стигнемо тамо.
>> То, наравно, образац 0 0 0, али који број концептуално
то представља?
Па, 4 пута 0 плус 2 пута 0, плус 1 раз 0, додајмо они заједно.
4 раз 0 је, наравно, 0, плус 2 раз 0 је, наравно, 0 плус 1 пута 0
је, наравно, 0.
Дакле, ах, ово представља број ми људи знају као 0.
>> Па, сада, хајде да веома брзо брзо напред.
Ако сам уместо тога не представља 0 0 0, али хајде да 1 0 1,
то би могло бити како Лакиса, раније, би само 1 0 1 изговорити.
Али сада, како ми то узети за већи ниво броја који људи могу знати?
Па шта је ово број?
То је 5, број знамо као 5.
>> Па, зашто је то тако?
Па, можемо то помало прође кроз њега методично
4 пута 1, 2 пута 0, 1 раз 1.
Додај они заједно, тако ово је 4 плус 0, плус 1.
И то је, заиста, 5.
Тако да је сада постаје мало заморно изнова и изнова радимо аритметика.
Али тај процес је потпуно исти.
>> Једина ствар која има променило у нашем свету
је да су наши колоне су 1, 2, 4, 8, 16, и тако даље, уместо 1, 10, 100,
1.000.
А то је само зато што нам је алфабет има смањио од 0 до 9 да само 0 до 1.
>> Тако мало квиз овде, како би Ви представљају број 7 у бинарном?
0?
Па, 0, мислиш 0 0 0?
Понови, Карина.
Савршен.
Зашто је то?
То је ефикасно 4 плус 2 плус 1.
Тако добро.
>> Како ћемо представљати мало анотхер-- како о броју 2?
Близу, али уназад.
Дакле, шта је ово?
Да ли је 4 плус 1, тако да је 5 поново.
>> Па вхат'с-- Жао ми је, Карина?
0 1 0.
0 1 0 би 2, јер опет, чак ако се на неки начин не искочи на тебе,
само математику.
4 пута 0, 0, 2 пута 1 је 2, 1 пута 0 је 0.
Дакле, ово је број знамо као 2.
>> Како је са бројем 8?
Хм?
Добро.
Тако смо некако потребан још један чувар места.
Требамо 1 0 0 0.
И то је истина нашег врсте старе школе децимални систем.
Како се представљају број 1000?
>> Па, ти би изгледа да некако у тешкој позицији,
ако те питам да представља број 1000,
јер чак и ако се предате као 9 од њих, 9 од њих, 0 њих,
што је највећи број који има, ниси разумео на 1.000.
Дакле, ако вас 1.000, треба само једна положај, тако да можете да урадите 1 0 0 0,
Ерго број 1.000.
>> Дакле, сада, хајде да мап ову врсту концептуална дискусија назад у хардвер,
где опет, улаз је био овај мали кабл за напајање, струја
долази и истицање.
Па за то да се преслика одавде тамо, па, шта нам стварно треба?
Па, можете мислити да буду унутар једне рачунар, гомила сијалица,
ако хоћете.
Они су заиста зову транзистора.
И транзистори су само пребацује која може бити или или искључити.
Тако да можете да смислим транзистор који је на
дозвољава струја да тече и транзистор који је ван као заустављање
електрична енергија из тече.
И уместо да се над светла овде,
зашто не радим овакве нове школске стила.
Дакле, ово може бити 1, батеријску лампу као на, једва ипак.
И ово може бити 0, а сада је искључен.
>> Дакле, користећи овај физички уређај, ја сада представљају бинарни систем.
Само два стања.
Није битно шта боја је или шта је то.
Све што је битно је да имам једна држава на и друга држава ван.
Дакле, користећи свој телефон овде, како радим представљају број знамо као 0?
Или да еквивалентно, шта Број сам сада представља?
0, јер је уређај искључен.
>> И ако урадим ово?
А сада, како радим представљају број 2?
Могу ли да позајмим твој телефон Овде, као што смо радили јуче?
Па да видимо, па ако желим да представља број 2, да ли је ово број 2?
Не.
Који број сам ја случајно представља овде?
Ово је заправо број 3.
>> Па која желим да искључите?
Црни телефон или-- добро, ако Она су црни телефон или бели телефон?
Бели телефон.
Па ако искључите и ми линија га овде, имамо 1
у 2 месту и а 0 у 1 месту.
И сада сам представља број 2.
И то, наравно, био би број 3, јер сада оба светла
су на.
>> И ја ћу стати, али, може се закључити
ако желим да представљају број 4 или 8 или новији,
Идем да треба више телефоне.
Али то је све што се дешава.
Дакле, ако сте икада чули да унутар је-- хвала ти-- рачунар
је милионе транзистора, то је само милиони ситних прекидача.
И нису светло сијалице да пали и гаси,
али они ни не дозвољавају струју да тече негде или престани.
Па ту је твој два статес-- или искључите, или искључити.
>> Тако да се чини сада да имају ту способност
да представља овај концепт који волели у стварном хардверу.
Али све што сада имамо је способност да представљају бројеве рекло би се.
Дакле, како идемо о представља слова абецеде, који
осећа као следећег врсту функције коју би желите да додате у модерном рачунару
када имају бројеве?
>> И заиста, ако мислите о томе ит, историјски, компјутери
су заиста упознати са служити као калкулатори нумерички.
Али наравно, ови дана, они много више.
Чак и када су се подигне, те обично види једну или више речи.
Па како сте представник речи, ако све што имате је, опет,
струја на крају овог дан, или еквивалентно 0 а и 1 је?
>> Да.
Да, мислим, да некако урадили ово јуче у неком облику,
где у једном тренутку, Ја мислим произвољно
рекао је да, ако желимо да представљају слово А, можемо само да назовем 1.
То је било у контексту криптографије, где смо потребни неки код,
нека врста мапе.
>> Па можда А ће бити представљена као 1, и Б ће бити представљено као 2,
и З ће бити представљени као 26, на пример.
А онда је једини проблем је што ако сам да кодирају слова у својим е-маилова
или у својим текстуалним порукама као бројеве, све што
морају да се сложе да користите Исте конвенција.
И заиста, свет је учинила управо то.
>> Постоји систем на свету под називом АСЦИИ, амерички стандард
Код за размену информација, који је једноставно решење неколико година
Пре да су људи направили да одлучено да се иде на једнаке, не
1, 2, и 26, па фортх-- да је мало дифферент-- али 65, 66, 67.
А ја ћу подигне графикон за који тренутак.
Али то је произвољна.
Али није битно да је произвољно.
Свет је само да буде у складу.
>> Сада, недавно, има нешто одгајивача
зове Цириллиц јер у свету врсте реализованих, после измишљања рачунаре,
да постоји више него добро 256 симбола у свету
да би желимо да представља, посебно када се представити
Азијске језике и друге симбологије да је потребно више изражајност од вас
може да стане у најранијем верзији ово код, који се звао АСЦИИ.
Тако Цириллиц заправо омогућује да користите више 0 је и 2.
Конкретно, стално расправи о ворд бајтова у друштву, па чак и само
јуче.
А бајт је што опет?
>> Шта је то бајт?
То је само 8 бита.
Шта то заправо значи?
Па, то значи, раније, када смо били говоримо о бинарни и сам користио
произвољно три бита када смо били говоримо о бинари-- на 1 месту,
од 2 мјесто, а да место-- добро 4, бајт само значи да причаш
не у јединицама три али четири, пет, шест, седам осам,
који нам даје 8 мјесто, 16 је, 32 је, 64, а 128 је.
>> Другим речима, мало није све да користи јединица мере,
јер то је као једна мала податак, или искључити.
Дакле, пре неколико година, цео свет одлучио
то је мало згодније да разговарамо Услови бајтова, осам ствари у исто време.
Па тако је рођена појам бајта.
И тако имамо осам битова овде.
>> И испоставило се да, такође, за слично разлози, свет је одлучио година
Пре да да представља АСЦИИ писмо, ви ћете користити јединице од 8 бита.
Дакле, чак и ако не треба да се многи си
Увек ће користити 8 битова у представљају слово абецеде.
А ово је згодно, јер онда ако вас
примите поруку која има 0 0 0 1 1 1 1 0 следи још један 1 1 1 0 1 0
0 1, па ако примате 16 бита, свет може само
претпоставити да је прва 8 су једно слово а други 8 су још једно писмо.
>> Није битно колико их има.
Само је важно да сви смо доследни
када смо тумачењу ових бита.
А то је био само случајни.
То значи нешто, али нисам стварно мислим о томе шта то значи.
>> Тако да је мала бела лаж.
Оригинално, АСЦИИ заправо користе само 7 бита.
И осми мало је зове проширеног АСЦИИ.
Али поента је, на крају, исто.
Свет генерално стандардизован на 8 бита.
>> Дакле, ово је изгледа мало ограничавајући, јер могу само
представљају капитала А, капитал Б кроз капитала З.
Али заиста не, ако одем да-- постоји гомила ресурса
онлине, на пример, асциитабле.цом, овај
ће бити мало Огромна на први поглед.
Али ћу истаћи оно што је овде важно.
>> Ово једноставно догоди да бити-- и ја ћу валк-- да видимо, ако одем тамо.
Овде је, у децималног колона, број 65.
И на колону писму десном карактер, Цхр, је писмо О
И ви можете да игноришете, за сада, све у средини.
Ово је хексадецималан, октална, и ХТМЛ код.
На овом сајту је само покушава да баци много информација на тебе одједном.
Али све нам је стало је децималне колона и колона карактера.
>> Дакле, у овом логиком, што је број који је свет
је одлучио представља мала слова а?
Да, 97.
И само да збуни потенцијално мало,
који број је свет одлучио би представљају број 1?
У праву, јер смо-- 49, чини се овде, доле у ​​доњем левом.
>> Сада, шта хоћу да кажем?
Тако испада да у рачунарским системима,
постоји генерално Суштинска разлика
између броја и карактера.
Један број је ствар коју научили одрастања када
били смо супер млади у основној школи.
То је ствари које рачунају са.
Али лик је само облик, глиф, да тако кажем, на екрану.
>> Сада смо људи некако види нешто што изгледа овако.
И ми кажемо, ох, то је број 2.
Али не, то је само симбол који изгледа као што знамо као број 2.
И тако да је ово фундаментална разлика
између стварног броја и карактера.
Ово је број.
Али генерално, у контекст рачунара,
ако уместо тога видети Нешто овако куотед--
а ти не увек Морам да видим како се то наводи,
али због дисцуссион-- ако видиш цитате око броја,
ово је сада лик.
Дакле, овај број 2 испод аспиратор унутар рачунара
ће се представити са обрасцем битова који представљају број
50 према графикону на мрежи.
>> Међутим, ако рачунар само види ово, ово
ће се представити са образац бит 0 0 0 0 0 0 1 0.
С друге стране, овај лик би заправо бити представљен као- и сада,
Морам да размислим мало хардер-- тако да карактер би били заступљени са 0
0 1-- шта ми је потребно овде?
0 0 1 1 0 0 1 0.
Како сам то урадио?
Па ово је број 50, ако вас помножите га користе ове колоне,
ово је број 2, и тако зато је ово дихотомија.
>> И ово је само теасер сада за функције
да постоје у програмским језицима да ћемо се дотаћи кратко касније данас.
У програмским језицима, Ви генерално имају,
али не увек, ствари звати различите врсте података.
У другим речима, программер-- када он или она пише,
програмер добија да одлучи у ком формата за складиштење своје податке.
Можете ускладиштити податке као бројевима, као што је број 2.
Или можете да их чувате као жице, или секвенце карактера
да би генерално изражавају са цитати у вашем програмском језику.
>> Можете имати ствари цаллед-- Ја ћу упростити и да их позове
прави нумберс-- тако бројева који нису цели бројеви као што је број 2,
али број воле 4,56.
Дакле, реални бројеви могу такође имају децимале,
тако да је други основни податак у компјутеру.
А онда можете чак имати друге врсте података и даље.
Тако да је само теасер заиста од најједноставније одлуке о дизајну
да програмер можда да испод хаубе.
>> Па нека питања још увек?
Дакле, хајде да покушамо да ово мало реалније.
Ово хардвер није тако да више толико у употреби.
Али скоро сви у овој соби вероватно одрастао са и даље користи хард дискове
на неки начин.
>> Иако је већина наши лаптоп не
имају уређаје који раде овако, уместо лаптопс данас генерално
имају солид стате дривес без покретних делова.
И која тежи да буде скупља, нажалост, али мало брже
и је-- добро, често, много брже, што је један од разлога.
А исто тако не ради ствара толико топлоте.
То може бити мања, тако да је генерално нето позитивни.
>> Али то нам омогућава да мапирате мало конкретније шта
говоримо о На 0 је и 1 је ниво сада у физичком уређају.
То је једна ствар ми је да говорим о 0 а и 1 у смислу
мог телефона или апстрактно у смислу прекидача је и искључити.
Али шта је са хард дискова?
У својим лаптоповима, ако имате старији један, или у рачунару,
или сигурно у серверима данас, где имате
Чврсти дискови који имају терабајт простора,
4 терабајта простора, добро шта то значи?
>> Тврди диск са 1 терабајт простора средстава
има 1 трилион бајтова унутар ње некако,
или еквивалентно 8 трилиона бита унутра.
1 терабајт би било 8 Терабитс или 1 билион бита, који
значи ако имате тешко погон, ви на неки начин имати
или других трилион 0 је и 1 је у њему.
И ако узмемо да погледамо један произвољно слика хард диск
Представник, то је оно што је тешко погон може обично изгледају као унутра.
>> Она, такође, је попут стара фонограф играч
али генерално витх више записа унутар, тако
на спеак-- више Платтерс, као што зову,
метал кружне дискова, и онда мало читања глава,
много као стари грамофон.
И да читање глава се помера уназад и напред и некако чита делове.
А шта је на овим плочама, чак мада ми људи не могу да их виде,
било у стварности или на овој слици, ту је ситним магнетне честице.
Па чак и ако сте дуго заборавио како функционише електричне енергије,
магнетни честица који је оптужен генерално
има северни крај и југ енд-- тако север и југ.
И тако цео свет одлучио пре неког времена
да, ако магнетни протокол суштини усклађена је овако, север-југ,
назовимо то је 1.
Ако је уместо југ-север, Назовимо то је 0.
Па ако имате у ваш располагању трилион
малени магнетски партицлес-- и надамо се,
хардвер генијалност у Да би флип оних око
Као што видите фит-- ако желите да представљају гомилу 0-их, те
Само треба 8 магнетне честице све поравнати овако.
И ако желите да заступа осам 1 је, само
треба 8 магнетне честице усклађене бацк то бацк то бацк овако.
>> Шта мислим од стране магнетне честице?
Искрено, свих ових година касније, Оно што још увек пада на памет
је тај тип, ако ти одрастао са овим.
Ово је мало-- за они унфамилиар--
мало детињство играчка која има ту Хаирлесс човека овде
да има све ове малој црна магнетне честице које долазе са њим.
И користећи ту црвену штап, што је само магнет,
некако си да му дам бркове или обрве или длаке или било шта на њему.
Дакле, у ствари, ако се увећа у, на пример, овај
је врста игре коју могу играти са Вооли Вилли.
>> А ово је само рећи, ово су много веће магнетне честице
него су заправо на хард диску, и далеко мање магнетне честице.
Али хајде да заправо видимо онда ако немате
мале магнетне честице у хард диск, како ствари могу
користе они који представљају податке.
>> [ВИДЕО РЕПРОДУКЦИЈА]
>> -У Хард диск је где се налази рачунар продавнице већина његових сталних података.
Да бисте то урадили, податке путује из РАМ дуж
са софтверским сигнале који говоре хард диск како да сачувате те податке.
Погонске кола хард транслате оне сигнали у напон флуктуација.
То, заузврат, контролише хард диск је кретање партс-- неки од ретких кретања
делови оставио у модерном рачунару.
>> Неке од сигнала контролишу мотор, који се врти метала обложена плоча.
Подаци су у ствари чува на овим плочама.
Други сигнали крећу главе реад / врите за читање или писање података на плочама.
Ово машинерија је толико прецизан да људске косе није могао ни
прође између шефова и врти плоча.
Ипак, све ради на сјајних брзинама.
[Крај репродукције]
И можете видети на реп крај видеа,
генерално постоји више плоча.
И тако да читање глава не само чита врх.
То је као три или четири или више читања главе
тај потез овако, читање података истовремено.
>> Тако да је доста сложеност и врсту времена
да је умешан у хард диск.
А ствар се врти стварно проклето брзо, тако да је много сложености.
Али хајде да зумирате мало дубље и види где су ти магнетне честице
и како су ми се на њих.
>> [ВИДЕО РЕПРОДУКЦИЈА]
>> Хајде да погледамо шта смо Управо сам видео успорено.
Када је кратки пулс електричне енергије се шаље у главу реад / врите,
она флипс на малом електромагнетних за делић секунде.
Магнет ствара поље, које се мења
поларитет на мали, мали део металних честица
који слој површине сваког тацни је.
Образац серија од тих сићушних који се терете до подручја на диску
представља једну мало података у бинарни бројни систем који користе рачунари.
>> Сада, ако је струја послао један пут кроз главу реад / врите,
област је поларизован у једном правцу.
Ако је струја шаље у у супротном правцу,
поларизација обрнута.
Како ти податке са хард диска?
Само обрнут процес.
Дакле, то су честица на диск који добију струју
у главу реад / врите креће.
Саставити милионе ови Магнетизирана сегменти,
и имате датотеку.
>> Сада, делови једне датотеке могу бити разбацани плоча угради,
као нека врста неред радова на вашем столу.
Тако посебан додатак фајл држи колосек где је све.
Зар не желиш да имаш Нешто налик томе?
>> [Крај репродукције]
>> Тако се алудирао на ту, можда, је та тема од јуче брисања.
Када брисање фајл, јуче смо рекли
да рачунар заправо ради шта, кад вучете нешто
у корпу за отпатке или канти за смеће?
Само заборави.
Али 0 је и 1 је, магнетни честице
да изгледа као црвена и плава ствари овде, или моја рука овде,
још увек постоје на хард диску.
>> Па постоји софтваре-- Нортон Утилитиес и Иестериеар
и други модернији софтваре-- да само
скенира цео хард диск у потрази све те 0, а 1, зато што је
Испоставило се да је већина фајл форматс-- Ворд докумената, Екцел датотеке, слике,
Видео филес-- сви имају одређени обрасци који су заједнички међу њима.
Сваки видео датотека може бити различите видео,
али прво неколико бита су обично исти.
Или последњих неколико бита су обично исти.
>> И тако са великом вероватноћом, можете тражити те обрасце.
Па чак и ако је датотека заборављен, можете рећи са великом вероватноћом,
али ово изгледа као Ворд документ, летс то покрије и не-заборави,
ако хоћете.
Па тако можете опоравити подаци који ни било случајно
избрисати или избрисати или намерно избрисан у било које сврхе.
>> Насупрот томе, сигуран брисање шта ради у контексту слику овако?
Тачно, чини их све случајно.
Тако да на неки начин помера неке од их, неки од њих се,
оставља неке од њих непромењена, и генерално прави случајни буку из њега,
или само можда чини све Те 0 је или све од њих 1 је.
И то такође може генерално рибање податке далеко.
>> Дакле, да се вратимо сада на питање рачунарских размишљања, при чему
имамо формулу улаза.
И алгоритми даје ти излази на крају.
Сада се фокусирамо на улазима и излаза, јер сада,
тврдња имамо начин представља улаза и излаза.
Ми ћемо користити бинарни.
>> И без обзира на оно што смо Желим да представља данас,
да ли је број или слово или хиљаде њихови у именика
или слике или филмове, на крају дана, то је све 0 је и 1 је.
И тврдим да, иако је ово је супер једноставан свет са само 0-их
и 1 је, можемо да се изгради.
И видели смо један пример да са словима до сада.
>> Тако да се сада фокусирамо на ово средњи састојак, алгоритам.
И да се врате у ово Пример Мајк Смит.
Дакле, у овом телефонском именику, који додуше, ми не користимо толико више,
постоји проблем који треба решити.
Ми желимо да пронађете некога као што је Мајк Смит.
>> И шта би ја да нађу Мике?
Па, могла бих отворити ово књига, почиње на првој страници,
и схватити, ох, у делу А.
Мике није тамо.
Морам одељак С за Смита.
Дакле, само и даље гурају једну страну у исто време.
Дозволите ми да се претварамо да је то све беле странице и не Иеллов Пагес,
јер нећемо наћи Мике на било који начин жутим странама.
Али ја сам у белим странама.
И сада, ја сам у делу Б.
Ја још нисам га нашао.
Тако да сам стално окреће једну страницу у исто време.
>> Ово је алгоритам.
То је скуп инструкција за решавање неких проблема.
Другим речима, погледај страна, ако Мајк није на њему,
окренути страну, и понавља опет и опет и опет,
идеално гледа како ти то радиш.
Тако да је овај алгоритам, Овај процес, зар не?
>> Извините.
Не, ја чујем неке нос.
У реду, али то је-- да, то је свакако досадан.
Као, ми ћемо бити овде цео дан ако траћити Мике при овој брзини.
Али дозволите ми да тврде да је тачно.
То је глупо, али то је тачно.
>> На крају дана, док је могао узети, ја ћу наћи Мике ако је тамо
и ја сам обраћао пажњу.
И на крају до свог страну.
И ако оде предалеко, ако Могу да одељку Т,
онда сам мало да оптимизира и само рећи, ХМ, све се ради.
Не треба ни трошити Време ће З је.
Али ово је веома линеарна приступ, ако вас
ће, веома врста лева на десно приступ, права линија.
И његова тачна, али споро.
>> Ја се сећам из основној школи, врста неког оптимизацију из првак,
где сам научио да не рачунају би оних већ твос-- тако 2, 4, 6.
То је, много теже до, али у теорији, то је
фастер-- 8, 10, 12, 14, и тако даље.
Како би било тог алгоритма?
Да ли је то ефикасније?
Да ли је то брже?
>> ПУБЛИКА: То је ефикасан.
>> Давид Малан: Да, па то је деф-- је буквално дупло брже, претпостављајући да
немој се саплео са прстима.
То је дупло брже, јер Ја сам окреће кроз два
страница одједном уместо једног, али то је потенцијално у тачан, јер зашто?
>> ПУБЛИКА: Ти прескакање мало.
Давид Малан: Добро, шта ако се деси Мајк да се сандвицхед-- можда када сам касније
у именику, Мајк случајно сендвичу између ове две странице,
и ја сам слепо прескочити преко ње.
Тако да је потребно мало поправити тамо.
Једном сам погодио део Т, ја Не могу само да поуздано рећи,
нисмо нашли Мике Смитх.
Вероватно морам да удвостручи назад.
Или у ствари, кад дођем до неког под називом С Н, уместо М-М за Смитх,
Одмах сам могао да дуплира назад, јер можда он
је на претходној страни.
>> Али ја не морам да поново врате далеко.
У теорији, ако то урадим на десној страни време, да се вратим једну страницу.
Тако да је додавање само један додатни корак.
Тако да сам отишао дупло брже, али ме коштало један додатни страну.
Али да се осећа као нето победу.
>> Али ово није начин већина људи у ова соба ће решити овај проблем.
Шта би типична особа, можда Пре неколико година урадили, да пронађе Мике Смитх?
Да, није нашао Мике.
Шта да радим?
Зато се мало ближе, али ја знаш-- шта је истина о именика?
ПУБЛИКА: То је секвенцијални.
Давид Малан: То је секвенцијални.
То је по абецеди.
Па ако сам у делу М, Мајк је јасно десно,
Могу да буквално суза проблем у халф--
то је обично лакше него тога-- суза проблем на пола и баци,
тако да сада, имам проблем који је не 1.000 пагес-- то је било тешко,
јер мислим да сам заправо торе телефонски именик ово једном-- не
1.000 страница, али 500.
>> Дакле, проблем је буквално упола велик.
И то је прилично убедљив, јер са мојим претходним алгоритмима, верзија
1 и 2, правио сам само проблем један страница мањи, две стране мање
у време.
А сада, успео сам 500 страница мањи одједном.
>> У реду, тако да сада Карим предлаже да идем на десну половину.
Тако да ћу ићи грубо на средини, узми или остави.
А ако то математички урадио, Могао бих да у средини.
А сада, схватам, о, Ја сам у делу Т.
Заправо сам отишао предалеко.
>> Али ја могу, опет, Теар Тхе Проблем на пола, баци.
А моји бајтова није тако велика.
То је само, шта, 256 странице или 250 страница, узми или остави одмах.
Али је и даље много више од једне странице или две странице.
>> И сада, идем отприлике у средини.
Ох, нисам ишао сасвим довољно далеко сада.
Дакле понављам, понављам, понављам, Понављам, док сам надам се
остаје само једна страница.
>> Тако да позива на питање, ако почела са око 1.000 страница,
колико корака је било ме са верзијом 1 мог алгоритма?
Па, ако је Мајк је у С секција, у најгорем случају,
То је прилично близу крај писма.
Дакле, ако је телефон књига има 1.000 страница, Наћи ћу Мајка у 1.000 страница,
узми или остави.
Можда је то 800 или тако, али то је прилично близу 1.000.
>> Док у другом алгоритам, колико
страница претвара максимално Могао сам захтевају да пронађу Мике Смитх?
Има 1.000 страница, али ја сам их два раде истовремено.
Десно, па мак као 500исх, јер ако одем преко целе телефонски именик,
у том тренутку, могу зауставити.
Али могу да обрије неколико од само заустављање на релацији Т.
Али то је у најгорем случају 500 страница.
>> Колико пута могу да поделите 1,00о-страница именик на пола опет
и опет и Поново: од 1000 до 500 до 250 до 125?
Колико дуго пре него што сам ударио једну страну?
Да, то је око 10.
У зависности од заокруживања и тако, то је око 10 страница укупне потребе да се претворили
или телефонских именика треба да буде разапет.
>> Дакле, то је прилично моћна.
Почели смо са проблемом, а 1.000 страница у све три приче.
Али у првом алгоритму ит, одвео ме, у најгорем случају, 1.000 страна
претвара да пронађу Мике.
Друго алгоритам, 500 страница да пронађу Мике.
Тхирд алгоритам, 10 страница да пронађу Мике.
И то је још моћан када мислите
о врсти супротном сценарија.
Претпоставимо да је телефонској компанији следећем године можда спаја два града заједно,
а телефонски књига је изненада дебело, уместо тога да,
тако 2.000 страница уместо 1.000.
Па, моја прва алгоритам у потрази за Мајк Смит у 2000-страници телефонског именика,
горе случај, то ће узети колико страна постаје следеће године?
>> Телефонски именик је 2.000 страница, тако-- добро, не још један.
Ако је телефон књига је дупло дебљи у први алгоритам, прво алгоритам,
2.000, зар не?
У најгорем случају, Мајк је стварно близу до краја књиге,
тако да је 2.000 страница скретања.
Други алгоритам иде по паровима, као 1.000 страница.
>> Али шта је у мојој трећину и најновију алгоритам?
Ако телефонска компанија удвостручује број страна од 1.000 до 2.000,
колико још пута треба да теар та књига у пола да пронађу Мике?
>> ПУБЛИКА: Само један.
>> Давид Малан: Само још један, јер са једне странице сузу,
Буквално могу поделити и освојити, ако хоћете,
да је проблем у пола узимање масивни залогај од тога.
Па ово је пример ефикасност и вероватно је алгоритам
са којим сви ми некако интуитивно познато.
Али то је само као исправан као мојим осталим алгоритмима
с тим Твеак за други алгоритам,
али то је много ефикаснији.
>> И, у ствари, шта је компјутер научник, или пак програмер,
би обично до приликом писања код је покушати схватити,
У реду, не желим мој Програм само да буде тачан,
Такође желим да буде ефикасна и решавају проблеме добро.
Замислите у стварном свету, као што су Гоогле индекса, претрага
као милијарде страница, замислите да они користи први алгоритам да пронађе мачке
међу милијарду пагес-- лоокинг ат прва страна у њиховој бази података,
други, трећи, само тражим за мачку, у потрази за мачку.
То је проклето споро рекло би се.
Уместо тога, они могу користити нешто зове бинарно претраживање, који
није цоинциденце-- би што значи два, ми држати подели нешто у 2, у халф--
они могу користити бинарни претрагу и можда наћи мачке још брже,
или шта год да тражите.
>> И искрено, ту је чак и одгајивач алгоритми
да уради много више него само подели ствари на пола
како би се пронашли информације брзо.
И причаћемо мало о онима после ручка данас.
Па да покушам да представља ово.
Ми не треба да иду у свака математика или стваран број.
Можемо говорити о томе у садржају.
>> Али само да предложи, ако вас имали дискусију сада
са инжењерима предлагање овај алгоритам
а ви покушавате да израчуната одлука,
јер можда инжењер каже ти, ти
Знаш шта, ја могу спровести линеарна тражи у као два минута.
То је тако лако.
Бинарни претрага није то фенси, али то ће ме као 10 минута,
тако 5 пута дуже.
>> Ту је трговина овде, чак иу условима одлучивања који софтвер за писање.
Да ли написати једноставнији алгоритам, који ће вам само два минута?
Или проводите више времена, 10 минута, писање одгајивача алгоритам?
Како сте одлучили такво питање?
Или сте могли да га мало реалније.
Ја кажем свом шефу да ће узети ни ја једна недеља или 10 недеља
за имплементацију Софтвер на овај начин, како
да се одлучим који алгоритам за зелено светло?
Карим?
>> ПУБЛИКА: Публика, претпостављам.
>> Давид Малан: Публика.
Шта мислите публике?
>> ПУБЛИКА: Ако иде који ће се користити корисници
који [неразумљиво] од корисника [неразумљиво].
Али, ако је то нешто што си само ради за себе
да олакша проблем, [Неразумљиво] брже.
Давид Малан: Да, то је брз и прљав је добар начин да се опише.
У ствари, ако си описујући много времена
у град школу, при чему често пута, Писао сам свесно лошу код па--
барем, тако сам рационализовати то-- свесно тако,
јер иако сам писао код који је био релативно споро извршавају,
Био сам у стању да напише сама код прилично брзо, потрошња само неколико минута
или сати не дани.
И испоставило се, ја повремено је потребно да спава.
Дакле, чак и ако мој број је потребно 8 сата да имају, па то је у реду,
Идем на спавање док ради.
>> Дакле, у то време, мислио сам да је ово веома паметно, иако сам очигледно
радио кроз моје др веома споро.
Али је обрнуто од тога је да, ако је писање софтвер
за друге људе који важнији од мене, добро,
има их чекати 8 сати да би вратимо своје резултате претраге
није толико убедљив.
И тако проводе више времена напред за писање софтвера
да је ефикаснији, као и наш трећи алгоритам,
вероватно користи кориснике током времена.
Дакле, то највише зависи од преко време како ти трошкови сабирају.
Ако ћеш писати софтвер се користи једном,
Вероватно би као и до брзо и прљаво, како кажу.
Само га баци заједно.
То је код који срамоти ти, то је тако лоше,
али ради свој посао коректно, иако то није ефикасна.
Насупрот томе, проводите више времена на нешто, испадне како треба.
А онда амортизују током времена, да унапред трошак времена
је вероватно вредно, ако наставиш да оптимизацију за опште случај.
>> И заиста, то је тема у програмирање, или информатика више
генерално, покушавајући да оптимизира не за неуобичајено случај
али заједнички цасе-- Операција ће поново и поново догодити?
Ако ћеш имати милијарде корисника претраживање на вашем сајту,
вероватно би требало да проведете екстра недеља до пред писање бољи софтвер,
тако да свим својим корисницима корист.
Сада, хајде да покушамо да искористи ту А мало сликовито, али не толико
нумерички.
>> Дакле, овде је само стара школа графикон.
И да кажем да је ово време.
И није битно шта-- Заправо, не, не време.
Ставимо то на другој оси.
Рецимо да је ово време, а то је величина проблема.
>> И информатичар Можда уопште назвати
ово само н. н је као наш иди до променљива, где
је н број, н број, а то је број којим улаза имате.
Дакле, у овом случају, ње број страница.
Тако да би могло бити 1.000 у случај смо рекли.
>> Дакле, време може бити било која јединица мере.
Можда, то је друга.
Можда, то је дана.
Можда, то је као окретање страница.
Није битно.
Шта год желите да рачунају на то ће бити времена или коштати еквивалентно.
>> Имајући то први алгоритам, ако И, на пример,
имао је 1.000 страница телефонски именик, Ја ћу да скренем тамо тачку,
јер ако је 1.000 страница, то је грубо 1.000 страна окреће, узми или остави.
А онда, ако сам имао 2.000 страна именик,
и ја ћу извући мало дот овде, јер је за 2.000 страна,
то је као 2.000 секунди или страна претвара или било шта друго.
И тако, када сам раније рекао, то је врста линеарног односа,
то је било намерно, јер сам желео касније ајде-- право сада-- повући црту.
То је нека врста право линија однос.
Нагиб је 1/1, ако хоћете.
>> У међувремену, други алгоритам рекао, ако имате 1.000 страница
а сте користили други алгоритам, где сам избројао до 2-их, окрећући
две странице одједном, треба да нацртате дот испод или изнад мог оригиналног дот?
>> ПУБЛИКА: Испод.
>> Давид Малан: Испод, јер као што смо видели, је потребно мање времена, упола мање времена.
Дакле, тачка требало да буде пола као висок као други.
И исти посао овде, ово тачка би вероватно бити отприлике тамо.
И тако моја друга алгоритам, слично, има линеарну везу са временом.
И можемо извући као што су.
>> Тако да сада, трећа и коначна алгоритам је мало теже извући.
Али интуитивно, ако имам 1,000 страница са мог трећег алгоритма,
требало би да ме само око 10 корака.
И ако имам 2.000 страна са својим трећим алгоритма,
треба да ме не 10 кораци, али 11, само још један.
Дакле, ми једва да види ово.
>> И испоставило се да, ако Зумирам на то, ја сам
да претерују због ефекта, облик те линије, на крају,
није равна лине-- јер, заиста ако јесте,
то би изгледало као да више Остали-- то је заправо закривљена линија
да, ако се увећа, иде да изгледају много више овако.
То-- добро, у реду, игнорисати овај део.
То је био мој перо иде од угла.
То је закривљен линија која је увек повећање, увек, увек, увек
повећање, али само једва.
>> И тако временом, имате однос који је више овако.
Скоро да изгледа равно.
Али то је све тако споро расте.
Али за скоро свим тачкама дуж ваш к-оса, хоризонтална оса,
то је нижи од оних других линија.
>> Дакле, ово би могао бити однос Н, при чему ако имате н странице,
води вас н секунди.
Ово би могао бити однос Н / 2.
Имате н стране, потребно је ти н / 2 секунде, пола.
А то је логаритамска однос, који
ако се сећате, лог базу 2 од н биљежи ова врста раста, тако да говори.
Дакле, ово је нека врста светог грал међу три од ових
овде, јер је много више од тога ефикасан, али вероватно сложенији
имплементирати.
Неко питање?
>> Па дај да урадим ово, нека ја отворим прозор текст
само да можемо покушати да формализе нешто овде.
Дакле, пустите ме сада напред и имплементира овај алгоритам
за проналажење Мике Смитх у коду, ако хоћете, Псеудокод код.
Нећу користити Јава или Ц ++.
Ја ћу користити неки начин Енглески-као синтакса, коју
би обично зову псеудокоду код.
Ево, ја имам празан прозор.
И ја кажем Корак 1 од самог Први алгоритам је покупити телефонски именик.
Корак 2 је отворена књига за прву страницу.
Корак 3 ће бити погледати страница за Мајк Смит.
Ако на страници, позовите Мике.
друго скретање страна и идите на корак 3.
Доне, рецимо.
>> Па није савршена, који ћемо видети у тренутку.
Али, хајде да размотримо шта концепти сам овде увео.
Тако кораке 1 и 2 и 3 су прилично глаголи.
Они су изјаве, ацтионс-- ово.
И тако у програмирању језика, ми би генерално
позовите их изјаве или функције или процедуре,
позовите их било који број ствари.
Али они само ацтионс-- ово.
>> Корак 4 је суштински различит, јер је то некако поставља питање.
То говори да некако смо на на раскршћу.
Ако Мајк је на страници, позовите њега, па лево, ако хоћеш.
А ако не, да се вратимо на неке други паге-- односно, извините,
вратимо у неки други корак, који изазива неку врсту петље конструкције.
И ми то опет и опет и опет.
>> И заиста, знаш шта?
Да.
иф на крају књиге заустављања.
Тако да је потребно врста трећи услов, јер тебе
Не могу да окретањем ад Паге наусеум, јер на крају, ја ћу
хит крај књиге.
И грешка у програму може бити не очекујући тај сценарио.
И онда сам схватио, ох, цекај мало, треба трећи сценарио.
Ако сам се страница, ја треба стварно престани.
У супротном, то је недефинисан.
Шта ће се десити ако наставим каже окренути страницу и вратити,
ово је када су компјутери замрзавање или пада, кад удјете
неки непредвиђене ситуације тако.
>> Сада, шта је са Мике Смитх трећи алгоритхм--
покупи телефонског именика, отворена књига фирст-- у
не, не прва страна овог пута, на центар-- Ох, добро, то би било
бити други алгоритам.
Хајде да прескочимо на трећи.
>> ПУБЛИКА: О, жао ми је.
>> Давид Малан: То је у реду.
Хајде да пређете на тхирд-- Опен на средини и сада тражити Мајк Смит.
ако на страници, позовите Мике.
И онда шта желимо да кажемо овде?
шта?
Можемо изразити ово у неограниченом броју начина.
Не постоји прави одговор.
У реду, ако не опет, али морамо да се-- реду, ми желимо да поделимо на два дела,
али желимо да идемо лево или иди десно?
Како ћемо изразити ту идеју?
Па, у случају Микеовом, да, то је фер.
Али добро, тако да је заправо добра ствар.
То је у реду.
Ми ћемо наставити са овом логиком.
Тако--
>> ПУБЛИКА: Мање од половине.
Давид Малан: Да.
Дакле, иф страна је, рећи ћемо, мање него Смитх, лево од Смитх,
онда-- да видимо, је ово ће компликовати?
иф страна долази пре Смитх, сузу на пола, баци чега је половина?
>> ПУБЛИКА: Мислио сам да је [неразумљиво].
>> Давид Малан: Чујем како одговори.
>> ПУБЛИКА: Лефт.
Давид Малан: У реду, баци далеко лево пола, као Лакиса
рекао је раније, лево пола, онда сам некако
Желим само да одем да-- идем десно.
Или еквивалентно, и ја направио мало неред почетка овде,
Ја желим да ефикасно идите на поново корак 2,
где отворен за центар-- или опен-- Да, рецимо, странице на средини.
И ово је наместио.
То је више књига.
То је само пола књиге, тако отворене странице у средини.
>> елсе-- су скоро тамо.
Корак 6, иф страна долази после Смитх, теар на пола, баци десну половину,
затим пређите на корак 2.
друго отказ, а четврти сценарио ако немамо странице лево да се окрену.
Дакле, могли бисмо очистили ово.
И да би требало да очисти ово.
Ово је веома Псеудокод код, ако вас ће, опис веома висок ниво.
Али генерално не заузме идеју.
>> И, опет, у овом сценарију, ми имају појам стања,
грана, виљушка на путу, што децисион-- ако ово, овим путем,
иф, овим путем, иф, ићи тим путем.
И то је веома честа програмирање техника
да одлучи у ком правцу да иде, да се тако изразим.
А имамо и неку врсту од петље структуре, где
смо поново и поново радили нешто.
>> Сада, испоставило се, много као у овом примеру,
ако сте супер прецизан је важно.
Али такође смо видели нешто да чувамо зове апстракције.
Шта то значи да покупи телефонски именик?
Ми смо некако полагања здраво за готово у овој соби
да да има семантичко значење.
Сви ми некако познато, ох, Добро, покупи телефонски именик.
Шта то заправо значи?
Па, то заиста значи проширити рука, нагнуо, проширити прсте,
пинцх књигу између прстију, станд уп, повуците руку према вама.
И можемо бити стварно педантан о томе,
стварно сте супер прецизни шта радим.
Али све те кораке колективно су шта значи да покупи телефонски именик.
>> И тако раније, када сам рекао, сваки ова прва два изјаве
може да се посматра као наставити или функција,
заиста представља оно што наставите да зовете апстракција.
То је као високом нивоу концептуални опис проблема који
заправо подразумева доста неколико корака.
И тако то, такође, је понавља тему у програмирању,
при чему сам могао написати програм користећи синтаксу овако--
пицк_уп_пхоне_боок ().
И онда синтактички, ја сам крао нешто
из већине програмских језика.
>> Сада, корак 1 изгледа још више као функција,
као програмер бих то назвао.
Изгледа да код тог неког је дала име и дата
мени се користе сомехов-- у другом речи, шта је линија сам истакнуте
представља функционалност која можда Нисам ни ја спроведе.
Неко старији, мудрији од ми већ схватио
како изразе мишљење да подижете телефонски именик.
И то је као пет корака сам извео ван, са врха главе.
>> Али он или она већ имплементиран ово, дали те неколико корака
име, пицк_уп_пхоне_боок.
И заграде је само оно што највише програмере
то на крају изјава попут ове.
Ја сада може да стоји на његов или њен рамена и никад више,
размислите о томе шта то значи да покупи телефонски именик.
Ја само могу да кажем, покупити телефонски именик.
И то је управо оно што сви ми људи радили овде.
>> Када смо вероватно били 1 година, 2 године,
неко је морао да нас научи шта је требало да покупи телефонски именик.
И од тада, смо захваћене далеко
од оних који су веома незанимљива механички кораци.
И само имати интуитивно разумевање
шта значи покупити телефонски именик.
>> И можете екстраполирамо сада да компликованије ствари--
изгради објекат.
Као, неким људима, да заправо има значење.
Извођачима, архитектама, да има неко значење.
И они би знали шта да раде, ако Рекао сам, иди изгради објекат.
>> Али већина нас у соби није могао баве том нивоу апстракције.
Потребно је да нам рећи воле иди по лопата и одемо у бетон
и средимо делове дрвета заједно и све друго
је укључена у изградњу зграде.
А то је зато што немамо још није програмиран да разуме
шта то значи за изградњу зграде.
Ми немамо ту апстракцију.
Ми немамо ту функционалност.
>> И шта ћете видети у програмски језици, генерално,
посебно више модерни језици, као Јава, ПХП, Руби, и Питхон,
они су много зрелији од старијих језика,
као Ц и Ц ++ и другима.
И тако долазе са више је уграђен.
Више код је написано људи у прошлости
да сада можемо позвати или позвати или користе, као што сам наговестио
на ово истакао линију овде.
И тако, иако не говоримо о програмским језицима пер се,
само Псеудокод код, све од идеје су и даље у тој дискусији.
И испоставило се да прецизност Супер важно, јер је апстракција.
И да покушамо да комуницирају то како следи.
>> Случајно сам можда покварила тако што трепери слајд на екрану
прерано.
Али да питам за храброг волонтера, ако ти не смета долази.
Да би био у испред камера, да ли си ОК са тим.
Да ли би неко желео да се попнем и дати инструкције својим колегама овде?
Само да дођеш овамо и стајати овде и кажем неколико речи.
>> Викторија се смеје највише и избегавање очи највише.
Да ли бисте били спремни да дођу на горе?
ОК.
И ако сви остали на своја места могао да се комад старог папира,
ако хоћете.
Линед папер је у реду.
Хајде око на овај начин.
Или неке од папира који сте јуче дали,
само неки празан папир папира, ако можеш.
А ако немате ниједан, само питајте свог ближњег кад би могао.
>> Дакле, за сада, за овај пример, Викторија
ће играти улогу програмер, инжењер, који је
треба да програмирате све, као компјутере, да ураде нешто.
Па да видимо шта претпоставке одлучите да.
Видећемо како прецизно да одлучи да не.
И ако је ово демонстрација иде педагошки добро, много грешака
ће бити, да ћемо онда користити да као могућност за дискусију.
Али изазов за вас треба да се избегну те грешке,
бити добар програмер.
И тако је изазов при руци, ако да би волела да хода овде,
је испред Викторије на екрану овде-- и надамо се, нико од вас
запамтите ово када сам блеснуо на екрану.
И не окрећи се уопште, јер постоји још један екран у овој соби
да могу искључити.
Дакле, немој се окренути.
>> Испред Вицториа је тај исти крик.
И њен посао је да ти све на комаду папира шта да цртам.
Па ћемо видети, на основу сами вербални инструкције,
компјутерски код, ако хоћете, Колико су тачне ваши цртежи
су- ваши имплементације су.
Има смисла?
>> ПУБЛИКА: Да.
Давид Малан: У реду, изврши.
>> ПУБЛИКА: Нацртајте квадрат.
>> [Смех]
>> Давид Малан: И нема питања могу бити постављена.
Могу само да уради оно што си рекао.
Ох, и ако имате данашње слајдови отворити на картици, не гледај твој рачун.
ОК?
>> ПУБЛИКА: У реду, нацртајте круг.
Слопе-- могу да кажем нагиб?
Давид Малан: До иоу.
ПУБЛИКА А нагиб.
И троугао.
>> Давид Малан: У реду.
И остати овде за тренутак.
И ја ћу доћи око за тренутак.
И нема потребе да ставите имена на њој.
Пусти ме да идем около и прикупити своје цртеже,
ако ти не смета кидање их.
>> Ево шта смо се вратили.
Ја ћу то пројектује на екран.
Видим квадрат, круг, нагиб, и троугао.
Дакле, то је био један одговор тамо.
И хајде-- упс.
Хвала вам.
Ево још једног асортиман, и један иза њега.
>> Тако да све изгледа да ухвати дух.
Хвала вам.
Постоји још једна, а овде је још један.
Нагиб интерпретација је мало другачије, мало облинама.
И најближи, било због предиван специфичност са којима сте
описано, или можда некако Видела је пре, ово је заиста
Шта Викторија је заправо описује.
>> Али сада, ви који није добио сасвим у праву,
хајде да понуди неке замерке овде.
Дакле, Викторија је најпре рекао нацртали квадрат.
А сада, можемо претпоставити ради данас
да свако зна хов то драв квадрат.
Али то није у потпуности јасно, зар не?
Како бих друго могао имате дравн квадрат, или где
можда неки од нејасноћа овде за компјутер?
ПУБЛИКА: Локација и величина.
Давид Малан: Локација, зар не?
Сви сте имали папир неког облика, генерално правоугаоника, али мало
различитих величина.
Али сигурно су имали прилику да, ако желиш, велики квадрат, можда
мали квадрат.
Можда, да је ротира.
Не мислим да смо видели да.
Али могло је да буде више дијамант као али ипак, ипак,
Математички квадрат.
Тако да је вероватно двосмислено.
>> Онда је рекао, нацртајте круг.
Неки од вас ја то драв поред то, што није неразумно,
јер људи имају тенденцију да размишљају или читати десна на лево у већини језика, тако да не
лоша претпоставка.
Али тај круг би могао имати био унутар квадрата,
могао да буде около квадрат, могао да буде на другом месту
на листу, тако да вероватно двосмислен.
>> Нагиб могло бити можда узимајући највише слободе усмено
с шта то значи.
А неки од вас тумачити она као изобличену линије
или права линија или слично.
И онда троугао, такође, могу имати била оријентисана у неограниченом броју начина.
Дакле укратко, чак и са нечим што да погледаш и ти си као, вау, тако
Једноставно, дете може цртам, па не
стварно, осим ако сте Супер, супер убедљив
и реци рачунар тачно шта да ради.
Дакле, ако бисмо могли, ако имате још један лист папира, хајдемо
пробај ово још једном.
И ја ћу дати Вицториа један други пример на екрану овде.
И опет, не окрећи се и не гледај слајдовима.
А ја ћу јој дати тренутак за размислите о томе како да опишем ово.
Не дозволите им да виде страх у твојим очима.
>> [Смех]
>> И опет, овај пут полуга неки од тих Такеаваис
и покушати да се скоро све барем прави одговор.
>> ПУБЛИКА: У реду, потрајати комад папира, погледајте
усред том папиру.
У средини тог дела папира, нацртајте коцку.
>> [Смех]
Давид Малан: Шта смо научили?
Били смо тако близу.
У реду, поновити ако би могао, за све.
>> ПУБЛИКА: У сред цркве комад папира, извући неки предмет,
који личи на коцке.
>> Давид Малан: У реду, то је све ти радити.
Дозволите ми да будем аналитички и не толико критична,
али да би захтев да Викторија дефинитивно
Изгледа да се размишља у врло Висок ниво апстракције, који
није неразумно.
Јер у супротном, ми би сви бити прилично нефункционална,
ако смо морали да будемо увек тако прецизан с свему што радимо у свету.
>> Али рећи иду у центар-- И Мислили смо били на таквом добром путу
тамо, као што иду до самог средини странице, а затим нацртајте коцку.
Дакле, она мисли апстрактно, јер она увек прегледају
шта је на екрану као заиста коцка.
Али има толико много могућности за тумачење тамо.
И, у ствари, има толико други начини могли да изразе
да, што ћу предложити у тренутку.
Дакле, овде имамо једну инкарнацију на ну слику вхоопс-- један
инкарнација слике, тако да мало три димензионалност на њега,
што је лепо.
>> Ево још једне, где имају Исто, мада је нека врста отвореног коцке.
Неки људи то је мало више стан, дводимензионални.
И то је у реду.
Тако да, заиста у центар папира.
Овај Мислим да ћу као, јер ако идемо овде,
то је оно што је она описује.
Па сад, да предложи како другачије можемо описати ову ситуацију.
>> Раније, један од највише више уобичајена начина за учење програмирања
је био да се напише код, пише линије инструкција,
да контролише мало корњача на екрану.
Лого и друге варијанте овог био је назив језика.
А корњача је живео у свету.
>> Претпостављам ову правоугаони Простор је његов свет.
А ти би почети од ассуминг-- И стварно не знам како се извући корњачу,
па хајде да то урадимо овако.
И онда он има оклоп а онда можда неки метара.
Тако да можда има ово мало карактер на екрану.
>> И предмет овог програмски језик
био је да приморају корњачу да иде горе, доле, лево, десно
и да стави оловку доле или изабрати свој ПЕН УП,
тако да је заправо могао да се ослони на екрану у овој веома равној правоугаоног свету.
Па где сам мислио да можда идете, и где треба узети у обзир роњење
до ментално када описује инструкције више генерално,
Ја бих тврдио, ставља свој перо доле у ​​центар--
и ми ћемо се отарасимо корњача, јер ја не могу стварно
Стално га врло добро цртање.
>> А сада, како другачије могао Кажем нацртам коцку?
Па, могли би нешто жреба рећи дијагонали линија североисточно, на пример,
или под углом од 45 степени навише.
И који је могао да ме стечен овде.
И ја сам прилично далеко од коцке.
Али сада, могао бих нешто рећи Као да 90 степени на лево
и повући линију једнаке дужине северозападно.
И ја могао да настави са сличним правцима.
И то неће бити лако.
И искрено, вероватно би су овде већ пет минута.
Али можда бисмо стигли до нешто што, на крају дана,
заврсава као коцка, али ми рони унутар тог апстракције
да то уради на такав низак ниво да не могу да
види шта радите док цела ствар је заправо ту на страници.
Па ово је општи принцип, Опет, од программинг-- ове идеје
апстракције.
То је тако дивно моћан, јер опет,
је рекла, извући коцку, која све нас прилично би грок веома брзо.
Ми бисмо разумели, У реду, нацртајте коцку.
Можда не знамо оријентацију, тако да би могли бити мало прецизнији,
али генерално можемо замислити или знају шта је коцка је.
И то је корисно, јер ако сваки пут сте
седе као програмер у тастатура за писање кода,
ако би морао да мисли на такав низак ниво, нико од нас
би икада било шта уради.
И свакако, нико од нас би уживају у процес писања кода.
То би било као писање у 0 је и 1-их, који искрено није све тако давно
људи су писање кода у 0 је и 1 је.
И ми смо веома брзо дошли до ово виши ниво лангуагес--
Ц ++ и Јава и други.
>> Дакле, хајде да пробамо ово још једном само да флип табеле, тако да сви ми
имају прилику да размислим у радије исти начин.
Можемо ли добити још једну волонтера тхис Време је да се до одбора и извући,
не рецитовати?
Аха добро.
Бен, хајде горе.
И, Бен, у овом случају, када суочавају плочу, не гледај лево,
не изгледа добро.
Само оно твој колеге овде ти кажем.
И за све остале у соба, сада сте програмер.
Он је компјутер.
И слика коју сам одабрао овде унапред је ова овде.
Они само- мисле од шала је све.
>> Тако би се неко желео да добровољно прве инструкције
или изјава да треба Цомманд Бен перо?
И ми ћемо то урадити заједно, можда једна инструкција из сваке особе.
Жао ми је?
>> ПУБЛИКА: Нацртајте круг.
Давид Малан: Нацртајте круг је прва ствар коју сам чуо.
>> ПУБЛИКА: на врху.
>> Давид Малан: на врху.
У реду, можемо дозволити да избришете, поништити.
И сада, неко други.
Дан, да ли би удобно нудећи следећу инструкцију?
>> ПУБЛИКА: Наравно, драв центар дна круга,
са мала група-- мало мали простор од тога,
повући праву линију до три четвртине до краја одбора
благи угао са ваше леве стране.
>> Давид Малан: Добро.
>> ПУБЛИКА: Благо угао.
>> Давид Малан: Опозива, контрола З. ОК.
Ендрју, желите да понудите до следеће инструкције?
>> ПУБЛИКА: Наравно.
Из дубине те линије, још једна мала англе--
вхоопс-- можда око једне трећине дужине [неразумљиво],
благи угао надоле и као Трећи дужине [неразумљиво].
Тако да, од тог тренутка, повући линију за трећину
дужине претходног линија даље са леве стране.
>> Давид Малан: То је у реду?
Права линија, то је у реду?
У реду, Оливије, хоћеш да понуди следећи?
>> ПУБЛИКА: [неразумљиво] од дно круга, [неразумљиво].
Драв на десној страни оф [неразумљиво] центиметара.
>> [Смех]
>> Давид Малан: Мислим да ћеш да се претворити то је инча овде.
>> ПУБЛИКА: Стоп.
>> [Смех]
>> Давид Малан: У реду.
[? Ара,?] Хоћеш да понуди следећи?
>> ПУБЛИКА: Драв а [неразумљиво] горњи [неразумљиво] исто.
[Неразумљиво] круг, драв до [Неразумљиво] и извући [неразумљиво].
>> Давид Малан: ОК, нема више поништи.
Хајде да урадимо још један или два упутства.
Крис, желиш да понуди једну?
>> ПУБЛИКА: На дну круга, [неразумљиво]
драв једнак линије бљутаво надоле са леве стране [неразумљиво].
>> Давид Малан: У реду.
Ендрју?
дид-- ми Карим?
>> ПУБЛИКА: Полазећи од десне линије, крај леве линије, дно,
ћеш ићи у праву исте дужине као и те линије
Ви сте на, скреће право [неразумљиво].
[Неразумљиво] степени, тако [неразумљиво] степени на десној страни.
>> Давид Малан: У реду.
Да паусе.
Не окрећите још око.
Хајде да паузира, и немојмо пробати још једну покушај
пре него што откривају Бен шта је цртао.
Може ли схуффле Бен на ригхт-- или заправо,
не, хајде ти само дати други одбор, још боље.
Тако да би неко сада да да се више приступа
да Викторија је и раније, где говоримо у вишем нивоу апстракције
и на само једној реченици или два описују Бену
шта да скрене без узимајући у коров,
да тако кажем, ово нижи ниво?
Вицториа.
[Смех]
ПУБЛИКА: Драв човека хода.
И ноге и руке мора да буде са десне стране.
>> Давид Малан: У реду, то је све што ћеш добити.
У реду.
Зашто не бисмо открити Бен шта је урадио.
Дакле, аплауз.
То је био најтежи можда.
>> Дакле, иако говоримо у прилично глупавих смислу
Или само цртање слике, надам се да
могу да цене степен експресивност која може бити неопходно
како би рекао компјутер шта да ради.
Иу ствари, чињеница да Бен је био у стању да тако брзо извући ово
је врста тестамента да помоћу језика, можда виши ниво
верзија енглеског, који му омогућава је користити само речи, или чути речи
из Викторије, да му омогући ово абстрацтионс-- да скренем
фигура хода до ригхт-- такве има
неки семантичко значење за њега то није скоро као очигледно када си
говорећи, стави оловку, драв десно, скренути лево.
>> И тако то, такође, је веома уобичајено у програмирању.
То би се могло рећи да се као Веома низак ниво језика, програмирање
у 0, а 1-их, ако хоћете.
И то би био виши ниво програмски језик у Јави,
или нешто слично.
Помало поједностављено, али то је
врста као емоционална осећај да се осећате кад
користећи једну врсту ствари или другог.
Мало фрустрације овде потребом за такву прецизност, али прилика
да буде мало губитник са тумачење овде.
Али наравно, бубе може настати као резултат.
>> Ако желите кад куце ми неће учинити овог пута у цласс--
али ако желите да довести ову гол,
Мислио сам да ће ронити у ово.
Дакле, ако желите да играте ово игра са друге значајне
или деца или слично, ви могу уживати исто тако добро.
>> Дакле, идемо напред и погледамо један задњи ствар овде за рачунарску размишљања.
И то нас доводи до Јохн Оливер, не за клип
можда сте видели синоћ, али у нешто последње издање.
Неколико месеци уназад, Форд је доста Флак
из ког разлога, ако знате?
Шта су добили у невољи за?
>> Да, тако емиссионс-- они су покушавали да победи емисије
тестови у суштини имају своју аутомобили загађују животну средину мање
када су се тестира њихове аутомобиле и загађују животну средину више
када нису у фази тестирања аута.
А шта је све занимљиво у свету, као што може имати закључили
од расправа о као-- шта је то-- ЦарПлаи, Аппле-ов софтвер за аутомобиле
и чињеница да су многи нас све
имају екране у нашим аутомобилима, ту је застрашујућа количина
софтвера у Народној аутомобили данас, који
искрено отвара читав конзерву црва када су је у питању безбедност и физички ризик.
Али данас, хајдемо фокусирати на само оно што је
укључени у писање софтвера која је могла да гамед систем.
>> За дефиницију Проблем, за оне који нису упознати,
хајде да погледамо Јохн Оливер.
И за оне који су упознати са проблем, хајде да погледамо
у забавном објектив преко Јохн Оливер, као.
Тако да ме удари игра на ово, ја Мислим, три минута увод.
Проклетство.
[ВИДЕО РЕПРОДУКЦИЈА]
-Аутомобили--
Давид Малан: Очигледно, на ИоуТубе-у, то је--
- --Правила најпаметнији знакова у Тхе Фаст анд Фуриоус филмова.
Ове недеље, немачки произвођач аутомобила Волксваген нашла
у сред скандала у потенцијално кривична пропорције.
>> -Волксваген Се спрема за милијарде у казни, могуће кривичне пријаве
за своје директоре, као компанија се извињава
за намештање 11 милиона аутомобила у помогне да беат тестове емисије.
>> -Цертаин Модели су дизајнирани дизел са софистицираним софтвером који
Половни информације, укључујући и положај од волана и возила
брзина, да се утврди је ауто био пролази кроз тестирање емисија.
Под тим околностима, мотор смањило би токсичне емисије.
Али ауто је намештена на обилазници када се она возити.
Емисија повећана 10 до 40 пута изнад прихватљивог нивоа ЕПА.
>> Вау, 10 до 40 пута већи од ЕПА дозвољава.
То је најгора ствар Волксваген је икад урадила,
је нешто могло би се рећи да Ви никада нисте чули из Другог светског рата.
Али можда најсигурнији знак како много невоља Волксваген је у,
је да људи у веома врх су се повукао.
Генерални директор поднео оставку у среду после кодирање да раде контролу штете,
да је био бескрајно жао, који звучало супер док се испоставило
он је био само 10% жао али је намештено уста
вештачки надувавају свој сорринесс.
У међувремену, Волксвагена САД Шеф је имао извињење своје.
>> Хајде да будемо јасни у вези овога, наша компанија је непоштено.
И у мојим немачким речима, су упропастили.
>> Да, али тотално сјебани до нису Герман дела.
И њемачки језик има много лепих фразе
да се опише ситуација баш овако, као што је [Герман], што значи отприлике,
туга која долази из вези са пословним лажи,
или [ГЕРМАН], што значи као схаминг онес оца који укључује
облаци бензина.
То је леп језик.
Само плови са језиком.
И успут, док је тај човек је Извињење је можда звучало искрена,
вреди напоменути да је говорио у званични Лаунцх Парти за 2016.
Волксваген Голф, што значи да ускоро после речи жао ми је, рекао је он ово.
>> Хвала ти пуно што сте дошли.
Уживајте у вечери.
Уп нект је Ленни Кравитз.
>> [Мусиц плаиинг]
>> ОК, у реду, завршава свој Извињење са највише следећи
Ленни Кравитз не сцреам трезвено кајање.
Она вришти, питали смо Бон Јовић, а он је рекао не.
Волксвагенов бренд има су тешко оштећени.
И искрено, њихов нови оглас Кампања није баш помаже.
>> - [ГЕРМАН], ми у Волксваген бих да се извиним за вас обмануо са
наша возила.
>> [Крај репродукције]
Давид Малан: Дакле, ово је заобилазни пут од-- је--
ово је заобилазни пут од увођење фундаментални проблем
у софтверу, а то је да вас Потребно је да открије одређене услове.
И тако је питање у руци овде је, како се ауто потенцијално,
примењених у софтверу овим програмерима,
открити да је то заправо се тестира?
Тако да будемо супер јасно, шта су радили
је, у срединама где програмери схватио
ауто је био тестирани, они некако направили
ауто емитују мању емисију, мање емисија, тако да мање отровних испарења
и слично.
Али када је нормално то вожње на путу,
то би само емитовати толико загађење је хтео.
>> Па како можемо написати Псеудокод за овај алгоритам?
Како можемо написати псеудокоду за софтвер који се користи у ауту?
Мислим, у суштини, не проври доле на овако нешто.
ако се тестира, емитују мање.
друго емитује више.
Али то је мало превисок ниво, зар не?
>> Хајде да покушамо да зарони у томе шта ово Апстракција се тестира средстава.
Другим речима, чак и ако не знаш ништа о аутомобилима, каква питања
Можда питате како би се утврдило да ли сте се тестира, ако си ауто?
Које особине могу бити представити ако се тестира ауто?
>> ПУБЛИКА: Тестирање опреме.
>> Давид Малан: опрема за испитивање.
Дакле, ако тестирање опрема у близини, онда емитују мање.
Тако да сам могао замислити примену да са неком врстом камера
или откривање шта је око тебе.
И пусти ме да предложи, да само се осећа превише компликовано
да заправо имају додатне хардвер само за ту сврху.
>> ПУБЛИКА: Ако сте у Парк, ако је ваш аспиратор отворен.
>> Давид Малан: У парку или хауба отворена, тако да је добро.
>> ПУБЛИКА: А ауто трчање.
>> Давид Малан: Дакле, то је мало више цонцрете-- и ауто трчање.
Дакле, то би био повезивање олуја са неколико различитих стања, ако хоћете.
Дакле, ако је ауто у парку, па чак и иако је то веома механички ствар
типично, сам могао замислите писање софтвера,
посебно зато што је често светло тамо ових дана,
Могу да замислим да будем тамо софтвер који може да упита у мењача
или шта не, ви сте у парку, су Ви у погон, те су у обрнутом смеру.
И ја могу да довезе одговорити да је било да
или не да се такве врсте питања.
>> И тако сам се такође вероватно одговорити питање као што је хауба отворен.
Можда, постоји нека врста сензора да или даје ми назад 1 или 0,
тачно или нетачно, хауба је отворен.
А онда ауто трчање, што могу да осетим да некако преко којег механизма?
Као, ауто ради, ја могло открити да је на,
могао да открије некако да је возило у покрету?
>> Публика: РПМс.
>> Давид Малан: Да, тако да је Увек је игла да
говори Вам колико обртаја у минуте точкови доживљавају.
И тако сам могао гледати на то.
А ако то није 0, то вероватно значи да је возило у покрету.
Али морамо бити пажљив тамо,
јер-- да то поједноставимо ово-- ако смо рекли, ако ауто трчање,
не желимо само да емитује мање, желимо да је возило упаљено
и то се тестира.
>> Дакле, постоји неколико других састојци који људи
су, претпоставља се софтвер ради, јер одсутна у стварном изворног кода,
можете само некако закључити из физички ефекти аутомобила о томе шта
можда дешава испод аспиратор у софтверу.
Дакле, ако ауто ради и можда, рецимо, задњи точкови не креће,
би то могло бити индикативно неке врсте теста?
Шта ја алудирајући на овде?
Да, можда, то је на један тих ваљкастим ствари,
где као точкови окрећу испред или позади,
у зависности од тога да ли је предњи точак или задње точкове, тако да половина од точкова
су кретање, али остала двојица нису, који
је чудна ситуација у стварном свету.
Ако возите на пут, да не треба да се деси.
Али ако сте у складишту на некој врсти ваљка система,
да би заиста догодити.
>> Мислим да људи такође предложио да би можда, ако је возило упаљено и управљање
точак се не креће, да такође може бити сигнал,
јер је то разумно као одмах на путу.
Али чак и тада, човек је вероватно мовинг то мало или свакако
преко неколико секунди.
Или току минут, шансе да се то не
ће бити фиксиран у исто место.
>> Другим речима, ми може да субстрацтион,
да ли сте се тестира, и разбити ту функционалност
у ове компоненте састојака.
И то је заиста оно што Форд је инжењери некако јесте.
Они су писали софтвер свесно открити ако се тестира ауто,
Због тога емитују мање, друго емитују на уобичајен начин.
>> А проблем овде, такође, је тај софтвер није
нешто што заиста можете видети осим имате такозвани изворни код.
Дакле, постоје два различита типа цоде-- најмање два различита типа
кода на свету.
Постоји нешто што се зове извор код, који се не разликује шта
смо писали, изворни код.
>> Ово је изворни код написан у језик зове Псеудокод,
који је само нешто енглески налик.
Нема формалне дефиниције о томе.
Али, Ц, и Јава, Ц ++, они су све формалне језике који,
када пишете у њима, шта имаш је текст фајл који садржи изворни код.
>> Али постоји нешто у свет зове машински код.
И машина код, нажалост, је само 0 и 1 је.
Дакле, машина код је шта машине разумем, наравно.
Изворни код је оно што људи разумети.
>> И генерално, али не увек постоји програм
да програмер користи да се извор Код и то претвара у машински код.
А тај програм је обично назива компајлер.
Дакле, ваш улаз је изворни код, Ваш излаз је машина код,
и преводилац је комад софтвер који ради тај процес.
Дакле, ово заправо мапе лепо да наши улаза, алгоритми, излази.
>> Али ово је врло специфична инкарнација тога, што ће рећи да,
чак и ако имате један од Форд је аутомобили да је крив за ово,
није као да само могу да отворим хауба или отворите корисничко упутство или погледајте
у изворном коду, јер у време достиже свој аутомобил у својој прилазу,
то је већ претворена 0 а и 1 је.
И то је веома тешко, не и немогуће, али тешко да прикупите много тога
од само гледајући у основни 0 је и 1 је.
Тако да могу да схватим, на крају, ако схваташ колико машину оператес--
Интел инсиде-- ако разумете Интел архитектура,
али је веома дуготрајан.
И тамо, могао би неће моћи да види све
да је код заиста може да уради.
>> Било каква питања у вези овог или ову врста процеса уопште?
И заиста, можемо везати овај разговор на јучерашњој расправи о Аппле.
Ово је, такође, зашто ФБИ не може само иди и погледај у телефону осумњиченог
и наћи линија кода, за пример, да омогући шифру
или омогућити да би одлагање 80 милисекунди.
Јер у време када је на момак је иПхоне,
то је већ конвертован у 0 а и 1 је.
>> Па, хајде да застанем за наше погледај рачунарску размишљања.
Зашто не узмемо 15 минута паузе.
И када се вратимо, ми ћемо погледајте програмирање
Сама и почињу да карту мало од ових концепата на високом нивоу
на стварну, ако разигран, програмски језик.