כמו ריבוי משימות העלילתי הראשון הופיע על מקינטוש
Makradar של טכנולוגיה / / December 19, 2019
כל וכל אדם המודרני נהנה multitasking תכונות למכשירים שלהם. זה לא משנה מה הוא: סמארטפון, טאבלט או מחשב ביתי. רוב האנשים אפילו לא חושב הרבה על איך לבנות את הפעולה של המערכת עם מספר רב של תהליכים בעת ובעונה אחת: אנחנו פשוט אנו מתקשרים ברשת, עבודה עם מסמכים שונים, להאזין להופעות מוזיקה ולצפות בטלביזיה, נענו בזריזות בין ריצה המרובה תוכניות. סיפור זה, שמחברו הוא אנדי Gertsfeld מכיל שום הסבר של ההפצה המורכבת של זיכרון אחר משעמם מדריכים טכניים, אבל מדבר על איך multitasking וכך הופיעו של מחשבי החברה אפל.
המוצר המסחרי הראשון, עבדתי אחרי שעזב אפל במארס 1984, היה Thunderscan - סורק זול למדי עבור מקינטוש. הקמתה התקיימה בשיתוף עם חברה זעירה Thunderware. העבודות החלו בחודש יוני 1984, ובתחילת אוקטובר, הפרויקט היה כמעט מוחלט.
טום פטרי, אחד משני המנהיגים Thunderware (השני היה ויקטור בול, שאיתו עבדתי על מדפסת תרמית Silentype, שהפך לפרויקט הראשון, יצרתי עבור אפל), נתתי מצגות כמה מגזיני מחשב שונים כדי לקבל משוב חיובי הכרחיים לקידום המוצר. 11 באוקטובר, 1984 אני הלכתי עם טים למשרד ב Hillsboro להפגין Thunderscan עבור המגזין בייט.
הבודק בייט היה ג'ון Markof. הוא היה מחברם של הטור על הטכנולוגיה של סן פרנסיסקו כרוניקל. ג'ון נחשב לאחד העיתונאים הטובים המכסים את תעשיית המחשבים האישית. טום דבר על Thunderscan, ובהמשך התחיל סריקת הדגמה. ג'ון שאל כמה שאלות, כתוב לעורך הטקסט של PC של IBM שלה. במהלך התשובה הבאה שלי צלצל הטלפון שלו.
התנצלות, ג'ון נלחץ על המקשים במקלדת, ולאחר מכן על עורך טקסט מסך המחשב השתנה במהירות ליישום אחר. הוא דיבר בטלפון במשך דקה או שתיים, ואז לסיים את השיחה, חזרה לרשימת השאלות לגבי Thunderscan באמצעות כל אותן צירוף מקשים.
"מה עשית עכשיו? - התעניינתי התוכנה שלה - אתה יכול לעבור לתוכנית אחרת כל כך מהר "?
"אוי, אני משתמש Shift הזיכרון. האם לא חווה את זה? - ג'ון אומר - הוא כלי DOS המאפשר לך לשמור על מספר יישומי מוח ולעבור ביניהם במהירות. לעתים קרובות אני משתמש בו בשנים האחרונות. " הוא הוכיח את התהליך מעבר כמה פעמים כדי להראות לי את המהירות של השירות הזה.
"אתה יודע, אני חושב שאני יכול לעשות משהו דומה עבור Macintosh», - פלטתי לפני במודע לחשוב על דברים לעומק.
משלוחי מקינטוש 512K החלו לפני כמה שבועות. ניסיתי להריץ מספר יישומים בו זמנית על 512K, אבל היה קונפליקטי זיכרון לפינת בעיות פוטנציאליות אחרות. אבל עכשיו, אחרי שראיתי הקצאה מחדש בפעולה, הייתה לי הרעיון, אשר, כך נדמה, לא קשה מדי ליישום.
"כן, זה יהיה נהדר" - ג'ון הסכים. המשכתי הפגנת Thunderscan, אבל לא יכולתי להתרכז באופן מלא, חושב על מעבר בין יישומים. נראה לי כי היצירה של כלי כזה - ריאלית למדי משימה, שתוצאתו תהיה שימושית מאוד.
טום פטר לב ההתרגשות שלי בגלל הרעיונות החדשים. לאחר המצגת, הוא לקח אותי הביתה, ואת נזכר התחייבויותיי, לוקח ממני הבטחה לסיים את Thunderscan שחרור אלפא בהקדם האפשרי, לפני שמתחילים משהו חדש. סיכמנו על רשימה של משימות שיש לי לבצע בשבועיים הקרובים. לאחר גרסת אלפא הייתה מוכנה, הייתי מסוגל לקחת הפסקה קצרה כדי עבודה על יישום המעבר מאוחר מחדש לשקוע בעבודה על Thundescan, הכנת גרסת 1.0 עד סוף חודש נובמבר.
צחצוח Thunderscan, הרהרתי הניואנסים של תכנות מתג. בחירה בין הורדת אפליקציית לאזור יחיד שהנו אופטימלי להשתמש בזיכרון, ושימוש הפרט אזורים לבידוד טוב יותר של כל תכנית, התפשרתי על הגרסה השנייה, למרות שהוא לא היה בטוח בנכונות זו בחירה.
היינו צריכים לפתור הרבה בעיות קטנות. החשוב שבהם היה העובדה כי יישום מאוחסן הזיכרון משתנים גלובליים כי צריך כדי להיות מוחלף במהלך ההחלפה, כמו כל תוכנית יש משלה משתנה. לא כל הנקודות היו ברורות לי. ידעתי כי הניסיון הראשון שלי הוא לא אידיאלי, אבל אני בטוח התמודדתי עם באגים של כל הבעיות הבלתי הנמנעות.
כמה ימים לאחר תחילת השלב הסופי של עבודה על שאני Thunderscan קבלו מאוד שיחת טלפון מעניינת מג'ף Harbers שהייתה מנהל יישומי מקינטוש צוות מיקרוסופט. הוא דיווח כי מיקרוסופט פיתחה פרויקט אסטרטגי חשוב מאוד, והם חושבים שאני יהיה מועמד אידיאלי לביצועו. ג'ף לא לחשוף פרטים נוספים בטלפון, אבל הוא הציע להטיס לסיאטל כדי לדון הכל באופן אישי. סיקרן אותי מספיק כדי הפסקת עבודה על Thunderscan ולשבת המטוס.
ג'ף הרים אותי בשדה התעופה ויצאנו אל הבניין הראשי של חברת מיקרוסופט, שבו היינו מצטרפת ניל Conze - מתכנת 23 בן מוכשר מקינטוש. הכרתי אותו מהרגע של העבודה המשותפת שלנו על הוספת תכונות שפת אסמבלי. הוא באותה העת היה רק בן 16 שנים.
ג'ף שאל אותי מה אני כרגע עובד על. סיפרתי לו על Thunderscan, אבל כאשר הניסויים המוזכרים עם אפליקצית עזר החלפת לסתו נשמטה. ג'ף לא יכולתי להאמין שאני באמת אמר את זה.
"זה בדיוק מה שאנחנו רוצים לדבר! זה נהדר, כי אתה כבר עובד על זה "-! ג'ף קרא.
הוא הסביר כי יש צורך לעבוד קשה כדי לגרום לזה לעבוד יישומים בעקביות באזורים קטנים של RAM מקינטוש 128K. בנוסף, הלוטוס הודיע לאחרונה חבילת תוכנה חדשה עבור 512K מקינטוש ג'אז, המאפשר לך במהירות ובקלות לעבור בין התחומים שלה. מטרת הביקור הייתה לשכנע אותי לכתוב בקשה דומה, לעבור על חוזה עם מיקרוסופט.
ניל Conze מוצגים כלי פוטנציאלי פיתח פרויקט על הלוח. הוא הציע להשתמש באותו אזור הזיכרון, אשר סרבתי מייד, שספרנו על הגישה החלופית, עם אזורים נפרדים, נותן את האמינות הגדולה.
היום שלי ב- Microsoft השלים פגישה פרטית עם ביל גייטס. ג'ף לקח אותי למשרדו והתנצל והשאיר אותנו לבד.
לאחר חילופי הדיילת של מחוות, ביל הרים את מבטו ושאל לי בעיניים: "אתה באמת מתכנת טוב, לא? אני חושב שאתה באמת צריך להיות מתכנת טוב. "
"אני חושב שכן," - עניתי, בלי לדעת למה הוא מחמיא לי.
"גם אני חושב כך. איך לדעתך כמה זמן זה ייקח ליישם את הפרויקט הזה? חודש או חודשיים? נראה לי, מתכנת טוב צריך להתמודד עם זה בעוד כמה חודשים. "
"אני לא יודע - אמרתי - אפילו לא יודע אם זה אפשרי ליישם."
"לראות בואו - אמר בנימה מתנשאת מעט - זה לא צריך לקחת יותר מעשרה אלפי שורות קוד, ואת מתכנת ממש טוב הוא מסוגל לכתוב לפחות אלף שורות בשבוע. אני חושב שזה ייקח לך לא יותר מ שבועות עשר. "
אני לא יודע מה לענות, אז אני פשוט שותק והקשבתי.
"מה אתה חושב, כמה כסף יכול להרוויח מתכנת טוב? אנחנו משלמים לעובדים כמיטב יכולתנו על אלפיים דולר לשבוע. אתה לא חושב שאתה צריך לשלם יותר? "
"אני לא יודע" - עניתי. התברר כי ביל ניסה להפוך אותי בצורה מאוד מהירה כדי לכתוב השירות הזה.
"אם אתה מקבל בערך ארבעת אלפים דולר בשבוע, - המשיך - כי בסופו של שבועות עשרה אתה יכול לקבל ארבעים אלף."
אמרתי לו שאני אעשה כל שניתן כדי להבטיח כי הכלי הזה עובד היטב עם יישומים ממיקרוסופט. רציתי לעשות את זה בכל מקרה וללא הצעה זו, כי התוכניות של מיקרוסופט כבר מאוד פופולריות בקרב משתמשים. לחצנו ידיים עזבתי את המשרד בנימה חיובית.
בית חזרה בפאלו אלטו, רציתי לפתח קונספט של שירות לתוכניות מתג, למרות והסיום של הכנת Thunderscan.
בסופו של דבר, הייתי צריך ליצור ממשק משתמש עבור השירות הזה. אני עובד ללא הפסקה 20 שעות, מפתחת תוכנית גרעין. לא ייאמן שזה היה נחמד לצפות בהדרגה משפר את היציבות של השירות, פתרון בעיות רגיל עם זיכרון.
תוך כדי עבודה על הפרויקט שלו, שמתי לב באד Tribble, ששב אפל ביולי 1984 לתפקיד מנהל תוכנה לאחר התמחות רפואית באוניברסיטת וושינגטון והוא התגורר ליד לי.
שאלתי באד לעצמו, כדי להדגים מעבר מהיר בין MacPaint, MacWrite ו MacDraw. הוא התרשם, אבל להפתעתי, התלונן כי המעבר מתרחש מהר מדי.
"ואם מישהו יעשה מתג זה בטעות? זה יכול לגרום לבלבול, - הוא אמר לי - זה עשוי להיות אפשרי להשתמש באנימציה כדי ליצור מעבר חלק "?.
רעיון זה נראה ממש טוב. החלטנו לשנות את התוכנית חייב לבצע גלילה אופקית, וכל היישומים הרצים ניתן להציג בבירור באזור קטן של המסך. רשמתי במהירות את הקוד הדרוש והיה מופתע עד כמה גדול התכנית הבזיקה על פני המסך.
הדגמתי את המושג הזה לחברים שלך מאפל וחלק מהמשתמשים פשוט. הכל לטובה אימצו את הפרויקט שלי. למרבה הצער, אין לי זמן תיקון Thunderscan, אבל אני עדיין מלאתי את ההבטחה, והוא היה מוכן בסוף נובמבר.
לאחר הפסקה קצרה שהגיע הזמן לחזור לפיתוח שירותים ליישומי מתג, התחלתי לקרוא Switcher. בתחילת דצמבר, הבנתי את רובו, כולל ממשק משתמש.
בתחילת ינואר 1985, קיבלתי שיחת טלפון גיא קוואסקי, שאמר לי כי אפל מעוניינת לקנות Switcher. הצעד הראשון היה לערוך מצגת מוצר סטיב ג'ובס.
הולכים למשרדו, הייתי קצת מודאג, הערכת הפרויקט בתוך רבע מיליון דולרים, אבל הוא היה בטוח כי סטיב אף פעם לא משלם לי כל כך הרבה. הייתי גאה ילדם, ואני מעוניין התגובה של ג'ובס עליו. Running MacWrite, MacPaint, MacDraw ואת Finder, הראיתי בכוונה את Switcher עם אנימציה, להפוך מאוחר רושם מרהיב. אני עובר במהירות בין היישומים בשני הכיוונים.
"ובכן, ראיתי מספיק - סטיב קטע אותי, - זה נהדר. ברצוננו לשלב את הפרויקט הזה לתוך Mac ».
לרגע הוא עמד והביט בי בריכוז, כאילו הוא רצה להפחיד אותי.
"אני לא רוצה לשמש אפל».
"מה זאת אומרת?" - תמה על דבריו, שאלתי אותו שאלה.
"אתה לא תוכל לסיים את התוכנית בלי המידע שאתה יכול לקבל כאן. כתוצאה מכך, איבדת את הרצון לסיים את הפרויקט. "
"התוכנית היא מוכנה בדיוק חצי. אני בספק שאם אני משלם כנה, אני לא הולך להניע כדי להשלים את העבודה, "- התחלתי להתרגז.
אחרי שראיתי אפילו בי מבט רציני יותר, סטיב הודיע מספר בודד, ללא כל הסבר.
"מאה אלף דולר."
"אני לא יודע - אמרתי לו -. אני חושב Switcher הוא הרבה יותר יקר"
"אל תתווכח איתי, - התחמק משרות - במחיר הוגן, ואתה יודע את זה."
נראה כי לא הייתה לי שום אלטרנטיבה, ואני נאלצתי להיכנע תמחור סטיב. אצלו זה היה אכן מאוד קשה להתווכח. בסופו של דבר, על חתימת הסכם סופי עם גיא קוואסקי הייתי מסוגל לקבל את הבונוס, אשר בעתיד הביא לי עוד חמישים אלף.
כצפוי, החלק הקשה ביותר של העבודה על Switcher היה לגרום לו לעבוד בהתמדה עם יישומי מיקרוסופט. מפתחים אפשרו לעצמם חירויות שונות עם המערכת, נרתע מן ההוראות הרגילות, מה שגרם לי קשיים מסוימים.
הייתי צריך לתרגם את הקוד פסאודו ל bytecode. תרגום עם שישה צוותות לניפוי עוקב היה כואב למדי עבור Switcher.
אחת הבעיות האחרונות, אני מתמודד עד Switcher הגרסה הראשונה במרס 1985, זה היה יישום של האפשרות "הרג" את הבקשה האנג ללא צורך לסגור את כל מיד. הוספתי תכונה זו בשילוב עם היכולת לעקוב אחר המצב של תוכניות פועלות.
הייתי צריך לבחור שילוב נדיר מספיק מפתחות כדי להתחיל פונקציה זו. בחרתי ארבעה כפתורים, אשר, כפי שהוא נראה, זה היה מאוד קשה להתקל במקרה, אבל עדיין הופתעתי כאשר קיבלתי שיחת טלפון ג'ף Harbers ממיקרוסופט.
"אני אוהב את האפשרות הזו אילצה את השלמת תוכניות, אבל תצטרך לשנות את מקשי הקיצור, כי אנחנו משתמשים זה כשעובדים עם Microsoft Word». ג'ף הסביר לי כי Word הוא עורך מאוד מסובך ויש לו מגוון עצום של קיצורי מקשים.
ג'ף לא הציע בטון כלום, אבל התקשר אלי למחרת, המציע שילוב שונה.
"אנחנו נשנה את Word בגיליון הבא. הבעיה היא שאנחנו לא באים כדי למצוא רצף מפתח בטוח. אנחנו פשוט לנצל את כולם, "- צחקו עלי, ג'ף.
שחרור הגרסה הסופית של Switcher מוחזק באופן רשמי באפריל 1985. תמכתי כמה גרסאות לאחר ההשקה, אך בסופו של דבר נתן פיל גולדמן, מתכנת מוכשר מאוניברסיטת פרינסטון, אשר קיבל עבודה בחברת אפל. הוא החל לפתח MultiFinder, שהפך Switcher המקלט ב 1987.
באמצעות Folklore.org