السلام عليكم ورحمه الله وبركاته
" اللهم علمنى ما ينفعنى وانفعنى بما علمتنى انك انت العليم الحكيم "
بإذن الله انا نويت ابدأ سلسلة معاكم #Legendary_Coder , وببساطة احنا هانتكلم فيها عن البرمجة وازاى تبقى مبرمج ناجح , وهانزل كل فترة موضوع نتكلم فيه عن جانب من جوانب البرمجة ان شاء الله .
النهاردة أول موضوع لينا فى السلسلة وعنوان النهاردة :
إزاى نبدأ فى مجال البرمجة ؟
قاعدة بسيطة حاول تمشى بيها “ البداية الصح هيا اساس النجاح “ وخليك متأكد دايما ان بداية اى حاجة بيبقى فيها شىء من التحدى والصعوبة , وفى أساسيات حاول تتحلى بيها وهيا الصبر والمحاولة والاجتهاد ولازم تبقى متأكد انك مش هاتبقى مبرمج بين يوم وليلة .كل واحد عايز يتعلم البرمجة بيرسم لنفسه حلم انه هايتعلم ويكتب كود ويعمل موقع او برنامج ويبقى مشهور وينجح , ومع اول برنامج او كود يكتبه الدنيا بتبدا تقفل وبيبدأ الاحباط وبيشوف نفسه مش مؤهل للبرمجة ويتجهه لمجال تانى , يبقى أهم سؤال قدامنا دلوقتى :
إزاى نبدأ برمجة صح ؟
مثال صغير : لو معاك قلم ( أداة ) بس مش بتعرف تكتب ( مشكلة ) , تفتكر القلم بالنسبة لك هايبقى ليه لزمة ؟! , الاجابة المنطقية أكيد لا .بالنسبة للبرمجة : لو بتعرف تكتب كود بلغة برمجة ( أداة ) بس مش بتعرف تفكر فى حل (مشكلة ) , تفتكر البرمجة والكود بالنسبة لك هايبقى ليها لزمة ؟! , الإجابة بردو أكيد لا
قبل ماتبدأ تتعلم لغة برمجة وكتابة كود , لازم تتعلم الأهم وهو ازاى تفكر واقصد بـ ازاى تفكر , انك ازاى تحلل مشكلة بشكل منطقى لانك بتتعامل مع الكمبيوتر اللى مابيفهمش غير 0 و 1 , فلازم تفهم ازاى تتعامل معاه بالطريقة اللى هو بيفهم بيها .
ويبقى كدا عرفنا ان المبرمج انسان بيحلل المشكلة اللى بتقابله بطريقة منطقية وعملية .
طبعاا محدش يجى يقولى ازاى افكر :) , السؤال الصح هو ازاى اغير من طريقة تفكيرى وتحليلى للمشاكل علشان اعرف احلها بالأداة اللى هيا لغة البرمجة ؟
السؤال دا صعب واجابته مرهقة جداا وتقريبا بتكون غير كافية , طريقة التفكير بتتأثر بحاجات كتير زى البيئة المحيطة والتعليم ونواحى كتير فى حياتنا الشخصية . ودليل على ان التفكير جزء مهم جداا من البرمجة هو ان سيرجى برين ولارى بيج مؤسسا جوجل احدهما متخصص فى الرياضيات ولم يدرس الكمبيوتر الا فى مرحلة الدكتوراة والتانى كان مجال الدكتوراة بتاعة متعلق بالرياضيات والويب , ولارى بيج هو مؤسس خوارزمية Page Rank
طيب واحد هايقولى يعنى اروح اتعلم رياضيات من اول وجديد ولا اموت نفسى يعنى :D
اقوله لا يا ابو دم خفيف :D ,, فى مواضيع معينة فى الرياضيات بتهتم بالجزء المنطقى حاجة زى الجبر المنطقى او الرياضيات المحددة Boolean algebra , Discrete mathematics , و دول اهم جزئين فى الرياضيات ليها علاقة بالكمبيوتر والبرمجة وهتحتاجهم كتير طبعا , طويب سؤال تانى ازاى اتعلم الرياضيات دى ؟!
![]() |
Discrete mathematics |
بالنسبة للرياضيات المحددة Discrete mathematics :
الكتاب دا كويس جداا يكاد يكون افضلهم فى الرياضيات المحددة وهو كتاب
Discrete mathematics with applications 4th edition
ودا كورس كويس بيغطى المواضيع فيها حاول تتفرج عليه من وقت للتانى ودا من مكان لا يختلف عليه اتنين فى مجال التكنولوجيا وعلوم الحاسب MIT ;)
دلوقتى انا تفكيرى تماام وهاتعلم الرياضيات المنطقية وانظم طريقة تفكيرى وعايز ابدأ فى لغة برمجة بس محتار , واحد يقولك شوف انت عايز تعمل ايه واتعلم اللغة اللى تناسبه بمعنى لو عايز تعمل برامج اندرويد يبقى تتعلم جافا , عايز تعمل صفحات ويب يبقى تتعلم بى اتش بى وهكذاا
من وجهة نظرى المتواضعة ودا تقريباا رأيى الشخصى ان الكلام دا مش صحيح أو على الأقل ماينفعش لشخص لسا بيبدأ فى مجال البرمجة وبيفهم يعنى ايه برمجة
الصح من وجهة نظرى انك تبدا بلغة برمجة عتيقة كدا :D
حاجة زى لغة السى أو السى بلس بلس تتعلم منهم الاساسيات وازاى كل حاجة بتشتغل وتفهم منها يعنى ايه برمجة ودا مايمنعش ان لغة زى لغة الجافا او البايثون او اى لغة اخرى مش كويسة او ضعيفة , احنا عايزين فى الاول لغة نتعلم منها الاساس صح مش اكتر ^_^
فى السلسلة دى احنا ان شاء الله هانتعامل ونتعمق مع لغة السى بلس بلس وعلشان تتعلم اللغة انصحك بالبلاى ليست دى للبشمهندس احمد محمد السيد
هيا طبعاا انصح بيهاا جدااا بس لو فى حد بيزهق من الوقت بتاعهاا ودا لانها بتغطى كل حاجة تقريباا فبردو مش هانحرمك من حاجة واقدملك البلاى ليست دى للباشمهندس مصطفى سعد
للناس اللى بتحب القراءة او عايز تقرأ وتستفاد اكتر وتتعمق اكتر من الكورس وتتحصل على قدر اكبر من المعلومات المعروضة فى الكورس , ممكن تبص على الكتاب دا هايجيب من الاخر C++ primer
وانت بتتابع اى دورة علشان تتعلم اى لغة برمجة تانيه لاازم تركز على الاساسيات وتفهمها كويس جداا ولو مافهمتش حاجة عيدها تانى وتالت ورابع زى ما قولنا الصبر مهم ,,
لازم تهتم بالـ Syntax كويس جدااا وتفهم كل جملة وكل أمر بيعمل ايه , تهتم بحاجات زى :
- Input and output
- Conditional operators
- Loops
- Structure
- Classes and OOP
الحاجات دى اساسيات اى شىء موجود حواليك ليه علاقة بالبرمجة , فهمت الحاجات دى انت كداا فهمت برمجة كويس جدااا وتقدر تنتقل بسهولة بين اللغات التانيه :)
شوية نصائح برمجية بقى :
الصبر ثم الصبر ثم الصبر هو اهم سلاح ليك , انك تحاول وتفشل وتحاول وتفشل وتحاول وتفشل لحد ماتوصل دا اهم سبيل لانك تبقى كويس فى البرمجة واهتم بالرياضيات المنطقية والمحددةشوية نصائح برمجية بقى :
ماتزهقش من التعليم لانه ببساطة مالوش نهاية وهاتفضل طول عمرك تتعلم خصوصا فى مجال البرمجة والتكنولوجيا لانه كل يوم فى جديد
اقرا كتير عن التكنولوجيا الحديثة والمتطورة وحاول تفهمها لأن كل حاجة حواليك ممكن تتبرمج ;)
********************
فى النهاية اتمنى اكون افدتكم ولو بالقليل ومرحباً بيكم فى عالم البرمجة , واستنونى ان شاء الله فى موضوع جديد فى سلسلة
#Legendary_Coder :)