בפסקל מנגנון ההקצאה הדינאמית כמעט זהה לזה של C.QB הייתה השפה הראשונה שלי, ולילדים צעירים(יסודי) שמתחילים לתכנת
אני לרוב ממליץ עליה.
אבל קשה מאוד להתקדם בQB, בפסקל אפשר לכתוב דברים שירוצו ביעילות סבירה,
בפסקל יש מנגנון נוח לרשומות והגדרת טיפוסים, מנגנון הגדרת ספריות בפסקל
תואם אחד לאחד את התפיסה של ADT ושל הפרדה בין interface לimplementation
פסקל בדברים רבים מאוד דומה לC, אבל יש לה כמה תכונות מהותיות שלעניות
דעתי גורמים לה להתאים טוב למתחילים.
בפסקל יש טיפוסיות חזקה, לא ניתן סתם כך, להמיר טיפוס אחד לטיפוס אחר,
מצד אחד בC אנחנו הרבה פעמים אוהבים לעשות זאת, מצד שני זה פותח פתח
להרבה באגים.
בפסקל יש RANGE CHECKING למערכים, וזאת תכונה מאוד חשובה, בפסקל לא ניתן
לחרוג מגבולות המערך. ואני רק לאחרונה כתבתי בפורום, מה אפשר לעשות
כשחורגים מגבולות המערך, משלמים במהירות, אבל למתכנתים מתחילים, ממש
חבל שיבזבזו זמן ועצבים בלרדוף אחרי שגיאה מעצבנת של OFF BY 1
ברמת התפיסה C מנסה לתת לך יד חופשית, בפרט יד חופשית לתלות את עצמך,
פסקל מנסה להגביל, ואלו מגבלות שלעניות דעתי עוזרות למתחילים.
ישנם עוד הבדלים, קצת פחות מהותיים: פסקל מאפשרת העברת פרמטרים BY REFERNCE ואילו בC יש אך ורק BY VALUE מניסיוני בהוראה, זה נושא שתמיד
מבלבל מתכנתים מתחילים, ואילו אני חושב שבפסקל העסק קצת יותר פשוט,
בעיקר משום שלא צריך להתעסק עם מצביעים, ואפשר לדחות את הלימוד של מצביעים
לשלב מאוחר יותר.
עם מדברים על QB, הרי זאת שפה מוגבלת מאוד בהשוואה לפסקל, איך למשל
מייצרים מצביע לפונקציה QB, אני דיי בטוח שזה לא אפשרי.
אני חושב שכל דיון תחבירי הוא שולי לחלוטין, אני דווקא חושב שהתחביר
של פסקל הוא דיי הגיוני, אבל בין כה וכה זה נושא מממ ממש לא חשוב.
למי שלקראת סוף היסודי דרך חטיבת הביניים, אני ממליץ להתחיל ללמוד
פסקל, ולא QB או C
DRYICE