NoteTube

كورس #C كامل | شرح م أحمد ممدوح - منحة ITI #1
1:19:45

كورس #C كامل | شرح م أحمد ممدوح - منحة ITI #1

Syntax Error

7 chapters7 takeaways22 key terms5 questions

Overview

يقدم هذا الكورس مقدمة شاملة للغة البرمجة سي شارب (C#) ضمن بيئة .NET، مع التركيز على بناء أساس قوي للمطورين. يغطي الكورس دورة حياة التطبيق داخل .NET Framework، أساسيات بناء الجملة (syntax) للغة، وأنواع البيانات (value types و reference types). كما يتعمق في مفاهيم البرمجة كائنية التوجه (OOP) مثل الوراثة وتعدد الأشكال، بالإضافة إلى مواضيع متقدمة مثل Generics و Collections و Delegates و Events. يهدف الكورس إلى تزويد المتعلمين بالمعرفة اللازمة لتطوير تطبيقات متنوعة، مع لمحة عن Windows Forms و Networking و Threading، وأحدث التحديثات في اللغة.

How was this?

Save this permanently with flashcards, quizzes, and AI chat

Chapters

  • كورس سي شارب هو أحد أهم الكورسات للمطورين الذين يهدفون إلى العمل في مجال الـ Back-end أو حتى الـ Front-end (باستخدام TypeScript المشابهة لـ C#).
  • الكورس يتطلب تركيزًا وجهدًا كبيرين نظرًا لعمق التفاصيل وكثرة المعلومات التي سيتم تقديمها.
  • فهم هذه المفاهيم ضروري لمن يرغب في الاستمرار في مجال تطوير البرمجيات.
  • سيتم تقديم المحتوى بشكل تدريجي، بدءًا من التسخين في البداية وصولًا إلى مواضيع أكثر تعقيدًا.
يحدد هذا الجزء أهمية تعلم لغة سي شارب كمهارة أساسية في سوق العمل التقني، ويشرح سبب ضرورة الالتزام بالتعلم العميق للمفاهيم المطروحة.
لا يوجد مثال محدد في هذا الجزء.
  • اليوم الأول يركز على مقدمة عامة ودورة حياة التطبيق داخل .NET Framework.
  • سيتم استعراض بناء الجملة (syntax) الأساسي للغة سي شارب وكيفية التعامل معها.
  • سيتم شرح أنواع البيانات: Value Types و Reference Types والفرق بينهما.
  • سيتم التعرف على مفاهيم البرمجة كائنية التوجه (OOP) مثل الوراثة (Inheritance) وتعدد الأشكال (Polymorphism) في سي شارب.
  • سيتم تناول مواضيع مثل Generics، Collections، Delegates، Events، مع تفاصيل إضافية مثل Anonymous Types و Lambda Expressions.
يقدم هذا الجزء خريطة طريق واضحة للمتعلم حول الموضوعات التي سيتم تغطيتها، مما يساعد على تنظيم عملية التعلم وتوقع المحتوى المستقبلي.
لا يوجد مثال محدد في هذا الجزء.
  • سي شارب هي اللغة الأساسية لتكنولوجيات مايكروسوفت، وهي الخيار الأول عند تبني هذه التكنولوجيات.
  • تُصنف سي شارب باستمرار ضمن أفضل 10 لغات استخدامًا عالميًا، وحصلت على المركز الأول في 2023.
  • تتميز سي شارب بقوتها وتوفيرها لحلول متنوعة عبر بيئات تشغيل مختلفة (Desktop, Mobile, Web).
  • تنوع التطبيقات التي يمكن إنشاؤها باللغة، بالإضافة إلى ثراء المكتبات المتاحة، يعزز من شعبيتها.
  • عند اختيار لغة لمشروع، يؤخذ في الاعتبار خبرة الفريق، متطلبات قابلية التوسع (scalability)، وسرعة الأداء.
يوضح هذا الجزء الأسباب الاستراتيجية والتقنية وراء اختيار سي شارب كلغة رئيسية في بيئة .NET، مما يعزز فهم المتعلم لقيمتها في سوق العمل.
عند اختيار لغة لتطوير تطبيق، يتم المقارنة بين سي شارب، Node.js، وجافا بناءً على عوامل مثل قابلية التوسع (scalability) وسرعة الأداء لتقرير اللغة الأنسب للمشروع.
  • في البرمجة التقليدية (مثل C)، يتم تحويل الكود المصدري إلى ملف تنفيذي (Executable) يستهدف نظام تشغيل معين.
  • المشكلة تكمن في الحاجة لإعادة تجميع (recompile) التطبيق لكل نظام تشغيل مختلف (Windows, Linux, Mac).
  • تم حل هذه المشكلة بتقديم لغة وسيطة (Intermediate Language - IL)، مثل MSIL أو Bytecode في Java.
  • يقوم المترجم (Compiler) بتحويل كود سي شارب إلى IL، ثم يقوم برنامج وسيط (مثل CLR أو JVM) بترجمة IL إلى كود أصلي (Native Code) وقت التشغيل (Runtime).
  • هذا النموذج يتيح كتابة الكود مرة واحدة وتشغيله على منصات متعددة، مع نقل عبء الترجمة إلى وقت التشغيل.
فهم دورة حياة التطبيق وكيفية تحويل الكود إلى لغة وسيطة ثم إلى كود أصلي هو مفتاح لفهم آلية عمل .NET Framework وقدرته على العمل عبر منصات مختلفة.
بدلاً من إنتاج ملفات تنفيذية منفصلة لكل نظام تشغيل، يتم إنتاج ملف تنفيذي يحتوي على لغة وسيطة (IL). عند تشغيل هذا الملف على جهاز معين، يقوم برنامج وسيط (مثل CLR) بترجمة الـ IL إلى كود أصلي يفهمه نظام التشغيل المحدد (Windows, Linux, Mac).
  • الـ CLR (Common Language Runtime) هو المحرك الذي يدير تشغيل التطبيقات، وهو مسؤول عن تحويل الـ IL إلى كود أصلي وقت التشغيل.
  • الـ IL (Intermediate Language) هي لغة وسيطة لا هي لغة المصدر ولا هي لغة الآلة، وتُعرف بـ MSIL في بيئة مايكروسوفت.
  • الـ CLR يوفر خدمات أساسية مثل إدارة الذاكرة (Garbage Collection) والأمان (Security).
  • فكرة الـ IL تسمح بتعدد اللغات (Multi-language support) داخل .NET، حيث يمكن لعدة لغات (مثل C#, VB.NET, F#) التحويل إلى نفس الـ IL.
  • هذا يسمح للمطورين بالتعاون في مشاريع باستخدام لغات مختلفة، حيث يمكن تحويل الكود المكتوب بلغة إلى لغة أخرى عبر الـ IL.
يعتبر فهم دور CLR و IL حجر الزاوية لفهم كيفية عمل .NET Framework، وكيف يتيح هذا التصميم دعم لغات متعددة وإدارة فعالة لموارد النظام.
يمكن لمطور يكتب كودًا بلغة VB.NET أن يقوم بترجمته إلى لغة وسيطة (IL)، ثم يمكن لمطور آخر يستخدم كود C# أن يأخذ هذا الـ IL ويحوله مرة أخرى إلى C#، مما يسمح بالتعاون في نفس المشروع باستخدام لغات مختلفة.
  • إمكانية إعادة استخدام الكود (Code Reusability) عبر لغات مختلفة بفضل الـ IL.
  • تقليل تكرار الكود في الذاكرة؛ حيث يتم تحميل المكتبات المشتركة (Shared Libraries) مرة واحدة بواسطة الـ CLR.
  • تقليل حجم الملفات التنفيذية (Executables) لأنها لا تحتوي على كود المكتبات بشكل مباشر.
  • تحديث المكتبات (Libraries) بشكل مركزي يؤثر على جميع التطبيقات التي تستخدمها دون الحاجة لإعادة تجميعها.
  • الـ Base Class Library (BCL) توفر مجموعة واسعة من الوظائف الجاهزة التي يمكن استخدامها من أي لغة مدعومة في .NET.
توضح هذه المزايا كيف أن تصميم .NET Framework يهدف إلى تحسين كفاءة التطوير، تقليل استهلاك الموارد، وتسهيل عملية صيانة وتحديث التطبيقات.
إذا قام مطوران بإنشاء مكتبتين منفصلتين تستخدمان نفس الوظيفة الأساسية (مثل التعامل مع النصوص)، فإن نظام .NET Framework يضمن تحميل هذه الوظيفة المشتركة مرة واحدة فقط في الذاكرة، مما يوفر الموارد ويقلل من حجم التطبيقات.
  • الـ Visual Studio هو بيئة التطوير المتكاملة (IDE) الرسمية لتطوير تطبيقات .NET.
  • يمكن إنشاء أنواع مختلفة من المشاريع باستخدام Visual Studio، مثل Console Applications, Windows Forms, Web Applications, Mobile Applications, و Libraries (DLLs).
  • الـ DLL (Dynamic Link Library) هي مكتبة يمكن ربطها بالتطبيقات ديناميكيًا وقت التشغيل، مما يعزز من قابلية إعادة الاستخدام.
  • الـ .NET Framework يوفر مكتبات خاصة لكل نوع من أنواع التطبيقات المستهدفة (مثل مكتبات Windows Forms أو ASP.NET).
  • الـ CLR هو المسؤول عن تحميل الـ DLLs وربطها بالتطبيق وقت التشغيل.
يعرف المتعلم بالأدوات الأساسية والبنية التي سيعمل ضمنها، مما يمكنه من البدء في عملية التطوير بشكل عملي ومنظم.
يمكن للمطور إنشاء مشروع مكتبة (DLL) باستخدام C#، ثم يمكن لمطور آخر استيراد هذه الـ DLL في مشروعه الخاص (المكتوب بلغة أخرى مثل VB.NET) واستخدام وظائفها، حيث يقوم الـ CLR بربط الـ DLL بالتطبيق وقت التشغيل.

Key takeaways

  1. 1لغة سي شارب هي لغة قوية ومتعددة الاستخدامات، وهي الخيار الأساسي في بيئة مايكروسوفت ولها شعبية عالمية متزايدة.
  2. 2نموذج .NET Framework يعتمد على تحويل الكود إلى لغة وسيطة (IL) ثم ترجمتها إلى كود أصلي وقت التشغيل (Runtime) بواسطة CLR.
  3. 3هذا النموذج يتيح قابلية التشغيل المتبادل (Cross-platform compatibility) ودعم لغات برمجة متعددة ضمن نفس البيئة.
  4. 4الـ CLR يدير موارد التطبيق ويقدم خدمات أساسية مثل إدارة الذاكرة والأمان، مما يقلل من العبء على المطور.
  5. 5استخدام الـ IL والمكتبات المشتركة يقلل من حجم التطبيقات، يقلل من استهلاك الذاكرة، ويسهل عملية تحديث المكتبات.
  6. 6بيئة .NET توفر أدوات قوية مثل Visual Studio ومجموعة غنية من المكتبات (BCL) لتسريع عملية التطوير.
  7. 7فهم دورة حياة التطبيق من الكود المصدري إلى التنفيذ على مختلف المنصات هو أمر جوهري لأي مطور .NET.

Key terms

C# (سي شارب).NET FrameworkIntermediate Language (IL)MSILCommon Language Runtime (CLR)CompilerRuntimeValue TypesReference TypesObject-Oriented Programming (OOP)InheritancePolymorphismGenericsCollectionsDelegatesEventsAnonymous TypesLambda ExpressionsDynamic Link Library (DLL)Base Class Library (BCL)Visual StudioCross-platform

Test your understanding

  1. 1ما هو الدور الأساسي لـ CLR في بيئة .NET Framework؟
  2. 2كيف يساهم استخدام اللغة الوسيطة (IL) في تحقيق قابلية التشغيل المتبادل للتطبيقات؟
  3. 3اشرح الفرق بين Value Types و Reference Types في سي شارب.
  4. 4ما هي الفوائد الرئيسية لاستخدام نموذج .NET Framework مقارنة بالنماذج التقليدية مثل C؟
  5. 5كيف يمكن لمطورين يستخدمون لغات مختلفة (مثل C# و VB.NET) التعاون في نفس المشروع ضمن بيئة .NET؟

Turn any lecture into study material

Paste a YouTube URL, PDF, or article. Get flashcards, quizzes, summaries, and AI chat — in seconds.

No credit card required