השוואת התחביר לפונקציות מקוננות בין השפות perl, python ו ruby
ההשוואה בין פרל, פייתון ורובי מעניינת כי מצד אחד השפות מאוד דומות ובעלות השפעה הדדית רבה, ומצד שני להרבה בעיות כל שפה לקחה כיוון קצת שונה. כך הדוגמא של הגדרת פונקציה בתוך פונקציה.
טיפים קצרים וחדשות למתכנתים
ההשוואה בין פרל, פייתון ורובי מעניינת כי מצד אחד השפות מאוד דומות ובעלות השפעה הדדית רבה, ומצד שני להרבה בעיות כל שפה לקחה כיוון קצת שונה. כך הדוגמא של הגדרת פונקציה בתוך פונקציה.
תחביר הלולאות של Python כולל קסם קטן ומובלע שלא מוצאים בהרבה שפות, והוא השימוש ב Iterators. נראה למה זה טוב דרך מספר דוגמאות.
התחלתי לקרוא את הספר C++ Primer Plus ומסתמן בינתיים שזהו אחד מהספרים הטובים ללמוד דרכם תכנות מאפס. בכך הוא מצטרף ל Learn Python The Hard Way. אלה ההבדלים המרכזיים בין הגישות:
במבט ראשון פרל היא שפה מאוד קלה ללמידה, במיוחד למי שמגיע עם רקע ב C וביוניקס. תקופה ארוכה זה היה סוד הכח שלה ומה שהביא מתכנתים רבים (כולל אותי) ללמוד פרל. הבעיה היתה שמהר מאוד מתכנתים נתקלו בבעיות שלא הבינו, ובמקום לפתור אותן הדביקו קטעי קוד שלא הבינו מהאינטרנט. את הסלט שיצא אף אחד לא רצה לטעום. הנה מקרה כזה לדוגמא.
שפת Python מגיעה עם ספריית ממשק משתמש פשוטה בשם Tk, שאומנם קל מאוד לבנות בה ממשק אבל התוצאה תמיד נראית מיושנת והקוד מסורבל.
ספריית Qt לעומתה מפותחת באופן פעיל כבר מעל עשרים שנה, היא הדרך הסטנדרטית לכתוב ממשקי משתמש ב Linux ומציעה פתרון מעולה גם למערכות ההפעלה האחרות (חלונות, מק ואפילו טלפונים).
שילוב Qt בתוכנית Python שלנו מאפשר פיתוח ממשק משתמש איכותי עם קוד נקי וכלי פיתוח מאוד נוחים, כפי שנראה במדריך זה.
עקרון ההפתעה המינימלית קובע שמתכנתים באים לכתוב קוד עם ציפיות מסוימות, ושפה צריכה להתאמץ לא להפתיע לרעה. פייתון בדרך כלל מצליחה בזה עד שמגיעים לטעינת ספריות חיצוניות.
בשעור הראשון בקורס בדיקות יחידה אני כבר מגלה לכולם את הסוד לבדיקות טובות: כשהקוד טוב קל מאוד לכתוב עבורו בדיקות.
אבל מה אם צריך לבדוק קוד שיכול להיות גרוע? או שממש לא נועד לרוץ תחת המיקרוסקופ של בדיקות? קחו לדוגמא פתרונות תרגילים בקורסים.
השבוע הוספתי בדיקות אוטומטיות לפתרונות שתלמידים מגישים בקורס Python, ואלה שני הטריקים שעזרו לי בדרך.
בזכות אוסף ספריות ענק, יש המון דברים מדליקים שאפשר לכתוב עם Python. הנה כמה רעיונות לבוגרים הטריים של קורס Python שלנו להמשך הדרך.
השוואה בין שפות תכנות דומות היא דרך טובה להבין טוב יותר את ההבדלים וגם את נקודות ההשקה וההשפעה ההדדית בין השפות.
לפינה הפעם בחרתי לכתוב תוכנית הממיינת קבצים לתיקיות לפי שמם, כך שכל הקבצים שמתחילים באותה אות יישמרו יחד בתיקיה. אותה התוכנית, 3 שפות, ובסוף נחשוב מה יצא הכי נעים לעין.
הצפנה הפכה לחלק אינטגרלי מהחיים שלנו כמתכנתים. האלגוריתמים ידועים ורובם כבר ממומשים כחלק מהשפה או בספריות עזר. עדיין, התיעוד של חלק מספריות אלו עמוס במילות קוד שלא כולם מבינים וכשמגיע רגע האמת לכתוב קוד להצפנה עושים טעויות. אני מקוה שדוגמת הקוד וההסברים בפוסט הזה יעזרו לכם בפעם הבאה שתצטרכו להעביר הודעה מוצפנת בפייתון.