שלום אורח התחבר

הבלוג של ינון פרק

טיפים קצרים וחדשות למתכנתים

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

השוואת התחביר לפונקציות מקוננות בין השפות perl, python ו ruby

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

הסיבה שאנשים לא אהבו פרל

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

מוג'ולישס הוא הפריימוורק הכי מדליק שלא היכרתם לפיתוח צד-שרת (ויש גם דוגמת קוד להמחשה)

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

זה לא באג, זה פיצ'ר

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

פרל, פייתון ורובי מסדרות קבצים בתיקיות

השוואה בין שפות תכנות דומות היא דרך טובה להבין טוב יותר את ההבדלים וגם את נקודות ההשקה וההשפעה ההדדית בין השפות.

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

טריק קטן שישפר פלאים את הקוד הגרפי שאתם כותבים בפרל

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

הגמישות במודל המחלקות של פרל (שלא מצאתי כמעט באף שפה אחרת)

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

שלושה קיטורים על פייתון (ואף מילה על עימוד)

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

בדיקת תחביר ב-וים באמצעות Syntastic

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

עבודה עם קבצי XML מתוך קוד perl

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