السلام عليكم،
أنا مبتدئة في البرمجة وأنا حاليا مع كورس أبو هدهود لتعلم الأساسيات ووصلت لفيديو الكومبايلر والانتربرتر.
أريد المساعدة حول كيفية عمل الكومبايلر وبشكل مبسط ومفصل في نفس الوقت أو إذا كان الشرح مدعم بمخطط أو صورة يكون أفضل..
وأريد من فضلكم دعم ونصائح بخصوص مجال البرمجة وعالمها الواسع لطالما انتابني شك حول هل هو مجال مناسب لي حقا أو لا يهم هذا الشيء.
في انتظار ردكم...
وعليكم السلام ورحمة الله وبركاته.
كما نعلم أن الكمبيوتر يفهم لغة واحدة فقط تسمى لغة الآلة ، وهي عبارة عن سلسلة طويلة من الأصفار والآحاد (0s and 1s). وظيفة المترجم (Compiler) هي أن يكون الوسيط الذي يترجم الكود الذي تكتبينه (المفهوم للبشر) إلى لغة الآلة (المفهومة للمعالج أو الـ CPU).
وهذه العملية تتم من خلال عدة خطوات وهي
- معالجة أي أوامر أولية في الكود، مثل استيراد المكتبات.
- تحليل الكود سطرًا بسطر للتأكد من أن القواعد النحوية للغة البرمجة صحيحة
- إذا كان الكود صحيحًا، يقوم الكومبايلر بتحويله إلى لغة وسيطة أقرب إلى لغة الآلة تسمى لغة التجميع (Assembly).
- ثم يتم تحويل لغة التجميع إلى ملفات كائنية (Object Files)، ثم يأتي دور "الرابط" (Linker) الذي يجمع كل هذه الملفات مع أي مكتبات خارجية استخدمتها في مشروعك لإنتاج المنتج النهائي.
- والنتيجة النهائية هي ملف واحد قابل للتشغيل (مثل ملفات .exe في ويندوز)، يحتوي على كل التعليمات بلغة الآلة التي يفهمها المعالج مباشرة لتنفيذ البرنامج.
هل يمكن أن تخبرني قليلا عن المجال وفرص العمل فيه..
أريد من فضلك أن تجعلني أتعلق به أكثر وأكثر من خلال خبراتك السابقة فيه.
وأشكرك على تعاونك.
لم أعمل في هذا المجال من قبل وأعتقد أنه فرص العمل به ليست كثيرة بالفعل حيث أن مهندس المترجمات جزء من منظومة متكاملة حول أي لغة برمجة. يعني أن معرفتك بالمترجمات تفتح لك أبوابًا في مجالات متعددة ومطلوبة، مثل:
- بناء الأدوات التي تقوم بالتحليل المبدئي للكود (Linters)، أو تنسيقه (Formatters)، أو الأدوات المدمجة في بيئات التطوير (IDEs) التي تساعد في إكمال الكود تلقائيًا.
- تطوير الألعاب حيث تستخدم مترجمات خاصة لمعالجة وتحسين رسوميات الألعاب .
- أيضاً الشركات الكبرى تبني لغات برمجة خاصة بها لحل مشكلات معينة، وتحتاج إلى مطورين لبناء أدوات ومترجمات لهذه اللغات.
التعليقات