كمبيوتر

لماذا عليك البدء بتعلم البرمجة الآن؟

لماذا عليك البدء بتعلم البرمجة الآن؟

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

نبذة تاريخية

لنأخذ نبذة سريعة عن ماذا نقصد بالبرمجة وتطورها عبر الزمن إذا رجعنا بالزمن قبل حوالي 50 سنة إلى الماضي، سنرى أن الكمبيوتر كان عبارة عن جهاز ضخم، لم يكن يحظى بشرف استعماله إلا العلماء والباحثون، لكن الأجمل في ذلك أنه لم تكن هناك إلا لغة واحدة للتخاطب مع الكمبيوتر وهي لغة التجميع (لغة الصفر والواحد)، حيث كان على العالِم أن يقوم بكتابة مئات الأسطر من 0 و1 ليتمكن من صناعة برنامج بسيط يقوم بعرض كلمة على الشاشة كـ "hello world" أو "مرحبا بالعالم" ولك أن تتخيل معي مدى الجهد الذي كانوا يبذلونه في تطوير البرمجيات المعقدة.

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

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

البرمجة كنمط تفكير

على كل مواطن أن يبدأ تعلم البرمجة لأنها تعلم الفرد كيف يفكر.

ستيف جوبز

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

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

بداية المشوار

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

  1. اللغات منخفضة المستوى: مثل Assembly لغة التجميع (تعتمد على 0 و1) كما سبق وأشرنا إليها تستعمل اللغة خاصة في تطوير أنظمة التشغيل لأنها لغة الكمبيوتر وتتخاطب معه بصفة مباشرة.
  2. اللغات عالية المستوى: وهي اللغات الحديثة والمتطورة مثل C وC++ وJava …. وهي لغات شبيهة بلغة البشر لكن تترجم لاحقا من قبل الكمبيوتر إلى لغة هذا الأخير وهي لغة التجميع عبر ما يسمى بالـ compiler، وأهم استعمالات هذه اللغات هي تطوير البرمجيات المكتبية كجوجل كروم (google chrome) وحزمة مايكروسوفت والبرمجيات المكتبية الشبيهة لها.
  3. اللغات النصية Scripting languages: أهمها لغة PHP وتعتبر من أشهر اللغات البرمجية الخاصة ببرمجة المواقع ومن أكبر المواقع المبرمجة على لغة PHP موقع فايسبوك وووردبريس.

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

مصادر تعليمية

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

موقع Udemy

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

موقع Udacity

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

موقع كورسات coursat

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

موقع Edx

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

موقع رواق

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

لا تتبع القطيع

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

الصبر

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

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


البرمجة تعلم البرمجة