تعلم البرمجة من الصفر
تعلم البرمجة من الصفر

تعلم البرمجة من الصفر

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

بنهاية هذا المقال ستستطيع الإجابة على كل الأسئلة الأساسية التي تجول بذهن الراغب بتعلم البرمجة، كما ستستطيع أن تبدأ تعلم البرمجة من الصفر دون حيرة.
  • اريد تعلم البرمجة، من أين أبدا؟
  • سؤال لهُ ألف وألف إجابة، ولسانُ حال السائل يقول
  • أين أجد مُبتغاي؟
  • الطريقة الصحيحة لتعلم البرمجة للمبتدئين؟
  • ألا توجد خطة لتعلم البرمجة؟
  • وهل​ البرمجة ضربٌ من الخيال حتى تسمع عنها قصصاً تختلف؟
  • أم أن تعلم البرمجة من الصفر أمرٌ لن تصل إليه مهما فعلت؟
تعلم البرمجة من الصفر
تعلم البرمجة من الصفر

ما ذنبُك إذا أحببت العلم ورغبت بأن تضع أقدامك على أول الطريق وسؤالُك يضعك في ألف طريق. فكيف إذا ما فرشنا لك الطريق بالعلوم والخبرات لتبدأ طريقك لتعلم البرمجة من الالف الى الياء؟

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

المفهوم العظيم للغة البرمجة

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

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

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

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

هذا هو حالك مع الحاسب….أنت المشتري والحاسب هو البائع، أنت يا صديقي تحتاج إلى هذا البائع لما يملكه من ميزات وقدرات لا تملكها أنت، لذا يجب عليك أنت أن تتعلم كيف يتحدث هذا البائع (الحاسب) وكيف تستطيع أن تحصل على ما ترغب به. لغاتُ البرمجة ليست إلا “لغات” ! بمعنى الكلمة، ما تؤديه فقط هو ترجمة ما ترغب به إلى ما يستطيع الحاسب تأديته. ولكن، لماذا لغات البرمجة مختلفة؟

اللغات الطبيعية ولغات البرمجة

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

اللغات الطبيعية ولغات البرمجة
اللغات الطبيعية ولغات البرمجة

لغات البرمجة مثل اللغات الطبيعية لها ذخيرة لغوية وكلمات، ولكن تتميز أن اللغة بعد تطورها قد تأخذ اسما آخر.

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

معلومة هامة

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

فهم الإنسان وفهم الآلة
فهم الإنسان وفهم الآلة

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

مثل أن يكتب بدل الرقم 3 [11] وبدلاً من الرقم 9 [1001].

الفرق بين المبرمج و مصمم البرامج

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

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

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

  • مبرمج
  • مصمم برامج

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

الفرق بين المبرمج و مصمم البرامج
الفرق بين المبرمج و مصمم البرامج

UI vs UX

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

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

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

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

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

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

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

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

الصفة الشخصية الرئيسية للمبرمج هي القدرة على حل المشاكل

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

صناعة البرمجة

أشهر شركات صناعة البرمجة
أشهر شركات صناعة البرمجة

1.      برامج الترفيه

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

2.      برمجة الطب

ما أدق التشخيص وأنت ترى الطبيب يطلب منك إصدار صورة اشعة مُلائمة لحالك لتذهب -سلمك الله من كل سوء- إلى أخصائي الأشعة ليلعب الأزرار التي تُدار عن طريق برنامج ليُجري لك الأشعة.
الطب بصورة خاصة وصل إلى درجة أعلى بأن الطب له تخصص يُسمى بنظم المعلومات الطبية!

3.      برمجة السياسة

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

4.      علوم الفضاء

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

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

5.      الرفاهية المنزلية

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

ما يجب أن تعلمه تماماً أن البرمجة الآن تؤثر على كُل منحى من مناحي حياتنا بلا استثناء، لذا فإن مجال البرمجة ما زال متطوراً وما زال سوق عمله يتطلب الكثير من المُبرمجين المختصين.

تعلم البرمجة سهل أم صعب

“هل تعلم البرمجة من الصفر صعب” ، “هل من الممكن تعلم البرمجة“

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

تعلم البرمجة من الصفر
تعلم البرمجة من الصفر

إليك هذا السر

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

في بعض الأحيان أيضاً يُخلط ما بين تعلم البرمجة وتعلم نظام التشغيل، لن نتحدث عن نظام التشغيل في هذه الجزئية ولكن نتحدث عنه في الجزء التالي مباشرة.

إذا ما كُنت ترغب في تعلم أي علم من العلوم فبدايتُه أن تثق أنك ستستطيع تعلمه وأن تبذل أقصى جهدك لتعلمه.

البرمجة ليست بعيدة عن بقية العلوم، لذا سأضع بين يديك إجابة السؤال عن صعوبة وسهولة تعلم البرمجة لتنساه.

أولاً: التي أرى أن تضعها بالاعتبار هي أن تعلم البرمجة يحتاج إلى مجهود. ستقضي ساعات وأيام من القراءة والتعلم حتى تصل إلى درجة المعرفة التي تعينك على إجراء التجارب والحصول على الخبرات.

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

الإجابة

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

تعلم التفكير كمبرمج

كلنا سمع بنظام التشغيل ويندوز Windows، إذا كُنت تعرف جيداً ما هي نظم التشغيل وأنواعها فانتقل للجزء التالي من المقال.

تعرف على عمل نظام التشغيل

إن الحاسب الذي تستخدمه أو يستخدمه غيرك يتكون من أجهزة إلكترونية (معالجات وذواكر ومخازن بيانات. إلخ) لن تعمل دون أن يوجد مدير يتحكم بهذه الأجهزة.

هذا المدير يسمى بنظام التشغيل، لاحظ أن اسمه يدل على وظيفته [تشغيل الحاسب].حتى تعرف كيف يدير نظام التشغيل الحاسب لنتعرف على كيفية عمل نظام الويندوز بما أنه أكثر النظم انتشاراً.

قد ترغب بقراءة:

اختصارات مميزة في ويندوز 11 عليك أن تعرفها

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

أشهر أنظمة تشغيل للكمبيوتر
أشهر أنظمة تشغيل للكمبيوتر

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

ولكن هناك احتمال آخر

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

هنا تأتي أنواع أخرى من أنظمة التشغيل، إذا لم تكن تعرفها فهذا لأنها أقل انتشاراً وشعبية من أنظمة التشغيل الأقل شهرة من نظام تشغيل ويندوز، هذه الأنظمة هي: أبونتو و ماكنتوش .

تعددت الأنظمة والهدف واحد

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

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

مصادر الدخل بين (مفتوح المصدر ومغلق المصدر)

ستمر عليك هاتين العبارتين كثيراً في مسيرة تعلمك للبرمجة وعملك فيها.

فما يفعله المبرمج كما تعلم هو أنه يكتب شفراته البرمجية (Source code)، ثم تُترجَم هذه الشفرات إلى لغة الحاسب لتعمل.

مفتوح المصدر ومغلق المصدر
مفتوح المصدر ومغلق المصدر

حسناً، لنُضف إضافة مهمة.

بعد ترجمة شفرتك البرمجية فإن مُترجماً افتراضياً يسمى (IDE) يتكفل بتحويل تلك الشفرات إلى ملف آخر قابل للتنفيذ. مثل أن يحول المترجم شفرتك البرمجية إلى ملف بالامتداد exe على ويندوز.

جميع البرامج في العالم من الممكن أن تكون مفتوحة المصدر أو مُغلقة.

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

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

مفاهيم مهمة في تحديد نوع البرنامج (مفتوح أم مغلق المصدر)

البرامج مفتوحة المصدر (Opensource) تعني أن الجميع يستطيع التطوير فيها والبدء من حيث انتهى الآخرون. هذا التطوير يعني تطوراً أسرع لهذا البرنامج.

مغلق المصدر (Closed Source) يعني أن هناك فئة محددة تعتني بتطوير البرنامج. البرامج مغلقة المصدر من السهل التحكم فيها تجارياً على عكس البرامج مفتوحة المصدر.

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

كيف تختار لغة البرمجة في أول الطريق

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

حدد الهدف والدوافع

لذا قبل أن تبدأ تعلم لغة برمجة ما، حدد هدفك الذي تود تحقيقه.

  • إنشاء برنامج معين محاسبي على الجوال
  • تطبيق للتحكم بالروبوت
  • موقع تواصل اجتماعي.…إلخ

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

من أهم المؤهلات التي يجب عليك مراعاتها عند اختيارك للغة البرمجة.

1.      سهولة تحقيق الهدف

حيث لا تكون كتابة الشفرات البرمجية لتحقيق الهدف صعبة أو طويلة.

2.      الاعتمادية

لغة البرمجة مجربة في مجالك وتعمل بكفاءة مع أهداف مشابهة أو مماثلة

3.      التوثيق

وجود مصادر كافية لتعلم لغة البرمجة وحل المشاكل التي قد تواجهك أثناء تطويرك لنظامك.

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

تأثير السوق على اختيار لغة البرمجة

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

إليك ما يجب أن تفعله

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

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

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

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

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

3.      ابحث عن أكثر دورات البرمجة توفراً

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

المهم في الأمر، بعد اختيار لغة البرمجة التي ترغب بتعلمها ينبغي ألّا تكون على جزيرة منعزلة لا تجد من تتعلم منه ولا من يرغب بتوظيفك ولا من يرغب بأن تطور له البرامج.

التخلص من عقدة اللغة الإنجليزية في البرمجة

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

إلا أنه في أيامنا هذه أصبحت اللغة الإنجليزية هي عماد العلوم واللغة العالمية للتخاطب والتعلم.

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

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

التحول الإيجابي

بالتأكيد إذا ما كنت جيداً في اللغة الإنجليزية فإن هذا سيسهل عليك فهم أمور كثيرة. كما أن الكُتب الجيدة عن البرمجة عادة ما تكون متوفرة باللغة الإنجليزية.

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

البرمجة ليست نظريات فقط

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

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

السحر الخفي للبرمجة

التعلم في 24 ساعة و3 أيام و7 أيام. أنا وأنت وغيرنا … نرغب بالحصول على أفضل النتائج في أقصر وقت ممكن. هذا هو السر في النجاحات التي تحققها مثل هذه الكتب. ولكن المنطق يقول، إذا كانت البرمجة أو غيرها من المواضيع التي تتعلق بالكتب التي تسمى بتعلم البرمجة خلال … (وقت قصير جداً وغير منطقي) فعلاً تحول الشخص إلى مبرمج، فهذا يعني أنه بإمكانك أن تكون محترفاً لـ 10 مجالات خلال 10 أيام لتبدأ العمل بإحدى الشركات ثم يأتي غيرك وقد قرأ 11 كتاب خلال 11 يوم ليكون أفضل منك.

هل من الممكن تعلم لغة البرمجة بسرعة؟

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

ستقرأ آراء خبراء في البرمجة عن تعلم البرمجة وكم من الوقت يستلزم تعلم البرمجة وهذا سيضع بعض النقاط فوق الحروف.

حياة المبرمج العملية

بما أنك تقرأ حتى هنا، فهذا يعني أنك ترغب بتعلم البرمجة حتماً، ولكن، هل تعلم كيف هي حياة المبرمج العملية؟

نماذج تطوير البرمجيات

قبل أن تتعرف إلى حياة المبرمج العملية سنتطرق إلى شيء أهم وهي نماذج تطوير البرمجيات.

من أبسط نماذج تطوير البرمجيات هو نموذج الشلال ، هذا النموذج يعتمد على إجراء مرحلة واحدة ثم الانتقال إلى التالية

مراحل تطوير البرمجيات

·         جمع المتطلبات

يقوم بهذه المرحلة محللو النظم عادة ويجلس فيها محلل النظام مع العميل لفهم احتياجاته وتوثيقها.

·         التحليل

يُكمل محلل النظام عمله بتحويل المتطلبات إلى نماذج ومخططات وهياكل معيارية لتُستخدم في المراحل المقبلة

·         التصميم

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

·         البرمجة

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

·         الاختبار

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

·         الصيانة

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

·         العدد

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

دور المبرمج في نموذج تطوير البرمجيات

هل لاحظت أين هو دور المبرمج في نموذج تطوير البرمجيات؟

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

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

لمزيد من المقالات المفيدة تفضل بزيارة موقعنا على الإنترنت مقهى التقنية وقنواتنا على منصات التواصل الاجتماعي أدناه.

وفي حالة الاستفسار عن شيء يمكنكم مراسلتنا من خلال صندوق التعليقات بالأسفل.

مقهى التقنية الموقع الأفضل في الوطن العربي الذي يقدم لكم حزمة من البرامج والألعاب والتطبيقات المجانية الرسمية بروابط تحميل مباشرة وآمنة 100%.

معلومات هامة

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

م. عبدالله المبارك
ISO/IEC 27001 - Information security management Adviser