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

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

سؤال لهُ ألف و ألف إجابة، و لسانُ حال السائل يقول أين ابدء تعلم البرمجة ؟!! هل كانت البرمجة ضرباً من الخيال حتى تسمع عنها قصصاً تختلف؟!! أم كانت البرمجة علماً سرياً لا يُتوصل إليه حتى و إن فعلت ما فعلت!

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

ما هو معني  مصطلح لغة البرمجة

قبل البدء بالحديث عن البرمجة، فلنضع في بالنا أن هناك فرقاً كبيراً بين المبرمج و المصمم.

هنا نتحدث عن البرمجة، وسنتعرف إلى الفرق بين البرمجة و التصميم بعد قليل.

إليك هذا:

لنفترض أنك وصلتَ إلى أمام البائع لتشتري هاتفاً، كيف تُخبر البائع بالنوع الذي ترغب بشراءه؟

لا بُد و أن تُخاطب البائع لتطلب مبتغاك، أليس كذلك؟ ولكن ماذا إذا كان البائع لا يتحدث لسانك ولا لغتك؟

لن تستطيع أن تحصل على ما ترغب به إلا إذا وجدت شخصاً يستطيع أن يتحدث مع البائع بلغته.

هذا هو حالك مع الحاسب…

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

اذا فانت في حاجة لي تعلم لغات الحاسب لتستطيع توجيه لتنفيذ ماترغب وهذا مايطلق عليه مصطلح لغات البرمجة.

 لماذا لغات البرمجة مختلفة؟

اللغة العربية بها 28 حرفاً، و الإنجليزية 26 حرفاً، إحدى الكلمات العربية تحتاج إلى جملة كاملة بالإنجليزية لترجمتها مثل “أنُلزمُكموها”.

هكذا اللغات تختلف عن بعضها في قدراتها و تكويناتها، مع وجود فروقات طفيفة في لغات البرمجة. لغات البرمجة مثل اللغات الطبيعية لها ذخيرة لغوية و كلمات، و لكن تتميز أن اللغة بعد تطورها قد تأخذ إسماً آخر.الجافا مثلاً تطورت من لغة ++C ، سُميّت جافا و أصبحت لغة برمجة مختلفة ! و إضافة إلى لغات البرمجة الكثيرة!

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

هذا التسهيل ضروري لأن الحاسب في الحقيقة يتعامل فقط مع شيئين هما 0 و 1، و من الصعب على المبرمج أن يكتب أوامره بالصفر و الواحد لأن عملية التحويل صعبة و الكتابة كثيرة .. مثل أن يكتب بدل الرقم 3 [11] و بدلاً من الرقم 9 [1001].

ايهما افضل في التعلم البرمجة أم التصميم؟

سترى لاحقاً كيف أن البرامج حازت على نصيب الأسد من التحكم في حياتنا و تسيير أمورنا و تسهيلها، ولكن من هم منشئو هذه البرامج.

يوجد خلط كبير بين المسميات الوظيفية لمن يعملون في المجالات البرمجية، لذا سنتطرق لأهم وأشهر وظيفيتين برمجيتين في الأسطر التالية.

وظيفتان منتشرتان في عالم البرمجة: مصمم برامج و مبرمج.

المهم في الأمر:

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

حتى نعرف تلك الفروق لا بد أن نتعرف إلى طريقة عمل البرنامج !

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

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

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

إذا ما اتفقت معي فأنت قد ملكت الفرق بين المصمم و المبرمج.

في شاشة تسجيل الدخول مثلاً يكون المصمم هو من يصمم شكل الشاشة التي يراها المستخدم و يضع الصور و يختار الألوان و يُنشئ الأزرار و الأماكن التي سيكتب فيها المستخدم.

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

من يُنشئ عملية التعرف هذه هو المبرمج.

خلاصة الأمر، أي برنامج يخدم المستخدم لا بد فيه من واجهة مستخدم و عمليات خلفية، يقوم بهما المصمم و المبرمج سوياً.

لكل من المبرمج و المصمم صفات شخصية يتسمون بها ليستطيعا التعامل مع مجالهما باحترافية و ينجحا فيه

صفات شخصية مصمم البرامج الناجح

-تذوق الألوان !

-الإبداع و الإبتكار

-صفات شخصية المبرمج

-التفكير المنطقي.

-القدرة على حل المشاكل.