مقدمة
إذا قمت بقراءة كل الدروس التي شرحناها في هذه الدورة و وصلت إلى هنا, فهذا يعني أنك أصبحت ماهراً في التعامل مع لغة C++.
الشيء الذي عليك البحث عنه الآن, هو كيف تبدأ باستخدام لغة C++ في المشاريع البرمجية من أجل أن تستفيد منها مادياً.
إذا قمت بقراءة كل الدروس التي شرحناها في هذه الدورة و وصلت إلى هنا, فهذا يعني أنك أصبحت ماهراً في التعامل مع لغة C++.
الشيء الذي عليك البحث عنه الآن, هو كيف تبدأ باستخدام لغة C++ في المشاريع البرمجية من أجل أن تستفيد منها مادياً.
في البداية, هناك مجالات عديدة يجب أن تتخصص بأحدها و ليس فيها كلها لأن هذا مستحيل.
أي لا تفكر أبداً بأن تتخصص في عدة مجالات في وقت واحد. لأنك إن حاولت ذلك فـأكد أنك في مرحلة ما ستيأس و تمل من شدة الضغط الذي سببته لنفسك.
إذاً, بعد أن تتعلم لغة C++ يمكنك إعتمادها في أحد المجالات التالية:
إنتبه, تخصصك في مجال واحد لا يعني أنك لا تستطيع تعلم غيره. الفكرة هنا هي أن تتخصص في مجال واحد في كل مرة.
فعلى سبيل المثال, إذا قررت البدء بتعلم تطوير تطبيقات للحاسوب. عندها يجب أن تقضي فترة في تعلم ذلك و من ثم يجب أن تحاول بناء عدة تطبيقات بنفسك حتى تجد نفسك مرتاحاُ في هذا المجال و لا تخاف من البدء بتطوير تطبيقات و الربح منها مادياً.
بعد أن تجد نفسك أصبحت محترفاً في مجال تطوير تطبيقات الحاسوب, عندها نحن ننصحك بالبدء بتعلم مجال آخر من أجل أن تزيد فرصك في العمل و الربح.
فمثلاً إذا قررت تعلم تطوير المواقع بعد ذلك, فأنت الآن أصبحت قادر على العمل في مجالين و ليس في مجال واحد.
لغة C++ تعتبر من أفضل اللغات و أكثرها استخداماً في مجال تطوير الألعاب و السبب الرئيسي لذلك هو سرعتها في التنفيذ مقارنةً باللغات الأخرى.
هناك عدة محركات ألعاب ( Game Engines ) يمكنك برمجة اللعبة فيها بلغة C++ و من أشهرها Unreal Engine الذي تم تطوير لعبة PubG بواستطه.
إنتبه لنقطة مهمة, تطوير اللألعاب لا يتقصر على كتابة الكود فقط بل يتطلب أشياء كثيرة مثل إعداد الرسومات و الشخصيات و الخرائط و النغمات و غيرها.
دور C++ يقتصر على برمجة اللعبة فقط, مثل جعل اللاعب يتحرك عند النقر على الأسهم و جعله يستدير عند تحريك الفأرة, تحديد متى يظهر الأشرار في اللعبة, متى يخسر اللاعب, متى يفوز و نتقل لمرحلة أخرى إلخ..
في C++ يوجد أطر ( Frameworks ) عديدة يمكنك إستخدامها لبناء تطبيقات للحاسوب أو ما يعرف بتطبيقات سطح المكتب ( Desktop Apps ).
أشهر الأطر المستخدمة حالياً في بناء تطبيقات للحاسوب هي التالية:
في C++ يوجد أطر عمل عديدة يمكنك إستخدامها كوسيط بين الزوار و قاعدة البيانات الخاصة بالموقع أو الخدمات الخارجية التي يستخدمها الموقع.
أشهر الأطر المستخدمة حالياً في بناء تطبيقات للحاسوب هي التالية:
إنتبه جيداً, من النادر أن تجد شركة تطوير مواقع تستخدم لغة C++ في هذا المجال لأنه يوجد خيارات أكثر سهولة لذلك و فعلياً لا يحتاجوا لذلك. في حين أن الشركات الضخمة التي تحتاج سرعة أداء عالية جداً مثل جوجل و فيسبوك تستخدمها لأنها بحاجة لأفضل أداء ممكن و فعلياً تجد أنهم قاموا بتطوير مترجمات بلغة C++ خصيصياً لهذا الغرض.
مؤخراً ظهر استخدام مهم جداً للغة C++ في تطوير المواقع من ناحية المستخدم يقال له WebAssembly حيث يتم كتابة كود الصفحة بالأساس بلغة C++ مما يعطيك سرعة عالية جداً مقارنةً بما إن كنت تستخدم لغة جافاسكريبت, لمزيد من التفاصيل حول هذا الأمر بالذات ننصحك بمشاهدة الفيديو التالي.
في البداية, عليك معرفة أن أفضل مجال لإستخدام لغة C++ و أكثر سبب لشهرتها هو شهرتها في هذا المجال.
فكرة الذكاء الإصطناعي بشكل عام هي بناء برنامج قادر على إتخاذ القرارات و كأنه إنسان عادي!
لا بد و أنك تتساءل الآن حول كيف يمكن جعل البرنامج قادر على التفكير من تلقاء ذاته و هذا سؤال منطقي.
الذكاء الإصطناعي لا يعني أبداً جعل البرنامج يفكر و يتصرف تماماً من تلقاء ذاته, بل جعله يعتمد الأسلوب الذي يعتمده الناس في التصرف و اتخاذ القرارات.
سنحاول شرح طريقة عمل الذكاء الإصطناعي من خلال المثال التالي:
لنفترض أنه يوجد مستشفى يقوم يومياً بإلتقاط عدة صور أشعة لصدور المرضى, و من ثم يأتي الطبيب و ينظر إلى هذه الصورة فيكتب تقرير مفصل عنها.
بعدها يتم حفظ كل صورة مع التقرير الخاص بها في قاعدة بيانات المستشفى.
بعد مرور 5 سنوات على سبيل المثال, سيصبح لدى المستشفى قاعدة بيانات فيها آلاف الصور مع التقارير الخاصة بها.
بعد أن أصبح المستشفى يملك كم هائل من المعلومات, أصبح بإمكان هذه المستشفى الإستفادة من الذكاء الإصطناعي و إدخاله في عملها.
الآن, أصبح بإمكان المبرمج أن يجعل أي صورة أشعة يتم إلتقاتها تقارن مع الصور الموجودة في قاعدة البيانات و على أساس أكثر صورة أو صور مشابهة لها يتم طباعة التقرير للصورة الجديدة التي تم إلتقاطها.
فمثلاً بعد المقارنة, قد يجد البرنامج أنه يوجد إحتمال بنسبة 98% أن يكون هذا المريض يعاني من مشكلة معينة لأن أغلب الصور المشابهة لها تعاني من نفس المشكلة.
عندها و بشكل مباشر سيقوم البرنامج بإعطائك التقرير المفصل لهذه الصورة و كأنه قد قام شخص ما بإعداد هذا التقرير.
في النهاية, نتوصل أنه كلما تم تمديد البرنامج بمعلومات أكثر, كلما حصلنا على معلومات أدق.
و كخلاصة للموضوع كله, الذكاء الإصطناعي يبني قراراته على أساس المعلومات التي تموله بها أو التي قمت سابقاً بتجهزيها له.
مجال الذكاء الإصطناعي ينقسم بدوره لعدة فروع يمكنك تعلم إحداها مثل:
ما قمنا بذكره عن مجالات الذكاء الإصطناعي يعتبر سطحي جداً لأن هذا المجال ضخم و مجالاته كثيرة.
من الناحية البرمجية فيجب أن تعرف لغة C++ و طريقة التعامل مع قواعد البيانات.
من ناحية أخرى فهذا المجال يتطلب مهارة كبيرة في الرياضيات إذا كان الشخص ينوي أن يبدع فيه.
من ناحية الرياضيات, يجب دراسة المواد التالية كبداية و التي يدرسها الطلاب في الجامعات:
في هذا الرابط تجد صور مبسطة جداً من شأنها أن توضح لك علاقة هذه المواد و أهميتها بالذكاء الإصطناعي إنتقل للموقع »
تطلّب إعداد هذه الدورة أشهراً من العمل المتواصل لتكون شاملة لكل اساسيات C++ التي يجب أن يعرفها المبرمج و بنفس الوقت لتكون سهلة الفهم.
لذا نتمنى دعمنا من خلال مشاركة الدورة مع أصدقائك في مواقع التواصل الإجتماعي و زملائك في الجامعة إذا كنت تجد أن هذه الدروس يمكنها إفادته.
نتمنى لك كل التوفيق و نسأل الله أن يوفقك و يبارك لك في علمك و عملك.