[מוזיק פּלייינג] דוד י מאַלאַן: אַלע רעכט. דאס איז קס50, און דעם איז די אָנהייב פון וואָך צוויי. אזוי לאָזן אונדז אָנהייבן הייַנט מיט אַ זשוק. א באג, פון קורס, איז אַ גרייַז אין אַ פּראָגראַם, און איר וועט באַקומען זייער באַקאַנט מיט דעם באַגריף אויב איר ווע קיינמאָל פּראָוגראַמד איידער. פּסעט0 און איצט פּסעט1. אבער לאָזן ס באַטראַכטן עפּעס אַ ביסל פּשוט בייַ ערשטער. דעם פּראָגראַם דאָ אַז איך האט צוזאַמען אין שטייַגן, און איך פאָדערן אַז דעם זאָל דרוקן 10 שטערן אויף די פאַרשטעלן ניצן פּרינטף, אָבער עס ס משמעות וואָגן אין עטלעכע וועג. געגעבן אַז באַשרייַבונג אַז עס זאָל דרוקן 10 שטערן, אָבער עס טוט נישט משמעות, וואָס וואָלט איר פאָדערן איז דער זשוק? יאָ? אזוי עס ס אַן אַוועק דורך איין טעות, און וואָס טוט איר מיינען דורך אַז? גוט. ויסגעצייכנט. אַזוי מיר 'ווע ספּעסאַפייד אַ אָנהייב ווערט פון נול פֿאַר איך, און מיר 'ווע ספּעסאַפייד אַן N ווערט פון 10, אָבער מיר 'ווע געניצט ווייניקער ווי אָדער גלייַך צו. און די סיבה אַז דעם איז צוויי אותיות און ניט נאָר איין סימבאָל, ווי אין אַ מאַט בוך, איז אַז איר טאָן ניט האָבן אַ וועג פון יקספּרעסינג די איין כאַראַקטער עקוויוואַלענט. אַזוי אַז מיטל ווייניקער ווי, אָבער אויב איר אָנהייבן קאַונטינג אין נול, אָבער איר ציילן אַלע די וועג אַרויף דורך און גלייַך צו 10, איר רע פון ​​לויף געגאנגען צו ציילן 11 זאכן אין גאַנץ. און אַזוי איר ניטאָ געגאנגען צו דרוקן 11 שטערן. אזוי וואָס זאל זיין אַ פאַרריכטן פֿאַר דעם? יאָ? אזוי נאָר סטרויערן די ווייניקער ווי אָדער גלייַך צו נאָר זיין ווייניקער ווי, און דאָרט ס, איך פאָדערן, טאָמער אן אנדער לייזונג, אויך. וואָס זאל אַנדערש איר טאָן? יאָ? אַזוי אָנהייב יקוואַלינג עס צו 1, און לאָזן דעם ווייניקער ווי אָדער גלייַך צו. און פראַנגקלי איך וואָלט פאָדערן אַז, פֿאַר אַ טיפּיש מענטש, דעם איז מיסטאָמע מער סטרייטפאָרווערד. אָנהייב קאַונטינג אין 1 און ציילן אַרויף דורך 10. עססענטיאַללי טאָן וואָס איר מיינען. אבער דער פאַקט איז אין פּראָגראַממינג, ווי מיר ווע געזען, קאָמפּיוטער סיינטיס און פּראָוגראַמערז בכלל טאָן אָנהייבן קאַונטינג אין נול. און אַזוי אַז ס פייַן אַמאָל איר באַקומען געניצט צו עס. דיין צושטאַנד וועט בכלל זיין עפּעס ווי ווייניקער ווי. אזוי פשוט אַ לאַדזשיקאַל טעות אַז מיר קען איצט פאַרריכטן און לעסאָף רעקאָמפּילע דעם און באַקומען בלויז 10. נו ווי וועגן דעם זשוק דאָ? דאָ, ווידער, איך טענה אַז איך האָבן אַ ציל פון דרוקן 10 סטאַרס-- איינער פּער שורה דעם צייַט, אָבער עס טוט נישט. איידער מיר פאָרשלאָגן וואָס די פאַרריכטן איז, וואָס טוט דאָס דרוק וויזשוואַלי אויב איך געווען צו צונויפנעמען און לויפן דעם פּראָגראַם טאָן איר טראַכטן? יאָ? שטערן. אזוי אַלע די שטערן אויף די זעלביקער שורה איז וואָס איך געהערט, און דעריבער דער נייַ שורה כאַראַקטער. אזוי לאָזן ס פּרובירן אַז. אזוי מאַכן וואָגן-1, אַרייַן, און איך זען די קלאַנג באַפֿעל אַז מיר גערעדט וועגן לעצטע צייַט. ./בוגגי-1, און טאַקע איך זען אַלע 10 שטערן אויף דער זעלביקער שורה אַפֿילו כאָטש איך טענה אין מיין באַשרייַבונג נאָר אַ באַמערקונג אַטאַפּ די קאָד אַז איך בדעה צו טאָן איינער פּער שורה. אבער דעם קוקט רעכט. איצט שורה 15 עס קוקט ווי איך בין דרוקן אַ שטערן, און דעמאָלט שורה 16 עס קוקט ווי איך בין דרוקן אַ נייַ שורה כאַראַקטער, און זיי ניטאָ ביידע ינדענטעד אַזוי איך בין ין פון די שלייף קלאר. אַזוי זאָל ניט איך זייַן טאן שטערן, נייַ שורה, שטערן, נייַ שורה, שטערן, נייַ שורה? יא? יאָ, ניט ענלעך אַ שפּראַך ווי פּיטהאָן, אויב איר ניטאָ באַקאַנט, ינדענטיישאַן טוט ניט ענין צו די קאָמפּיוטער. עס בלויז עניני צו די מענטשלעך. אַזוי וועראַז דאָ איך 'ווע ינווענטאַד שורות 15 און 16-- אַז קוקט שיין, אָבער די קאָמפּיוטער טוט ניט זאָרגן. דער קאָמפּיוטער דאגות וועגן טאקע ווייל געגרייַזלט ברייסאַז אַרום די שורות פון קאָד. אַזוי אַז עס ס קלעאַר-- נאָר ווי אין סקראַטטש-- אַז יענע צוויי שורות פון קאָד זאָל זיין עקסאַקיוטאַד. ווי איינער פון די געל סקראַטטש רעטעניש ברעקלעך ווידער און ווידער און ווידער. אַזוי איצט אויב איך שייַעך-לויפן דעם פּראָגראַמ-- ./בוגגי-2-- הם. איך האָבן אַ טעות איצט. וואָס האט איך פאַרגעסן צו טאָן? יאָ, אַזוי איך האט ניט צונויפנעמען עס. אזוי מאַכן וואָגן-2. ניט אַזאַ טעקע ווייַל איך האט ניט אַקשלי צונויפנעמען די רגע ווערסיע. אזוי איצט טשיקאַווע אַנדיקלערד וואַריאַבלע-- נישט 2. מיר 'רע טאן 1. מאך וואָגן-1-- ./בוגגי-1-- און איצט יעדער פון זיי איז אויף דער זעלביקער שורה. איצט עס איז אַ ויסנעם צו דעם געמיינט פאָדערן פון מייַן אַז איר דאַרפֿן די געגרייַזלט ברייסאַז. ווען איז עס טאקע אָק-- אויב איר 'ווע באמערקט אין אָפּטיילונג אָדער טעקסטבאָאָקס-- צו דורכלאָזן די געגרייַזלט ברייסאַז? יאָ? עקסאַקטלי. ווען עס ס נאָר איינער שורה פון קאָד וואָס איר ווילן צו זיין פארבונדן מיט דער שלייף ווי אין אונדזער ערשטער בייַשפּיל. עס איז בישליימעס לאַדזשיטאַמאַט צו דורכלאָזן די געגרייַזלט ברייסאַז נאָר ווי סאָרט פון אַ קאַנוויניאַנס פון דער קאַמפּיילער צו איר. יאָ? גוטע קשיא. וואָלט עס זייַן געהאלטן אַ נוסח טעות? מיר וואָלט פּראָמאָטע-- ווי אין קס50 נוסח פירן, די URL פֿאַר וואָס איז אין פּסעט1-- אַז שטענדיק נוצן די געגרייַזלט ברייסאַז. אוודאי אויב איר ניטאָ נייַ צו פּראָגראַממינג. די פאַקט איז מיר רע ניט געגאנגען צו פאַרווערן איר פון טאן די קאַנוויניאַנסיז. אבער אויב איר ניטאָ נאָר געטינג אין דעם שווונג פון זאכן, לעגאַמרע נאָר שטענדיק נוצן די געגרייַזלט ברייסאַז ביז איר באַקומען די הענגען פון עס. גוטע קשיא. כל רעכט. אַזוי אַז דעמאָלט איז געווען אַ זשוק. אין מינדסטער אין עפּעס פערלי פּשוט. און נאָך איר זאל טראַכטן דעם איז פערלי רודאַמענטערי, רעכט? דאס איז סאָרט פון די ערשטער וואָך פון זוכן בייַ די שפּראַך ווי, זען דיין באַגז דערין. אבער דער פאַקט די ביסט אַקשלי רעפּריזענאַטיוו פון עטלעכע שיין שרעקלעך פּראָבלעמס אַז קענען אויפשטיין אין דער עמעס וועלט. אַזוי עטלעכע פון ​​איר זאל צוריקרופן אויב איר נאָכפאָלגן טעק נייַעס, אָדער אפֿשר אפילו געכאפט ווינט פון דעם אין פעברואר פון דעם פאַרגאַנגענהייַט יאָר אַז עפּל האט געמאכט אַ ביסל פון אַ גרייַז אין ביידע יאָס, די אַפּערייטינג סיסטעם אויף זייער פאָנעס, און אויך מעק אַס, די אַפּערייטינג סיסטעם אויף זייער דעסקטאַפּס און לאַפּטאַפּס. און איר האט געזען אַזאַ כעדליינז ווי דעם. און דערנאָכדעם, עפּל צוגעזאגט צו פאַרריכטן דעם זשוק, און זייער געשווינד האט פאַרריכטן עס אין יאָס, אָבער דעמאָלט לעסאָף פאַרפעסטיקט עס אין מעק אַס ווי געזונט. איצט גאָרניט פון די כעדליינז אַליין טאַקע אַנטדעקן וואָס די אַנדערלייינג פּראָבלעם איז געווען, אָבער די באַג איז געווען לעסאָף רידוסט צו אַ זשוק אין ססל, זיכער סאַקאַץ שיכטע. און לאַנג דערציילונג קורץ, דעם איז די ווייכווארג אַז אונדזער בראַוזערז און אנדערע ווייכווארג געניצט צו טאָן וואָס? אויב איך האט אַז ססל איז ינוואַלווד, ווען איר באַזוכן אַ URL וואס סטאַרץ מיט הטטפּס, וואָס דעמאָלט זאל ססל זיין שייַכות צו? ענקריפּטיאָן. אַזוי מיר וועט רעדן וועגן דעם אין די קומענדיק טעג. ענקריפּטיאָן, די קונסט פון סקראַמבלינג אינפֿאָרמאַציע. אבער לאַנג דערציילונג קורץ, עפּל אַמאָל צוריק האט געמאכט אַ גרייַז אין זייער ימפּלאַמענטיישאַן פון ססל, די ווייכווארג אַז לעסאָף ימפּלאַמאַנץ URL ס ווי הטטפּס אָדער מאַקס קאַנעקשאַנז דאָרט אויך. דער רעזולטאַט פון וואָס איז אַז דיין קאַנעקשאַנז קען פּאַטענטשאַלי זיין ינטערסעפּטאַד. און דיין קאַנעקשאַנז זענען ניט דאַווקע ינקריפּטיד אויב איר האט עטלעכע שלעכט באָכער אין צווישן איר און די דעסטיניישאַן וועבזייַטל וואס געוואוסט ווי צו נעמען מייַלע פון ​​דעם. איצט עפּל לעסאָף Posted אַ פאַרריכטן פֿאַר דעם לעסאָף, און די באַשרייַבונג פון זייער פאַרריכטן איז דעם. זיכער אַריבערפירן ניט אַנדערש צו וואַלאַדייט די אָטאַנטיסיטי פון די קשר. די אַרויסגעבן איז גערעדט דורך ריסטאָרינג פעלנדיק וואַלאַדיישאַן טריט. אַזוי דעם איז אַ זייער האַנט ווייווי דערקלערונג פֿאַר פשוט זאגן אז מיר סקרוד אַרויף. עס איז ממש איין שורה פון קאָד וואָס איז וואָגן אין זייער ימפּלאַמענטיישאַן פון ססל, און אויב איר גיין אָנליין און זוכן פֿאַר דעם איר קענען אַקטשאַוואַלי געפינען דער אָריגינעל מקור קאָד. פֿאַר בייַשפּיל, דעם איז אַ פאַרשטעלן שאָס פון נאָר אַ חלק פון אַ פערלי גרויס טעקע, אָבער דעם איז אַ פונקציע משמעות גערופן ססל באַשטעטיקן צייכן סערווירער שליסל בייַט. און עס נעמט אַ בינטל פון טענות און ינפּוץ. און מיר ניטאָ ניט געגאנגען צו פאָקוס צו פיל אויף דער מינושיאַ דאָרט, אָבער אויב איר פאָקוס אויף די קאָד ין פון אַז ייבערשט פונקטיאָנ-- לאָזן ס פארגרעסער אין אויף אַז. איר זאל שוין כאָשעד וואָס דער טעות זאל זיין אפילו אויב איר האָבן קיין געדאַנק לעסאָף וואָס איר 'רע איר זוכט אין. עס ס מין פון אַ אַנאַמאַלי דאָ, וואָס איז וואָס? יאָ, איך טאָן ניט טאַקע ווי די קוקן פון צוויי גאָטאָ פיילז. פראַנגקלי, איך טאָן ניט טאַקע וויסן וואָס גאָטאָ דורכפאַל מיטל, אָבער בעת צוויי פון זיי צוריק צו צוריק. אַז נאָר מין פון ראַבז מיר ינטאַלעקטשואַלי די אומרעכט וועג, און טאַקע אויב מיר פארגרעסער אין אויף נאָר יענע שורות, דעם איז סי אזוי אַ פּלאַץ פון עפּל ס קאָד איז זיך געשריבן אין C, און דעם משמעות איז טאַקע עקוויוואַלענט-- ניט צו אַז שיין ינדענטיישאַן ווערסיע, אָבער אויב איר דערקענען די פאַקט אַז דאָרט ס קיין געגרייַזלט ברייסאַז, וואָס עפּל טאַקע געשריבן איז קאָד אַז קוקט ווי דעם. אזוי איך ווע זומד אויס און איך נאָר פאַרפעסטיקט די ינדענטיישאַן אין די געפיל אַז אויב עס ס ניט קיין געגרייַזלט ברייסאַז, אַז רגע גאָטאָ דורכפאַל אַז ס אין געל איז געגאנגען צו ויספירן קיין ענין וואָס. עס ס ניט פארבונדן מיט די אויב צושטאַנד אויבן עס. אזוי אפילו ווידער, אויב איר טאָן ניט גאנץ פֿאַרשטיין וואָס דעם קען עפשער זיין טאן, וויסן אַז יעדער פון די קאָנדיטיאָנס-- יעדער פון די שורות איז אַ זייער וויכטיק שריט אין דעם פּראָצעס פון קאָנטראָלירונג אויב דיין דאַטן איז אין פאַקט ינקריפּטיד. אזוי סקיפּינג איינער פון די טריט, נישט דער בעסטער געדאַנק. אבער ווייַל מיר האָבן דעם רגע גאָטאָ דורכפאַל אין געל, און ווייַל אַמאָל מיר סאָרט פון עסטעטיקלי מאַך עס צו די לינקס ווו עס לאַדזשיקלי איז אין דער מאָמענט, וואָס טוט דעם הייסן פֿאַר די שורה פון קאָד ווייטער אַז רגע גאָטאָ דורכפאַל וואָלט איר טראַכטן? עס ס שטענדיק געגאנגען צו זיין סקיפּט. אזוי גאָטאָס זענען בכלל פראַונד אויף פֿאַר סיבות מיר וועט ניט טאַקע גיין אין, און טאַקע אין קס50 מיר טענד נישט צו לערנען דעם דערקלערונג גאָטאָ, אָבער איר קענען טראַכטן פון גאָטאָ דורכפאַל ווי טייַטש גיין שפּרינגען צו עטלעכע אנדערע טייל פון די קאָד. אין אנדערע ווערטער שפּרינגען איבער דעם לעצט שורה בעסאַכאַקל, און אַזוי די רעזולטאַט פון דעם נאַריש פּשוט גרייַז אַז איז נאָר אַ רעזולטאַט פון מיסטאָמע עמעצער קאַפּיינג און פּאַסטינג איינער אויך פילע מאל איז געווען, אז די גאנצע זיכערהייַט פון יאָס און מעק אַס איז געווען שפּירעוודיק צו ינטערסעפּטיאָן דורך שלעכט גייז פֿאַר גאנץ עטלעכע מאָל. ביז עפּל לעסאָף פאַרפעסטיקט דעם. איצט אויב עטלעכע פון ​​איר זענען אַקטשאַוואַלי פליסנדיק אַלט ווערסיעס פון יאָס אָדער מעק אַס, איר קענען גיין צו gotofail.com וואָס איז אַ וועבזייַטל אַז עמעצער שטעלן אַרויף צו יסענשאַלי באַשטימען פּראָגראַממאַטיקאַללי אויב דיין קאָמפּיוטער איז נאָך שפּירעוודיק. און פראַנגקלי, אויב עס איז, עס ס מיסטאָמע אַ גוט געדאַנק צו דערהייַנטיקן דיין טעלעפאָן אָדער דיין מעק אין דעם פונט. אבער דאָרט, נאָר צאַוואָע צו פּונקט ווי אַ אַפּרישייישאַן פון די נידעריקער מדרגה פרטים און פערלי פּשוט געדאנקען קענען טאַקע איבערזעצן אין דיסיזשאַנז און פראבלעמען וואס אַפפעקטעד-- אין דעם קאַסע-- מיליאַנז פון מענטשן. איצט אַ וואָרט אויף אַדמיניסטראַציע. אָפּטיילונג וועט אָנהייבן דעם קומען זונטאג. איר וועט באַקומען אַן אימעיל דורך די אָפּרוטעג וועגן אָפּטיילונג, אין וואָס פונט די רעסעקטיאָנינג פּראָצעס וועט אָנהייבן אויב איר 'ווע איינגעזען איר איצט האָבן עטלעכע נייַ קאנפליקטן. אזוי דעם כאַפּאַנז יעדער יאָר, און מיר וועט אַקאַמאַדייט אין די טעג צו קומען. אָפפיסע האָורס-- טאָן האַלטן אַן אויג אויף דעם פּלאַן דאָ. ענדערונגען אַ קליין ביסל דעם וואָך, דער הויפּט די אָנהייב צייַט און דער אָרט, אַזוי טאָן באַראַטנ אז איידער כעדינג צו אָפיס שעה קיין פון די ווייַטער פיר נעכט. און איצט אַ וואָרט אויף אַססעססמענט, דער הויפּט ווי איר ונטערטוקנ זיך אין פּראָבלעם שטעלט איין און ווייַטער פון. אזוי פּער די באַשרייַבונג, די ביסט בכלל די אַקסעס צוזאמען וואָס מיר אָפּשאַצן דיין אַרבעט. פאַרנעם רעפערס צו וואָס מאָס דיין קאָד ימפּלאַמאַנץ די פֿעיִקייטן פארלאנגט דורך אונדזער באַשרייַבונג. אין אנדערע ווערטער, ווי פיל פון אַ שטיק שטעלן האט איר בייַסן אַוועק. צי האָט איר טאָן א דריט פון עס, אַ האַלב פון עס, 100% פון עס. אפילו אויב עס ס ניט ריכטיק, ווי פיל האט איר פּרווון? אַזוי אַז קאַפּטשערז די מדרגה פון מי און די סומע צו וואָס איר ביסל אַוועק די פּראָבלעם שטעלן ס פּראָבלעמס. קאָררעקטנעסס-- דעם איינער, צו וואָס מאָס, איז דיין קאָד קאָנסיסטענט מיט אונדזער ספּעסאַפאַקיישאַנז און פֿרייַ פון באַגז. אזוי טוט עס אַרבעט ריכטיק? אויב מיר געבן עס עטלעכע אַרייַנשרייַב, טוט עס געבן אונדז דער רעזולטאַט אַז מיר דערוואַרטן? דעסיגנ-- איצט דעם איז די ערשטער פון די הויפּט קוואַליטאַטיווע אָנעס, אָדער די אָנעס אַז דאַרפן מענטשלעך דין. און טאַקע, דעם איז וואָס מיר האָבן אַ שטעקן פון אַזוי פילע לערנען פעלאָוז און לויף אַסיסטאַנץ. צו וואָס מאָס איז דיין קאָד געשריבן געזונט? און ווידער דעם איז אַ זייער קוואַליטאַטיווע אַסעסמאַנט אַז וועט אַרבעטן מיט איר אויף בי-דירעקטיאָנאַללי אין די וואָכן צו קומען. אַזוי אַז ווען איר באַקומען נישט בלויז נומעריק סקאָרז, אָבער אויך אַ געשריבן סקאָרז, אָדער טייפּט באַמערקונגען, אָדער געשריבן באַמערקונגען אין ענגליש ווערטער. אַז ס וואָס מיר וועט נוצן צו פאָר איר צו אַקטשאַוואַלי שרייַבן בעסער קאָד. און אין לעקציע און אָפּטיילונג, מיר וועט פּרובירן צו פונט אָוט-- ווי אָפֿט ווי מיר קאַנ-- וואָס מאכט אַ פּראָגראַם נישט בלויז ריכטיק און פאַנגקשאַנאַלי גוט, אָבער אויך געזונט דיזיינד. די מערסט עפעקטיוו עס קען זיין, אדער אפילו די מערסט שיין עס קענען זיין. וואָס פירט אונדז צו נוסח. סטייל לעסאָף איז אַן עסטעטיש דין. צי האָט איר קלייַבן גוט נעמען פֿאַר דיין וועריאַבאַלז? האָבן איר ינדענטעד דיין קאָד רעכט? טוט עס קוק גוט, און דעריבער, איז עס גרינג פֿאַר אנדערן מענטש זייַענדיק צו לייענען דיין ריספּעקטיוו פון זייַן קערעקטנאַס. איצט בכלל פּער די סילאַבאַס, מיר כעזשבן די זאכן אויף אַ פינף פונט וואָג. און לאָזן מיר האַמער שטוב די פונט אַז אַ דרייַ איז טאַקע גוט. זייער געשווינד טאָן פאָלקס אָנהייב טאן אַריטמעטיק. ווען זיי באַקומען אַ דרייַ אויס פון פינף אויף קערעקטנאַס פֿאַר עטלעכע פּסעט און זיי טראַכטן פאַרשילטן, איך געגאנגען צו 60% וואָס איז יסענשאַלי אַ ד אָדער אַן י אַז ס ניט דער וועג מיר טראַכטן פון די נומערן. א דרייַ איז טאַקע גוט, און וואָס מיר בכלל דערוואַרטן אין די אָנהייב פון דער טערמין איז אַז אויב איר ניטאָ געטינג אַ בינטל פון טהרעע'ס-- אפֿשר אַ פּאָר פון איבער יארידן, אַ פּאָר פון פאָורס-- אָדער אַ פּאָר פּאָרלעכווייַז, אַ פּאָר פון פאָורס-- אַז ס אַ גוט פּלאַץ צו אָנהייבן. און אַזוי לאַנג ווי מיר זען אַן אַרוף טרייַעקטאָריע איבער צייַט, איר 'רע אין אַ הויפּט גוט אָרט. די פאָרמולע מיר נוצן צו וואָג דאס איז יסענשאַלי דעם פּער די סילאַבאַס, וואָס נאָר מיטל אַז מיר געבן מער וואָג צו קערעקטנאַס. ווייַל עס ס זייער אָפֿט קערעקטנאַס וואס נעמט די מערסט צייַט. צוטרוי מיר איצט. איר וועט פינד-- אין מינדסטער אין איין פּסעט-- אַז איר פאַרברענגען 90% פון דיין צייַט ארבעטן אויף 10% פון די פּראָבלעם. און אַלץ סאָרט פון אַרבעט אַחוץ פֿאַר איינער אָדער צוויי באַגז, און יענע זענען די באַגז וואס האַלטן איר אַרויף שפּעט בייַ נאַכט. יענע זענען די אָנעס אַז סאָרט פון אַנטלויפן איר. אבער נאָך סליפּינג אויף עס, אָדער אַטענדינג אָפיס שעה אָדער אַסקינג פראגעס אָנליין, איז ווען איר באַקומען צו אַז 100% ציל, און אַז ס וואָס מיר וואָג קערעקטנאַס די מערסט. דיזיין אַ ביסל ווייניקער, און נוסח אַ ביסל ווייניקער ווי אַז. אבער האַלטן אין מינד-- נוסח איז טאָמער די יזיאַסט פון די צו בייַסן אַוועק ווי פּער די נוסח פירן. און איצט, אַ מער ערנסט צעטל אויף אַקאַדעמיק ערלעכקייַט. קס50 האט די נעבעך דיסטינגקשאַן פון זייַענדיק דער גרעסטער פּראָדוצירער פון אַד באָרד פאלן כּמעט יעדער יאָר כיסטאָריקלי. דאס איז נישט ווייַל סטודענטן אָפּנאַרן אין קס50 קיין מער אַזוי ווי קיין אנדערע סאָרט, אָבער ווייַל דורך נאַטור פון די אַרבעט, דער פאַקט אַז עס ס עלעקטראָניש, דער פאַקט אַז מיר קוקן פֿאַר עס, און די פאַקט מיר זענען קאָמפּיוטער סיינטיס, איך קענען זאָגן מיר זענען ליידער זייער גוט אין דיטעקטינג עס. אזוי וואָס טוט דעם הייסן אין פאַקטיש תּנאָים? אזוי עס, פּער די סילאַבאַס, די קורס ס פֿילאָסאָפֿיע טאַקע טוט קאָכן אַראָפּ צו זייַן גלייַך. עס איז דעם שורה צווישן טאן איינער ס אַרבעט אויף דיין אייגן און געטינג אַ ביסל ביסל פון גלייַך הילף פון אַ פרייַנד, און אַוטרייט טאן אַז אַרבעט פֿאַר דיין פרייַנד, אָדער שיקט אים אָדער איר דיין קאָד אַזוי אַז ער אָדער זי קענען פשוט נעמען אָדער באָרגן עס אויס רעכט. און אַז קראָסיז די שורה אַז מיר ציען אין דער קלאַס. זען, די סילאַבאַס לעסאָף פֿאַר די שורות אַז מיר ציען ווי זייַענדיק גלייַך און קרום אָפּפירונג, אָבער עס טאַקע טוט קאָכן אַראָפּ צו די עסאַנס פון דיין אַרבעט נידינג צו זיין דיין אייגן אין די סוף. איצט מיט וואָס האט געזאגט, עס איז אַ כיוריסטיק. ווייַל ווי איר זאל ימאַגינע-- פון אָפיס שעה און די וויזשוואַלז און די ווידיאס מיר ווע געוויזן אַזוי פאַר-- קס50 איז טאַקע מענט צו זייַן ווי קאַלאַבערייטיוו און ווי קאָאָפּעראַטיווע און ווי געזעלשאַפטלעך ווי מעגלעך. ווי קאַלאַבערייטיוו ווי עס איז שטרענג. אבער מיט דעם האט, די כיוריסטיק, ווי איר וועט זען אין די סילאַבאַס, איז אַז ווען איר ניטאָ בעת עטלעכע פּראָבלעם. איר האָבן עטלעכע זשוק אין דיין קאָד אַז איר קענען ניט סאָלווע, עס איז גלייַך פֿאַר איר צו ווייַזן דיין קאָד צו עמעצער אַנדערש. א פרייַנד אפילו אין דער קלאַס, אַ פרייַנד זיצן ווייַטער צו איר אין אָפיס שעה, אָדער אַ מיטגליד פון דער שטעקן. אבער זיי קען ניט ווייַזן זייער קאָד צו איר. אין אנדערע ווערטער, אַ ענטפער צו דיין קוועסטיאָנ-- איך דאַרפֿן העלפּ-- איז ניט טאַקע, דאָ ס מיין קאָד. נעמען אַ קוק אין דעם און אַרויסדרינגען פון עס וואָס איר וועלן. איצט, פון קורס, עס ס אַ וועג קלאר צו שפּיל דעם סיסטעם ווערביי איך וועט ווייַזן איר מיין קאָד איידער בעת אַ קשיא. איר ווייַזן מיר מיין דיין קאָד איידער בעת אַ קשיא. אבער זען די סילאַבאַס ווידער פֿאַר די פיינער פרטים פון ווו דעם שורה איז. פונקט צו איצט פאַרבן די בילד און ייַנטיילן ווי טראַנספּעראַנטלי ווי מעגלעך ווו מיר זענען אין אין פריש יאָרן, דעם איז די נומער פון אַד באָרד קאַסעס אַז קס50 האט געהאט איבער דער פאַרגאַנגענהייַט זיבן יאר. מיט 14 קאַסעס דעם רובֿ פריש פאַל. אין טערמינען פון די סטודענטן ינוואַלווד, עס איז געווען 20 עטלעכע מאָדנע סטודענטן דעם פאַרגאַנגענהייַט פאַלן. עס איז געווען אַ שפּיץ פון 33 סטודענטן עטלעכע יאָרן צוריק. פילע פון ​​וועמען זענען ליידער ניט מער דאָ אויף קאַמפּאַס. סטודענטן ינוואַלווד ווי אַ פּראָצענט פון די קלאַס האט כיסטאָריקאַלי ריינדזשד פון 0% צו 5.3%, וואָס איז נאָר צו זאָגן דעם איז אַניואַלי אַ אַרויסרופן. און צו אַז סוף, וואָס מיר ווילן צו טאָן איז קאַנוויי איינער אַז מיר דד-- נאָר פיי-- פאַרגלייַכן אין אַ יוישער צו יענע סטודענטן וואס זענען ווייַטערדיק די שורה אַקאָרדינגלי. מיר טאָן פאַרגלייַכן אַלע קראַנט סאַבמישאַנז קעגן אַלע פאַרבייַ מישאַנז פון די פאַרגאַנגענהייַט פילע יאָרן. מיר ווייסן אויך ווי צו גוגל אַרום און געפינען קאָד ריפּאַזאַטאָריז אָנליין, דיסקוסיע גרופּעס אָנליין, אַרבעט זייטלעך אָנליין. אויב אַ תּלמיד קענען געפינען עס, מיר קענען שורלי געפינען עס ווי פיל ווי מיר ריגרעטפאַלי טאָן. אַזוי וואָס איר וועט זען אין די סילאַבאַס כאָטש איז דעם באַדויערן פּונקט. איך קענען אַוואַדע אָפּשאַצן, און מיר אַלע האט שטעקן ווייל געטאן די קורס ווי דעם, אָדער דעם איינער זיך איבער צייַט, אוודאי וויסן וואָס עס ס ווי ווען לעבן געץ אין די וועג ווען איר האָבן עטלעכע שפּעט נאַכט דעאַדלינע-- ניט בלויז אין דעם סאָרט, אָבער אַנאָטהער-- ווען איר ניטאָ גאָר ויסגעמאַטערט, סטרעסט אויס, האָבן אַ ינאָרדאַניט נומער פון אנדערע זאכן צו טאָן. איר וועט מאַכן אין עטלעכע פונט אין לעבן אַוואַדע אַ שלעכט, טאָמער שפּעט נאַכט באַשלוס. אזוי פּער די סילאַבאַס, עס איז דעם פּונקט, אַזאַ אַז אויב ין 72 שעה פון מאכן עטלעכע נעבעך באַשלוס, איר אייגן אַרויף צו עס און דערגרייכן אויס צו מיר און איינער פון די קורס ס קעפ און מיר וועט האָבן אַ שמועס. מיר וועלן שעפּן זאכן ינעווייניק אין האפענונגען פון עס שיין מער פון אַ לערנען מאָמענט אָדער לעבן לעקציע, און ניט עפּעס מיט הויפּט דראַסטיק ראַמאַפאַקיישאַנז ווי איר זאל זען אויף די טשאַרץ דאָ. אזוי אַז ס אַ זייער ערנסט טאָן. זאל אונדז פּויזע פֿאַר נאָר אַ ביסל סעקונדעס צו ברעכן די שפּאַנונג. [מוזיק פּלייינג] דוד י מאַלאַן: אַלע רעכט, אַזוי ווי איז אַז פֿאַר אַ סעג? צו הייַנט ס ערשטיק טעמעס. דער ערשטער פון וואָס איז אַבסטראַקציע. אן אנדער פון וואָס איז געגאנגען צו זיין דער פאַרטרעטונג פון דאַטן, וואָס פראַנגקלי איז אַ טאַקע טרוקן וועג פון זאגן וויאזוי קענען מיר גיין וועגן סאַלווינג פּראָבלעמס און טראכטן וועגן סאַלווינג פּראָבלעמס? אזוי איר 'ווע געזען אין קראַצן, און איר ווע געזען טאָמער שוין אין פּסעט1 מיט C אַז איר ניט בלויז קענען נוצן פאַנגקשאַנז, ווי פּרינטף, וואס אנדערע מענטשן אין יאָרן פאַרגאַנגענהייַט געשריבן פֿאַר איר. איר קענען אויך שרייַבן דיין אייגן פאַנגקשאַנז. און אַפֿילו כאָטש איר זאל ניט האָבן געטאן דעם אין C, און פראַנגקלי אין פּסעט1 איר טאָן ניט טאַקע דאַרפֿן צו שרייַבן דיין אייגן פונקציאָנירן ווייַל די פּראָבלעמ-- בשעת טאָמער דאָנטינג אין ערשטער גלאַנסע-- איר וועט זען קענען לעסאָף זייַן סאַלווד מיט ניט אַלע אַז פילע שורות פון קאָד. אבער מיט וואס האט געזאגט, אין טערמינען פון שרייבן דיין אייגן פונקציאָנירן, פאַרשטיין אַז C טוט געבן איר דעם פיייקייַט. איך בין געגאנגען צו גיין אין הייַנט ס מקור קאָד, וואָס איז בנימצא שוין אָנליין, און איך בין געגאנגען צו גיין פאָרויס און עפענען אַרויף אַ פּראָגראַם גערופן פונקציאָנירן 0.ק, און אין פונקציאָנירן נול מיר וועט זען אַ ביסל זאכן. אין ערשטער שורות 18 דורך 23 איז מיין הויפּט פֿונקציע. און איצט אַז מיר ניטאָ אָנהייב צו לייענען קאָד אַז מיר ניטאָ ניט שרייבן אויף די פליג, אָבער אַנשטאָט איך ווע געשריבן אין שטייַגן אָדער אַז איר אין אַ פּראָבלעם שטעלן זאל באַקומען בעת שוין געשריבן אין שטייַגן. א גוט וועג צו אָנהייבן לייענען עמעצער אַנדערש ס קאָד איז קוקן פֿאַר די הויפּט פאַנגקשאַנז. פיגורע אויס ווו אַז פּאָזיציע פונט איז צו פליסנדיק די פּראָגראַם, און דעמאָלט נאָכגיין עס לאַדזשיקלי פון דאָרט. אַזוי דעם פּראָגראַם משמעות פּרינץ דיין נאָמען נאכגעגאנגען דורך אַ צווייפּינטל. מיר דעמאָלט נוצן געצטרינג פון די קס50 ביבליאָטעק צו באַקומען אַ שטריקל, אָדער אַ וואָרט אָדער פראַזע פון די באַניצער אין די קלאַוויאַטור. און דעמאָלט דאָרט ס דעם זאַך הערע-- פּרינטנאַמע. איצט פּרינטנאַמע איז נישט אַ פונקציאָנירן אַז קומט מיט סי עס ס נישט אין נאָרמאַל יאָ.ה. עס ס נישט אין קס50.ה. עס ס גאַנץ אין דער זעלביקער טעקע. נאָטיץ אויב איך מעגילע אַראָפּ אַ ביט-- שורות 25 צו 27-- עס ס נאָר אַ שיין וועג פון קאַמענטינג דיין קאָד ניצן די שטערן און סלאַשיז. דעם איז אַ מולטי-שורה באַמערקונג, און דאָס איז נאָר מיין באַשרייַבונג אין בלוי פון וואָס דאָס פונקציאָנירן טוט. ווייַל אין שורות 28 דורך 31, איך 'ווע געשריבן אַ יבער פּשוט פאַנגקשאַנז וועמענס נאָמען איז פּרינטנאַמע. עס נעמט ווי פילע טענות וואָלט איר זאָגן? אזוי איינער אַרגומענט-- ווייַל עס ס איינער אַרגומענט ליסטעד ין די קלאַמערן. דער טיפּ פון וואָס איז סטרינג. וואָס איז צו זאָגן פּרינטנאַמע איז ווי דעם שוואַרץ קעסטל אָדער פונקציאָנירן אַז נעמט ווי אַרייַנשרייַב אַ שטריקל. און דער נאָמען פון אַז סטרינג קאַנוויניאַנטלי וועט זיין נאָמען. ניט ז, ​​ניט ן, אָבער נעמען. אזוי וואָס טוט פּרינטנאַמע טאָן? עס ס פייַן פּשוט. פונקט ווי איינער שורה פון קאָד פֿאַר די פּרינטף, אָבער משמעות עס פּרינץ אויס "העלא," אַזוי און אַזוי. וואו די אַזוי און אַזוי קומט פון די אַרגומענט. איצט דעם איז ניט אַ ריזיק כידעש דאָ. טאַקע, איך 'ווע גענומען אַ פּראָגראַם וואס קען האָבן שוין געשריבן מיט איין שורה פון קאָד דורך פּאַטינג דעם אַרויף דאָ, און פארענדערט עס צו עפּעס אַז ינוואַלווז עטלעכע זעקס אָדער זיבן אָדער אַזוי שורות פון קאָד אַלע די וועג אַראָפּ דאָ. אבער עס ס די פּראַקטיסינג פון אַ פּרינציפּ באקאנט ווי אַבסטראַקציע. מין פון ענקאַפּסאַלייטינג ין פון אַ נייַ פונקציאָנירן אַז האט אַ נאָמען, און בעסער נאָך אַז נאָמען ממש זאגט וואָס עס טוט. איך מיינען פּרינטפ-- אַז ס ניט הויפּט דיסקריפּטיוו. אויב איך ווילן צו שאַפֿן אַ רעטעניש שטיק, אָדער אויב איך ווילן צו שאַפֿן אַ פונקציע אַז פּרינץ עמעצער ס נאָמען, די שיינקייט פון טאן דעם איז אַז איך קענען אַקטשאַוואַלי געבן אַז פונקציאָנירן אַ נאָמען וואס באשרייבט וואָס עס טוט. איצט עס נעמט אין אַ אַרייַנשרייַב וואָס איך ווע אַרביטרעראַלי גערופן נאָמען, אָבער אַז אויך איז וואַנדערפאַלי דיסקריפּטיוו אַנשטאָט פון זייַענדיק אַ ביסל מער דזשאַנעריק ווי ש און פּאָסל, פֿאַר איצט, פּונקט מיטלען אַז דאָס פונקציאָנירן טוט ניט האַנט מיר צוריק עפּעס. עס ס ניט ווי געצטרינג אַז ממש הענט מיר צוריק אַ שטריקל ווי מיר האבן מיט די ברעקלעך פון פּאַפּיר מיט דיין קלאַסמייץ לעצטע וואָך, אָבער אלא עס נאָר האט אַ זייַט ווירקונג. עס פּרינץ עפּעס צו די פאַרשטעלן. אזוי אין די סוף פון די טאָג, אויב איך טאָן מאַכן פונקציאָנירן-0, ./פונקטיאָן-0, מיר וועט זען אַז עס פרעגט פֿאַר מיין נאָמען. איך טיפּ דוד, און עס טייפּס אויס מיין נאָמען. אויב איך טאָן עס ווידער מיט ראָב, עס ס געגאנגען צו זאָגן "העלא, ראָב." אַזוי אַ פּשוט געדאַנק, אָבער טאָמער עקסטראַפּאָלאַטע פון ​​דעם מענטאַלי אַז ווי דיין מגילה באַקומען אַ ביסל מער קאָמפּליצירט, און איר ווילן צו שרייַבן אַ פּייַדע פון קאָד און רופן אַז קאָדע-- ינוואָוק אַז קאָדע-- דורך עטלעכע דיסקריפּטיוו נאָמען ווי פּרינטנאַמע, C טוט פאַרגינענ אונדז דעם פיייקייַט. דאָ ס אנדערן פּשוט משל. פֿאַר בייַשפּיל, אויב איך עפענען אַרויף אַ טעקע פון ​​הייַנט גערופן רעטורנ.ק, באַמערקן וואָס איך ווע געטאן דאָ. רוב פון דעם הויפּט פֿונקציע איז פּרינטף. איך ערשטער אַרביטרעראַלי ינישאַלייז אַ בייַטעוודיק גערופן רענטגענ צו די נומער 2. איך דעמאָלט דרוקן אויס "רענטגענ איז איצט % איך "גייט פארביי אין די ווערט פון רענטגענ. אזוי איך בין נאָר זאגן וואס עס איז. איצט איך בין נאָר דרייסט קליימינג מיט פּרינטף. איך בין קובינג אַז ווערט רענטגענ, און איך בין טאן אַזוי דורך פאַך אַ פונקציאָנירן גערופן קובע פּאַסינג אין רענטגענ ווי דער אַרגומענט, און דעריבער שפּאָרן די רעזולטאַט אין די בייַטעוודיק זיך, רענטגענ. אזוי איך בין קלאָבבערינג די ווערט פון רענטגענ. איך בין אָוווערריידינג די ווערט פון רענטגענ מיט וועלכער דער רעזולטאַט פון פאַך דעם קוב פונקציע איז. און דעמאָלט איך נאָר דרוקן אויס עטלעכע פּוכיק שטאָפּן דאָ זאגן וואס איך האבן. אַזוי וואָס דעמאָלט איז קובע? נאָטיץ וואָס ס פאַנדאַמענטאַלי פאַרשידענע דאָ. איך 'ווע געגעבן די פונקציע אַ נאָמען ווי איידער. איך ווע ספּעסאַפייד אַ נאָמען פֿאַר אַן אַרגומענט. דעם מאָל עס ס גערופן ען אַנשטאָט פון נעמען, אָבער איך קען רופן עס עפּעס איך ווילן. אבער דעם איז אַנדערש. דעם זאַך אויף די לינקס. ביז אַהער עס איז געווען וואָס קיווערד? יינגלעך. איצט עס ס דאָך ינט. אזוי וואָס ס טאָמער די נעמען אַוועק? ווהערעאַס פּאָסל סיגנאַפייז סאָרט פון נאַטינגנאַס, און אַז איז געווען דער פאַל. פּרינטנאַמע אומגעקערט גאָרנישט. עס האט עפּעס, אָבער עס האט ניט האנט מיר צוריק עפּעס אַז איך קען שטעלן אויף די לינקס האַנט זייַט פון אַן גלייַך צייכן ווי איך 'ווע געטאן דאָ אויף שורה 22. אַזוי אויב איך זאָגן אין אויף שורה 30, וואָס ס אַז מיסטאָמע ימפּלייינג וועגן וואָס קוב טוט פֿאַר מיר? יאָ? עס קערט אַ ינטאַדזשער. אזוי עס הענט מיר צוריק, פֿאַר בייַשפּיל, אַ שטיק פון פּאַפּיר אויף וועלכע עס האט געשריבן די ענטפער. 2 קיובד, אָדער 3 קיובד, אָדער 4 קובעד-- וועלכער איך פארביי אין, און ווי האט איך מאַכשער דעם? נו, נאָר N מאל N מאל N איז ווי איך זאל קובע אַ ווערט. אַזוי ווידער, סופּער פּשוט געדאַנק, אָבער דעמאָנסטראַטיווע איצט ווי מיר קענען שרייַבן פאַנגקשאַנז אַז אַקטשאַוואַלי האט אונדז צוריק וואַלועס אַז זאל זיין פון אינטערעס. זאל ס קוק בייַ איינער לעצטע בייַשפּיל דאָ גערופן פונקציאָנירן איינער. אין דעם בייַשפּיל, עס סטאַרץ צו באַקומען מער קאַמפּעלינג. אזוי אין פונקציאָנירן איין, דעם פּראָגראַמ-- באַמערקן לעסאָף רופט אַ פֿונקציע גערופן געטפּאָסיטיוועינט. געטפּאָסיטיוועינט איז נישט אַ פונקציע אין די קס50 ביבליאָטעק, אָבער מיר באַשלאָסן מיר וואָלט ווי עס צו עקסיסטירן. אַזוי אויב מיר מעגילע אַראָפּ שפּעטער אין דער טעקע, באַמערקן ווי איך געגאנגען וועגן ימפּלאַמענינג באַקומען positive ינט, און איך זאָגן עס ס מער קאַמפּעלינג ווייַל דעם איז אַ לייַטיש נומער פון שורות פון קאָד. עס ס ניט נאָר אַ נאַריש ביסל צאַצקע פּראָגראַם. עס ס אַקטשאַוואַלי גאַט עטלעכע טעות קאָנטראָלירונג און טאן עפּעס מער נוצלעך. אזוי אויב איר 'ווע ניט געזען דעם וואַלקטהראָוגה ווידיאס אַז מיר האָבן עמבעדיד אין פּסעט1, וויסן אַז דאָס איז אַ טיפּ פון שלייף אין C, ענלעך אין גייסט צו די מינים פון זאכן סקראַטטש קענען טאָן. און טאָן זאגט טאָן דעם. דרוק דעם אויס. דערנאך גיין פאָרויס און באַקומען נ-- באַקומען אַן ינט און קראָם עס אין ן, און האַלטן טאן דעם ווידער און ווידער און ווידער אַזוי לאַנג ווי N איז ווייניקער ווי איינער. אַזוי N איז געגאנגען צו זיין ווייניקער ווי איין בלויז אויב דער מענטש ס ניט קאָואַפּערייטינג. אויב ער אָדער זי איז טייפּינג אין 0 אָדער -1 אָדער -50, דעם שלייף איז געגאנגען צו האַלטן עקסאַקיוטינג ווידער און ווידער. און לעסאָף באַמערקן, איך פשוט צוריקקומען די ווערט. אזוי איצט מיר האָבן אַ פונקציע וואס וואָלט 'ווע געווארן פייַן אויב קס50 וואָלט מאַכשער אין קס50.ה און קס50.ק פֿאַר איר, אָבער דאָ מיר קענען איצט מאַכשער דעם זיך. אבער צוויי באַמערקונגען אויף עטלעכע שליסל פרטים. אָנע-- פארוואס האט איך דערקלערן ינט ן, טאָן איר טראַכטן, אויף שורה 29 אַנשטאָט פון נאָר טאן דעם דאָ, וואָס איז מער קאָנסיסטענט מיט וואָס מיר האט לעצטע וואָך? יאָ? א גוט געדאַנק. אַזוי אויב מיר זענען געווען צו שטעלן אים דאָ, עס ס ווי כאָטש מיר האַלטן דיקלערינג עס ווידער און ווידער. אַז אין און פון זיך איז ניט פּראָבלעמאַטיק, פּער סיי, ווייַל מיר נאָר דאַרפֿן די ווערט אַמאָל און דעמאָלט מיר 'רע געגאנגען צו באַקומען אַ נייַ איינער סייַ ווי סייַ. אבער אַ גוט געדאַנק. יאָ? נאָענט. אזוי ווייַל איך 'ווע דערקלערט ען אויף שורה 29 אַרויס פון די שלייף, עס ס צוטריטלעך איבער דעם גאַנצן פונקציאָנירן. ניט די אנדערע פאַנגקשאַנז ווייַל ן איז נאָך ין פון די געגרייַזלט ברייסאַז דאָ. סאָ-- זיכער. עקסאַקטלי. אזוי דעם איז אפילו מער צו די פונט. אויב מיר אַנשטאָט דערקלערט ען רעכט דאָ אויף שורה 32, עס ס פּראָבלעמאַטיק ווייַל טרעפן ווו אַנדערש איך דאַרפֿן צו צוטריט עס? אויף שורה 34, און די פּשוט הערשן פון גראָבער פינגער איז אַז איר קענען בלויז נוצן אַ בייַטעוודיק ין פון די מערסט פריש געגרייַזלט ברייסאַז אין וואָס איר דערקלערט עס. צום באַדויערן, שורה 34 איז איינער שורה צו שפּעט, ווייַל איך 'ווע שוין פארמאכט די געגרייַזלט בראַסע אויף שורה 33 אַז קאָראַספּאַנדז צו די געגרייַזלט בראַסע אויף שורה 30. און אַזוי דעם איז אַ וועג פון זאגן אַז דעם בייַטעוודיק ינט איז סקאָפּעד, אַזוי צו רעדן, צו נאָר אינעווייניק פון יענע געגרייַזלט ברייסאַז. עס נאָר טוט נישט עקסיסטירן אַרויס פון זיי. אַזוי טאַקע, אויב איך טאָן דעם אומרעכט, לאָזן מיר ראַטעווען די קאָד ווי עס יס-- ינקערעקטלי געשריבן. זאל מיר גיין פאָרויס און טאָן מאַכן פונקציאָנירן-1, און נאָטיסע-- טעות. ניצן פון אַנדיקלערד יידענטאַפייער n אויף שורה 35, וואָס איז רעכט דאָ. און אויב מיר מעגילע אַרויף ווייַטער, אנדערן איינער. ניצן פון אַנדיקלערד ידענטיפיער ען אויף שורה 34. אַזוי דער קאַמפּיילער, קלאַנג, איז נאָוטיסינג אַז עס נאָר טוט ניט עקזיסטירן אפילו כאָטש קלאר עס ס דאָרט וויזשוואַלי. אַזוי אַ פּשוט פאַרריכטן איז דיקלערינג עס דאָרט. איצט לאָזן מיר מעגילע צו דער שפּיץ פון דער טעקע. וואס דזשאַמפּס אויס בייַ איר ווי זייַענדיק אַ ביסל אַנדערש פון די שטאָפּן מיר געקוקט בייַ לעצט וואָך? ניט בלויז טאָן איך האָבן נאָמען, ניט נאָר טאָן איך האָבן עטלעכע שאַרף כולל אַרויף שפּיץ, איך האָבן עפּעס איך בין פאַך אַ פּראָוטאַטייפּ. איצט אַז קוקט אַפלי ענלעך צו וואָס מיר נאָר געזען אַ מאָמענט צוריק אויף שורה 27. אזוי לאָזן ס אָפּלערנען פון אַ אַנדערש טעות אָנזאָג וואָס איך ווע געטאן דעם. זאל מיר גיין פאָרויס און אויסמעקן די שורות דאָרט. און אַזוי מיר וויסן גאָרנישט וועגן פּראָוטאַטייפּ. רעמאַקע דעם טעקע. מאַכן פונקציאָנירן איינער. און איצט, פאַרשילטן, פיר ערראָרס. זאל ס מעגילע אַרויף צו די ערשטער איינער. ימפּליסאַט דעקלאַראַציע פון ​​פונקציאָנירן באַקומען positive ינט איז פאַרקריפּלט אין ק99. ק99 נאָר מיטל די 1999 ווערסיע פון ​​די שפּראַך C, וואָס איז וואָס מיר 'רע טאַקע ניצן. אזוי וואָס טוט דעם הייסן? נו ק-- און מער ספּאַסיפיקלי C קאָמפּילערס-- זענען שיין שטום מגילה. זיי נאָר וויסן וואָס איר ווע דערציילט זיי, און אַז ס אַקשלי טהעמאַטיק פון לעצטע וואָך. די פּראָבלעם איז אַז אויב איך גיין וועגן ימפּלאַמענינג נאָמען אַרויף דאָ, און איך רופן אַ פונקציאָנירן גערופן געטפּאָסיטיוועינט דאָ אויף שורה 20, אַז פונקציאָנירן טעקניקלי טוט ניט עקסיסטירן ביז דער קאַמפּיילער זעט שורה 27. צום באַדויערן, דער קאַמפּיילער איז טאן זאכן שפּיץ, אַראָפּ, לינקס, רעכט, אַזוי ווייַל עס האט ניט געזען די ימפּלאַמענטיישאַן פון געטפּאָסיטיוועינט, אָבער עס זעט איר טריינג צו נוצן עס אַרויף דאָ, עס ס נאָר געגאנגען צו באַיל-- שרייַען אין איר מיט אַ טעות מעססאַגע-- טאָמער קריפּטיק, און ניט אַקשלי צונויפנעמען די טעקע. אזוי אַ אַזוי גערופענע פּראָוטאַטייפּ אַרויף דאָ איז אַדמיטידלי יבעריק. ממש, איך געגאנגען אַראָפּ דאָ און איך קאַפּיד און פּייסטיד דעם, און איך שטעלן עס אַרויף דאָ. פּאָסל וואָלט זיין מער געהעריק, אַזוי מיר וועט ממש קאָפּיע און פּאַפּ עס דעם צייַט. איך ממש קאַפּיד און פּייסטיד עס. טאַקע פּונקט ווי ווי אַ ברויט ברעקל. א ביסל קלו צו די קאַמפּיילער. איך טאָן ניט וויסן וואָס דעם טוט נאָך, אָבער איך בין פּראַמאַסינג צו איר אז עס וועט עקזיסטירן יווענטשאַוואַלי. און אַז ס וואָס דעם לינע-- אין שורה 16-- ענדס מיט אַ פּינטל-קאָמע. עס איז יבעריק דורך פּלאַן. יא? אויב איר האט ניט לינק דיין ביבליאָטעק צו טהע-- אָה, גוט קשיא. שאַרפּ כולל קאָפּצעטל טעקע ינקלוזשאַנז. דאַרפֿן צו בע-- זאָל כּמעט שטענדיק זיין אין די זייער שפּיץ פון דער טעקע פֿאַר אַ סימילאַר-- פֿאַר פּונקט דער זעלביקער סיבה, יאָ. ווייַל אין נאָרמאַל יאָ.ה איז ממש אַ שורה ווי דעם, אָבער מיט די וואָרט פּרינטף, און מיט זייַן טענות און זייַן צוריקקומען טיפּ. און אַזוי דורך טאן שאַרף אַרייַננעמען אַרויף דאָ, וואָס איר ניטאָ ממש טאן איז קאַפּיינג און פּאַסטינג די אינהאַלט פון עמעצער אַנדערש געשריבן אַרויף שפּיץ. דערמיט קלוינג דיין קאָד אין צו די פאַקט אַז יענע פאַנגקשאַנז טאָן עקסיסטירן. יאָ? לעגאַמרע. אזוי אַ זייער קלוג און ריכטיק לייזונג וואָלט זיין, איר וויסן וואָס? איך טאָן ניט וויסן וואָס אַ פּראָוטאַטייפּ איז, אָבער איך וויסן אויב איך פֿאַרשטיין אַז C איז נאָר שטום און רעטהינקס שפּיץ צו דנאָ. געזונט לאָזן ס געבן עס וואָס עס וויל. זאל ס שנייַדן אַז קאָד, פּאַפּ עס אַרויף שפּיץ, און איצט שטופּ הויפּט אַראָפּ אונטן. דאס אויך וואָלט סאָלווע די פּראָבלעם. אבער איר קען זייער לייכט קומען אַרויף מיט אַ סצענאַר אין וואָס א דאַרפֿן צו רופן ב, און אפֿשר בייטן רופט צוריק צו יי דאס איז עפּעס גערופן רעקורסיאָן, און מיר וועט קומען צוריק צו אַז. און עס זאל אָדער זאל נישט זיין אַ גוט זאַך, אָבער איר קענען באשטימט ברעכן דעם לייזונג. און דערצו, איך וואָלט טענה סטיליסטיקאַללי, ספּעציעל ווען דיין מגילה ווערן דעם לאַנג און דעם לאַנג, עס ס נאָר סופּער באַקוועם צו שטעלן הויפּט אין די שפּיץ ווייַל עס ס די זאַך מערסט פּראָוגראַמערז זענען געגאנגען צו זאָרגן וועגן. און אַזוי עס ס אַ ביסל רייניקונג, אַרגיואַבלי, צו טאָן עס די וועג איך ערידזשנאַלי האט עס מיט אַ פּראָוטאַטייפּ אפילו כאָטש עס קוקט אַ ביסל יבעריק אין ערשטער בליק. יאָ? אנטשולדיגט, קענען איר זאָגן עס לאָודער? אויב איר יבערבייַט די לאָוקיישאַנז פון די ימפּלאַמענטיישאַן און די פּראָוטאַטייפּ? אזוי אַז ס אַ גוט קשיא. אויב איר שייַעך-דערקלערן דעם אַראָפּ דאָ, לאָזן ס זען וואָס כאַפּאַנז. אַזוי אויב איך שטעלן דעם אַראָפּ דאָ, איר ניטאָ געזאגט. אָה, אנטשולדיגט. לאָודער? אפילו לאָודער. אָה, גוט קשיא. וואָלט עס ינוואַלידייט די פונקציע? איר וויסן, נאָך אַלע די יאָרן, איך האָבן קיינמאָל שטעלן אַ פּראָוטאַטייפּ דערנאָכדעם. אַזוי לאָזן ס טאָן מאַכן פונקציאָנירן-1 נאָך טאן אַז. [מוטטערינג] דוד י מאַלאַן: אָה, וואַרטן. מיר נאָך האָבן צו שטעלן אַלץ אַרויף שפּיץ. אַזוי לאָזן ס טאָן דעם אַרויף דאָ, אויב איך בין פארשטאנד דיין קשיא ריכטיק. איך בין פּאַטינג אַלץ, אַרייַנגערעכנט די פּראָוטאַטייפּ אויבן הויפּט, אָבער איך בין פּאַטינג די פּראָוטאַטייפּ ונטער דער ימפּלאַמענטיישאַן. אזוי אויב איך מאַכן איינער, איך בין געטינג צוריק אַן ערראָר-- אַניוזד בייַטעוודיק ען. טאַקע, דאָרט. דאנק איר. זאל ס זען, מיר באַקומען באַפרייַען פון דעם. אַז ס אַ אַנדערש באַג, אַזוי לאָזן ס נישט וויסנדיק אַז. זאל ס טאַקע געשווינד רימייק דעם. גוט, אַזוי דאַטן אַרגומענט ניט געניצט דורך פֿאָרמאַט סטרינג נ-- טאַקע, אַז ס ווייַל איך פארענדערט צו די דאָ. כל רעכט, מיר וויסן וואָס דער ענטפֿער איז געגאנגען טאָ-- אַלע רעכט, דאָ מיר גיין. אַה, דאַנק פֿאַר די positive. כל רעכט, איך וועט פאַרריכטן דעם קאָד אַפטער-- איגנאָרירן דעם באַזונדער זשוק זינט דעם וואַס-- עס אַרבעט איז דער ענטפער. אַזוי עס טוט ניט אָווועררייט וואָס איר 'ווע נאָר געטאן. איך כאָשעד די קאַמפּיילער איז געשריבן אין אַזאַ אַ וועג אַז עס איז יגנאָרינג דיין פּראָוטאַטייפּ ווייַל דער גוף, אַזוי צו רעדן, פון דער פונקציע האט שוין שוין ימפּלאַמענטאַד העכער אַרויף. איך וואָלט האָבן צו אַקטשאַוואַלי באַראַטנ די מאַנואַל פון דער קאַמפּיילער צו פֿאַרשטיין אויב עס ס קיין אנדערע ימפּלאַקיישאַן, אָבער אין ערשטער בליק נאָר דורך טריינג און עקספּעראַמענטינג, עס מיינט צו זיין קיין פּראַל. גוטע קשיא. אזוי לאָזן ס פאָרגע פאָרויס איצט, מאָווינג אַוועק פון זייַט יפעקס וואָס ביסט פאַנגקשאַנז אַז טאָן עפּעס ווי וויזשוואַלי אויף די פאַרשטעלן מיט פּרינטף, אָבער טאָן ניט צוריקקומען אַ ווערט. און פאַנגקשאַנז אַז האָבן צוריקקומען וואַלועס ווי מיר נאָר געזען אַ ביסל פון. מיר שוין געזען דעם געדאנק פון פאַרנעם, און מיר וועט זען דעם ווידער און ווידער. אבער פֿאַר איצט, ווידער, נוצן די הערשן פון גראָבער פינגער אַז אַ בייַטעוודיק קענען בלויז זיין געניצט ין פון די מערסט לעצטנס געעפנט און פארמאכט געגרייַזלט ברייסאַז ווי מיר געזען אין אַז באַזונדער בייַשפּיל. און ווי איר שפּיציק אויס, עס איז אַן אַביליטי-- איר קען סאָלווע עטלעכע פון ​​די פּראָבלעמס דורך פּאַטינג אַ בייַטעוודיק גלאָובאַלי אין דער זייער שפּיץ פון אַ טעקע. אבער אין כּמעט אַלע קאַסעס מיר וואָלט קרימענ אויף אַז, און טאַקע נישט אפילו גיין אין אַז לייזונג פֿאַר איצט. אזוי פֿאַר איצט, די טאַקעאַווייַ איז אַז וועריאַבאַלז האָבן דעם געדאנק פון פאַרנעם. אבער איצט לאָזן ס קוק אין אנדערן טרוקן וועג פון אַקטשאַוואַלי קוקן אין עטלעכע שיין טשיקאַווע ימפּלאַמענטיישאַן דעטאַילס. ווי מיר זאל פאָרשטעלן אינפֿאָרמאַציע. און מיר שוין געקוקט אין דעם אין דער ערשטער וואָך פון דער קלאַס. איר זוכט אין בינאַריעס, און רימיינדינג זיך פון דעצימאַל. אבער צוריקרופן פון לעצטע וואָך אַז C האט פאַרשידענע דאַטן טייפּס און באַנטשאַז מער, אָבער דער רובֿ נוציק אָנעס פֿאַר איצט זאל זיין די. א טשאַר, אָדער כאַראַקטער, וואָס כאַפּאַנז צו ווערן איין בייט, אָדער אַכט ביטן גאַנץ. און אַז ס צו זאָגן אַז די גרייס פון אַ טשאַר איז נאָר איין בייט. א בייט איז אַכט ביטן, אַזוי דעם מיטל אַז מיר קענען פאָרשטעלן ווי פילע אותיות. ווי פילע אותיות אָדער סימבאָלס אויף די קלאַוויאַטור אויב מיר האָבן איין בייט אָדער אַכט ביטן. טראַכטן צוריק צו וואָך נול. אויב איר האָבן אַכט ביטן, ווי פילע גאַנץ וואַלועס קענען איר פאָרשטעלן מיט פּאַטערנז פון זעראָס און אָנעס? אָנע-- מער ווי אַז. אזוי 256 גאַנץ אויב איר אָנהייב קאַונטינג פון נול. אַזוי אויב איר האָבן אַכט ביצ-- אַזוי אויב מיר האט אונדזער ביינערי באַלבז אַרויף דאָ ווידער, מיר קען ווענדן די ליכט באַלבז אויף און אַוועק אין קיין פון 256 יינציק פּאַטערנז. איצט דעם איז אַ ביסל פּראָבלעמאַטיק. ניט אַזוי פיל פֿאַר ענגליש און ראָמאַנס שפּראַכן, אָבער אַוואַדע ווען איר פאָרשטעלן, פֿאַר בייַשפּיל, אַסיאַן שפּראַכן, וועלכע האָבן ווייַט מער סימבאָלס ווי ווי 26 אותיות פון דעם אלפאבעט. מיר אַקטשאַוואַלי זאל דאַרפֿן מער ווי איין בייט. און טאַנגקפאַלי אין פריש יאָרן האט געזעלשאַפט אנגענומען אנדערע סטאַנדאַרדס אַז נוצן מער ווי איין בייט פּער אָפּצאָל. אבער פֿאַר איצט אין C, די פעליקייַט איז נאָר איינער בייט אָדער אַכט ביטן. אַן ינטאַדזשער, דערווייַל, איז פיר ביטעס, אַנדערש באקאנט ווי 32 ביטן. וואָס מיטל וואָס ס די גרעסטע מעגלעך נומער מיר קענען פאָרשטעלן מיט אַן ינט משמעות? מיט אַ ביליאָן. אזוי עס ס 4000000000 געבן אָדער נעמען. 2 צו די 32טה מאַכט, אויב מיר יבערנעמען קיין נעגאַטיוו נומערן און נאָר נוצן אַלע positive נומערן, עס ס 4000000000 געבן אָדער נעמען פּאַסאַבילאַטיז. א לאָזנ שווימען, דערווייַל, איז אַ אַנדערש טיפּ פון דאַטן טיפּ אין סי עס ס נאָך אַ נומער, אָבער עס ס אַ פאַקטיש נומער. עפּעס מיט אַ דעצימאַל פונט. און עס טורנס אויס אַז C אויך ניצט פיר ביטעס צו פאָרשטעלן פלאָוטינג פונט וואַלועס. צום באַדויערן, ווי פילע פלאָוטינג פונט וואַלועס זענען דארט אין די וועלט? ווי פילע פאַקטיש נומערן זענען דארט? עס ס אַ ינפאַנאַט נומער, און פֿאַר אַז ענין עס ס אַ ינפאַנאַט נומער פון ינטאַדזשערז. אזוי מיר ניטאָ שוין מין פון דיגינג זיך אַ לאָך דאָ. ווערביי משמעות אין קאָמפּוטערס-- אין קלענסטער מגילה געשריבן אין C אויף טהעמ-- קענען בלויז רעכענען ווי הויך ווי 4000000000 געבן אָדער נעמען, און פלאָוטינג פונט וואַלועס קענען בלויז משמעות האָבן עטלעכע ענדלעך סומע פון ​​פּינטלעכקייַט. נאָר אַזוי פילע דידזשאַץ נאָך זייער דעצימאַל פונט. ווייַל, פון קורס, אויב איר נאָר האָבן 32 ביטן, איך טאָן ניט וויסן ווי מיר רע געגאנגען צו גיין וועגן רעפּריזענטינג פאַקטיש נומבערס-- מיסטאָמע מיט פאַרשידענע טייפּס פון פּאַטערנז. אבער עס ס שורלי אַ ענדלעך נומער פון אַזאַ פּאַטערנז, אַזוי דאָ, אויך, דעם איז פּראָבלעמאַטיק. איצט מיר קענען ויסמייַדן דעם פּראָבלעם אַ ביסל. אויב איר טאָן ניט נוצן אַ לאָזנ שווימען, איר קען נוצן אַ טאָפּל אין C, וואָס גיט איר אַכט ביטעס, וואָס איז וועג מער מעגלעך פּאַטערנז פון זעראָס און אָנעס. אבער עס ס נאָך ענדלעך, וואָס איז געגאנגען צו זיין פּראָבלעמאַטיק אויב איר שרייַבן ווייכווארג פֿאַר גראַפיקס אָדער פֿאַר פאַנטאַזיע מאַטאַמאַטיקאַל פאָרמולאַס. אַזוי איר זאל אַקטשאַוואַלי ווילן צו ציילן אַרויף ביגער ווי אַז. א לאַנג לאָנג-- סטופּאַדלי נאַמעד-- איז אויך אַכט ביטעס, אָדער 64 ביטן, און דעם איז צוויי מאָל ווי לאַנג ווי אַ ינט, און עס ס פֿאַר אַ לאַנג ינטאַדזשער ווערט. ון פאַקט-- אויב אַ ינט איז פיר ביטעס, ווי לאַנג איז אַ לאַנג אין C טיפּיקלי? אויך פיר ביטעס, אָבער אַ לאַנג לאַנג איז אַכט ביטעס, און דעם איז פֿאַר היסטארישע סיבות. אבער די טאַקעאַווייַ איצט איז נאָר אַז דאַטן האט צו זייַן רעפּראַזענטאַד אין אַ קאָמפּוטער-- אַז ס אַ גשמיות מיטל מיט עלעקטרע, עס ס בכלל דרייווינג יענע זעראָס און אָנעס-- מיט ענדלעך אַמאַונץ פון פּינטלעכקייַט. אַזוי וואָס ס די פּראָבלעם דעמאָלט? גוט עס ס אַ פּראָבלעם פון ינטעגער לויפן. ניט נאָר אין C, אָבער אין קאָמפּיוטערס אין אַלגעמיין. פֿאַר בייַשפּיל, אויב דעם איז אַ בייט ווערט אַ ביט-- אַזוי אויב דעם איז אַכט ביט-- אַלע פון וואָס זענען די נומער איין. וואָס נומער איז דעם רעפּריזענטינג אויב מיר יבערנעמען עס ס אַלע positive וואַלועס אין ביינערי? 255, און עס ס נישט 256, ווייַל נול איז די לאָואַסט נומער. אזוי 255 איז די העכסטן איינער, אָבער די פּראָבלעם איז רעכן אַז איך געוואלט צו ינקראַמאַנט דעם בייַטעוודיק אַז איז ניצן אַכט ביטן גאַנץ אויב איך ווילן צו ינקראַמאַנט עס. נו ווי באַלד ווי איך לייגן אַ איין צו אַלע פון ​​די אָנעס, איר קענען טאָמער ימאַדזשאַן וויסואַללי-- נאָר ווי קעריינג די איין ניצן דעסימאַלס-- עפּעס ס געגאנגען צו לויפן צו די לינקס. און טאַקע, אויב איך לייגן די נומער איינער צו דעם, וואָס כאַפּאַנז אין ביינערי איז אַז עס אָוווערפלאָוז צוריק צו נול. אַזוי אויב איר נאָר וסע-- ניט אַן ינט, אָבער אַ איין בייט צו ציילן ינטאַדזשערז אין אַ פּראָגראַם, דורך דעפאַולט-- ווי באַלד ווי איר באַקומען צו 250, 251, 252, 253, 254, 255-- 0 קומט נאָך 255, וואָס איז מיסטאָמע נישט וואָס אַ באַניצער איז געגאנגען צו דערוואַרטן. איצט דערווייַל אין פלאָוטינג פונט וועלט, איר אויך האָבן אַ ענלעך פּראָבלעם. ניט אַזוי פיל מיט די גרעסטע נומבער-- כאָטש אַז ס נאָך אַן אַרויסגעבן. אבער מיט דער סומע פון ​​פּינטלעכקייַט אַז איר קענען פאָרשטעלן. אַזוי לאָזן ס נעמען אַ קוק אין דעם בייַשפּיל דאָ אויך פון הייַנט ס מקור קאָדע-- לאָזנ שווימען-0.ק. און באַמערקן עס ס אַ סופּער פּשוט פּראָגראַם אַז זאָל משמעות דרוקן אויס וואָס ווערט? וואָס טאָן איר געוועט דעם איז געגאנגען צו דרוקן אפילו כאָטש עס ס אַ ביסל פון נייַ סינטאַקס דאָ? אזוי אַלעווייַ 0.1. אזוי דער עקוויוואַלענט פון איין-צענט ווייַל איך בין טאן 1 צעטיילט דורך 10. איך בין סטאָרינג די ענטפער אין אַ בייַטעוודיק גערופן ף. אַז בייַטעוודיק איז פון טיפּ לאָזנ שווימען, וואָס איז אַ קיווערד איך נאָר פארגעלייגט עקסיסטירט. מיר ווע ניט געזען דעם פריער, אָבער דעם איז מין פון אַ ציכטיק וועג אין פּרינטף צו ספּעציפיצירן ווי פילע דידזשאַץ איר ווילן צו זען נאָך אַ דעצימאַל פונט. אזוי דעם נאָוטיישאַן נאָר מיטל אַז דאָ ס אַ פּלאַסעהאָלדער. עס ס פֿאַר אַ פלאָוטינג פונט ווערט, און טאַקע, דורך די וועג, ווייַזן עס מיט די דעצימאַל פונט מיט איין נומער נאָך די דעצימאַל פונט. אַזוי אַז ס די נומער פון באַטייַטיק דידזשאַץ, אַזוי צו רעדן, אַז איר זאל ווילן. אַזוי לאָזן מיר גיין פאָרויס און טאָן מאַכן לאָזנ שווימען-0, ./פלאָאַט-0, און משמעות 1 צעטיילט דורך 10 איז 0.0. איצט וואָס איז דאָס? גוט ווידער, די קאָמפּיוטער איז גענומען מיר ממש, און איך האב געשריבן 1 און איך געשריבן 10, און נעמען אַ טרעפן וואָס איז די אנגענומען דאַטן טיפּ פֿאַר יענע צוויי וואַלועס? אַן ינט, עס ס טעקניקלי עפּעס אַ ביסל אַנדערש. עס ס טיפּיקלי אַ לאַנג, אָבער עס ס לעסאָף אַן ינטאַגראַל ווערט. נישט אַ פלאָוטינג פונט ווערט. וואָס איז צו זאָגן אַז אויב דעם איז אַן ינט און דעם איז אַן ינט, די פּראָבלעם איז אַז די קאָמפּיוטער טוט ניט האָבן די פיייקייַט צו אפילו קראָם אַז דעצימאַל פונט. אַזוי ווען איר טאָן 1 צעטיילט דורך 10 ניצן ינטאַדזשערז פֿאַר ביידע די נומעראַטאָר און די דענאָמינאַטאָר, די ענטפער זאָל זיין 0.1. אבער די קאָמפּוטער-- ווייַל יענע זענען ינטעגערס-- טוט ניט וויסן וואָס צו טאָן מיט די 0.1. אזוי וואָס איז עס קלאר טאן? עס ס נאָר פארווארפן עס אַוועק, און וואָס איך בין געזען לעסאָף איז 0.0 נאָר ווייַל איך ינסיסטאַד אַז פּרינטף ווייַזן מיר איינער דעצימאַל פונט. אבער די פּראָבלעם איז אַז אויב איר טיילן אַ ינטעגער דורך אַ ינטאַדזשער, איר וועט געט-- דורך דעפֿיניציע פון ק-- אַן ינטעגער. און עס ס ניט געגאנגען צו טאָן עפּעס פייַן און קאַנוויניאַנטלי ווי קייַלעכיק עס אַרויף צו דער ניראַסט איינער אַרויף אָדער אַראָפּ. עס ס געגאנגען צו טראַנגקייט אַלץ נאָך די דעצימאַל. אזוי נאָר ינטויטיוולי, וואָס ס מיסטאָמע אַ פאַרריכטן? וואָס ס די סימפּלאַסט פאַרריכטן דאָ? יאָ? עקסאַקטלי. פארוואס טאָן ניט מיר נאָר מייַכל די ווי פלאָוטינג פונט וואַלועס יפעקטיוולי טורנינג זיי אין פלאָוץ אָדער דאַבאַלז. און איצט אויב איך טאָן מאַכן פלאָוץ-0, אָדער אויב איך צונויפנעמען פלאָוץ-1, וואָס איז יידעניקאַל צו וואָס איז געווען נאָר פארגעלייגט. און איצט איך טאָן פלאָוץ-0, איצט איך באַקומען מיין 0.1. איצט דעם איז אַמייזינג. אבער איצט איך בין געגאנגען צו טאָן עפּעס אַ ביסל אַנדערש. איך בין טשיקאַווע צו זען וואָס ס טאַקע געגאנגען אויף ונטער דער קאַפּטער, און איך בין געגאנגען צו דרוקן דעם אויס צו 28 דעצימאַל ערטער. איך ווילן צו טאַקע זען 0.1000-- אַן ינפיניטע-- [ינאָדאַבאַל] 27 זעראָס נאָך אַז 0.1. געזונט לאָזן ס זען אויב אַז ס וואָס איך טאַקע באַקומען. מאך פלאָוץ-0 זעלביקער טעקע. ./פלאָאַץ-0. זאל ס פארגרעסער אין אויף די דראַמאַטיק ענטפֿערן. כל דאָס מאָל, איר ווע שוין טראכטן 1 צעטיילט דורך 10 איז 10%, אָדער 0.1. עס ס ניט. אין מינדסטער אַזוי ווייַט ווי די קאָמפּיוטער ס זארגן. איצט ווהי-- גוט, אַז ס גאַנץ ליגן 1 צעטיילט דורך 10 איז 0.1. אבער ווהי-- אַז איז ניט די טאַקעאַווייַ הייַנט. אזוי וואָס טוט די קאָמפּיוטער טראַכטן, ניט ענלעך אַלע פון ​​אונדז אין דער צימער, אַז 1 צעטיילט דורך 10 איז אַקשלי אַז משוגע ווערט? וואָס ס די קאָמפּיוטער טאן משמעות? וואָס ס אַז? עס ס ניט לויפן, פּער סיי. לויפן איז טיפּיקלי ווען איר ייַנוויקלען אַרום אַ ווערט. עס ס דעם אַרויסגעבן פון ימפּרעסיסיאָן אין אַ פלאָוטינג פונט ווערט ווו איר נאָר האָבן 32 אָדער אפֿשר אַפֿילו 64 ביסל. אבער אויב עס ס אַ ינפאַנאַט נומער פון פאַקטיש נומבערס-- נומערן מיט דעצימאַל ווייזט און נומערן טהערעאַפטער-- שורלי איר קענען נישט פאָרשטעלן אַלע פון ​​זיי. אַזוי די קאָמפּיוטער האט געגעבן אונדז די קלאָוסאַסט גלייַכן צו די ווערט עס קענען פאָרשטעלן ניצן אַז פילע ביטן צו די ווערט איך אַקטשאַוואַלי ווילן, וואָס איז 0.1. צום באַדויערן, אויב איר אָנהייב טאן מאַט, אָדער איר אָנהייב ינוואַלווינג די מינים פון פלאָוטינג פונט וואַלועס אין וויכטיק פּראָגראַמס-- פינאַנציעל ווייכווארג, מיליטעריש סאָפטוואַרע-- עפּעס ווו מערקונג איז מיסטאָמע שיין וויכטיק. און איר אָנהייבן אַדינג נומערן ווי דעם, און אָנהייבן פליסנדיק אַז ווייכווארג מיט טאַקע גרויס ינפּוץ אָדער פֿאַר גורל פון שעה אָדער גורל פון טעג אָדער גורל פון יאָרן, די קליינטשיק ביסל מיסטייקס שורלי קענען לייגן אַרויף איבער צייַט. איצט ווי אַ באַזונדער, אויב איר 'ווע אלץ געזען סופּערמאַן 3 אָדער אָפפיסע ספעיס און איר זאל צוריקרופן ווי די גייז סטאָול אַ פּלאַץ פון געלט פון זייער קאָמפּיוטער דורך ניצן פלאָוטינג פונט וואַלועס און אַדינג אַרויף די ביסל רעמאַינדערס, אַלעווייַ אַז פֿילם איצט מאכט מער זינען. דעם איז וואָס זיי זענען אַלודינג צו אין אַז פֿילם. דער פאַקט אַז רובֿ קאָמפּאַניעס וואָלט ניט קוקן נאָך אַ זיכער נומער פון דעצימאַל ערטער, אָבער יענע זענען פראַקשאַנז פון סענס. אַזוי איר אָנהייב אַדינג זיי אַרויף, איר אָנהייבן צו מאַכן אַ פּלאַץ פון געלט אין דיין באַנק חשבון. אזוי אַז ס אָפפיסע ספעיס דערקלערט. איצט ליידער ווייַטער פון אָפפיסע ספעיס, עס זענען עטלעכע לאַדזשיטאַמאַטלי טראַבאַלינג און באַטייַטיק ימפּאַקס פון די מינים פון אַנדערלייינג פּלאַן דיסיזשאַנז, און טאַקע איינער פון די סיבות מיר נוצן C אין די לויף איז אַזוי אַז איר טאַקע האָבן דעם ערד אַרויף פארשטאנד פון ווי קאָמפּיוטערס אַרבעט, ווי סאָפטווער אַרבעט, און טאָן ניט נעמען עפּעס פֿאַר געגעבן. און טאַקע ליידער, אפילו מיט אַז פונדאַמענטאַל פארשטאנד, מיר יומאַנז מאַכן מיסטייקס. און וואָס איך געדאַנק איך איר'ד טיילן איז דעם אַכט מינוט ווידעא דאָ גענומען פון אַ מאָדערן מאַרוועלס עפּיזאָד, וואָס איז אַן בילדונגקרייז ווייַזן אויף ווי דאס ווערק אַז פּיינץ צוויי בילדער פון ווען אן ימפּראַפּער נוצן און שכל פון פלאָוטינג פונט וואַלועס געפירט צו עטלעכע באַטייַטיק נעבעך רעזולטאַטן. זאל ס נעמען אַ קוק. [VIDEO פּלייבאַק] -ווע איצט צוריקקומען צו "אינזשעניריע דיזאַסטערז "אויף מאָדערן מאַרוועלס. קאָמפּיוטערס. מיר 'ווע אַלע קומען צו אָננעמען די אָפֿט פראַסטרייטינג פּראָבלעמס אַז גאַט מיט טהעמ-- באַגז, ווירוסעס, און ווייכווארג גליטטשעס-- פֿאַר קליין פּרייסיז צו באַצאָלן פֿאַר די קאַנוויניאַנס. אבער אין הויך טעק און הויך גיכקייַט מיליטעריש און אָרט פּראָגראַם פּראָגראַמען, דער קלענסטער פּראָבלעם קענען זייַן מאַגנאַפייד אין ומגליק. אויף יוני 4, 1996, סיינטיס צוגעגרייט צו קאַטער אַ אַנמאַנד אַריאַנע 5 ראַקעט. עס איז געווען קעריינג וויסנשאפטלעכע סאַטאַלייץ דיזיינד צו פעסטשטעלן דווקא ווי די ערד ס מאַגנעטיק פעלד ינטעראַקץ מיט זונ ווינטן. דער ראַקעט איז געבויט פֿאַר דער אייראפעישער ספעיס אַגענטור, און אויפגעהויבן אַוועק פון זייַן מעכירעס אויף דעם ברעג פון פראנצויזיש גיאַנאַ. -אַט וועגן 37 סעקונדעס אין די פלי, זיי ערשטער באמערקט עפּעס איז געגאנגען אומרעכט. אַז די נאַזאַלז זענען סוויוועלינג אין אַ וועג זיי טאַקע זאָל ניט. אַרום 40 סעקונדעס אין די פלי, קלאר די פאָרמיטל איז אין קאָנפליקט, און אַז ס ווען זיי געמאכט דער באַשלוס צו פאַרניכטן עס. די קייט זיכערקייַט אָפיציר, מיט קאָלאָסאַל גאַץ, געדריקט די קנעפּל און האבן געבלאזן אַרויף די ראַקעט איידער עס קען ווערן אַ ריזיקירן צו ציבור זיכערקייַט. -טהיס איז די מיידל נעסיע פון ​​די אַריאַנע 5, און זייַן צעשטערונג גענומען אָרט ווייַל פון די פלאָ עמבעדיד אין די ראַקעט ס ווייכווארג. -טהע פּראָבלעם אויף די אַריאַנע איז אַז עס איז געווען אַ נומער וואס פארלאנגט 64 ביטן צו אויסדריקן, און זיי געוואלט צו בייַטן עס צו אַ 16-ביסל נומער. זיי אנגענומען אַז די נומער איז קיינמאָל געגאנגען צו זיין זייער גרויס. אַז רובֿ פון די דידזשאַץ אין דער 64-ביסל נומער זענען זעראָס. זיי זענען פאַלש. -טהע ינאַביליטי פון איין ווייכווארג פּראָגראַם צו אָננעמען דער מין פון נומער דזשענערייטאַד דורך אן אנדער איז געווען אין דער שורש פון דעם דורכפאַל. ווייכווארג אַנטוויקלונג האט ווערן אַ זייער טייַער טייל פון נייע טעכנאָלאָגיע. די אַריאַנע 4 ראַקעט האט געווען זייער מצליח. אזוי פיל פון די ווייכווארג באשאפן פֿאַר עס איז אויך געניצט אין די אַריאַנע 5. -טהע יקערדיק פּראָבלעם איז געווען אַז די אַריאַנע 5. איז פאַסטער-- אַקסעלערייטיד פאַסטער, און די ווייכווארג האט ניט אַקאַונאַד פֿאַר אַז. -טהע צעשטערונג פון די ראַקעט איז געווען אַ ריזיק פינאַנציעל ומגליק. כל רעכט צו אַ מינוט ווייכווארג טעות. אבער דעם איז געווען נישט די ערשטע צייַט דאַטע קאַנווערזשאַן פּראָבלעמס האט פּלייגד מאָדערן ראַקעט טעכנאָלאָגיע. -ין 1991 מיט דעם אָנהייב פון דער ערשטער גאַלף מלחמה, דער פּאַטריאָט מיסאַל יקספּיריאַנסט אַ ענלעך מין פון אַ נומער באַניצער פּראָבלעם. און ווי אַ רעזולטאַט 28 פּעאָפּלע-- 28 אמעריקאנער סאָלדיערס-- האבן געהרגעט, און וועגן אַ הונדערט אנדערע ווונדאַד. ווען דער פּאַטריאָט, וואָס איז געמיינט צו באַשיצן קעגן ינקאַמינג סקודס, ניט אַנדערש צו פייַער אַ מיסאַל. -ווהען יראַק ינוויידיד קוווייט, און אַמעריקע לאָנטשט מדבר שטורעם אין פרי 1991, פּאַטריאָט מיסאַל באַטעריז זענען דיפּלויד צו באַשיצן סאַודי אַראַביאַ און ישראל פון יראַקי סקאַד מיסאַל אנפאלן. דער פּאַטריאָט איז אַ יו מיטל-קייט ייבערפלאַך-צו-לופט סיסטעם מאַניאַפאַקטשערד דורך די רייטיאַן פירמע. -טהע גרייס פון דער פּאַטריאָט ינטערסעפּטאָר יצעלפ-- עס ס וועגן בעערעך 20 פֿיס לאַנג, און עס ווייז וועגן £ 2000. און עס קאַריז אַ וואָרכעד פון וועגן, איך טראַכטן עס ס בעערעך £ 150. און די וואָרכעד זיך איז אַ הויך יקספּלאָוסיוו, וואָס האט פראַגמאַנץ אַרום אים. אזוי די קייסינג פון די וואָרכעד איז דיזיינד צו שפּילן ווי אַ באַקשאַט. -טהע מיסאַלז זענען געפירט פיר פּער קאַנטיינער, און זענען טראַנספּאָרטאַד דורך אַ האַלב טריילער. -טהע פּאַטריאָט אַנטי-מיסאַל סיסטעם גייט צוריק אין מינדסטער 20 יאר איצט. עס איז געווען ערידזשנאַלי דיזיינד ווי אַ לופט פאַרטיידיקונג מיסאַל צו דרייען אַראָפּ פייַנט ערפּליינז. אין דער ערשטער גאַלף מלחמה ווען אַז מלחמה געקומען אויף, די ארמיי געוואלט צו נוצן עס צו דרייען אַראָפּ סקודס, ניט ערפּליינז. די יראַקי לופט פאָרס איז געווען ניט אַזוי פיל פון אַ פּראָבלעם, אָבער די ארמיי איז געווען באַזאָרגט וועגן סקודס. און אַזוי זיי געפרוווט צו אַפּגרייד דער פּאַטריאָט. -ינטערסעפּטינג אַן פייַנט מיסאַל טראַוואַלינג אין מאַטש 5 איז געגאנגען צו זיין טשאַלאַנדזשינג גענוג. אבער ווען דער פּאַטריאָט איז געווען ראַשט אין דינסט, די ארמיי איז געווען ניט אַווער פון אַן יראַקי מאָדיפיקאַטיאָן אַז געמאכט זייער סקודס קימאַט אוממעגלעך צו עס. -ווהאַט געטראפן איז די סקודס וואָס זענען קומען אין זענען אַנסטייבאַל. זיי האבן וואַבאַלי. די סיבה פֿאַר דעם איז געווען די יראַקיס-- אין סדר צו באַקומען 600 קילאָמעטערס אויס פון אַ 300-קילאָמעטער קייט מיססילע-- גענומען וואָג אויס פון די פראָנט וואָרכעד, און געמאכט די וואָרכעד לייטער. אַזוי איצט די פּאַטריאָט ס טריינג צו קומען אין די סקאַד, און רובֿ פון די טימע-- די אָוווערוועלמינג מערהייַט פון דער טימע-- עס וואָלט נאָר פליען דורך די סקאַד. -וואַנס דער פּאַטריאָט סיסטעם אָפּערייטערז איינגעזען די פּאַטריאָט מיסט זייַן ציל, זיי דעטאַנייטאַד דער פּאַטריאָט ס וואַרהעאַד צו ויסמייַדן מעגלעך קאַזשוואַלטיז אויב עס איז געווען ערלויבט צו פאַלן צו די ערד. -טהאַט איז וואָס רובֿ מענטשן געזען ווי גרויס פייערבאָלז אין דעם הימל, און מיסאַנדערסטוד ווי ינטערסעפּץ פון סקאַד וואָרכעדז. -אַלטהאָוגה אין דער נאַכט הימל, פּאַטריאָץ ארויס צו זיין הצלחה דיסטרויינג סקודס, אין דאַראַן עס קען זיין קיין גרייַז וועגן זייַן פאָרשטעלונג. עס דער פּאַטריאָט ס ראַדאַר סיסטעם פאַרפאַלן שפּור פון אַ ינקאַמינג סקוד און קיינמאָל לאָנטשט רעכט צו אַ ווייכווארג פלאָ. עס איז געווען דער ישראל וואס ערשטער דיסקאַווערד אַז די מער די סיסטעם איז געווען אויף, די גרעסער די צייַט דיסקרעפּאַנסי געווארן. פעליק צו אַ זייגער עמבעדיד אין די סיסטעם 'ס קאָמפּיוטער. -אַבאָוט צוויי וואָכן איידער די טראַגעדיע אין דאַראַן, די ישראל געמאלדן צו די דיפענס דעפּאַרטמענט אַז דער סיסטעם איז לוזינג צייַט. נאָך וועגן אַכט שעה פון פליסנדיק, זיי באמערקט אַז דער סיסטעם ס שיין נאָוטיסאַבלי ווייניקער פּינטלעך. די דיפענס דעפּאַרטמענט אפגערופן דורך טעלינג אַלע פון ​​דער פּאַטריאָט באַטעריז צו נישט לאָזן די סיסטעמען אויף פֿאַר אַ לאַנג צייַט. זיי קיינמאָל האט וואָס אַ לאַנג צייַט איז געווען. 8 שעה, 10 שעה, אַ טויזנט שעה. נאָבאָדי געוואוסט. -טהע פּאַטריאָט באַטאַרייע סטיישאַנד אין די באַראַקס אין דאַראַן און זייַן פלאָד ינערלעך זייגער האט שוין אויף פֿאַר איבער 100 שעה אויף דער נאַכט פון 25 פעברואר. -יט טראַקט צייַט צו אַן אַקיעראַסי פון וועגן 1/10 פון אַ רגע. איצט 1/10 פון אַ רגע איז אַ טשיקאַווע נומער ווייַל עס קענען ניט זיין אויסגעדריקט אין ביינערי פּונקט, וואָס מיטל עס קענען ניט זיין אויסגעדריקט פּונקט אין קיין מאָדערן דיגיטאַל קאָמפּיוטער. עס ס שווער צו גלויבן, אָבער נוצן דעם ווי אַ בייַשפּיל. זאל ס נעמען די נומער 1/3. איינער דריט קענען ניט זיין אויסגעדריקט אין דעצימאַל פּונקט. איינער דריט איז 0.333 געגאנגען אויף פֿאַר ינפיניטי. עס ס קיין וועג צו טאָן אַז מיט אַבסאָלוט אַקיעראַסי אין אַ דעצימאַל. אַז ס פּונקט דער מין פון פּראָבלעם אַז געטראפן אין דער פּאַטריאָט. די מער די סיסטעם געלאפן, די ערגער די צייַט טעות געווארן. -אַפטער 100 שעה פון אָפּעראַציע, די טעות אין צייַט איז געווען בלויז וועגן 1/3 פון אַ רגע. אבער אין טערמינען פון טאַרגאַטינג אַ מיסאַל טראַוואַלינג אין מאַטש 5, עס ריזאַלטיד אין אַ טראַקינג טעות פון איבער 600 מעטער. עס וואָלט זיין אַ פאַטאַל טעות פֿאַר די זעלנער אין דאַראַן. -ווהאַט געטראפן איז אַ סקאַד קאַטער איז דיטעקטאַד דורך פרי ווארענונג סאַטאַלייץ, און זיי געוואוסט אַ סקאַד איז קומענדיק אין זייער גענעראַל ריכטונג. זיי האבן ניט וויסן ווו עס איז געווען קומען. עס איז איצט אַרויף צו די ראַדאַר קאָמפּאָנענט פון דער פּאַטריאָט סיסטעם דיפענדינג דאַראַן צו געפינען און האַלטן שפּור פון די ינקאַמינג פייַנט מיסאַל. -טהע ראַדאַר איז זייער קלוג. עס וואָלט אַקטשאַוואַלי שפּור די לאַגע פון ​​די סקאַד און דעמאָלט פאָרויסזאָגן ווו עס מיסטאָמע וואָלט זיין דער ווייַטער צייַט די ראַדאַר געשיקט אַ דויפעק אויס. אַז איז גערופן די קייט טויער. -טהען אַמאָל דער פּאַטריאָט דיסיידז גענוג צייַט האט דורכגעגאנגען צו גיין צוריק און קאָנטראָלירן דעם ווייַטער אָרט פֿאַר דעם דיטעקטאַד כייפעץ עס גייט צוריק. אַזוי ווען עס געגאנגען צוריק צו די אומרעכט אָרט, עס דעמאָלט זעט ניט כייפעץ. און עס דיסיידז אַז עס איז קיין כייפעץ. אַז עס איז געווען אַ פאַלש דיטעקשאַן און עס טראפנס דעם שפּור. -טהע ינקאַמינג סקאַד פאַרשווונדן פון די ראַדאַר פאַרשטעלן, און סעקונדעס שפּעטער, עס סלאַמד אין די באַראַקס. די סקאַד געהרגעט 28. עס איז געווען די לעצטע איינער פייערד בעשאַס דער ערשטער גאַלף מלחמה. טראַדזשיקלי, די דערהייַנטיקט ווייכווארג אנגעקומען אין פאַרטאָג אויף דער ווייַטערדיק טאָג. די ווייכווארג פלאָ האט שוין פאַרפעסטיקט, קלאָוזינג איין קאַפּיטל אין די דערשראקן געשיכטע פון ​​דער פּאַטריאָט מיסאַל. [END VIDEO פּלייבאַק] דוד י מאַלאַן: אַז ס עס פֿאַר קס50. מיר וועט זען איר אויף מיטוואך. [מוזיק פּלייינג]