מה זה קוד מקור?
קוד מקור (source code) הוא הטקסט הקריא של תוכנית, שמתכנת כותב בשפה כמו Python, Java או C ושומר בקבצי טקסט פשוטים, וקומפיילר או מפרש הופכים אותו להוראות שמחשב יכול להריץ.
עודכן ב-24 בספטמבר 2026
פתחו כל קובץ שמסתיים ב-.py, .c או .java בעורך טקסט פשוט, ואתם קוראים קוד מקור. זה אותו סוג של קובץ כמו רשימת קניות: אותיות, ספרות, רווחים ומעברי שורה. מה שהופך אותו לתוכנית הוא שהטקסט עומד בכללים של שפת תכנות, כך שכלי יכול להפוך אותו להוראות למעבד.
איך קוד מקור נראה
הנה תוכנית Python שלמה. כל שורה היא קוד מקור, כולל ההערה, שהמחשב מתעלם ממנה והמתכנת הבא קורא.
Total: 12
אותה תוכנית ב-C היא גם קוד מקור, רק בשפה אחרת עם כללים אחרים:
#include <stdio.h>
int main(void) {
int price = 4;
printf("Total: %d\n", price * 3);
return 0;
}
אפליקציה אמיתית היא אלפי קבצים כאלה. בקרנל של Linux יש יותר מ-30 מיליון שורות של קוד מקור, ולאפליקציית ווב קטנה יכולות להיות בקלות כמה מאות קבצים. לכל קובץ יש סיומת שאומרת לכלים באיזו שפה הוא כתוב:
| סיומת | שפה |
|---|---|
.py | Python |
.c, .h | C |
.cpp, .hpp | C++ |
.java | Java |
.js | JavaScript |
.go | Go |
.rs | Rust |
קוד מקור הוא טקסט פשוט
בקוד מקור אין גופנים, צבעים או עיצוב נסתר. הצבעים שרואים בעורך נוספים על ידי העורך כדי להקל על הקריאה, והם לא נשמרים בקובץ. בגלל זה כותבים קוד בעורך קוד כמו VS Code ואף פעם לא ב-Microsoft Word: מעבד תמלילים שומר נתוני עיצוב ומירכאות "חכמות", והתוצאה היא קובץ שהשפה לא יכולה לקרוא, ובדרך כלל הוא נדחה עם שגיאת תחביר.
מכיוון שזה רק טקסט, תוכנית יכולה אפילו להחזיק את קוד המקור של תוכנית אחרת במחרוזת ולהריץ אותו:
<class 'str'>
3 lines of text
Total: 12
עד השורה האחרונה, source הוא מחרוזת רגילה. exec מעביר אותה ל-Python, שקורא את הטקסט ומבצע אותו. זה כל מחזור החיים של קוד מקור בזעיר אנפין: קודם טקסט, אחר כך הוראות.
איך קוד מקור הופך לתוכנית רצה
המעבד במחשב שלכם לא יודע לקרוא Python או C. הוא מריץ רק קוד מכונה, כלומר הוראות בינאריות שמתאימות לסוג מסוים של מעבד (x86-64 ברוב המחשבים הניידים והשרתים, ARM בטלפונים ובמחשבי Mac עם Apple Silicon). משהו צריך לתרגם. יש שתי דרכים עיקריות:
- קומפיילר מתרגם את כל התוכנית מראש. הרצה של
gcc hello.c -o helloקוראת את קוד המקור ב-C וכותבת קובץ חדש,hello, מלא בקוד מכונה. אפשר למחוק אתhello.cאחר כך, ו-helloעדיין ירוץ. - מפרש מריץ את המקור ישירות. הרצה של
python3 hello.pyמפעילה את המפרש של Python, שקורא אתhello.pyומבצע את ההוראות שלו. לא נוצר קובץ תוכנית נפרד, ולכן המקור צריך להיות שם בכל פעם.
הרבה שפות משלבות בין השתיים. קוד מקור של Java מקומפל על ידי javac ל-bytecode (קבצי .class), וה-Java Virtual Machine מריץ את ה-bytecode הזה. ההשוואה המלאה נמצאת בדף קומפיילר מול מפרש.
קוד מקור, קוד אובייקט וקוד מכונה
שלושת המונחים האלה מתארים את אותה תוכנית בשלבים שונים:
| מונח | מי קורא אותו | דוגמה |
|---|---|---|
| קוד מקור | אנשים וקומפיילרים | total = price * 3 בקובץ app.py |
| קוד אובייקט | ה-linker | hello.o, שנוצר על ידי gcc -c hello.c |
| קוד מכונה (קובץ הרצה) | המעבד | hello ב-Linux או ב-macOS, hello.exe ב-Windows |
אם פותחים קובץ הרצה מקומפל בעורך טקסט רואים סימנים לא קריאים, כי הוא בינארי ולא טקסט. ב-Mac, ארבעת הבתים הראשונים של התוכנית hello שלמעלה הם cf fa ed fe בהקסדצימלי, הסימן של קובץ הרצה מסוג Mach-O. אפשר להסתכל על ערכים גולמיים כאלה עם ממיר הבסיסים.
קוד פתוח וקוד סגור
מי יכול לקרוא את קוד המקור היא שאלה משפטית לא פחות מטכנית. תוכנה בקוד פתוח (open source) מפרסמת את קוד המקור שלה תחת רישיון שמאפשר לכל אחד לקרוא, לשנות ולשתף אותו. Python, Linux ו-Firefox הן קוד פתוח. תוכנה בקוד סגור (קניינית) מופצת רק כתוכנית מקומפלת. Microsoft Windows ו-Adobe Photoshop הן בקוד סגור, וקוד המקור שלהן הוא סוד מסחרי.
קוד מקור מוגן גם בזכויות יוצרים, כמו ספר. העובדה שמצאתם קוד באינטרנט לא אומרת שמותר לכם להשתמש בו שוב: בדקו את קובץ הרישיון, שנקרא לרוב LICENSE, לפני שאתם מעתיקים משהו לפרויקט שלכם.
תפיסות שגויות נפוצות
- "View Page Source מראה את קוד המקור של אתר." הוא מראה את ה-HTML, ה-CSS וה-JavaScript שהדפדפן קיבל. צד השרת של האתר (שנכתב ב-Python, Java, PHP או שפה אחרת) אף פעם לא יוצא מהשרת, ולכן אי אפשר לראות אותו.
- "Decompiler מחזיר את המקור המקורי." Decompiler בונה מחדש קוד קריא מתוכנית מקומפלת, אבל ההערות נעלמות ולעיתים קרובות גם השמות, ולכן התוצאה היא ניחוש של המקור, לא הקובץ שהכותבים כתבו.
- "קוד וקוד מקור זה אותו דבר." קוד מקור הוא הגרסה שנכתבה בידי אנשים. "קוד" רחב יותר, והוא כולל גם קוד מכונה, bytecode וקוד שנוצר אוטומטית.
- "קוד מקור חייב להיות באנגלית." מילות מפתח כמו
ifו-printהן מילים באנגלית, אבל שמות משתנים, הערות ומחרוזות יכולים להיות בכל שפה. קבצי מקור של Python 3 הם UTF-8 כברירת מחדל, ולכן גםprix = 4וגם# 合計を計算するתקינים.
לאן ממשיכים מכאן
קוד מקור נבדק לפני שהוא רץ, והדבר הראשון שרוב המתחילים פוגשים הוא שגיאת התחביר. כדי לראות במה שונות שתי הדרכים להריץ קוד מקור, קראו מה זה קומפיילר ואחר כך קומפיילר מול מפרש. אפשר לכתוב ולהריץ קוד מקור משלכם בדפדפן בעורך Python אונליין או להתחיל את קורס Python.
שאלות נפוצות
מה דוגמה לקוד מקור?
app.py, קובץ C כמו main.c, או ה-JavaScript בדף אינטרנט. אפילו שורה אחת כמו print("Hello") ששמורה בקובץ .py נחשבת. תוכנות כמו Firefox או Linux בנויות ממיליוני שורות כאלה.מה ההבדל בין קוד לקוד מקור?
איך משיגים את קוד המקור של תוכנה?
האם HTML הוא קוד מקור?
.html שמפתח כותב הם המקור של דף אינטרנט, ודפדפנים קוראים לתצוגה שלהם "View Page Source". אותו דבר נכון לקבצי CSS ולקבצי ה-JavaScript שדף טוען.