בתשובה לאליהו, 25/06/03 21:10
סבונים 153736
שמעתי סיפור דומה על סבון "DOVE". התקלקל להם מיכל של סבון, אבל החליטו בכל זאת לנסות, ושמחו לגלות שסבון שצף במים זה שוס אדיר. אבל נראה לי שמדובר בסטיה מהנושא.
ד"א, מעניין שכל הגיקים כאן שכחו את העכבר ואת החלונות, שהומצאו בזירוקס, אבל החברה שם לא הבינו מה שיש להם ביד.
זירוקס? 153777
הם אגב המציאו את שניהם בעיקר בשביל השפה SmallTalk - שפה נפלאה, שימושית להפליא, מונחת עצמים (הראשונה, אא"ט, ואחת הבודדות עד היום), ועוד כל מיני דברים טובים.
גם את זה הם לא ידעו לנצל - מודל המכירות שלהם התבסס על תמלוגים מהמוצר הסופי, והלקוחות לא רצו את זה. ככה באה ג'אווה, לפחות לפי אחד מהסיפורים.
חברה נפלאים יש בזירוקס.

ולמתעניינים: http://www.whysmalltalk.com
זירוקס? 154372
הראשונה? לא, כי שפת Simula היתה שם קודם. "אחת הבודדות עד היום"? גם לא, כי ישנן עשרות, ואולי אף מאות, שפות העונות לתואר.
זירוקס? 154451
name four.
זירוקס? 154462
אוסף מקרי של שפות מונחות העצמים מהיותר מוכרות והיותר "טהורות" (לכן C++ לא ברשימה):

Beta
Cecil
Dylan
Eiffel
Java
Python
Sather
Self
Simula
Smalltalk

ויש עוד המון.
זירוקס? 154561
מה עם עדה שפותחה כשפה מונחת העצמים של הDOD?
זירוקס? 154564
עדה אינה בדיוק מונחית עצמים. היא תומכת בטיפוסי נתונים אבסטרקטיים, אבל אין בה ירושה, אאז''נ.
זירוקס? 154565
ממתי ירושה היא תנאי לשפה מונחית עצמים?
לפי מה שלמדתי, השפה הראשונה שפותחה כמונחת עצמים ולא כמונחת תהליכים היא עדה שפותחה על ידי משרד ההגנה האמריקאי במשך כעשור בין 73 ל-‏83.
זירוקס? 154567
בתאוריה של שפות תכנות מבדילים בין Object based (מבוסס עצמים) לבין Object oriented (מונחה עצמים). ההבדל הוא בירושה. אינני מומחה בשפת Ada, אך שפה שאין בה ירושה היא לכל היותר Object based.

בתעשייה לא כ"כ מקפידים על ההבדל, וכמעט כל שפה (או מוצר) שיש לו מחלקות ומופעים זוכה לתואר "מונחה עצמים". כך למשל שפת Visual Basic, בגרסה 5 (לא שיחקתי עם גרסאות מתקדמות יותר) לא כללה ירושה, אך שווקה ע"י MS כ"מונחת עצמים".

ראה גם: http://www.cs.technion.ac.il/Courses/OOP/slides/expo... (מתוך שקפי הקורס בתכנות מונחה עצמים בטכניון). שים לב לדירוג: עצמים בלבד – שפה מודולרית; עצמים ומחלקות – שפה מבוססת עצמים; עצמים, מחלקות וירושה – שפה מונחת עצמים.
זירוקס? 154569
נראה שהחבר'ה האלו מסכימים איתנו, לפחות לגבי שפת עדה המקורית:
(חפשו: "is ada an object oriented language")
זירוקס? 154568
אני לא מספיק מכיר את שפת עדה כדי לקבוע באופן פסקני שהיא אינה מונחית עצמים. זו גם שאלה פילוסופית יחסית - היכן עובר הגבול בין שפות מונחות עצמים טהורות (Smalltalk למשל) לשפות שתומכות בפרדיגמה מונחית העצמים (כמו C++ למשל, שיתכן ועדה משתייכת אליהן). וכמובן, זה שמישהו אומר ששפת תיכנות היא מונחית עצמים לא אומר שהיא באמת כזו. "מונחה עצמים" היא buzzword מאד מקובלת בעולם המחשבים, שמנפנפים בה בקלות רבה מדי.

מקובל (במחוזות מהם אני מגיע לפחות, הפקולטה למדעי המחשב בטכניון) לראות בירושה את אחד מהמאפיינים החשובים ביותר של הפרדיגמה מונחית העצמים, אם לא החשוב ביותר. מישהו שמכיר את עדה (ולא ג'ון באבג'...) יכול לפרט יותר לגבי מידת מונחיות העצמים שלה?
זירוקס? 154573
לפי מה שאני מכיר את ADA מלימודים בקורס אחד באו"פ, היא פותחה על ידי משרד ההגנה האמריקאי והיתה שונה מכל שפות התכנות שלפניה בכך שהיתה מונחת עצמים, אני מניח שהם השתמשו במושג הזה כבר אז.
ככל הנראה מושג זה הורחב לאחר מכן.
זירוקס? 154590
תגובה 154567
מי שלימד אותך כנראה השתמש בהגדרה מאד מרחיבה של "מונחית עצמים".
זירוקס? 154593
לא דיברתי על מי שלימד אותי, דיברתי על משרד ההגנה האמריקאי בעת שפיתחו את השפה.
OOP לא הומצא כשהמציאו את smalltalk.
זירוקס? 154606
אכן, OOP לא הומצא כשהמציאו את smalltalk, אלא בערך כשהמציאו את simula, בשנת 1967. בכל מקרה, הנה מסמך הדרישות המקורי לשפת ADA: http://www.adahome.com/History/Steelman/steelman.htm
לא מופיע בו, לפי חיפוש שטחי, הצירוף Object Oriented.

נסה גם את זה:
לפי מה שקראתי (בזכותך) בינתיים על שפת עדה אז היא תומכת במספר פרדיגמות - הפרדיגמה מונחית עצמים והפרדיגמה האימפרטיבית, לפחות (ואולי עוד). אבל אי אפשר לסווג אותה כ"שפה מונחית עצמים", כמו שאי אפשר לסווג את C++ כשפה מונחית עצמים (ומי שלא מסכים, שישאל אפילו את ממציא השפה: http://www.research.att.com/~bs/bs_faq.html#Object-O...)
צורעס? 154607
טוב, אז כנראה שלעולם לא יצא לי לכתוב בשפה מונחית-עצמים. לא יודע אם זה הפסד גדול.
צורעס? 154609
זה דווקא נחמד. אם יצא לך, קח את הקורס בתכנות מונחה עצמים בטכניון ותוכל לכתוב בדיאלקט של Smalltalk. לוקח קצת זמן להבין ש"הכל פה זה עצמים", אפילו מספרים ואפילו בלוקים של קוד. אבל כשמבינים את זה אז זה הופך להיות מאד יצירתי, ואפילו אינטואיטיבי.
צורעס? 154612
או, לא-לא-לא. אני לא אקח מבחירתי החופשית קורס ב..ב..בתכנות.

אגב, יש הבדל עקרוני בין "הכל זה עצמים" לבין "הכל זה פונקציות," כמו שמתיימרים לעשות ב-ML וב-LISP?
צורעס? 154614
כן, בראשון הכל זה עצמים, ובשני הכל זה פונקציות. תטל"א?
צורעס? 154616
לחילופין, אולי שאלתי שטל"א?

לא משנה. זה מתאים לדיון בפורום תכנותי, ואני לא מספיק מעוניין בנושא על מנת להכנס לאחד.
סבונים 153781
עד כמה שאני זוכר מדובר בסבון ivory ולא סבון dove.
סבונים 153784
וואלה, נכון.
דברי ימי העכבר 153799
החבר'ה ב- Xerox PARC באמת אחראים לשורה ארוכה של החמצות מהדהדות, אבל תיקון קל: הם לא המציאו את העכבר. העכבר הומצא על ידי טיפוס בשם דאגלס אנגלברט, חוקר ב- Stanford Research Institute, עוד ב- 1964.

לא הצלחתי למצוא לזה תימוכין ברשת, אבל נדמה לי שקראתי פעם שהוא מכר את הזכויות על ההמצאה תמורת סכום נמוך יחסית, וסירב לעסקה על בסיס תמלוגים. בכל מקרה, הוא זכה על המצאתו בפרס בגובה חצי מליון דולר בשנת 1997, כך שהוא לא יצא לגמרי פראייר.

אפשר לראות תמונות של העכבר הפרהיסטורי (עשוי מעץ!) ב- http://sloan.stanford.edu/MouseSite/Archive/patent/M... .
סבונים 154199
הסיפור נכון, אבל מדובר בסבון IVORY, עד היום הם משווקים את עצמם כסבון היחידי שצף במים.
סבונים 154210
ערן כבר העיר לי, תודה.

ד"א , הנה ניסוי לימים משעממים ( לא ניסיתי בעצמי):
תודה 154240
על האתר http://www.madsci.org

(למרות שהוא העלה בי זכרון עגום על שי לבנה ז"ל)

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים