AI וסייבר: אילו כישורי תכנות נדרשים?

(של סימון קוסו*)
19/03/24

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

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

איזו שפה"

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

פיתון

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

מה זה פייתון

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

זוהי שפה "מתפרשת", כלומר הקוד נקרא ומבוצע על ידי המהדר, שורה אחת אחרי השנייה. זה יכול לקרב אותו לשפות מוכרות באותה מידה כמו Javascript e PHP. אולם יכולתו ליצור את צופן קוד, בדומה במקום ל Java, מאפשר לו מעין קומפילציה של הקוד הכתוב, קרוב יותר לזה של המכונה אבל לא בדיוק קומפילציה. מספיק כדי לאפשר שיפור בביצועי הביצוע הכוללים.

איך ללמוד פייתון

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

כשעוברים לפייתון צריך לשכוח ממסימי שורות (ה";") הידוע לשמצה, סוגריים לתיאור בלוקים של קוד, ואולי אפילו להיאבק קצת עם התחביר הנוקשה המבוסס על רווחים באותו מספר כמו תחילת השורות של חסימה. כדוגמה, בלוק IF בשפה דמוית C יתבטא באופן הבא: if ( condition ) { code to execute } else { other code to execute } בעוד Python מבטא את זה כאילו condition: code to execute else: else code להוציא להורג. שני הרווחים בתחילת השורה קובעים אם הקווים שייכים לאותו בלוק.

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

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

חלופות לפייתון

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

ריפרימינטי:

https://www.python.org/about/gettingstarted/

https://docs.python.org/3/library/dis.html

https://docs.python.org/3/library/idle.html

https://micropython.org/

https://it.wikipedia.org/wiki/Guido_van_Rossum

https://it.wikipedia.org/wiki/Brian_Kernighan

https://it.wikipedia.org/wiki/Dennis_Ritchie

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