Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ما هو الكود المصدري؟

الكود المصدري (source code) هو نص البرنامج المقروء للبشر، يكتبه المبرمج بلغة مثل Python أو Java أو C ويحفظه في ملفات نصية عادية، ثم يحوّله مترجم أو مفسر إلى تعليمات يستطيع الحاسوب تنفيذها.

بقلم Kevin Spektor, شريك مؤسس ورئيس قسم التكنولوجيا (CTO)

آخر تحديث 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 مليون سطر من الكود المصدري، وتطبيق ويب صغير قد يضم بسهولة بضع مئات من الملفات. ولكل ملف امتداد يخبر الأدوات باللغة المكتوب بها:

الامتداداللغة
.pyPython
.c, .hC
.cpp, .hppC++
.javaJava
.jsJavaScript
.goGo
.rsRust

الكود المصدري نص عادي

لا يحتوي الكود المصدري على خطوط أو ألوان أو تنسيق مخفي. الألوان التي تراها في المحرر يضيفها المحرر لتسهيل القراءة، ولا تُحفظ في الملف. لهذا تكتب الكود في محرر أكواد مثل VS Code وليس في Microsoft Word أبدًا: معالج النصوص يحفظ بيانات التنسيق وعلامات الاقتباس "الذكية"، والنتيجة ملف لا تستطيع اللغة قراءته، وغالبًا ما يُرفض مع خطأ في الصياغة.

ولأنه مجرد نص، يستطيع برنامج أن يحتفظ بالكود المصدري لبرنامج آخر داخل سلسلة نصية ثم يشغّله:

<class 'str'>
3 lines of text
Total: 12

حتى السطر الأخير، source مجرد سلسلة نصية عادية. ثم تسلّمها exec إلى Python، فيقرأ النص وينفّذه. هذه هي حياة الكود المصدري كلها في صورة مصغّرة: نص أولًا، ثم تعليمات.

كيف يصبح الكود المصدري برنامجًا يعمل

المعالج في حاسوبك لا يستطيع قراءة Python أو C. إنه ينفّذ لغة الآلة فقط، وهي تعليمات ثنائية خاصة بنوع واحد من المعالجات (x86-64 في معظم الحواسيب المحمولة والخوادم، وARM في الهواتف وأجهزة Mac بمعالجات Apple Silicon). لا بد إذن من ترجمة. وهناك طريقتان رئيسيتان:

  1. المترجم يترجم البرنامج كله مسبقًا. الأمر gcc hello.c -o hello يقرأ كود C المصدري ويكتب ملفًا جديدًا اسمه hello مليئًا بلغة الآلة. يمكنك حذف hello.c بعد ذلك ويظل hello يعمل.
  2. المفسر يشغّل الكود المصدري مباشرة. الأمر python3 hello.py يشغّل مفسر Python، فيقرأ hello.py وينفّذ تعليماته. لا يُنتَج ملف برنامج منفصل، لذا يجب أن يكون الكود المصدري موجودًا في كل مرة.

كثير من اللغات تجمع بين الطريقتين. كود Java المصدري يترجمه javac إلى بايت كود (ملفات .class)، ثم تشغّل آلة Java الافتراضية (JVM) هذا البايت كود. المقارنة الكاملة موجودة في صفحة المترجم مقابل المفسر.

الكود المصدري والكود الكائني ولغة الآلة

هذه المصطلحات الثلاثة تصف البرنامج نفسه في مراحل مختلفة:

المصطلحمن يقرؤهمثال
الكود المصدريالبشر والمترجماتtotal = price * 3 في app.py
الكود الكائني (object code)الرابط (linker)hello.o، الناتج عن gcc -c hello.c
لغة الآلة (ملف تنفيذي)المعالجhello على Linux أو macOS، وhello.exe على Windows

إذا فتحت ملفًا تنفيذيًا مترجَمًا في محرر نصوص فسترى رموزًا غير مقروءة، لأنه ملف ثنائي وليس نصًا. على جهاز Mac، أول أربعة بايتات من برنامج hello السابق هي cf fa ed fe بالنظام الست عشري، وهي علامة الملف التنفيذي من نوع Mach-O. ويمكنك فحص قيم خام كهذه باستخدام محوّل أنظمة الأعداد.

المصدر المفتوح والمصدر المغلق

مسألة من يحق له قراءة الكود المصدري قانونية بقدر ما هي تقنية. البرامج مفتوحة المصدر تنشر كودها المصدري بترخيص يسمح لأي شخص بقراءته وتعديله ومشاركته، ومنها Python وLinux وFirefox. أما البرامج مغلقة المصدر (الاحتكارية) فتُوزَّع كبرنامج مترجَم فقط، ومنها Microsoft Windows وAdobe Photoshop، وكودها المصدري سر تجاري.

والكود المصدري محمي بحقوق النشر مثل الكتاب. عثورك على كود في الإنترنت لا يعني أنه يحق لك إعادة استخدامه: راجع ملف الترخيص، وغالبًا ما يكون اسمه LICENSE، قبل أن تنسخ أي شيء إلى مشروعك.

مفاهيم خاطئة شائعة

  • "عرض مصدر الصفحة يُظهر الكود المصدري للموقع." إنه يُظهر HTML وCSS وJavaScript التي استلمها متصفحك. أما الجانب الخادمي من الموقع (المكتوب بلغة Python أو Java أو PHP أو غيرها) فلا يغادر الخادم أبدًا، لذا لا يمكنك رؤيته.
  • "أداة فك الترجمة تعيد لك الكود المصدري الأصلي." أداة فك الترجمة (decompiler) تعيد بناء كود مقروء من برنامج مترجَم، لكن التعليقات تضيع والأسماء غالبًا ما تُفقد، فالنتيجة تخمين للمصدر وليست الملف الذي كتبه المؤلفون.
  • "الكود والكود المصدري يعنيان الشيء نفسه." الكود المصدري هو النسخة التي يكتبها البشر. أما "الكود" فأوسع، ويشمل أيضًا لغة الآلة والبايت كود والكود المولَّد.
  • "يجب أن يكون الكود المصدري بالإنجليزية." الكلمات المفتاحية مثل if وprint كلمات إنجليزية، لكن أسماء المتغيرات والتعليقات والسلاسل النصية يمكن أن تكون بأي لغة. ملفات Python 3 المصدرية بترميز UTF-8 افتراضيًا، لذا فإن prix = 4 و# 合計を計算する كلاهما صحيح.

إلى أين بعد ذلك

يُفحص الكود المصدري قبل تشغيله، وأول ما يصادفه معظم المبتدئين هو الخطأ في الصياغة. ولترى الفرق بين طريقتي تشغيل الكود المصدري، اقرأ ما هو المترجم ثم المترجم مقابل المفسر. ويمكنك كتابة كودك المصدري وتشغيله في المتصفح عبر Python Playground، أو البدء في دورة Python.

الأسئلة الشائعة

ما هو مثال على الكود المصدري؟
أي ملف يكتبه مبرمج بلغة برمجة هو كود مصدري: سكربت Python مثل app.py، أو ملف C مثل main.c، أو كود JavaScript في صفحة ويب. حتى سطر واحد مثل print("Hello") محفوظ في ملف .py يُعد كودًا مصدريًا. وبرامج مثل Firefox أو Linux مبنية من ملايين الأسطر منه.
ما الفرق بين الكود والكود المصدري؟
الكود المصدري هو النسخة التي يكتبها الإنسان من البرنامج بلغة برمجة. أما كلمة "كود" فأوسع، وتشمل أيضًا ما تنتجه الأدوات منه، مثل لغة الآلة أو البايت كود (bytecode) أو الكود المولَّد آليًا. وفي الحديث اليومي يقول المبرمجون "كود" ويقصدون الكود المصدري، والسياق يوضح المعنى.
كيف أحصل على الكود المصدري لبرنامج ما؟
في مشاريعك الخاصة، الكود المصدري هو مجموعة الملفات التي كتبتها، وتُحفظ عادةً في مستودع Git. وفي البرامج مفتوحة المصدر يكون الكود منشورًا، غالبًا على GitHub أو GitLab. أما البرامج مغلقة المصدر فلا يمكنك عادةً الحصول على كودها: لديك الملف التنفيذي المترجَم فقط، وأداة فك الترجمة (decompiler) تعطيك في أحسن الأحوال نسخة تقريبية بلا التعليقات والأسماء الأصلية.
هل يُعد HTML كودًا مصدريًا؟
نعم. HTML لغة ترميز وليست لغة برمجة، لكن ملفات .html التي يكتبها المطور هي المصدر الذي تُبنى منه صفحة الويب، والمتصفحات تسمّي عرضها "عرض مصدر الصفحة" (View Page Source). وينطبق الأمر نفسه على ملفات CSS وملفات JavaScript التي تحمّلها الصفحة.
ما هي إدارة الكود المصدري؟
إدارة الكود المصدري، وتُسمّى أيضًا التحكم في الإصدارات (version control)، هي تسجيل كل تغيير على ملفات المشروع المصدرية، حتى تعرف من غيّر ماذا، وتعود إلى إصدار سابق، وتدمج عمل عدة أشخاص. أداة Git هي الأكثر استخدامًا لذلك، وخدمات مثل GitHub وGitLab تستضيف مستودعات Git على الإنترنت.
Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن