كم يستغرق أن تصبح مطور C++؟
وقتًا أطول مما تتطلبه معظم اللغات: من تسعة إلى ثمانية عشر شهرًا، بمعدل ساعة يوميًا تقريبًا، نطاق واقعي للانتقال من الصفر إلى مقابلة تقنية لوظيفة مطور C++ مبتدئ. مساق C++ نفسه يستغرق نحو شهرين بهذه الوتيرة، وقسم البرمجة كائنية التوجه فيه، بما يضمه من إدارة الذاكرة والقوالب ودلالات النقل، هو الجزء الذي ينبغي أن تأخذه ببطء؛ ويضيف سطر الأوامر وGit وSQL نحو شهر؛ وتضيف هياكل البيانات والترتيب شهرين أو ثلاثة. ثم تضيف الأدوار المتخصصة مجالها: محرك ألعاب، أو منظومة تداول، أو متحكم دقيق.
هل C++ لغة أولى جيدة لمهندس البرمجيات؟
إنها لغة أولى متطلّبة. تتعلم بها كيف تعمل الذاكرة والأنواع والترجمة حقًا، وهذا يجعل كل لغة لاحقة أسهل، لكنك تدفع ثمن ذلك تقدّمًا أبطأ وأخطاءً أقسى في البداية. إن كنت تعرف مسبقًا أنك تريد العمل في الألعاب أو الأنظمة أو البرمجيات المدمجة، فالبدء بلغة C++ خيار معقول؛ وإن لم تكن متأكدًا، فكثيرون يتعلمون Python أولًا ثم ينتقلون إلى C++، وصفحة مسار مهندس البرمجيات هي خارطة الطريق هذه نفسها بلغة Python.
ماذا يحتاج مطور C++ أن يعرف إلى جانب C++؟
سطر الأوامر وGit وSQL، وهي ما تغطيه خارطة الطريق هذه، ثم سلسلة الأدوات المحيطة باللغة: نظام بناء، وهو CMake في الغالب؛ ومنقّح أخطاء (debugger) مثل GDB أو LLDB؛ وأدوات sanitizers التي تلتقط أخطاء الذاكرة أثناء التشغيل؛ ومدير حزم مثل vcpkg أو Conan. بعد ذلك يأتي المجال الذي تستهدفه، سواء كان محرك ألعاب، أو البنية الداخلية لأنظمة التشغيل، أو الشبكات، أو العتاد المدمج.
C++ أم Rust لمسيرة مهنية في برمجة الأنظمة؟
لغة C++ لحجم سوق العمل القائم، ولغة Rust لحصة متنامية من المشاريع الجديدة. محركات الألعاب وأنظمة التداول والمتصفحات والمترجمات هي في معظمها قواعد كود مكتوبة بلغة C++ وطويلة العمر، بينما تكسب Rust أرضًا في البنية التحتية الجديدة والكود الحساس أمنيًا، لأن مترجمها يستبعد فئات كاملة من أخطاء الذاكرة. وتعلّم C++ أولًا يجعل قواعد Rust تبدو مألوفة، وخارطة الطريق هذه متاحة بلغة Rust أيضًا.
أي مساق في خارطة الطريق هذه لا يُدرَّس بلغة C++؟
مساق واحد: الكود النظيف لا يُدرَّس حتى الآن إلا بلغة Python، لذا تجده مدرجًا بعد الخطوات، لا في الخطوة السابعة. وموضوعه، أي التسمية والدوال الصغيرة والمسؤوليات الواضحة، لا يرتبط بلغة بعينها، وإرشادات C++ Core Guidelines تطبّق التفكير نفسه على C++ بعد أن تنهي المساق. وكل الخطوات بلغة C++، بما فيها المشروع كائني التوجه ومسائل البرمجة.
هل خارطة طريق C++ هذه مجانية؟
نعم. كل مساق فيها مجاني: الدروس، ومترجم C++ وطرفية Linux داخل متصفحك، والتحديات التي تُصحَّح بالاختبارات، وتلميحات Bugsy، والشهادات. يرفع اشتراك Pro الحد اليومي للطاقة ويتيح مساعدة ذكاء اصطناعي بلا حدود، ولا شيء في خارطة الطريق هذه يتطلبه.