هل إتقان البرمجة يحتاج لسنوات كما يقال؟

هل إتقان البرمجة يحتاج لسنوات كما يقال؟ مثلاً إن حددت ساعة أو ساعتان يومياً لها، فكم تقريباً سيستغرق إتقانها؟


ساجيبك اولا عن تعلم البرمجة وبعدها ساجيبك عن اتقانها. لكن قبل المضي في توضيح بعض معالم الطريق في رحلة تعلم واتقان لغة برمجة انا أفترض انك تتحدث عن لغات البرمجة العليا (High-level Programming laguages) كلغة الجافا، السي بلس بلس، السويفت، البايثون وما يندرج تحت تلك الفئة.


تعلم. {

المقصود بالتعلم انك تكون على دراية كاملة باللغة البرمجية وقواعدها (Syntax) وعلى علم بجميع مكوناتها (Language Fetures) بالإضافة لقدرتك على قراءة بيانات خصائص اللغة (Language Documenataion). بالإضافة إلى قدرتك على تحويل بعض الأفكار بسيطة التعقيد الى اكواد برمجية وكتابة كود عملي بشكل جيد.


حقيقة ومن واقع خبرة في تعلم اكثر من لغة برمجة واستخدامها في مشاريع حقيقية متوسطة، تعلم لغة برمجية والإلمام بجميع مكوناتها (Language Fetures) ليس بالامر الصعب على الاطلاق ويمكن ان تكمله في ٤ الى ٦ اشهر جسب جدولك ساعة إلى ساعتين يوميا. ولكن نجاح العلمية التعليمية من دون عوائق ومشاكل مستحيل، لذا سأضع لك مجموعة من المشاكل التي قد تواجهك مع بعض الحلول الخاصة بها والتي حتما ستوفر عليك الكثير من الوقت.


العثور على المصدر المناسب للتعلم: حيث تعتبر تلك من اهم الخطوات عند البدء في تعلم اي لغة برمجة. فمثلا اذا بدأت بتعلم لغة السي بلس بلس من خلال بعض المقالات على الانترنت حتما ستتعلم بعض من خواص اللغة وكيفية كتابة برامج باستخدامها لكن ستكون محدود ومشتت بعض الشي لعشوائية المحتوى المتواجد على الانترنت وعدم الالمام بجميع النقاط المهمة لكمال فهم ما يتم تقديمه. والحل مثلا في تلك الحالة الخاصة هي قراءة كتاب المخترع للغة السي بلس بلس (Bjarne Stroustrup) حيث يوفر طريقة منهجية لمن هو جديد كليا على اللغة مع الامثلة، ولن تجد افضل من صانع الشي في شرحه. لاحظ اني لم اذكر الدورات التعليمية المتواجدة على الكثير من المنصات حيث انها ستقدم لك المادة المناسبة ولكن لن تكون انسب طريق للإتقان كما وددت انت. سأذكرها بالنقطة التالية.

عدم اخذ اي دورة تعليمية على منصات الانترنت كالمصدر الرئيسي للتعلم. تعتبر الدورات التعليمية على الانترنت جزء فعال ومفيد في بداية رحلة التعلم. حيث انك تشاهد مقطع فيديو وتطبق ورائه مع شرح خواص اللغة. ولكن يعتمد معظم صانعي تلك الدورات وشارحيها الى الإختصار في كثير من الامور وهذا ما يفقدك بعض من التفاصيل المفيدة في رحلتك للاتقان. ولكن احذر من الجهلة مدعين المعرفة لشرح لغة برمجية وبالنهاية تضيع وقتك ولا تتعلم الكثير وتحتاج الى الإعادة وما أكثر هؤلاء على الانترنت في جميع المجالات.

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

رحلة التعلم تحتاج للإستمرار. قد يجول بذهنك ان تقوم بكتابة اكواد برمجية وتجربتها وهذا هو العامل الاساسي والافضل في الممارسة والتعلم ولكن ايضا قراءة اكواد برمجية لاخرين ومقالات عن اللغة يعتبر مفيد.


تلك بعض النقاط عن رحلة التعلم وبعد التعلم تأتي مرحلة الاتقان. }

إتقان. {


المقصود بالإتقان في تعلم لغة برمجية هو قدرتك على تحويل افكار بسيطة التعقيد الى عالية التعقيدة باكواد برمجية فعالة، سريعة، منظمة وقابلة للقراءة والتطوير المستمر. وأيضا الدراية الكاملة بطريقة عمل اللغة وطريقة عملها مع الذاكرة (Memory) حيث يعتبر عامل اساسي في كتابة البرامج الكبيرة. بالإضافة للقدرة على كتابة مكتبات خاصة (Libraries) واستخدام مكتبات الاخرين. بالإضافة للعلم بطرق تطوير البرامج داخل فريق واستخدام اساليب الـ (Continuous Integration) مع القدرة على اختبار الكود وعمل (Unit tests). وهذا ليس كل شئ فيختلف ما تحتاجه من لغة لاخرى لاتقانها.


والعامل الاساسي الذي سيساعدك في اتقان لغة برمجة هو استخدامها في مشاريع وحل الكثير من المشاكل (Bugs). إضافة لذلك يمكنك تصفح وقراءة الاكواد البرمجية في مجتمع المحتوى المفتوح المصدر (Open Soure Community) حيث ستجد الكثير من المشاريع الرائعة والضخمة التي ستساعدك في فهم نقل الافكار الى اكواد برمجية وايضا تعلم تقنيات جديدة في كتابة الكود.

0 Commentaires