jeudi 5 septembre 2019

 نصائح تجعلك قادرا على إكتساب أي لغة برمجة

نصائح تجعلك قادرا على إكتساب أي لغة برمجة

 نصائح تجعلك قادرا على إكتساب أي لغة برمجة

Résultat de recherche d'images pour "programmation"

DSA:

      إن السر  لا يكمن في لغة البرمجة، يكمن في الأساسيات الهيكيلية للبرمجة، و هنا نتحدث عن الـ DSA، و هي إختصار لعبارة Data Stricture and Algorithm، هيكلة البيانات و الخوارزميات، تسمح لك الخوارزميات بتعلم العديد من الأشياء على رأسها الـ Problem Solving او حل المشاكل البرمجية و طريقة التخطيط لأي مشروع برمجي، الى جانب ان قواعدها مُطبقة في كل لغات البرمجة مع إختلاف الـ Syntax فقط، فإن تعلم أساسيات الخوارزميات و كيفية كتابة خوارزمية نظيفة و سليمة، فأنت قادر على كتابة سطر برمجي بأي لغة برمجة بإحترافية و بشكل سليم، الإختلاف يبقى فقط في الـ Syntax . 
     ثم وجد لاحقا خبراء في المجال ان الخوارزميات جيدة، لكن يمكن لشخص كتابة خوارزمية بشكل عادي، و يمكن لشخص آخر ان يكتبها بذكاء، بإختصار للكود البرمجي، ليس هذا فقط، بل إبتكر طريقة أسهل و أيسر و أكثر حماية و فعالية، خصوصا حين يتعلق الأمر بالديناميكية او التعامل مع البيانات، فعلى سبيل المثال كيف نستطيع تسجيل عدد من البيانات غير معروف ؟ فنحن يمكننا فقط تسجيل Array مثلا بعدد من الخانات المحددة، ماذا لو كان عدد الخانات صغير جدا مقارنة مع حجم البيانات ؟ ماذا نقوم بوضع عدد كبير من الخانات نملأ بعضها و نترك بعضها فارغا ؟ هذا سيأخذ الكثير من المساحة، فكيف يمكن جعل المصفوفة ديناميكية قادرة على التقلص و التمدد حسب نوع البيانات ؟ 
    او بمنطق آخر لنتحدث عن الفسيبوك، الفيسبوك لديها أزيد من 4 مليار مستخدم تقريبا، ماذا لو اراد شخص ما الدخول لحسابه ؟ هل سيتوجب علينا المرور على كل سطر من المستخدمين و مقارنة اليوزر و الباسوورد الى حين إيجاده ثم الدخول ؟ قد يستغرق الأمر أياما، ربما قرونا لو كان الفيسبوك موجودا سنة 1990 ... هنا تتدخل هيكلة البيانات التي تساعدنا في التعامل الدقيق و القوي مع البيانات بمختلف أنواعها . 
إذن الـ DSA هي البداية، إتقانك للـ DSA يعني تقليص حجم كبير من المعاناة في تعلم أي لغة برمجة مستقبلا . 

تعلم الـبرمجة كائنية التوجه او الـ OOP :

البرمجة كائنية التوجه او الـ Object Oriented Programming هي الملاذ، و هي ثاني شيئ يجب عليك ان تتقنه كثيرا بعد ان تتعلم كتابة الـ Syntax في لغة برمجة معينة، فبعد ان تتعلم الطباعة و كتابة الـ if Else و الـ For , While , Switch و غيرها، عليك ان تبدأ في إتقان الـ OOP من أسفله لأعلاه، يوجد إختلاف طفيف في كيفية إستخدام تقنيات الـ OOP في اللغات البرمجية، لكن عموما يوجد مبادئ أساسية تتمتع بها البرمجة كائنية التوجه من الأساسي و الضروري فهمها بشكل عميق على رأسها الرباعي الذي يشكل أسس الـ OOP و هي الـ : Encapsulation , Inheritance, Abstratction و الـ Polymorphisme، هذه القواعد الأربعة تشكل تقريبا الـ OOP بأكمله، و ننصحك نصحاََ شديدا بتعلمها و فهمها و التعمق الكبير فيها، فهي أساس كل برنامج حي اليوم كيفما كان، او اي منصة او موقع في العالم كذلك .

إكتساب البرمجة يأتي بكثرة المشاريع :

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

إكتساب لغات التحليل تُساعدك أيضا على تعلم البرمجة:

يُعتبر المبرمج الدرجة الأخيرة في سلم الـ IT، إذ يعلوه العديد من الأشخاص الآخرين المحترفين في المجال مثل الـ Project Manager و الـ Analysis و غيرها، و يعتبر المبرمج مجرد شخص يقوم بترجمة الأفكار و المعطيات و التحليلات الى كود برمجي لا أقل و لا أكثر، لكن من يعلوه في هذا السلم قد كان مبرمجا من قبل، بل يعرف كل جوانب البرمجة و ملم بكل تقنياتها كذلك، لكنه قرر ان يأخذ منحى آخر، قرر ان يمارس التحليل و حل المشاكل و توفير المشروع بشكل مبسط للمبرمجين من أجل تطويره، فإن لم يفعل ذلك، قد يقضي المبرمج أشهرا محاولا تفسير ذلك المشروع و تفكيكه.
يعتمد المحلل على تقنيات و لغات أخرى في التحليل مثل الـ UML او Merise، هذه التقنيات تساعد على تحليل المشروع البرمجي و تفكيكه، و لا يمكنك إطلاقا تفكيك مشروع برمجي إن لم تكن لديك خلفية قوية على البرمجة، فالـ UML على سبيل المثال يسمح لنا بتفكيك المشروع البرمجي او فكرته الى Diagrams مختلفة، بعض هذه الـ Diagrams و لنقل مثلا Class Diagram يسمح لك بتحديد الكلاسات و الـ Objects او الكائنات التي ستستخدمها في مشروعك البرمجي، و دورة حياتها (Object Lifecycle) و كذلك خصائصها و كيف تتحرك وسط مشروع برمجي ( هل ستكون عبارة عن Abstraction و لديها قيم أعلى او مجرد كلاسات عادية ... ). 
إتقانك لمهارات التحليل أشبه بإتقان الخوارزميات بشكل نظري، بحيث تستطيع حينها التعامل مع أي مشروع برمجي و برمجته كاملا في بضعة أسابيع بشكل نظيف و صحيح، بدل قضاء جل الوقت في مشاهدة كورس بسيط لمشروع يعتمد على كلاس واحدة و تطبيق عمليات الـ CRUD على الكائن الخاص بها . 




التسميات:
واتساب

مدونة مناصرية جلال : مدونة تقنية تحتوى على مجموعة دروس ودورات فى مجالات تقنية مختلفة مثل دروس تطوير مواقع الويب والبرامج والالعاب والمونتاج والانترنت وغيره من الشروحات المميزة تاست مدونة مناصرية جلال عام 2018 مؤسس المدونة مناصرية جلال مدون جزائري

Aucun commentaire:

Enregistrer un commentaire