יסודות הפסקל
ספר מבוא ללימוד שפת פסקל מאת מרקו קנטו (Cantu)
תרגום לעברית: עידו גנדל
להורדה בחינם של הספר (פורמט PDF)
"יסודות הפסקל" ("Essential Pascal") הינו ספר לימוד לשפת פסקל מאת מרקו קנטו, אחד הכותבים הפורים והמוערכים ביותר של ספרי הדרכה לסביבת הפיתוח דלפי (ולשפת Object Pascal לה היא מיועדת). הספר תורגם לעברית על ידי ומוצע לכם ללא תשלום, באישור המחבר כמובן.
שפת פסקל? היא עוד קיימת?!
בהחלט כן. היא אולי לא נפוצה או אופנתית כפי שהיתה פעם, אך חזקה לא פחות מכל שפת תכנות אחרת, וגם מעודכנת. פסקל – וליתר דיוק Object Pascal שמשלבת תכנות מונחה עצמים – קיימת כיום בעיקר במוצרי Delphi המקצועיים והיקרים של חברת Embarcadero, ובפרויקט הקוד הפתוח והחופשי FPC/Lazarus, שמתחרה בכבוד עם מוצרי תכנות מסחריים.
לא, ברצינות, מי כותב היום תוכנות בפסקל?
את אותה השאלה אפשר להפנות גם לשפת תכנות חדשה שזה עתה הופיעה בשוק. כידוע, היקף השימוש בשפת תכנות מסוימת בשוק העבודה לא קשור בהכרח ליעילות שלה. פסקל בגרסאותיה המודרניות היא שפת תכנות מודרנית ושימושית בהחלט. אמנם אין הרבה מוצרי תוכנה מפורסמים שנכתבו לאחרונה בפסקל, אך לא מעט בתי תוכנה ומתכנתים פרטיים עובדים איתה. נכון להיום היא זוכה לפופולריות גבוהה יחסית באירופה ובדרום אמריקה (לא מעט בזכות FPC/Lazarus).
אז על מה הספר הזה? למי הוא מיועד?
הספר מתאר את הבסיס של שפת פסקל, והוא מתאים בעיקר לקוראים בעלי נסיון קודם כלשהו, גם אם מינימלי, בתכנות. הספר ממוקד במבני השפה ואינו מתעסק בתיאוריה או באלגוריתמים. יש בו מספיק מידע כדי לאפשר לקורא לתכנת תוכנות פשוטות, מהסוג שמופיע בתחרויות תכנות או בראיונות עבודה, והוא מהווה נקודת פתיחה טובה להמשך הלימוד.
למה אין בו תכנות מונחה עצמים וטכניקות מתקדמות אחרות?
זה אכן מצער, אך יש לדבר שתי סיבות טובות. ראשית, מדובר בטכניקות מתקדמות, מורכבות ומתפתחות שהיו מסרבלות יתר על המידה ספר מבוא שכזה. הסיבה השניה והחשובה לא פחות היא שהמחבר, מרקו קנטו, מתפרנס מכתיבת ספרים על פסקל שנמכרים בכסף.
מי צריך מהדורה עברית? מתכנת טוב חייב ממילא לדעת אנגלית, לא?
אין ספק שבשלב מסוים ואפילו די מוקדם, אי אפשר להתקדם בתכנות בלי להבין לפחות אנגלית בסיסית, ולעתים קרובות הטכנולוגיה מתקדמת בקצב כזה, שעד שמופיעה (אם בכלל) מהדורה עברית לטקסט מסוים, הוא כבר מיושן. מצד שני, כאשר מדובר בטקסט מבוא, בעיית ההתיישנות פחות חמורה – וישנם אנשים שיעדיפו בכל זאת, מכל סיבה שהיא, לקרוא אותו בעברית אם אפשר.
ותרגמת את כל זה לבד? בלי תמורה? השתגעת?
כן, כן ולא. ניגשתי לפרויקט בתור אתגר אישי, מתוך העניין שלי בתרגום, בתכנות ובפסקל בפרט, ואולי כתרומה קטנה משלי לקהילת המתכנתים שסייעה ומסייעת לי ולאלפים כמוני, ללא תמורה, להבין טוב יותר את כלי התכנות המודרניים. למעשה, עבודת התרגום היתה קלה ומהירה אף יותר משציפיתי.
למה כתבת "מצביע" במקום "פוינטר" אבל "רוטינה" במקום "שגרה"?
ניסיתי למצוא איזון בין העדפת המינוחים העבריים (אחרת, בשביל מה לתרגם בכלל?) לבין קריאוּת, תוך שמירה על שפה שלא תהיה זרה מדי גם למתכנת המתחיל וגם לזה המנוסה. הדבר חייב בחירה בין מינוחים שונים על סמך ההיכרות שלי עם עולם התכנות, וייתכן שפה ושם היא תיראה לקוראים מסוימים שרירותית למדי. בכל מקרה, השתדלתי לציין בסוגריים, עבור כל מונח חדש וחשוב, את המקור האנגלי שלו.
מצאתי טעות בספר, מה עושים?
במהלך העבודה על הספר נתקלתי בטעויות מסוגים שונים במקור, ועשיתי כמיטב יכולתי לתקן אותן ולהימנע מהוספת שגיאות משל עצמי. אם בכל זאת מצאתם טעות, החל בשגיאת כתיב וכלה בבעיה אזוטרית בלוגיקה של התכנות, שלחו אליי מראה מקום מדויק. אם מדובר במשהו שמקורו בטקסט האנגלי אנסה להעביר את המידע למרקו, ותיקונים למהדורה העברית יפורסמו בגרסאות עתידיות. המייל שלי הוא programming@idogendel.com .
מרקו ואתה עשיתם עבודה מצוינת. איך להביע את הערכתי?
דבר ראשון, כמובן, להפיץ קישור לדף הזה ולאתר של מרקו קנטו. אני מבקש להפיץ את הקישור לכאן ולא את קובץ הספר עצמו, כי אם וכאשר יופיעו גרסאות מעודכנות ומתוקנות, עדיף שיהיה להן מקור אחד מסודר. ספרו לחבריכם ולמוריכם על שפת פסקל והתנסו בה בעזרת FPC/Lazarus. אתם תופתעו לטובה. כפי שמצוין בספר עצמו, מרקו ישמח לקבל דרך האתר שלו תרומות לעידוד המשך העבודה על הספר הזה ובכלל. אני תרגמתי את הספר בהתנדבות מלאה ואינני מצפה לתמורה ישירה, אך אם התרגום והעריכה של המהדורה העברית נראים לכם מקצועיים ואתם מכירים מישהו שמחפש מתרגם פרילאנסר מאנגלית לעברית, או עורך, בתחום המחשבים או בכלל, אשמח אם תקשרו בינינו.
תודה, ותכנות נעים בפסקל!