אבל תמר,
קודם כל, אני התחלתי מבייסיק. בייסיק כזו עם 10...20...30... אני לא יודע אם זה אומר לך משהו, אבל יהיו פה כמה זקנים שיבינו. על סינקלייר ZX81. אבל את מפספסת את הנקודה. OO זה מתודולוגיית design ופיתוח. זה לא תכנות. זו *דרך* לתכנת. תכנות הוא פתרון בעיות באמצעות אלגוריתמים. זה לא קשור לשפה. אלגוריתמים בנויים מאבני יסוד כמו התניות, לולאות וכו´. זה הבסיס של התכנות. לפני שאת יודעת מהי מחלקה, את צריכה להבין מה עושה תוכנית (קלט-עיבוד-פלט), איך היא עושה את זה (התניות, לולאות, משתנים, חישובים) וגם קצת דברים יותר מתקדמים (רשימות מקושרות, עצים, רקורסיה וכו´). class היא הגדרה ששייכת למתודולוגיית ה - OO, יחד עם עוד המון תכונות נוספות. לא מדובר בתכנות פרופר אלא בגישה מסוימת לתכנות. למה להתחיל מפונקציה, שהיא המעטפת של האלגוריתמים, לפני שמסבירים מה זה אלגוריתם ומה זה flow control? philips, אם אתה קורא את זה, אני מבקש את עזרתך כאן. טענת לניסיון בהדרכה של תכנות בסיסי לאנשים בעזרת java. יש לי שאלה. כשמישהו חסר ניסיון מגיע אליך ואתה מלמד אותו לתכנת עם java, האם אתה מסביר לו מהי class, או שאתה נותן לו מעטפת מסויימת שעובדת, ואומר לו "בנקודה הזו אתה תכתוב את האלגוריתמים הראשונים שלך, ואח"כ תלמד מה זה כל המסביב"? אני חושב שתוכניתן חייב להתחיל מלימוד אלגוריתמיקה בסיסית תחילה, ורק לאחר מכן לבחון מתודולוגיות פיתוח שונות, כמו *למשל* OOP. "בעניין זה שתכנות oop הוא תוספת לתכנות הפרוצדורלי - אני לחלוטין לא מסכימה איתך. בד"כ מי שחושב כך גם מתכנת כך - ואז תוכניות ב-cpp נראות כמו תוכניות ב-c שהדביקו להן קצת מחלקות." נכון, יש תוכניתנים שלא למדו OOP כמו שצריך. הם לא מבינים מה זה OOP ולא משתמשים בהם בהתאם. מצד שני, יעיד ספר ה - GOF שיש לי פה, יחד עם עוד ספרי ++C וספרים שדנים ב - OOP, שלמרות שהתחלתי בשפות פרוצדורליות, אני מבין היטב מהו עיצוב OO, ואיך מתכנתים נכון ב - OO. אין שום קשר לסדר הלימוד. מה שכן, מי שמתחיל מ - OO עלול לאבד את הרגליים ואת הידיים ולא להבין בכלל מה קורה שם. עלול - לא תמיד יקרה. אגב, מצביעים לא שייכים לתכנות מתקדם. מצביעים הם חלק בלתי נפרד מפונקציות שמקבלות פרמטרים IN/OUT ומנושאים כמו רשימה מקושרת, שאוי לתוכניתן שלא יודע מה זה, ומשתמש ב - CList ודומיו בלי להבין מה קורה מאחורה.