أريد شرحا وافيا و مبسطا للبرمجة و أولى الخطوات و المصادر لتعلمها ابتداءاً من تشغيل الحاسب :-P
ما هي البرمجة ابتداءاً من تحت الصفر و اشرحها و كأني في الخامسة فعلا
أولاً الكمبيوتر يتكون من جزئين جزء مادي ( المازربورد، الهارد، المعالج، الرام ...) وجزء غير مادي وهو البرمجيات
تخيل الكمبيوتر ( الجزء المادي ) هو عبارة عن شخص غبي لا يستطيع فعل أي شي لوحده بدون أي توجيه أو تعليمات ويجب أن تكون تعليمات دقيقة جداً حتى يتسطيع تنفيذها، هنا يأتي عمل البرمجة وهي تعليمات تعطيها للحاسب ليوم بعمل مهمة معينة.
عملية حسابية بسيطة، كتابة ملف نصي وحفظه والخ من مهام الحاسب.
الحاسب لا يفهم سوى لغة برمجة واحدة وهي لغة الألة وهي لغة مبنية من رقمين فقط وهي 0و1 وهي معقدة الكتابة بشكل كبير لذلك أوجد المبرمجين لغات برمجة أبسط وأسهل للكتابة والفهم للإنسان العادي.
فتم تصنيفها إلى عدة مستويات حسب إمكانية فهمها ومدى صعوبتها وهي:
لغات منخفضة المستوى أبسط من لغة الألة لانها تستخدم حروف ورموز يمكن للإنسان فهمها لكنها صعبة وقريبة للغة الألة مثل Assembly
لغات عالية المستوى وهي لغات قريبة جداً للغة البشر وسهلة الفهم والحفظ مثل Java, Python, Ruby, Php وهي اللغات الأكتر إستخداماً من قبل المبرمجين، وبما أننا قلنا بأن الحاسب لا يفهم سوى لغة الألة يكون هناك برنامج وسيط يترجم تلك اللغات للغة الألة حتى يفهمها الحاسب يسمى compiler أو مفسر تقوم بتثبيته على جهازك.
ماذا تحتاج للبدء في تعلم البرمجة؟
أولاً: حدد هدفك من تعلم البرمجة
ما الذي تريد برمجته؟ هل تريد أن تقوم ببرمجة تطبيقات الويب، تطبيقات الهاتف أم تطبيقات سطح المكتب.
في حال إخترت:
- برمجة تطبيقات الويب
هناك عدة خطوات يجب أن تقوم بها
1- يجب عليك فهم طريقة عمل الإنترنت والمتصفح، فمثلاً عندما تقوم بالدخول الى موقع حسوب مثلاً فأنت تقوم بكتابة رابط الموقع في شريط العنوان في المتصفح، متصفحك يقوم بإرسال طلب لسيرفر حسوب ( السيرفر هو جهاز حاسب موصول بالإنترنت ويتم استضافة المواقع عليه وهو المسؤول عن تفاعل المستخدمين مع الموقع ) بأنك تريد تصفح الموقع ( حسب الصفحة ) يقوم سيرفر الموقع بتحليل طلبك ومعالجة البيانات ثم يقوم بإسال النتائج إلى المتصفح ثم يقوم المتصفح بعرض تلك البيانات كما ترى موقع حسوب الأن.
برمجة الويب تحتوي تخصصين يجب أن تعرفها :
- تطوير الواجهات الأمامية Front End : وهي تلك اللغات المسؤولة عن عرض البيانات على المتصفح مثل الصور ، النصوص الفيديو .. الخ
وتتكون من ,HTML , CSS , Javascript وهي بالغالب فقط تقوم بعرض البيانات للمتصفح فقط ولا تقوم بالتواصل مع السيرفر أو تحليل وتنظيم أي بيانات.
HTML هي لغة هيكلية تمكنك من عرض المعلومات على المتصفح ( نص، صور، فيديو .. الخ ) وهي سهلة جداً
CSS تمكنك من التحكم وتنسيق html وإعطاءها صفات مثل اللون، الحجم، نوع الخط، الإتجاهات.
أعتقد تستطيع فهم أسيات تلك التقنيتين في خلال أسبوع واحد، لكن تحتاج لعدة أشهر لإتقانها بشكل ممتاز كل ما تحتاج اليه العزم والمثابرة.
- Javascript لغة البرمجة الأخيرة التي يجب تعلمها لتصبح مطور واجهات أمامية، هذه اللغة تمكنك من عمل تأثيرات على موقعك وجعله أكثر حيوية مثل حركة الصور، القوائم المنسدلة، زر الصعود الى الأعلى،تأثيرات على الموقع الخ
في حال أجدت تلك التقنيات بشكل جيد أضمن لك أن تكون جاهز للعمل كمطور واجهات أمامية.
ما الذي تحتاجه لتعلم هذه المرحلة؟
متصفح إنترنت ( كروم، فايرفوكس .... )
محرر أكواد ( (notepad++ , atom ,sublime
أفضل المصادر للبدء في التعلم.
- HTML
-CSS
javascript
وهنا تمكنك هذه الدورات من تطبيق كل ما تعلمته حتى الأن
- مطور واجهات خلفية (Back end): من خلال هذا الجزء تستطيع إستقبال المعلومات التي يقوم بإسالها المتصفح الي تطبيق الويب الذي قمت ببرمجته وتحليل تلك المعلومات وثم ارسال الناتج الى متصفحه حتى يعرضها من جديد
مثلا عندما قمت بالتسجيل في حسوب قام المتصفح بإرسال معلومات مثل اسمك، بريدك، العمر الهاتف وكلمة السر الى السيرفر، الأن تطبيقك يقوم بإستقبال تلك المعلومات ومعالجتها وثم عمل العمليات عليها.
- لتكون مبرمج واجهات خلفية تحتاج للغة برمجية واحدة أو أكثر مثل ( php, ruby , python ) لكن واحدة تفي بالغرض ،بالإضافة الى التقنيات السابقة التي ذكرناها في تطوير الواجهات الأمامية، يجب على كل مطور واجهات خلفية أن يعرف تقنيات الواجهات الأمامية لكن ليس على كل مطور واجهات أمامية أن يعرف لغات البرمجة الخلفية.
أرشح لك php لثراء الويب العربي بشروحاتها.
- كما تحتاج لمعرفة كيفية التعامل مع قواعد البيانات لتقوم بتخزين المعلومات التي يدخلها المستخدمين والتي تحتاج لإستخدامها من جديد MYSQL
أفضل المصادر
أساسيات php
هنا بعض الأمثلة والبرامج البسيطة التي يمكنك عملها بالـ php
قواعد البياناتMYSQL
هنا دورة بسيطة تمكنك من تطبيق كل التقنيات التي تعلمتها في بناء مدونة بسيطة
- في حال رغبتك في تطوير تطبيقات الهاتف هنا بعض المصادر التي من الممكن أن تفيدك.
هواتف الأندرويد
الأيفون
التعليقات