אני לא מבין כל-כך את החלוקה לדורות(במיוחד, כי כל-אחד מחלק איך שבא לו), אבל לפי החלוקה
המוכרת לי ג'וואה ובייסיק הן "שפות עיליות", בעוד ש-C היא "שפת ביניים"(כלומר, "דור" אחד למטה
בשרשרת המזון התכנותית). ב-C(וב-CPP) עפ"י ההגדרה, אתה צריך להתעסק בדברים הללו - C
נוצרה כשפה לבניית מערכות הפעלה(ליתר דיוק: מערכת הפעלה מסויימת
), ולכן נותנת לך את
האפשרות, ומחייבת אותך, לעשות הכל, להגדיר הכל, לקבוע הכל - אבל גם דורשת ממך, בהתאם,
להבין ולדעת הכל...
ג'אווה ובייסיק, בתיאוריה, מנסות כן לפעול בשיטת ה"קופסה השחורה". את ג'אווה אני לא מכיר
עד-כדי כך, אבל אני יכול לומר שבייסיק לא כל-כך הצליחה בתחום הזה: בזמן הדוס, כל התכנות
התבסס על טריקים(מישהו אמר overloading או XMS?
), ולכן ב-QB נאלצת להתעסק בהמון
שטויות(למען האמת, כדי להשתמש ב-XMS כתבו מודולים ב-C או ASM, וקישרו אותם לקוד ה-QB).
ב-VB, בגלל שמדובר ב-MS, אתה נאלץ תמיד לדעת מתי כתוב משהו אחד, והפונקציה עושה
משהו שונה לחלוטין(לעזאזל, Usenet מלא בזה...
)...
מצד שני, נדמה לי שבג'אווה המצב טוב יותר
לעניין המחרוזות, בג'אווה ובבייסיק אכן משתמשים ב-pascal strings(בג'אווה זה אפילו יותר
מתוחכם), אבל מעבר לכך, באופן כללי הגישה היא שאתה לא אמור להתעסק בזוטות, כל הקוד
שסופק לך פועל(ופועל טוב), ואתה לא צריך לדאוג מתי להשתמש בו ומתי לא(
כמובן שזה בא
על חשבון ביצועים, ואין מה לעשוות את ג'אווה או VB ל-C או CPP...)