בתשובה לגדי אלכסנדרוביץ', 07/01/07 13:17
גאון?! 428163
"עד גרסה 3.11, מערכת זו לא הייתה מערכת הפעלה "אמיתית", במובן זה שלא הייתה האחראית הבלעדית על תפעול המחשב, אלא נסמכה על קיומו של DOS. למעשה, זו הייתה סביבת עבודה שהסתירה את DOS. במידה מסוימת ניתן לומר זאת גם על גרסאות 95 ו־98 המאוחרות יותר." ויקיפדיה חלונות.
ההבדל לטעמי הוא שאם המשתמש מנסה לבצע פעולה בממשק גרפי, מערכת גרפית אמיתית תבצע זאת ישירות, בזמן שמעטפת תריץ סקריפט שיבצע זאת מאחורי הקלעים במערכת ההפעלה האמיתית, אחת שנגישה גם למשתמש.
למה הדבר דומה ? פעם בצעירותי החלטתי שעדיף לתכנת בעברית, לכן כתבתי מעטפת (פרמיטיבית מאוד) שממירה פקודות מעברית לאנגלית (פלוס כמה תוספות שוליות מבחינת סינטקס). אפשר לטעון שגם שפה אמיתית ממירה את הפקודות לשפת מכונה, אבל נדמה לי שיש הבדל מהותי בין השפה שלי לC.
גאון?! 428193
אני מודה שההבדלה נראית לי מלאכותית למדי, ולא ברור למה "מערכת ההפעלה הגרפית" עדיפה. אם איני טועה, בלינוקס פועלים על פי הגישה הראשונה, וזה מאפשר מודולריות גדולה הרבה יותר (למשל, יש שני ממשקים גרפיים *עיקריים*, ושניהם משתמשים באותה ליבה).
גאון?! 428199
היא עדיפה עבור עבודה בסביבה גרפית בגלל שהמערכת נבנתה סביב מה שמשתמש יכול ועושה בסביבה גרפית, בלי חוסרים, עודפים וחוסר יעילות. באופן כללי אם אתה בונה מטוס מאפס זה טוב יותר מלבנות מטוס רק מחלקים של אוטו.
לינוקס היא דוגמא טובה לסביבה שהיא לא גרפית, אלא עם מעטפת גרפית, זה לא בהכרח רע, במקרה של לינוקס זו סיבת קיומה (בסופו של דבר אף אחד לא עובר ללינוקס כי האייקונים שם יפים יותר).
אני מסכים שההבדל הוא מלאכותי, אני מניח שגם אפשר לתכנן עבור זה בעיית ערימה, אבל אם תיקח למשל את נורטון-קומנדר כסביבה גרפית ראשונית, ההבדל האיכותי שהיה בראשית הדרך יבלוט.
גאון?! 428201
מה שאני באמת רוצה הוא להבין איפה צצים כאן *בהכרח* ה"חוסרים, עודפים וחוסר יעילות".

טוב, "עודפים" אני מוכן להסכים שיש. זה לא נראה לי כמו בעיה.
גאון?! 428202
על חוסר יעילות ודאי גם תסכים, הרי אם אתה נדרש לבצע פעולה X מאפס, אתה תתכנן אותה באופן המיטבי ותממש. מצד שני אם אתה פועל בתוך מעטפת, אתה תמצא דרך לישם את X בעזרת המעטפת בלי להיכנס יותר מדי לשיקולי יעילות.
לגבי חוסרים, אם אתה נדרש למשהו שלא קיים במסגרת המעטפת, אם יש לך גישה מלאה לכל משאבי המערכת ושום התניה בביצוע, מה טוב. אבל אם הליבה נכתבה ע"י אנשים אחרים והמעטפת שלך לא בהכרח מזוהה כחלק אינטגרלי ממערכת ההפעלה, יכולים להיות לך קשיים במימוש חלק המרצונות שלך.
מעבר לכך המערכת שלך צריכה מראש להתאים להמון מערכות שבנויות לסביבה טקסטואלית (שהרי הן רצות בתוך המעטפת). למשל בלינוקס, מנסיוני הצנוע, לעיתים קרובות יש צורך לערוך קבצי טקסט בשביל כל מני תוכניות, להתאים פרמטרים והגדרות כדי שהעסק יעבוד. אני מניח שבסביבה שמעדיפה פתרונות גרפיים כל אותן תוכניות היו באות מראש עם ממשק GUI לקביעת התצורה, אבל עצם הקיום של מערכת טקסטואלית גורמת לכך שעכשיו יש תחת המעטפת הגרפית שלי אובייקטים שאני לא יכול לעשות להם מניפולציה בשיטות גרפיות.
גאון?! 428204
מקובל. כמובן שאני מחשיב חלק מהחסרונות כאן כיתרונות (תודה לאל שלא צריך להתעסק עם הליבה כשכותבים אפליקציות) אבל הגיוני שהדבר יתבטא ביעילות נמוכה יותר.

("עריכת קבצי טקסט" ו"התאמת פרמטרים והגדרות" לתוכניות בלינוקס מעידה על כך שהתוכניות לא בשלות עדיין. מצד שני, אם לינוקס הייתה סביבה גרפית "טהורה", התוכניות הללו לא היו קיימות בה בכלל והיינו רק מפסידים. ממשקי GUI ללינוקס כבר קיימים, אבל לא כולם רוצים להשתמש בהם).
גאון?! 428239
גם המערכת ה"טקסטואלית" וגם המערכת ה"גרפית" הן ממשקי משתמש.

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

(אני כרגע מחובר למחשב של לקוח ב־ssh כדי לפתור כמה בעיות).

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

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