השבוע התחלתי להעביר קורס Perl.

30 באוגוסט 2011

תגיות: ,
אין תגובות

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

כשהתחיל עולם המחשבים, כל דוקטור במדעי המחשב ו/או כל מי ומי בעולם המחשב המציא שפה חדשה, ואפילו לפעמים מערכת הפעלה חדשה. הגביע הקדוש שכולם חיפשו, היה שפה אחת שתעשה את הכל ותרוץ על כל החומרות וכל מערכות ההפעלה. אמנם את הגביע הקדוש עדיין לא מצאו (וכנראה גם לא ימצאו), אבל נולדו המון שפות: APL, Fortran, PL/1, ADA, C, Perl, List, Prolog, Logo, Cobol ועוד כמה שלא קופצות לי כרגע לראש שלא לדבר על כמה עשרות סוגי Assembly שונים.

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

אבל דבר אחד לא השתנה בכל מהלך ההסטוריה של עולם המחשבים, כל תקופה קם משוגע לדבר אחר, וממציא שפה חדש, או תשתית חדשה לפיתוח. ולא משנה אם מדובר ברובי, או ב MVC, או ב LightSwitch. העיקר שלא ישעמם לנו. 

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

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

שנית, השפה מאד חזקה, מה שנקרא Lean and Mean והיא נותנת כוח עצום למי שצריך לבצע עבודות תחזוקה במערכת הפעלה על הרבה מחשבים, לשנות בצורה חכמה הרבה קבצים בו זמנית, להריץ קודים משתנים על ישומים שונים ועוד הרבה משימות אחרות שדורשות כלי ניתוח ועיבוד זריזים וחזקים. מה שהופך את השפה לכלי אידאלי לאנשי תשתיות, ואנשי בדיקות ו QA מכל הסוגים, וגם כמובן למנתחי לוגים בפורמט חופשי שזה הרבה מהעבודה שאני עושה בתחום ה Production Debugging.

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

מי שרוצה להתחיל עם הנושא מוזמן להציץ ב www.perl.org ולהנות.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *