ما هى اقوى لغة برمجه؟
ربما قد تسألت عند دراستك للبرمجه عن ما هى اقوى لغة برمجه يمكن البرمجه بها.
فى هذا المقال سنأخذك لمعرفة ماذا تكون هذه اللغه القويه.
|
---|
هل لغة ++C هى اقوى لغة برمجة؟
اذن ما هى لغة البرمجه ++C و ماذا أستفيد من تعلمها؟
ملحوظه 💡 إذا كنت مبتدئ في البرمجة, ننصحك أن تتعلم المنطق البرمجي أي الخوارزميات لأنك ستتعلم منه كيف تفكر و تحلل كمبرمج.
الخوارزميات بحر كبير جداً و لكنك لا تحتاج معرفتها كلها كمبتدئ.
1. ما هي لغة C++ ؟
C++ هي لغة برمجة تجميعية ( Compiled ) و كائنية ( Object Oriented ) تضم العديد من مميزات لغات البرمجة عالية المستوى ( High Level ) و منخفضة المستوى ( Low Level ) و هذا يعني أنك قادر على فعل اى شئ بها.
هذه اللغة القويه مصممة لتعمل على جميع أنظمة التشغيل مثل ويندوز, ماك, لينكس, إندرويد ... و هي تعتبر أقوى و أشهر لغات البرمجة على الاطلاق و يطلق عليها "أم اللغات" نظراً لأنها لغة قوية و موجودة منذ زمن طويل و البعض يطلق عليها أسد لغات البرمجه لقوتها و انك تستطيع فعل اى شئ بها .
2. تاريخ لغة سي بلس بلس C++
يعود تاريخ هذه اللغة إلى عام 1979، إذ قام بإنشائها برايان ستروستروب أثناء عمله في مختبرات بيل. وسميت فى البدايةً (سي مع الصفوف C with classes ).
حيث تم بناء هذه اللغة بالأساس كتطوير للغة C
ثم تغير اسم اللغة عام 1983 إلى الاسم المعروف حاليًا وهو سي بلس بلس C++ . ومع الوقت تم إضافة العديد من الميزات حتى تطورت ووصلت إلى شهرتها الحالية.
برايان ستروستروب |
من ذلك الحين و حتى وقتنا الحالي تم تطوير هذه اللغة بشكل مستمر و اخر إصدار رسمي لها هو C++ 17.
3. ماذا يمكنني ان أطور بلغة C++ ؟
● تسمح لغة سي بلس بلس ++C بمزيد من التحكم المباشر في الأجهزة والعمليات الرسومية وهذا الشيء مهم جدا في تصميم ألعاب الفيديو، فهي لغة كائنية التوجه أي أنها تستخدم بنى داخلية لتنظيم التعليمات البرمجية بشكل أفضل في كتل قابلة لإعادة الاستخدام، وهي أكثر اللغات المستخدمة شيوعا في كتابة محركات الألعاب التى تعمل على بناء و تطوير الالعاب و من أشهر الألعاب التي طورت بهذه اللغة Counter Strike, MacOSDoom, Warcraft.
● برمجة الذكاء الاصطناعي AI
● برمجة تطبيقات البلوك تشين Block chain
تعتبر تقنية البلوك تشين من التقنيات التي يتم بها بناء المستقبل و من أهم التطبيقات التي تعتمد علي هذه التقنية هي العملات الرقمية مثل البتكوين والاٍيثريوم
● تحتاج بعض أجزاء أندرويد ومحركات البحث لجوجل أن يتم كتابتها بلغة C++.
لغة C++ تعتبر لغة عامة الهدف ( General Purpose ) مما يعني انها قادرة على بناء أي برنامج.
و القوة الحقيقة لها تتجلى في المشاريع والبرامج الكبيرة مثل:
بناء و تطوير انظمة التشغيل ومن اشهر انظمة التشغيل المبنية بهذه اللغة Windows, Linux, MacOS, Android.
بناء و تطوير البرامج الكبيرة مثل برامج أدوبي ( مثل Photoshop و Premier ) و المتصفح Firefox.
4. مميزات لغة C++ بالنسبة للمطورين
لها شعبية هائلة و هناك الكثير من المراجع لمن يريد تعلمها.
القدرة على التحكم باستخدام الذاكرة بشكل كبير.
خفيفة وسريعة وتستهلك موارد نظام أقل مقارنة بلغات اخرى مثل بايثون.
بالامكان تحويل كود مكتوب بلغة C لكود بلغة
C++ بسهولة.
5. مميزات لغة C++ عن باقي لغات البرمجة
مفتوحة المصدر
لن تدفع أي مبلغ لتعمل على لغة C++ فهي مصدر مفتوح و مجانية.
خفيفة
تستطيع البرمجة بها حتى و لو كان حاسوبك ضعيفاً أو قديماً.
البساطة
تعلمها ليس بالصعوبه التى تقال عنها فهى يمكن تعلمها بشكل متدرج حتى يمكن فهمها و الالمام بها.
سرعة الترجمة
تتم ترجمة لغة C++ إلى أوامر يفهمها الجهاز بشكل سريع جداً.
لغة كائنية ( Object Oriented )
مع أن لغة C++ صممت لتكون قريبة من عتاد الجهاز و قريبة للغات منخفضة المستوى إلا أنها تتيح لمستخدمها بناء الكلاسات والتعامل معها بطرق منهج البرمجة الكائنية ( OOP ) مثل الوراثة و تعدد الأشكال و غيرها من المبادئ .
متعددة النماذج
تسمح لغة C++ لمستخدمها باختيار الطريقة المناسبة له لكتابة الكود البرمجي من بين عدة نماذج مختلفة مثل النموذج الهيكلي ( Structural ) الشبيهة بلغة C والنموذج الكائني ( Object Oriented )
الدعم الكبير
لغة C++ من اللغات القديمة نسبيا والمنتشرة بشكل كبير مما جعل منها لغة ذات شعبية كبيرة و مصادر تعلم مختلفة و متعددة و دعم كبير من قبل مجتمع المطورين.
6. ماذا استفيد من تعلم لغة البرمجه ++C
فى رأئي الشخصى هو ان اهم ميزه من تعلم لغة البرمجه ++C
هو تكوين الاساس لتفكير برمجى سليم يمكنك من الانتقال الى لغات برمجيه اخرى اذا كنت تنوى احتراف مجال البرمجه و جعله مهنه لك.
و حتى و ان لم تشتغل بالبرمجه فلن تخسر شيئا من تعلم البرمجه و يكفى انك ستكتسب من البرمجه قوة التفكير المنطقى و المنظم و الذى بالتاكيد سيساعدك فى نواحى حياتك الاخرى.
7. توجد عدة اراء عن تعلم لغة البرمجة سى بلس بلس و اتركك عزيزى القارئ لقرائتها و تقييمها ، فمثلا:
انا اتعلم لغة البرمجة c++ وادر حاليا تراكيب البيانات لكن أسئل نفسى ما فائدتها فالجميع يستخدم لغة c# او java.
فى عمل برامج desktop or web application اما c++ فلا تعمل هذا او تربط بقواعد بيانات مثلا.
فماذا يمكن ان تفيدنى هذا اللغة وهل لها عمل بمصر او الوطن العربى ؟
فواحده من الاجابات كانت:
هي مدخل للبرمجة و تعتبر اللغة الام
وهناك شركات كثيرة تقوم انظمتها على السي والسي ++
البنوك وبرمجه الماستر كارد ويكفي انها من اساسيات لغات البرمجة.
سي بلس بلس مناسبة لكل شيء. من إنشاء تطبيقات سطح مكتب صغيرة إلى تطوير الألعاب الكبيرة.
لكن C# (سى شارب) و جافا أكثر شعبية في مجال التطبيقات الصغيرة لسهولتها ولا علاقة للأمر بكفاءة اللغة وقوتها.
طبعا يمكنك ربط برنامجك بقاعدة بيانات وإنشاء واجهات رسومية وفعل ما تريد.
يمكنك إستعمال المكتبات التي يوفرها مطورو محركات نظم قواعد البيانات مباشرة أو يمكنك إستعمال مكتبات كيوت.
لغة ال c++ هي لغه قويه جدا صحيح انها لا تستخدم في عمل الكثير من البرامج ولكنها تستخدم في التعامل مع الذاكره والهارد وير وهي جزء من لغة php.
لأنها اللغة الاقوى لناحية الاداء و السرعة لتطوير تطبيقات الdekstop و حتى تطبيقات الويب.
معظم البرامج الاحترافية التى تستخدمها مطورة باستخدام السى++ او السى, مثل الoffice, الweb browsers كلهم, و الالعاب, كلها تكتب بالسى++.
يمكن ربط سى++ بقواعد البيانات غالبا سوف تستخدمها مع بيئة تطوير متكاملة و أشهر بيئات التطوير المتوفرة لتطوير برامج الويندوز Visual c++ من مايكروسوفت, و c++ builder من امباركاديرو, و الاخير أفضل لناحية الربط مع قواعد البيانات و برامج الGUI.
اما من الناحيه الاخرى فكان رأى اخر يقول ان
سيدى لغة C++ من اللغات القوية فعلا ولكن لا انصحك بتعلمها الان لاسباب كثيرة اولا كمبرمج جديد تحاول الدخول لهذا العالم الكبير بالطبع يجب ان تطرق اسهل الابواب حتي لا يتسلل الملل اليك وتترك البرمجة من اول الايام فالمبرمج الجديد في بدايته يحب الانجازات السريعة حتي تشجع وتنمي لديه حب المواصلة وتشعل نار الشغف للمزيد لذلك تعلم اللغات التي تكون سهلة نوعا ما مثل لغة الفاجوال بيسيك او البايثون، وستجد نفسك مع الوقت بعد ان
تقطع شوطا جيدا انك تبحث عن الافضل والاصعب كنوع من التحدي بعد ان تكون تسلحت بالمعرفة الكافية .. لذلك لا تبدا بتسلق جدار القلعة بل ابدا بالدخول من الباب .
ثانيا : لغة ال C++ لا تعد من اللغات ذات الوظائف المنتشرة او السهلة فعندما تجد اعلان لوظيفة تطلب مبرج c++ فانه بالطبع لا يطلب مبرمج يعرف اساسيات اللغة او لربط برنامج مع قاعدة بيانات بل مبرمج متمرس لمهمات صعبة وشاقة وتتطلب الكثير من المعرفة والخبرات في مجالات كثيرة حتي تستطيع تلبية شروط الوظيفة .
ثالثا : اهدار لوقتك وعمرك في لغة لا تجد لها وظيفة الا نادرا و في شركات كبيرة بعد ان تكون قضيت سنين طويلة في تكوين الخبرات المناسبة ان استطعت شق هذا الطريق بهذه المدة الكبيرة بعدها لتستعد للبحث عن وظيفة نادرا ما قد تجد شروطها ينطبق عليك الا في حالات نادرة وفي مجالات محدودة جدا .
رابعا : التطور اليوم يتجه نحو لغات اكثر انتاجية كلغات (الدوت نت) واللغات المماثلة لكثرة انتشارها ففرص العمل بهذه اللغات كبير كما انها لغات تمكنك من العمل بمفردك لبناء تطبيقات خاصة بك وتسويقها بنفسك علي عكس لغة c++ التي تتطلب جهد ووقت كبير في انتاج برنامج يمكنك صناعته باقل من ربع الوقت المهدور فيها كما تتطلب جهد جماعي لانتاج تطبيقات جيدة.
هى لها فائدة فى التعامل مع ال hardware أكثر منه إنشاء ال software.
أسهل فى التعامل مع لغة الآلة بأسلوب optimized يوفر فى الذاكره و الإمكانيات .
لذلك هى مهمة فى عمل engines للألعاب و كذلك فى operating systems.
هى ليست معده للتعامل مع ال GUI و لكن هناك مكتبات خاصه بها توفر ذلك.
تمام و لكن لماذا شركة جوجل تطلب مهندسى السوفت وير يعملون ب ( C او C++) ؟
جوجل لديها العديد من المنتجات مثل :
محرك البحث , يوتيوب , نظام أندرويد
كل هذه الأنظمة قد تحتاج فى أجزاء منها إلى ال C++
فمثلاً قد يتطلب معالجة فيديو يويتوب بعد رفعه أن يتم برمجة extension بال c++ للقيام بذلك.
اذن الان نستطيع ان نقول ان لغة سى بلس بلس هى فعلا اقوى لغات البرمجة
و لكن ليس تحت شرط ان تكون اقوى لغة برمجه هى افضل لغه للبرمجه
لأن لغة البايثون اخف و اسهل من لغة ++C و لكن هى افضل من لغة سى بلس بلس فى البرمجة وفقا رأى كبار المبرمجين
Comments
Post a Comment