|
3 weeks ago | |
---|---|---|
.. | ||
README.md | 3 weeks ago | |
assignment.md | 3 weeks ago |
README.md
מבוא לשפות תכנות וכלי עבודה
שיעור זה עוסק ביסודות של שפות תכנות. הנושאים הנלמדים כאן רלוונטיים לרוב שפות התכנות המודרניות כיום. בחלק "כלי עבודה", תלמדו על תוכנות שימושיות שיכולות לעזור לכם כמפתחים.
איור מאת Tomomi Imura
חידון לפני השיעור
מבוא
בשיעור זה נעסוק ב:
- מה זה תכנות?
- סוגי שפות תכנות
- אלמנטים בסיסיים של תוכנה
- תוכנות וכלים שימושיים למפתח מקצועי
ניתן ללמוד שיעור זה גם ב-Microsoft Learn!
מה זה תכנות?
תכנות (המכונה גם קידוד) הוא תהליך כתיבת הוראות למכשיר כמו מחשב או מכשיר נייד. אנו כותבים את ההוראות הללו באמצעות שפת תכנות, שמפורשת לאחר מכן על ידי המכשיר. סטים אלו של הוראות עשויים להיקרא בשמות שונים, אך תוכנה, תוכנית מחשב, אפליקציה (אפליקציה) ו-קובץ הרצה הם כמה מהשמות הפופולריים.
תוכנה יכולה להיות כל דבר שנכתב בקוד; אתרים, משחקים ואפליקציות טלפון הם תוכנות. למרות שאפשר ליצור תוכנה ללא כתיבת קוד, ההיגיון הבסיסי שמפורש על ידי המכשיר נכתב ככל הנראה בקוד. תוכנה ש-רצה או מבצעת קוד מבצעת הוראות. המכשיר שבו אתם קוראים שיעור זה מריץ תוכנה שמציגה אותו על המסך שלכם.
✅ בצעו מחקר קטן: מי נחשב למתכנת המחשב הראשון בעולם?
שפות תכנות
שפות תכנות מאפשרות למפתחים לכתוב הוראות למכשיר. מכשירים מבינים רק בינארי (0 ו-1), ולרוב המפתחים זו לא דרך יעילה לתקשר. שפות תכנות הן הכלי שמאפשר תקשורת בין בני אדם למחשבים.
שפות תכנות מגיעות בפורמטים שונים ועשויות לשרת מטרות שונות. לדוגמה, JavaScript משמשת בעיקר ליישומי אינטרנט, בעוד Bash משמשת בעיקר למערכות הפעלה.
שפות ברמה נמוכה דורשות בדרך כלל פחות שלבים כדי שמכשיר יפרש הוראות, לעומת שפות ברמה גבוהה. עם זאת, מה שהופך שפות ברמה גבוהה לפופולריות הוא הקריאות והתמיכה שלהן. JavaScript נחשבת לשפה ברמה גבוהה.
הקוד הבא מדגים את ההבדל בין שפה ברמה גבוהה (JavaScript) לשפה ברמה נמוכה (קוד אסמבלי ARM).
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
}
area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end
תאמינו או לא, שני הקודים עושים את אותו הדבר: מדפיסים סדרת פיבונאצ'י עד 10.
✅ סדרת פיבונאצ'י מוגדרת כסט של מספרים כך שכל מספר הוא סכום של שני המספרים הקודמים לו, החל מ-0 ו-1. עשרת המספרים הראשונים בסדרה הם: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
אלמנטים של תוכנה
הוראה בודדת בתוכנה נקראת פקודה ובדרך כלל יש לה תו או רווח שמסמן היכן היא מסתיימת, או מסתיימת. אופן הסיום של פקודה משתנה בין שפות.
פקודות בתוכנה עשויות להסתמך על נתונים שמסופקים על ידי משתמש או ממקור אחר כדי לבצע הוראות. נתונים יכולים לשנות את אופן הפעולה של תוכנה, ולכן שפות תכנות מגיעות עם דרך לאחסן נתונים באופן זמני לשימוש מאוחר יותר. אלו נקראים משתנים. משתנים הם פקודות שמנחות מכשיר לשמור נתונים בזיכרון שלו. משתנים בתוכנה דומים למשתנים באלגברה, שבהם יש להם שם ייחודי והערך שלהם עשוי להשתנות עם הזמן.
ייתכן שחלק מהפקודות לא יבוצעו על ידי מכשיר. זה קורה בדרך כלל בכוונה על ידי המפתח או בטעות כאשר מתרחשת שגיאה בלתי צפויה. שליטה מסוג זה על יישום הופכת אותו ליותר חזק וניתן לתחזוקה. בדרך כלל, שינויים בשליטה מתרחשים כאשר מתקיימים תנאים מסוימים. פקודה נפוצה בתכנות מודרני לשליטה על אופן פעולת התוכנה היא הפקודה if..else
.
✅ תלמדו יותר על סוג זה של פקודות בשיעורים הבאים.
כלי עבודה
🎥 לחצו על התמונה למעלה לצפייה בסרטון על כלים
בחלק זה תלמדו על תוכנות שעשויות להיות מאוד שימושיות בתחילת דרככם כמפתחים מקצועיים.
סביבת פיתוח היא סט ייחודי של כלים ותכונות שמפתח משתמש בהם לעיתים קרובות בעת כתיבת תוכנה. חלק מהכלים הללו מותאמים לצרכים הספציפיים של המפתח, ועשויים להשתנות עם הזמן אם המפתח משנה סדרי עדיפויות בעבודה, בפרויקטים אישיים, או כאשר הוא משתמש בשפת תכנות שונה. סביבת פיתוח היא ייחודית כמו המפתחים שמשתמשים בה.
עורכים
אחד הכלים החשובים ביותר לפיתוח תוכנה הוא העורך. העורכים הם המקום שבו כותבים את הקוד ולעיתים גם המקום שבו מריצים אותו.
מפתחים מסתמכים על עורכים מכמה סיבות נוספות:
- ניפוי שגיאות (Debugging) עוזר לחשוף באגים ושגיאות על ידי מעבר על הקוד, שורה אחר שורה. חלק מהעורכים כוללים יכולות ניפוי שגיאות שניתן להתאים ולהוסיף עבור שפות תכנות מסוימות.
- הדגשת תחביר (Syntax highlighting) מוסיפה צבעים ועיצוב טקסט לקוד, מה שהופך אותו לקריא יותר. רוב העורכים מאפשרים התאמה אישית של הדגשת התחביר.
- תוספים ואינטגרציות הם כלים מיוחדים למפתחים, שנבנו על ידי מפתחים. כלים אלו לא נכללו בעורך הבסיסי. לדוגמה, מפתחים רבים מתעדים את הקוד שלהם כדי להסביר כיצד הוא עובד. הם עשויים להתקין תוסף לבדיקת איות כדי לעזור למצוא שגיאות כתיב בתיעוד. רוב התוספים מיועדים לשימוש בעורך מסוים, ורוב העורכים מגיעים עם דרך לחפש תוספים זמינים.
- התאמה אישית מאפשרת למפתחים ליצור סביבת פיתוח ייחודית שמתאימה לצרכיהם. רוב העורכים ניתנים להתאמה אישית רבה ועשויים גם לאפשר למפתחים ליצור תוספים מותאמים אישית.
עורכים פופולריים ותוספים לפיתוח אתרים
דפדפנים
כלי חשוב נוסף הוא הדפדפן. מפתחי אתרים מסתמכים על הדפדפן כדי לראות כיצד הקוד שלהם פועל באינטרנט. הוא גם משמש להצגת האלמנטים הוויזואליים של דף אינטרנט שנכתבו בעורך, כמו HTML.
רבים מהדפדפנים מגיעים עם כלי מפתחים (DevTools) הכוללים סט של תכונות ומידע שימושיים שעוזרים למפתחים לאסוף וללכוד מידע חשוב על היישום שלהם. לדוגמה: אם יש שגיאות בדף אינטרנט, לעיתים קרובות מועיל לדעת מתי הן התרחשו. ניתן להגדיר את כלי המפתחים בדפדפן כדי ללכוד מידע זה.
דפדפנים וכלי מפתחים פופולריים
כלים לשורת הפקודה
חלק מהמפתחים מעדיפים תצוגה פחות גרפית למשימות היומיומיות שלהם ומסתמכים על שורת הפקודה כדי להשיג זאת. כתיבת קוד דורשת כמות משמעותית של הקלדה, וחלק מהמפתחים מעדיפים לא להפריע לזרימה שלהם על המקלדת. הם ישתמשו בקיצורי מקלדת כדי לעבור בין חלונות שולחן עבודה, לעבוד על קבצים שונים ולהשתמש בכלים. רוב המשימות ניתנות לביצוע עם עכבר, אך אחד היתרונות של שימוש בשורת הפקודה הוא שניתן לבצע הרבה פעולות עם כלים לשורת הפקודה מבלי לעבור בין העכבר למקלדת. יתרון נוסף של שורת הפקודה הוא שניתן להתאים אותה אישית, לשמור תצורה מותאמת אישית, לשנות אותה מאוחר יותר ולייבא אותה למכונות פיתוח אחרות. מכיוון שסביבות פיתוח כל כך ייחודיות לכל מפתח, חלקם ימנעו משימוש בשורת הפקודה, חלקם יסתמכו עליה לחלוטין, וחלקם יעדיפו שילוב של השניים.
אפשרויות פופולריות לשורת הפקודה
אפשרויות לשורת הפקודה משתנות בהתאם למערכת ההפעלה שבה אתם משתמשים.
💻 = מגיע מותקן מראש במערכת ההפעלה.
Windows
- Powershell 💻
- Command Line (המכונה גם CMD) 💻
- Windows Terminal
- mintty
MacOS
Linux
כלים פופולריים לשורת הפקודה
תיעוד
כאשר מפתח רוצה ללמוד משהו חדש, הוא ככל הנראה יפנה לתיעוד כדי ללמוד כיצד להשתמש בו. מפתחים מסתמכים לעיתים קרובות על תיעוד כדי להנחות אותם כיצד להשתמש בכלים ובשפות בצורה נכונה, וגם כדי להעמיק את הידע שלהם על אופן פעולתם.
תיעוד פופולרי על פיתוח אתרים
- Mozilla Developer Network (MDN), מאת Mozilla, המוציאים לאור של דפדפן Firefox
- Frontend Masters
- Web.dev, מאת Google, המוציאים לאור של Chrome
- התיעוד של Microsoft, עבור Microsoft Edge
- W3 Schools
✅ בצעו מחקר: עכשיו כשאתם מכירים את היסודות של סביבת מפתח אתרים, השוו אותה לסביבת מעצב אתרים.
🚀 אתגר
השוו בין שפות תכנות. מהם המאפיינים הייחודיים של JavaScript לעומת Java? ומה לגבי COBOL לעומת Go?
חידון לאחר השיעור
סקירה ולימוד עצמי
למדו מעט על השפות השונות הזמינות למתכנת. נסו לכתוב שורה בשפה אחת, ואז כתבו אותה מחדש בשתי שפות אחרות. מה למדתם?
משימה
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור הסמכותי. למידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי בני אדם. איננו נושאים באחריות לאי-הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.