Press "Enter" to skip to content

دليل المبتدئين لدخول عالم البرمجة

2

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

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

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

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

دليل المبتدئين لدخول عالم البرمجة

لكن قبل التعلم في دليل المبتدئين لدخول عالم البرمجة سنعطي تعريفا مختصرا للبرمجة.

ما هي البرمجة

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

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

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

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

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

ما هي المعارف التي أحتاجها لأبدأ تعلم البرمجة؟

أحد الأسئلة التي تتبادر إلى أذهان المبتدئين، هي: ما الذي أحتاج إلى معرفته لتعلم البرمجة؟ هل أحتاج إلى شهادة جامعية؟ هل أحتاج إلى أن أكون ماهرا في الرياضيات؟ هل أحتاج إلى أن أفهم كيف يعمل الحاسوب؟ وغيرها من الأسئلة.

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

ما الذي أحتاجه لتعلم البرمجة

هناك بعض الأمور التي تحتاجها لتعلم البرمجة، وهي:

  • الحاسوب: ينبغي أن يكون لديك حاسوب جيد، ليس بالضرورة أن يكون من آخر طراز، ولكن كلما كان أسرع، كان ذلك أفضل. لكن إن لم تكن تملك حاسوبا قويا، فلا بأس، معظم لغات البرمجة الشهيرة لا تتطلب مواصفات قوية في الحاسوب. كما أنه يمكنك الرجوع إلى الإصدارات الأقدم من لغة البرمجة التي تريد تعلمها، والتي يمكن أن تعمل على حواسيب أقل قوة. خلاصة الأمر أنه، ما دام أن حاسوبك يمكن أن يشغل الويندوز أو اليونيكس أو الماك، فسيكون كافيا.
  • برامج التحرير: شيفرات البرامج هي مجرد نصوص، لذا ستحتاج إلى محرر نصوص لتكتب به برامجك، أيُّ برنامج تحريرا سيفي بالغرض، بيد أنّه يُفضل استخدام برامج تحرير مخصوصة للبرمجة، مثل Atom و Notepad++‎‎ و Sublime Text.
  • الاتصال بشبكة الإنترنت: هذا الشرط ليس ضروريا، إذ يمكنك تعلم البرمجة بدون إنترنت. بيْد أنّ شبكة الإنترنت يمكن أن تسرع وتيرة تعلمك تسريعًا، لأنه ستصادفك الكثير من العقبات أثناء التعلم، وقد تستعصي عليك بعض المفاهيم من حين لآخر، وهو أمر عادي جدا، ويحدث للجميع، بمن فيهم المبرمجون المحترفون. عندما يحدث ذلك، بدل أن تقضي ساعات أو حتى أياما في محاولة فهم المشكلة، يمكنك أن تلجأ لشبكة الإنترنت وتبحث هناك عن حل، وستجد الحل في 99% من الحالات خلال وقت قصير.

لغات البرمجة

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

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

هذه أشهر لغات البرمجة وأكثرها استخداما من قبل المبرمجين في سنة 2019:

أشهر لغات البرمجة وأكثرها استخداما من قبل المبرمجين
أشهر لغات البرمجة وأكثرها استخداما من قبل المبرمجين : المصدر

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

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

Ruby: تختلف روبي عن اللغات التي ذكرناها آنفا من حيث أنّها متعددة الأغراض، فعلى خلاف JavaScript و HTML/CSS المتخصصة في تطوير المواقع، و PHP المتخصصة في برمجة الخادم، فإنّ روبي متعددة الأغراض، أي أنه يمكن استخدامها لفعل أيّ شيء يمكن أن يفعله الحاسوب، إذ يمكنك أن تطوّر بها الألعاب وتبني بها المواقع وتصمم بها برامج لتحليل البيانات أو تطبيقات سطح المكتب وغيرها.

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

السؤال البديهي الآن الذي يتبادر إلى ذهنك هو: من أين أبدأ؟ وأين أجد أفضل المصادر التعليمية؟

هناك العديد من المصادر التعليمية المتاحة على شبكة الإنترنت، وعلى رأسها:

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

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

هذه بعض الدورات من دليل المبتدئين لدخول عالم البرمجة التي تقدمها أكاديمية حسوب:

دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب

دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب
دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب

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

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

دورة تطوير تطبيقات الويب باستخدام لغة PHP

دورة تطوير تطبيقات الويب باستخدام لغة PHP
دورة تطوير تطبيقات الويب باستخدام لغة PHP

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

دورة تطوير واجهات المستخدم

دورة تطوير واجهات المستخدم
دورة تطوير واجهات المستخدم

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

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

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

قراءة توثيق اللغة: أحيانا قد ترغب في التعمق في موضوع ما، أو تعلم كيفية عمل بعض وظائف ودوال إحدى لغات البرمجة. الحل الأفضل في هذه الحالة هو قراءة توثيق لغة البرمجة، والذي يقدم شروحات عن كافة جوانب اللغة البرمجية. عادة ما تكون هذه التوثيقات باللغة الإنجليزية، لكن لحسن الحظ، ظهرت مؤخرا مشاريع لترجمة توثيقات بعض لغات البرمجة، وإحدى أهم هذه المشاريع هي موسوعة حسوب، التي توفِّر توثيقًا عربيًا كاملًا وعالي الجودة للكثير من لغات البرمجة، مثل بايثون وجافا و HTML و CSS و Javascript وغيرها مدعّمة بالأمثلة العملية. ومن واقع تجربتي، أؤكد لك أنّ بعض هذه التوثيقات العربية خير من نظيرتها الإنجليزية.

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

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

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

هناك العديد من مواقع الأسئلة والأجوبة التي يمكن أن تبحث فيها. أذكر من بينها اثنين. أولهما موقع stackoverflow، والذي يمكن أن تجد فيه أجوبة عن الأسئلة المتعلقة بالبرمجة. المواقع الثاني هو قسم “أسئلة وأجوبة” في أكاديمية حسوب، ما يميزه أنه موجه للعرب، لهذا فهو مناسب لمن لا يجيد اللغة الإنجليزية، أو من كان له سؤال يتعلق بدعم اللغة العربية.

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

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

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

أمثلة عن لغات البرمجة المستخدمة: HTML/CSS و Javascript لتطوير الواجهات الأمامية للمواقع، و PHP و ASP.net لتطوير الواجهات الخلفية.

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

أمثلة عن لغات البرمجة المستخدمة: Java و Swift…

تطوير الألعاب: في سنة 2019، تجاوز اقتصاد صناعة الألعاب 150 مليار دولار، ويُتوقع أن يقترب هذا الرقم من 200 مليار دولار بحلول 2022 [1]، لهذا فنحن نتحدث عن اقتصاد ضخم وسريع النمو، وله مستقبل زاهر، كما أنه مجال ممتع.
أمثلة عن منصات ومكتبات تطوير الألعاب: unreal engine و unity و pygame …

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

أمثلة عن لغات البرمجة المستخدمة: C++‎‎ و Python و C#‎‎ و Ruby

نصائح للمبتدئين

هذه بعض النصائح التي يمكن أن تكون مفيدة للمبتدئين الراغبين في تعلم البرمجة:

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

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

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

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

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

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

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

  1. Wassim Wassim

    كيف احصل على مشاريع عملية متدرجة الصعوية.

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

%d مدونون معجبون بهذه: