سلام ..

أتوقع اليوم عصرنا يعيش ثورة معلوماتية هائلة وراح تزداد مع تزايد المنصات التعليمية

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

في تعليم تقنية المعلومات وعلوم الحاسب ولأن في العصر هذا أصبح التركيز على التقنية

بشكل كبير وملحوظ وتسارع عدد من الحكومات والشركات في أتمتة معاملاتها فأصبح الطلب على المطورين

والمبرمجين عالي ومع تقديم الحوافز والمكافآت والمكانة اللي وضعها المجتمع للمطور والمبرمج

أصبح الكثير من الطلبة يرغب بتعلم هذه التقنيات التي تمكنه من إنشاء التطبيقات أو مواقع الويب

فيبدأ بطرح عدة أسئلة مثل :

كيف أعرف أبرمج تطبيق ؟

كيف أعرف أصمم موقع ؟

كيف أعرف أسوي برنامج زي تويتر ؟

أبي اسوي موقع زي اليوتيوب كيف ؟

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

...

...

والعديد من الأسئلة الكيفية التي لا تتوقف في ذهن من أراد أن يتعلم , والعجيب عندما تبحث في قوقل

تجد العديد من المواضيع التي تحمل عناوين مشابهة تماما لبعضها ك " خارطة الطريق لتعلم الويب "

" الدليل الشامل " وغيرها من العناوين البراقة . لكن قلما يجد المبتدئ ضالته

ويبدأ بالبحث من مقالة إلى أخرى ومن فيديو تعليمي إلى دورة ويبدأ في دوامة البحث عن المعلومة الصحيحة

من خلال تصفحي للعديد من المقالات الدليليّة لتعلم البرمجة وجدت عنصر مهم مفقود

ولا أعلم هل أتفق المدونون على إخفاءه أم سقط سهوا ؟! نجد أغلب المواضع تبدأ بشكل مباشر

نحو التقنيات والأدوات واللغات قبل أن تشرع في الموضوع المهم

ألا وهو المدخل لعلوم الحاسب الآلي

لذا أرى بأن على كل مبتدئ أن يتعلم مبادئ علوم الحاسب وأن يفهم عمل الآلة من عتاد وأنظمة

ثم يتعرف على مجالات الحاسب الآلي قبل أن يشرع بتعلم أول سطر برمجي له .

لذا نجد الجواب الشائع لسؤال كيف أتعلم البرمجة ؟ هو إختر مجالك !

وكأني بأول شيء يتبادر لذهن السائل أي مجال ؟!

وللإجابة على هذا السؤال

سنقسم الجواب لعدة خطوات تصاعدية :-

الخطوة الأولى :

تبدأ من معرفة سبب إختراع الحاسب الآلي

حتى نفهم منطق الآلة , أول شيء يجب أن نعلم إن الحاسب الآلي لم يوجد من عدم

بل هو إختراع مكمل لما قبله من الإختراعات البشرية القائمة على علم الحساب بشكل ميكانيكي

, لكنه بلا شك إختراع أحدث ثورة معلوماتية تقنية هائلة بسبب إعتماده على توجيه التيار الكهربائي ( ترانزستور )

  • طبعا الحاسوب في وقتنا هذا متطور أكثر لكن - مثل ما قلنا كان سبب إختراعه هو إجراء العمليات الحسابية

وطالما هنالك حساب فهنالك منطق أيضاً والذي يقودنا بلاشك إلى علم المنطق الرياضي . الذي هو 1 + 1 = 1

  • معلوماتك صحيحة يساوي 2 لكن الموضوع مختلف هنا في علوم الحاسب . كيف مختلف ؟

الخطوة الثانية :

لك تتخيل إن هذه الآلة العجيبة فقط تستخدم نظام عد ثنائي يعني فقط مكون من خانتين

واحد و صفر بغرض توجيه التيار الكهربائي بحيث (واحد يعني " تشغيل/فتح ") و ( صفر " إطفاء/إغلاق " )

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

إلى علم الاحتمالات و الخوارزميات حتى نتمكن من تحكم وتنظيم تدفق التيار الكهربائي .

الخطوة الثالثة :

إذا نستنتج أن عمليات الحاسب الآلي - للجانب البرمجي - تكاد تكون محصورة في هذه الثلاث عمليات :-

1 - المدخلات 2 - المعالجة 3 - المخرجات

كانت تتم المدخلات بلغة تسمى لغة الآلة وهي لغة الصفر والواحد

ماذا لو احتجنا أن نقوم بعملية أكبر من عملية الجمع أو طباعة عدد ؟

هذا السؤال قاد المهندسين وعلماء الحاسوب إلى إبتكار ما يسمى بـ " لغات البرمجة "

وهي ببساطة تعتمد على مترجم ومفسر يقوم بترجمة وتفسير المنطق البشري بواسطة معادلات رياضية

  • منها المعقد جدا ومنها ما دون ذلك - إلى منطق الآلة

لنأخذ أبسط عملية معالجة على سبيل المثال :-

بالمنطق البشري :-

(2+3=5) ثلاثة زائد اثنان يساوي خمسة

وهي الجمع بين عددين 2 و 3 تمثل المدخلات

عملية الجمع تمثل نوع المعالجة

الناتج النهائي 5 يمثل المُخرج

بمنطق الآلة :-

تحول جميع الأرقام إلى نظام العد الثنائي *توجد لها معادلات وطرائق رياضية بعضها سهل والآخر معقد

0010 + 0011 = 0101

*الآلة هنا لا تعرف ما الصفر ولا الواحد وإنما الصفر رمز لعدم السماح بمرور التيار الكهربائي

والواحد رمز للسماح بمرور التيار الكهربائي حتى يميز علماء الحاسب مرور التيار من عدمه

بمنطق لغة البرمجة :-

قم بإنشاء متغير في الذاكرة اسمه أ من نوع رقم صحيح يسند إليه رقم 3

قم بإنشاء متغير في الذاكرة اسمه ب من نوع رقم صحيح يسند إليه رقم 2

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

اطبع ج وهنا تظهر النتيجة النهائية على الشاشة 5

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

ثم يعود لنا بالاستجابة التي تعتمد على سرعة المعالجات بطباعة المخرج على الشاشة

الخلاصة :-

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

والآلة تحتوي على وحدة معالجة وذاكرة تقوم بمعالجة المدخلات وتخزينها ثم طباعتها على هيئة مخرجات

يجب أن تعلم أن مهمة لغات البرمجة هي ترجمة ما يريده الإنسان من الآلة معتمدة

في ذلك على مترجمات ومفسرات وضعها المطورون الأوائل بناء على علوم أخرى رياضية

كالخوارزميات والإحتمالات والمنطق . و استمر بعدهم من العلماء على تطوير

المترجمات والمفسرات ولازالت الى الان في تطور مستمر .

بعد ما عرفنا منطق الآلة لنتحدث عن إمكانيات الآلة وعلاقتها بالمنطق والخوارزميات

حتى نبسط الموضوع أكثر يسعى العلماء لجعل الحاسب الآلي مثل البشر يفكر ويحلل ويتواصل ,

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

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

إذا لو طرحنا سؤال قائلين كيف سنجعل الآلة تفكر وتحلل مثل الإنسان ؟ الجواب يكمن في المعرفة

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

المدرب أو المعلم بجملة " دعونا نعرّف بيانات من نوع كذا أو دعونا نعرّف متغير "

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

بأن ينقل المعرفة من العميل إلى الآلة كي تؤدي الغرض المطلوب منها . لكن تعريف الأشياء للآلة

يختلف عن تعريف العقل البشري للأشياء بمعنى :

1 - يستطيع العقل البشري التميز والتعامل مع مصادر معرفة متعددة وتخزينها في وقت واحد

ومثال على ذلك قيادة السيارة , عندما تقود فأنت تنظر للسيارات التي أمامك وبجانبك وخلفك

وبناءً عليه تزيد في السرعة أو تقللها وفي نفس الوقت لو رن الهاتف ستجيب وربما تنعطف تجاه المخرج

وهكذا في تفاعل مستمر حتى تصل إلى وجهتك , نلخص تلك العملية في التحليل والمعالجة

2 - عقل الآلة بخلاف العقل البشري فهو يتعامل مع مصادر المعرفة بالترتيب المرقم

كيف يعني مرقم ؟ يعني خطوة ثلاثة لا يجب أبدا أن تسبق خطوة رقم اثنين أو واحد

وهذا يبين لنا لماذا فهم الخوارزميات مهم للمبرمج , حيث أن الآلة بحاجة إلى معلومات متسلسلة

تتم معالجتها بتتابع وبشكل فردي .

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

نأتي هنا إلى منطق الآلة وماذا يعني كل منطق

( أ ) - تعريف المتغيرات وأنواعها

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

ويعطي الأولوية لآخر متغير إنكتب *ملحوظة نعني بالكتابة اي إسناد المتغير حركة مشابهة تماما

لعملية النسخ على الأقراص المدمجة .

( ب ) - البيانات التي تعرفها الآلة ( الحاسوب ) مثل :-

1 - الأعداد بشكل عام ( الصحيحة والنسبية والكسرية .. )

2 - حروف ( حرف واحد )

3 - السلاسل النصية ( مجموعة من الحروف مكونة كلمة أو جملة )

4 - الجمل المنطقة ( تحتمل خيارين يا صح أو خطأ )

5 - المصفوفات ( خزانة تحوي البيانات الكثيرة بشكل مرتب في مكان واحد ) .

هذه تقريبا أغلب البيانات المشتركة في أغلب لغات البرمجة .

( ج ) - لو سألنا وقلنا ماذا يمكن للآلة أن تفعل بهذه البيانات

الجواب :-

1 - حلقات التكرار ( تقوم بتكرار العملية وغالبا يُعرّف معها عداد يرمز له بالرمز i )

2 - تنفيذ الشروط , وغالبا تأتي مع عمليات التكرار ( مثال كرر المعادلة إلى أن يصبح مجموع العدّاد أكبر من عشرة )

3 - الدوال أو المهام ( دالة تنشئ بغرض تأدية مهمة معينة , تمكنك من عدم تكرار الكود واستهلاك مساحة في الذاكرة )

4 - الحاوية أو الفصل معروف باسم " كلاس " ( كأن تنشئ حاوية معينة لها خصائص مشتركة مثل السيارات جميعها

لديها موديل وشركة مصنعة ولكنها تختلف عن بعض بالمسميات , وهي تضم غالبا الكائنات )

5 - الكائنات ( كأن تقول الشركة المصنع فورد والموديل 2018 هذا يسمى كائن , وكذلك تستطيع أيضاً

أن تضيف كائن آخر كأن تقول الشركة المصنعة تويوتا والموديل 2011 . لذا أغلب الكائنات توضع في الحاوية " كلاس " )

( د ) - تقريبا غطينا نسبة لا بأس بها تمكنك من تعلم أي لغة برمجة تريد

يهمنا نهاية هذه التدوينة أن نعرف أنواع البيانات وماذا يمكن للآلة أن تفعل .

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

وكل لغة برمجية تختلف بالتعريف نحويا عن اللغة الأخرى

على سبيل المثال السماء هي السماء , في العربية تنطق " سماء" و الإنجليزية تنطق" سكاي"

والفرنسية " سِييل" والأسبانية " فِيَلُو" , ولكن بسبب اختلاف البيئات اختلفت اللغات فاختلف النطق والمسمى

فمهما تعددت الألفاظ والمسميات إلا أن السماء المشار إليها وحدة , وهذا يفسر لنا سبب تعدد لغات البرمجة

قبل لا ندخل للغات خلونا نعرّف المقصود بالمجالات مثل ما ذكرنا الحاسب الآلي سبب اختراعه هو الحساب ولا يوجد

مجال علمي إلا ويوجد به عمليات الحساب إذاً نجد بأنه في العلوم كالفيزياء والرياضيات والفلك والكيمياء والاحصاء

لها علاقة مباشرة بالحاسب الآلي لما يؤديه من خدمات تخدم مصالح تلك العلوم القائمة على الحساب .

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

لنستعرض تاريخ نشأة أجيال لغات البرمجة بشكل مبسط نستعرض الأجيال وكل جيل ومميزاته وأبرز مشاكله .

الجيل الأول :-

استخدم لغة مباشرة موجهة للآلة من خلال لوحة الإدخال مباشرة إلى الذاكرة , وكانت الميزة

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

إلا أن هنالك مشاكل ظهرت في هذا الجيل وهي مشاكل مفصلية بحاجة إلى حلول ومن تلك المشاكل :-

لغة الآلة صعبة جدا

تعديل الأخطاء أيضا صعب

إضافة معلومات إضافية في نفس المكان بحاجة إلى نقل المعلومات السابقة إلى مكان آخر في الذاكرة

عدم إمكانية نسخ البرامج لآلات أخرى , بحيث تتم إعادة كتابة الكود في كل آلة

تلك المشاكل حدت من استمرارية البرمجة بلغة الآلة , وحلول تلك المشاكل قادنا إلى الجيل الثاني .

الجيل الثاني :-

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

في الجيل السابق , ومن أبرزها تخصيص الكود للعمل على بيئة أو عائلة معالجات مخصصة .

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

كانت التطورات في الجيل الثاني وفرت بيئة خصبة للجيل الثالث أن يحدث ثورة تقنية حقيقية .

نأتي لأبرز مشاكل الجيل الثاني :-

تخصيص الكود للعمل على بيئة معينة للمعالجات .

يتم كتابة الشفرة النصية على ورق ثم يقوم بترجمتها وإدخالها للآلة .

تصميم البرنامج يكلف المبرمج جهد عالي جدا في التركيز بحيث .

أي خطأ ولو كان صغير يوقف عمل البرنامج نهائيا .

تلك المشاكل حلولها قادتنا إلى الجيل الثالث بالرغم من النقلة التي استحدثت في الجيل الثاني إلا أن الجيل الثالث

أكمل تلك المسيرة مع اضافة بعض التحسينات والمميزات .

الجيل الثالث :-

في هذا الجيل خرجت تصنيفات جديدة للغات بحيث سميت لغات الجيل الأول باللغات المنخفضة المستوى

ماذا نعني بـ منخفضة المستوى : أي اللغة التي تفهمها الآلة ولا يفهمها المطور الحديث , وسميت

لغات الجيل الثالث باللغات العالية المستوى : أي يفهمها المطور ولا تفهمها الآلة . وكذلك ظهر مصطلح

لغة برمجة متعددة الإستخدام كـ مستوى آخر من لغة التجميع . ظهرت أيضا مصطلحات كـ :-

لغة متعددة الأغراض والأنماط ( لها إستخدامات عديدة )

لغة كائنية البرمجة ( تنشأ على حدة وتجمع مع بعض توفر الوقت وتقلل التكلفة والأخطاء )

لغة البرمجة الهيكلية ( تعتمد على هيكلة وشكل البرنامج )

جميع تلك المسميات والمصطلحات تطلق على أغلب لغات الجيل الثالث .

أهم مميزات لغات الجيل الثالث :-

قربها من لغة الإنسان .

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

جعلت الآلة تهتم بالتفاصيل الغير ضرورية ، بعدما كانت تلك مهمة المبرمج في الجيل الثاني

نأتي إلى أبرز لغات الجيل الثالث :-

لغة سي ( سميت سي لأن كان قبلها لغة تسمى بي )

لغة سي بلس بلس ( تطوير لـ لغة سي )

لغة جافا ( لغرض البرمجة الكائنية التوجيه )

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

المستخدمين من مختلف المجالات وظهرت الأنظمة الرسومية والمرئية التي تعتمد على التفاعل بشكل كبير

فتسارع المطورين لتطوير تطبيقاتهم و أنظمتهم بغرض الإستثمار أولاً لأن الحاجة إلى الحاسوب ,

أظهرت طلب عالي ومتسارع لما يقدمه من ميزات كـ إختصار الوقت وتقليل الجهد و التكلفة فمع هذا التطور

الملحوظ والمتسارع ظهرت أبرز المصطلحات كـ :-

الحاسبات الكمية

الحاسبات الخادمة

لحاسبات الشخصية

أنظمة التشغيل

قواعد البيانات

وهكذا كل مجال يستحدث يأتي بـ مصطلحاته ومسمياته معه , وتسمى بالمجال البرمجي أو تخصص المبرمج

بعد الحديث عن أجيال لغات البرمجة , يأتي بعدها أبرز لغات البرمجة و إمكانياتها الشمولية ,

استنادا إلى أنواع التطبيقات . *مثل سطح المكتب أو الويب أو الهاتف النقال .

لنبدأ بلغات البرمجة الأشهر و أبرز أطر العمل :-

أولا سي شارب #C :-

لغة تتبناها مايكروسوفت وتدعمها وهي لغة حديثة تمكنك من بناء تطبيقات سطح المكتب

وكذلك تطبيقات الويب بالاعتماد على ASP.net التي تدعم C#.Net , وكذلك أيضا تطبيقات

الهاتف المحمول الهجينة بالاعتماد على منصة "زامران" (Xamarin) , وأما بالنسبة لمجال

الألعاب فهي لغة معتمدة في بيئة Unity لتطوير الألعاب .

ويمكنك التعامل معها وبناء التطبيقات من خلال تحميل برنامج "فيجوال ستوديو" (microsoft visual studio)

إذا ما المجالات المتاحة أمامك بعد تعلم لغة سي شارب :-

1 - مبرمج تطبيقات سطح المكتب

2 - مبرمج تطبيقات الويب

3 - مبرمج تطبيقات هجينة للهاتف النقال

4 - مبرمج ألعاب

أرشح دورة الأستاذ خالد السعداني لكي تكون خطوتك الأولى في تعلم السي شارب .

رابط قائمة التشغيل هنا

ثانيا لغة JAVA :-

وهي مملوكة لشركة صن ميكروسيستمز وحين نذكر جافا يجب أن نذكر الصفة الأبرز لتلك اللغة

وهي " اللغة الأقوى " لا أعلم سبب تكرار المطورين لجملة " جافا لغة قوية " ولكن يبدو لي بسبب

أنه تم بناءها على قواعد سي و سي بلس بلس (C++/C) وكذلك لامتلاكها مكتبات فصائل ضخمة

تمكنك من بناء تطبيقات سطح المكتب والويب وكذلك تمكنك من بناء تطبيقات

الهاتف النقال الأصلية لنظام أندرويد (Android) بالاعتماد على برنامج (android studio)

وتستطيع إستخدامها في برمجة واجهات المستخدم الرسومية (GUI) ,

ويمكنك التعامل معها من خلال البرنامجين نت بينز (netbeans) و إي اكليبس (eclipse)

ويتوفر لها عدة إصدارات وهي :-

إصدار تطبيقات سطح المكتب java SE

إصدار موجه للهواتف المحمولة java ME

إصدار الخوادم و قواعد البيانات والويب java EE

إذا ما المجالات المتاحة أمامك بعد تعلم لغة جافا :-

*مجالاتها متعددة لكن راح أركز على أبرز ثلاث مجالات وهي

1 - مبرمج تطبيقات سطح المكتب

2 - مبرمج تطبيقات الهاتف النقال الأصلية فقط لنظام (Android)

3 - مبرمج تطبيقات الحلول للمؤسسات أو الجهات الحكومية

ثالثا لغة Python

بدايتها كانت 1991 لكن بدايتها الفعلية 2001 وبدت شعبيتها تزداد عام ورا عام

للأسباب التالية :-

سهولة في التعلم

تعمل على عدة منصات بدون تغيير الكود

بسيطة و واضحة في كتابة الأوامر

إمكانية التمدد مع لغة C

التعرف على أنواع المتغيرات دون الحاجة لتعريفها من المبرمج

مع كل تحديث للبايثون تزيد شعبيتها وشموليتها ومجالاتها متعددة وكذلك لكن أهم مجالاتها

الذكاء الإصطناعي والبيانات العملاقة وتعلم الآلة , وكذلك الرسومات ثلاثية الأبعاد , وأمن المعلومات

و الرسومات البيانية وكذلك تحتوي على أطر عمل ومكتبات تمكن المبرمج من إدارة مشاريع

كبيرة بجهد أقل وكود سهل ومرن . أيضا تستطيع التوسع مع اللغات الأخرى كـ C,Java

ويمكنك التعامل معها من خلال برنامج pyCharm لكتابة أكواد البايثون

إذا ما المجالات المتاحة أمامك بعد تعلم لغة بايثون :-

*مجالاتها ك الجافا متعددة لكن راح أركز على أبرز خمس مجالات وهي

1 - الذكاء الإصطناعي

2 - تطبيقات الويب

3 - تحليل البيانات

4 - أمن المعلومات

5 - تطوير الواجهات الرسومية

طبعا كما ذكرنا في أول المقال عن الجافا والبايثون بأنهم لغات شمولية تستطيع

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

والإصرار مع المحاولة لتطبيق ما تعلمته أول بأول . - نستثني طبعا سي شارب -

بعد ذلك ننتقل إلى ذكر المجالات الأخرى بشكل مخصص غير شمولي

وأبرز اللغات المستخدمة فيها مع وضع روابط الدروس لها وأبرز المتطلبات

أول مجال تطوير تطبيقات الهواتف الذكية الأصلية :-

  • نظام الأندرويد بلغة kotlin وهي لغة حديثة ومبسطة أنشأت من قبل شركة جيت برينز التي قامت

بـ برمجة أندرويد ستوديو تعمل على منصة جافا , وقد تم دعمها واعتمادها رسميا من شركة قوقل

لتطوير تطبيقات الجوال بنظام أندرويد .

ثانيا مجال مواقع الويب :-

الواجهة الأمامية ( التصميم ) وتعتمد على ثلاث لغات يفضل تعلمهم بالترتيب وهي

1 لغة بناء ( ترميز ) HTML رابط الدورة هنا

2 لغة تنسيق CSS رابط الدورة هنا

3 لغة برمجة JavaScript رابط الدورة هنا

الواجهة الخلفية ( البرمجة ) ولها عدة لغات لكن بالنظر للمحتوى العربي الشروحات أغلبها لـ PHP

4 لغة PHP رابط الدورة هنا

5 قواعد البيانات MySql رابط الدورة هنا

في الختام حاولنا قدر الإمكان في هذه التدوينة أن نلم بالتقنيات الأحدث والمطلوبة في السوق

بالتركيز على أنظمة التشغيل الويندوز والأندرويد وكذلك التقنيات التي تحتوي على شروحات باللغة العربية

تحدثنا عن السي شارب والجافا والبايثون وأبرز مجالاتهم . كـ طالب مبتدئ يجب عليك تحديد مجال التخصص

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

ولا تشغل نفسك في المقارنات بين اللغات قبل أن تبدأ تعلم أي منهم أو أن تتنقل بين الدورات دون أن تنهيها

عليك بالصبر والإلتزام ثم تدوين المعلومات ومراجعتها باستمرار ولا تنسى اهم شيء

أنك تطبق ما تتعلمه من الدروس , و يجب أن تكون فخور بتطبيقاتك الأولى

سواء حاسبة آلية أو لعبة اكس او أو حتى تطبيق جمع عددين .

الخلاصة إذا أردت :-

برمجة تطبيقات اندرويد تعتمد على لغتين ( جافا أو كوتلن ) أختر وحدة

برمجة تطبيقات سطح المكتب تعتمد على ( سي شارب أو جافا ) أختر وحدة

برمجة تطبيقات IOS تعتمد على ( أوبجيكتف سي أو سويفت ) أختر وحدة

برمجة تطبيقات الويب ( بايثون - PHP - node.js ) أختر وحدة

برمجة الروبوتات تعتمد على لغة ( C أو ++C ) أختر وحدة

معالجة الصور تعتمد على ( ماتلاب أو C ) أختر وحدة

بعض المواقع التعليمية :-

يوتيوب - يوديمي - يوداسيتي - كورسات .

في أمان الله .