|
||||
|
||||
שמעתי סיפור דומה על סבון "DOVE". התקלקל להם מיכל של סבון, אבל החליטו בכל זאת לנסות, ושמחו לגלות שסבון שצף במים זה שוס אדיר. אבל נראה לי שמדובר בסטיה מהנושא. ד"א, מעניין שכל הגיקים כאן שכחו את העכבר ואת החלונות, שהומצאו בזירוקס, אבל החברה שם לא הבינו מה שיש להם ביד. |
|
||||
|
||||
הם אגב המציאו את שניהם בעיקר בשביל השפה SmallTalk - שפה נפלאה, שימושית להפליא, מונחת עצמים (הראשונה, אא"ט, ואחת הבודדות עד היום), ועוד כל מיני דברים טובים. גם את זה הם לא ידעו לנצל - מודל המכירות שלהם התבסס על תמלוגים מהמוצר הסופי, והלקוחות לא רצו את זה. ככה באה ג'אווה, לפחות לפי אחד מהסיפורים. חברה נפלאים יש בזירוקס. ולמתעניינים: http://www.whysmalltalk.com |
|
||||
|
||||
הראשונה? לא, כי שפת Simula היתה שם קודם. "אחת הבודדות עד היום"? גם לא, כי ישנן עשרות, ואולי אף מאות, שפות העונות לתואר. |
|
||||
|
||||
name four.
|
|
||||
|
||||
אוסף מקרי של שפות מונחות העצמים מהיותר מוכרות והיותר "טהורות" (לכן C++ לא ברשימה): Beta ויש עוד המון.
Cecil Dylan Eiffel Java Python Sather Self Simula Smalltalk |
|
||||
|
||||
מה עם עדה שפותחה כשפה מונחת העצמים של הDOD? |
|
||||
|
||||
עדה אינה בדיוק מונחית עצמים. היא תומכת בטיפוסי נתונים אבסטרקטיים, אבל אין בה ירושה, אאז''נ. |
|
||||
|
||||
ממתי ירושה היא תנאי לשפה מונחית עצמים? לפי מה שלמדתי, השפה הראשונה שפותחה כמונחת עצמים ולא כמונחת תהליכים היא עדה שפותחה על ידי משרד ההגנה האמריקאי במשך כעשור בין 73 ל-83. |
|
||||
|
||||
בתאוריה של שפות תכנות מבדילים בין Object based (מבוסס עצמים) לבין Object oriented (מונחה עצמים). ההבדל הוא בירושה. אינני מומחה בשפת Ada, אך שפה שאין בה ירושה היא לכל היותר Object based. בתעשייה לא כ"כ מקפידים על ההבדל, וכמעט כל שפה (או מוצר) שיש לו מחלקות ומופעים זוכה לתואר "מונחה עצמים". כך למשל שפת Visual Basic, בגרסה 5 (לא שיחקתי עם גרסאות מתקדמות יותר) לא כללה ירושה, אך שווקה ע"י MS כ"מונחת עצמים". ראה גם: http://www.cs.technion.ac.il/Courses/OOP/slides/expo... (מתוך שקפי הקורס בתכנות מונחה עצמים בטכניון). שים לב לדירוג: עצמים בלבד – שפה מודולרית; עצמים ומחלקות – שפה מבוססת עצמים; עצמים, מחלקות וירושה – שפה מונחת עצמים. |
|
||||
|
||||
נראה שהחבר'ה האלו מסכימים איתנו, לפחות לגבי שפת עדה המקורית: (חפשו: "is ada an object oriented language") |
|
||||
|
||||
אני לא מספיק מכיר את שפת עדה כדי לקבוע באופן פסקני שהיא אינה מונחית עצמים. זו גם שאלה פילוסופית יחסית - היכן עובר הגבול בין שפות מונחות עצמים טהורות (Smalltalk למשל) לשפות שתומכות בפרדיגמה מונחית העצמים (כמו C++ למשל, שיתכן ועדה משתייכת אליהן). וכמובן, זה שמישהו אומר ששפת תיכנות היא מונחית עצמים לא אומר שהיא באמת כזו. "מונחה עצמים" היא buzzword מאד מקובלת בעולם המחשבים, שמנפנפים בה בקלות רבה מדי. מקובל (במחוזות מהם אני מגיע לפחות, הפקולטה למדעי המחשב בטכניון) לראות בירושה את אחד מהמאפיינים החשובים ביותר של הפרדיגמה מונחית העצמים, אם לא החשוב ביותר. מישהו שמכיר את עדה (ולא ג'ון באבג'...) יכול לפרט יותר לגבי מידת מונחיות העצמים שלה? |
|
||||
|
||||
לפי מה שאני מכיר את ADA מלימודים בקורס אחד באו"פ, היא פותחה על ידי משרד ההגנה האמריקאי והיתה שונה מכל שפות התכנות שלפניה בכך שהיתה מונחת עצמים, אני מניח שהם השתמשו במושג הזה כבר אז. ככל הנראה מושג זה הורחב לאחר מכן. |
|
||||
|
||||
תגובה 154567 מי שלימד אותך כנראה השתמש בהגדרה מאד מרחיבה של "מונחית עצמים". |
|
||||
|
||||
לא דיברתי על מי שלימד אותי, דיברתי על משרד ההגנה האמריקאי בעת שפיתחו את השפה. OOP לא הומצא כשהמציאו את smalltalk. |
|
||||
|
||||
אכן, 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...) |
|
||||
|
||||
טוב, אז כנראה שלעולם לא יצא לי לכתוב בשפה מונחית-עצמים. לא יודע אם זה הפסד גדול. |
|
||||
|
||||
זה דווקא נחמד. אם יצא לך, קח את הקורס בתכנות מונחה עצמים בטכניון ותוכל לכתוב בדיאלקט של Smalltalk. לוקח קצת זמן להבין ש"הכל פה זה עצמים", אפילו מספרים ואפילו בלוקים של קוד. אבל כשמבינים את זה אז זה הופך להיות מאד יצירתי, ואפילו אינטואיטיבי. |
|
||||
|
||||
או, לא-לא-לא. אני לא אקח מבחירתי החופשית קורס ב..ב..בתכנות. אגב, יש הבדל עקרוני בין "הכל זה עצמים" לבין "הכל זה פונקציות," כמו שמתיימרים לעשות ב-ML וב-LISP? |
|
||||
|
||||
כן, בראשון הכל זה עצמים, ובשני הכל זה פונקציות. תטל"א? |
|
||||
|
||||
לחילופין, אולי שאלתי שטל"א? לא משנה. זה מתאים לדיון בפורום תכנותי, ואני לא מספיק מעוניין בנושא על מנת להכנס לאחד. |
|
||||
|
||||
עד כמה שאני זוכר מדובר בסבון ivory ולא סבון dove. |
|
||||
|
||||
וואלה, נכון. |
|
||||
|
||||
החבר'ה ב- Xerox PARC באמת אחראים לשורה ארוכה של החמצות מהדהדות, אבל תיקון קל: הם לא המציאו את העכבר. העכבר הומצא על ידי טיפוס בשם דאגלס אנגלברט, חוקר ב- Stanford Research Institute, עוד ב- 1964. לא הצלחתי למצוא לזה תימוכין ברשת, אבל נדמה לי שקראתי פעם שהוא מכר את הזכויות על ההמצאה תמורת סכום נמוך יחסית, וסירב לעסקה על בסיס תמלוגים. בכל מקרה, הוא זכה על המצאתו בפרס בגובה חצי מליון דולר בשנת 1997, כך שהוא לא יצא לגמרי פראייר. אפשר לראות תמונות של העכבר הפרהיסטורי (עשוי מעץ!) ב- http://sloan.stanford.edu/MouseSite/Archive/patent/M... . |
|
||||
|
||||
הסיפור נכון, אבל מדובר בסבון IVORY, עד היום הם משווקים את עצמם כסבון היחידי שצף במים. |
|
||||
|
||||
ערן כבר העיר לי, תודה. ד"א , הנה ניסוי לימים משעממים ( לא ניסיתי בעצמי): |
|
||||
|
||||
על האתר http://www.madsci.org (למרות שהוא העלה בי זכרון עגום על שי לבנה ז"ל) |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |