لغة C++ هي واحدة من أقوى لغات البرمجة التي يمكنك تعلّمها دون مجهود كبير. فأساسيات اللغة ليست بالكثيرة و بالتالي سريعة الفهم و التعلّم. برامجها تمتاز بالسرعة. لا تعتمد على نظام تشغيل محدد فيمكن استخدامها على Windows, Linux, Mac.. بدون اختلافات. كما أنها لا تزال تتطوّر منذ ظهورها و بالتالي فهي تنافس لغات البرمجة الأخرى.
هذه بعض المصادر التي أنصح باستخدامها لتعلّم أساسيات C++ , و هي أساسيات يمكن تعلّمها في أبسط أشكال البرامج: Console Applications (أي برامج تتعامل فقط من خلال نصوص تظهر للمستخدم أو يدخلها المستخدم)
cplusplus.com
مصدر مثالي لتعلّم C++ من الصفر. يتكون من حوالي 140 صفحة تشمل الأساسيات التي يجب تعلّمها و تحتوي على بعض الأمثلة الصغيرة للتوضيح. هي غير كافية للتمكن من اللغة و لكنها تشكّل صورة كاملة عن اللغة يمكن البناء عليها من مصادر أكبر.
cprogramming.com
هذا المصدر أيضا يبدأ من الصفر و لكنه يحتوى على العديد من المواضيع المتقدمة التي يمكن الدخول فيها بعد التمكن من الأساسيات. و هو أيضا يشرح باستخدام أمثلة بسيطة لتوضيح كل نقطة.
C Frequently Asked Questions
أنصح بتصفحه و لكن بعد تعلّم أساسيات C++ , لأنه يناقش بعض الأخطاء التي قد نقع فيها أثناء البرمجة. أجده مفيدا للتأكد من مدى فهمي لبعض النقاط في C++
ثم المصدر المفضّل لدي:
C++ How to Program
هذا الكتاب رغم كثرة صفحاتة و طول الشرح في كل نقطة في C++ و كثرة الأمثلة التي قد تبدو مملة (على الأقل بالنسبة لي), إلا أنه مثالي في الشرح. فهو لا يعرّفني على إحدى النقاط و لكنه يشرحها بالفصيل و باحتمالاتها المختلفة, بل أيضا أفضل ممارسات البرمجة لكل نقطة من حيث تجنّب الأخطاء و زيادة السرعة. و مع الكتاب تأتي اسطوانة بها جميع الأمثلة المذكورة بالمتاب لتوفير وقت إعادة كتابتها. كما أن النسخة الجديدة من الكتاب بها مواضيع مهمة تخص تطوير C++ و أسباب بقاء C++ قوية و مستخدمة بكثرة حتى الآن.
أي من المصادر السابقة أجده كافيا لتعلّم C++ (مع اختلاف درجات الإتقان و تغطية المواضيع الجديدة). و بمعرفة هذه الأساسيات, نكون مستعدين للإنشاء البرامج ذات الواجهة الرسومية التي نستخدمها في كل برامجنا, و التي سأتحدث عنها في المرة القادمة.
بعض البرامج التي يمكن استخدامها:
في هذه المرحلة من تعلّم C++ , لا داعى لاستخدام أي من البرامج الكبيرة مثل Visual C++, و لكن تكفينا برامج بسيطة مثل:
nice start
ReplyDelete