9 בינואר 2008

פרופסורים למדעי המחשב נגד ג'אווה

תחת הנושאים טכנולוגיה — המערכת בשעה 2:03

שני פרופסורים אמריטוס למדעי המחשב מאוניברסיטת ניו יורק, פרסמו מאמר חריף התוקף את האוניברסיטה שלהם, כמו גם אחרות, על כך שהן בוחרות שלא ללמד שפות מחשב "אמיתיות" כגון C או ‏C++, ליספ או עדה. לדבריהם, בגלל מדיניות זו, בוגרי מדעי המחשב חסרים יכולות חשובות בתחום התכנות.

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

למאמר המלא: "חינוך למדעי המחשב: היכן הם מהנדסי התוכנה של מחר?". לדיון בנושא באתר סלאשדוט.

3 תגובות »

  1. הטיעון למעשה הוא מעט יותר מורכב ומדבר על כך שההתמקדות בJAVA (הם לא טוענים שיש משהו רע בJAVA עצמה) מונעת מהתלמידים ללמוד טכניקות חשיבה ותכנות שונות שנרכשות כאשר משתמשים בשפות כמו C, LISP ו PROLOG.

    (אני מודה שעשיתי RTFA שזה חטא חמור ב./)

    תגובה ממרק ק. — 9 בינואר 2008 בשעה 5:36

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

    תגובה מאודי פסמון — 9 בינואר 2008 בשעה 8:47

  3. אני מסכימה עם הטענה בכל קנה מידה אפשרי.

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

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

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

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

    תגובה מFrozenLips — 9 בינואר 2008 בשעה 12:02

RSS של התגובות לפוסט הזה. | כתובת טראקבאק

לכתוב תגובה

XHTML: אפשר להשתמש בתגים האלה: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>