القائمة الرئيسية

الصفحات

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


السلام عليكم و رحمة الله تعالى و بركاته

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

1- ماهي البرمجة؟
2- ماهي فوائد البرمجة لك شخصيا في حياتك اليومية؟
3- ماهي الشروط الواجبة توفرها فيك حتى تتعلم البرمجة؟
4- هل تعلم البرمجة صعب أم بسيط؟
5- هل البرمجة تتطلب منك أن تكون مجتهدا في الرياضيات و الإنجريزية؟
6- ما هي أنواع البرمجة الموجودة، و ما هو أفظل نوع و المناسب لك لتعلمه؟
7- ماذا يجب عليك القيام به حتى تكون مبرمجا محترفا؟
8- ما هي مصادر تعلم البرمجة، و هل هي مجانية أو مدفوعة؟
9- هل يجب عليك تعلم البرمجة من الكتب أم من شخص مباشرة؟
10- مذا يجب عليك القيام به بعد احترافك للبرمجة؟

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

1- ما هي البرمجة؟ 

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


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

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


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

فبطبيعة الحال لن أكتب له الأمر مباشرة، كمثلا أكتب له:

Hi computer, when someone click this button display this message.

و التي تعني، أهلا أيها الحاسوب، عندما يضغط شخص ما على هذا الزر، أظهر هذه الرسالة. لا يا صديقي، فهذا الكلام نستطيع أنا و أنت و غيرنا أن نقوله و نفهمه، لكن الآلة لا تفهم هذه اللغة و لن تقوم بالإستجابة بهذه الطريقة. إذا كيف سأكتب له و ما هي الطريقة التي سأتكلم معه بها؟ طبعا ستكتب للحاسوب بلغة يفهمها هو أيضا.فجميع الآلات لها لغة واحدة تفهمها بغض النظر عن البلد الذي صنعتها. سواء كان صانع هذه الآلة عربي، انجليزي أو حتى صيني، فالآلة تبرمج بلغة واحدة موحدة. فالآلات كلها في العالم تفهم لغة واحدة تسمى " binary code " أو بالعربي يسمى ب "الكود الثنائي. كل جهاز في الدنيا يفهم أنك تقول له "0 أو 1" ، أكيد فكرت في فيلم "The Matrix" نعم تماما. و بالتالي 0 يعني في لغة البرمجة "خطأ" أو "ألغي" أو غيرها من مفردات خطأ فهذا يندرج تحت مفهوم 0 في البرمجة، و 1 تعني "افتح" أو "صحيح" أو "نفذ" وهكذا من مسطلحات و مفاهيم كلمة صحيح. بمفهوم آخر و هو "افعل" أو "لا تفعل". و بالتالي فالخلاصة هي 0 و 1 هي طريقة اشتغال أي آلة أو برنامج. 

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

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

"c out >>" 

و هذا C يعني character و كلمة out تعني أخرجها أو أظهرها، مثال، إذا كنت ترغب في في إظهار رسالة *اسم المستخدم غير موجود* ستكتب بكل بساطة

"C out >> اسم المستخدم غير موجود.

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

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


و هناك لغات أخرى للبرمجة كمثلا لغة الجافا java language أو لغة أخرى تسمى بلغة البي ه بي php language و غيرها، كلها لغات للبرمجة لاكن تتبع نفس الأسلوب الذي ذكرناه تختلف فقط في بعض الكلمات ءو الإشارات للأوامر. كلغات البشرا تماما، غير أن لغة البشر تسمى languages و لغات البرمجة تسمى programming languages، و لغات البشر لها قواعد و كلمات حتى لغات البرامج لها كلمات و قواعد و طريقة استخدام. و طريقة ترتيب الكلمات و الأوامر تسمى syntax، وتسمى كذالك قواعد الكتابة أو الأوامر 

 في لغة البرمجة. 

الآن تعلمنا معا ما هي البرمجة، أي أنك تعطي للحاسوب أوامر كي ينفذها. و ماذا تعني لغة البرمجة، أي مجموعة الأوامر التي تعطيها للبرنامج كي يترجمها و ينفذها و بالتالي تسمى اللغة التي تتحدث فيها مع الحاسوب حتى يفهمك، و مذا يعني syntax، أي قواعد هذه اللغة التي تتكلم بها مع البرنامج، و مذا يعني المترجم في لغة البرمجة أو compiler، هو الذي يأخذ كلامك أو أمرك بلغة البرمجة ثم يحولها إلى اللغة الوحيدة الذي يفهمها الحاسوب أي الأصفار و الوحدات أو binary code. كل لغات البرمجة الخاصة رغم تعدد أسمائها إلا أنها سهلة جدا جدا، بمجرد أن تبدأ في تعلم قواعد لغة البرمجة ستجد أنها أسهل مما توقعت من قبل. و هذه اللغات يصل نسبة التشابه فيما بينها أحيانا إلى 80% أو أكثر، بحيث أن معظم المبرمجين يستطيع أن يبرمج بأكثر من لغة. بإذن الله لما نبدأ دروس البرمجة سأعلمكم أكثر من 8 لغات للبرمجة، و ستكتشف أن الموضوع ممتع أكثر مما تخيلت. 

2- ماهي فوائد البرمجة في حياتك الشخصية؟

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


نأتي للنقطة التالية و هي لا تقل أهمية عن الأولى، و هي ماهي فائدة لغات البرمجة بالنسبة لي أو في حياتي اليومية؟ هل اختيار البرمجة إجباري أو اختياري؟

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

- البرمجة تجعل منك قادرا على الإهتمام بالتفاصيل إلى أبعد الحدود، كما شرحنا من قبل، syntax، طريقة كتابة كل سطر مع الإهتمام بالتفاصيل، كالفاصلة و النقطة و علامات الأكواد و التشوير، فأنت تتعلم إجباريا بأن تهتم بأدق التفاصيل.

- البرمجة تجعل منك إنسانا أكثر تنظيما حتى في حياتك اليومية، فأنت إذا كنت مبرمج و بدأت العمل على أحد البرامج فأنت مضطر إلى العمل عليه لأيام، قد تصل أحيانا إلى أشهر حتى يكتمل مشروعك، فبالتالي فأنت كل يوم ترجع إليه و تكمل العمل عليه، فأنت إذا لم تكن منظما في حياتك أصلا، عندما تعود اليوم التالي لتكمل المشروع ستجد نفسك تائها، فأنت كتبت مثلا 50 أو 60 سطرا البارحة و عندما تعود لتكمل عليه لا تتذكر شيئ مما كنت تعمل عليه البارحة، و بالتالي تكون نتيجة عدم تنظيمك لأعمالك أصلا في حياتك اليومية، و كأنك فقدت ذاكرتك. أما إذا كنت منتظما في حياتك اليومية أصلا، فأنت عندما تعود لتكمل على مشروعك تستطيع استيعاب و استذكار كلما قمت به ليلة أمس و تستطيع أيضا تحليل كل سطر كتبته مسبقا بطريقة سريعة و بالتالي استكمال مشروعك بكل سلاسة.

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

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

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

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

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


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

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


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

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

تعلم البرمجة - قواعد البرمجة من الصفر إلى الإحتراف | مقدمة


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

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

تعليقات

تعليق واحد
إرسال تعليق

إرسال تعليق