كيف تتعلم البرمجة بلغة سي ؟

نشره زايد في
السي لغة برمجة قوية طورت أول مرة سنة 1970 . و تعلمها مرتبط بخبراتكم في مجال البرمجة و يحتاج إلى الوقت و الصبر. لكن بتعلمكم لها ستجدون أن تعلم اللغات الأخرى سيصبح سهلا جدا. هذا المقال ليس لتعليم كامل لغة سي ، ولكنه سيساعدكم فقط على البداية في الطريق الصحيح لتعلمها.

الخطوات

1- أولا يجب عليكم اختيار المترجم الملائم لنظام تشغيلكم ،و كذلك تحديد ما إذا كنتم ستعملون من خلال بيئة تطوير متكاملة "IDE" أو أنكم ستعتمدون على تحرير ملفات السي يدويا عن طريق أي محرر نصوص بسيط مثل النوت باد و من ثم ترجمتها عن طريق سطر الأوامر.
- اذا كنتم تعملون على نظام الويندوز، فقوموا بتجربة فيجوال سي++ إكسبريس 2005 المتاح للتنزيل المجاني.
- ذا كنتم تعملون على نظام لينكس، فقوموا بتجربة kdevelop أو Eclipse 
- يمكنكم استخدام أدوات سطر الأوامر المسماة بـ "gcc" كبديل ، وهي تعمل على جميع أنظمة يونكس و من الممكن أيضا إعدادها للعمل على نظام ويندوز إن أردتم. 
2- تعلم كيف تقوم بعمل ترجمة ترجمة لبرنامج بسيط ، و لا بأس لو كان هو برنامجك الأول على اللغة والذي يعرض جملة "Hello, World"، باختصار لا تهتم كثيرا بالتفاصيل الصغيرة كطريقة صياغة الأوامر ، و لكن ركز تعلمك على الترجمة والتشغيل مباشرة.
3- اطلع على أنواع المتغيرات المستخدمة في اللغة (char, int, float, double) وغيرها، و ستعرفها أكثر لو عرفت الفروق البسيطة بينها.
4- تعرف على فكرة عمل المتغيرات ، والمصفوفات، والدوال ، حيث أن المتغيرات هي مكان حفظ المعلومات، والدالة هي جزء من الشيفرة يمكن تنفيذها ، أما المصفوفة فهي مجموعة من العناصر المرقمة والتي تحتوي على نوع ثابت غالبا من أنواع البيانات .
5- تعلم المؤشرات فهي أمر مهم جدا في السي لأنها تسمح لك بالوصول مباشرة إلى محتويات الذاكرة ، ولكن عيبها إذا لم تخبتر بشكل جيد فإن البرنامج سوف ينهار.
6- تعلم عبارت الشرط مثل if و switch ، و هي من العبارات التي ستستخدمها كثيرا في برامجك فهي تسمح لك بتنفيذ أكواد مرتبطة بتسلسل مشروط اعتمادا على إجابة الشرط سواء كانت كانت صحيحة أو خاطئة.
7- تعلم الحلقات التكرار .و معرفة الفرق بين حلقة "for" و حلقة "while"، و تأكد أيضا من عدم الوقوع في الحلقات اللانهائية ، لا تنسى أن تتعلم ماذا تعني كلمة break و كلمة continue و متى نستخدمهما.
8- تعرف على هياكل البيانات رغم أنها ليست مرتبطة مباشرة بالبرمجة إلا أن معرفتها أساسية بالنسبة للمستخدم المتقدم ، ستحتاج إلى بعض المفاهيم الأساسية في علوم الحاسوب .
9- ابدأ بكتابة البرامج الصغيرة، حاول أن تحدد الجزء الأهم من المشكلة ،هل هي في إدخال البيانات أم منادات الدوال أم بنية الحلقات التكرارية ( هذه مجرد أمثلة بسيطة جدا ) و انطلق من تلك النقطة ، ثم ابن فوقها بتدرج.
10- تعلم أساسيات وخطوات تنقيح الشفرة ، قد يكون ذلك معقدا أو صعبا قليلا، ولكن ذلك سيفيدك أكثر عندما تعمل مع شيفرات طويلة.
11 - اشترك في بعض القوائم البريدية المهتمة بهذا المجال للتمكن من طرح الأسئلة ومناقشة الأفكار مع الأعضاء.
12- تذكر أن أهم مفتاح لتعلم أي شي هو المثابرة والعمل الجاد في سبيل التعلم.

تلميحات

- تذكر أنا "سي" هي لغة برمجة، وتعلم أي لغة برمجة لا يعني بالضرورة تعلم البرمجة، فالبرمجة تهتم أكثر بحل المشاكل من مجرد كاتبة و تشغيل برنامج بلغة بعينها.
-إذا صادفتك أية أخطاء لغوية أثناء الترجمة ، ولم تجد لها حلا، فيمكنك استخدام "جوجل" للبحث عن حلول لنفس المشكلة والتي غالبا ما ستكون قد اعترضت مبرمجين قبلك و طرحوا لها حلولا.
- حاول اقتناء كتاب جيد لمساعدتك على تعلم لغة سي، ومن الكتب المقترحة هو كتاب "The C Programming Language" من تأليف براين كيرناين و دينيس ريتشي. و للحصول على المسودة الأصلية للكتاب يمكن زيارتها هنا ، لا تنسى أن تلقي نظرة على هذا الكتاب العربي . 
ترجمة للمقال : How to Learn to Program in C

بواسطة : حوحة محمد إلياس (pein) عبدالله محمد (Googlian) الترخيص :  Creative Commons