النتائج 1 إلى 4 من 4

الموضوع: كيف تصبح مبرمجا ؟

  1. #1
    عضو جديد
    تاريخ التسجيل
    May 2008
    المشاركات
    5

    كيف تصبح مبرمجا ؟



    "" تحذير المقالة طويلة نوعا ما ،، إذا كنت لا تحب القراءة فأنصحك ابتعد عن طريق العظماء ""



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

    1. هيئ نفسك لكي تصبح مبرمجا:

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

    ب. خذ دورة تمهيدية في المنطق ، الرياضيات المنفصلة (Discrete) أو كلاهما.

    ج. تعرف على واحدة على الأقل من تقنيات مفاهيم البرمجة التالية: (كلما تعمقت في البرمجة ستحتاج لتعلم جميع التقنيات المذكورة تقريبا. تم ترتيبهم حسب الترتيب المتعارف عليه).
    • رسوميات التحكم Flow Charting (عالميا تعتبر الأسهل للتعلم).

    • البرمجة بأسلوب أشباه الأكواد (Pseudo-Code).

    • لغة النمذجة الموحدة (UML).

    • نموذج العلاقات الكائنية (ORM).

    د. تعرف على مفاهيم قواعد البيانات البسيطة مثل الجداول ، views/queries ، والإجراءات. يمكنك استخدام أي تطبيق قواعد بيانات للقيام بذلك مثل MS access, DB V, Fox Pro, Paradox.

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

    2. قرر أي نوع من المبرمجين تريد أن تكون/تصبح!! المبرمجون بصفة عامة يندرجوا تحت واحدة من الفئات التالية:
    أ. مبرمج ويب

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

    • مستقل متعدد المنصات.

    ج. مبرمج تطبيقات موزعة.

    د. مبرمج إطار عمل/منصة/مكتبة

    هـ. مبرمج أنظمة
    • مبرمج نواة (كيرنل)

    • مبرمج تعريفات الأجهزة

    • مبرمج مترجمات

    و. عالم برمجة .

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

    تكمن تطبيقات الويب في خادم ويب ويتم الوصول إليها عن طريق متصفح ويب.

    تطبيقات الويب عبارة عن أجزاء برمجية صممت للعمل على أساس الهندسة المعمارية للشبكة المعلوماتية. وهذا يعني أنه يتم الوصول لهذه التطبيقات عن طريق استخدام متصفحات الويب مثل فايرفوكس أو انترنت اكسبلورر. على الرغم من أنها بنيت على أساس الهندسة المعمارية للانترنت ، الا أنها لا تتطلب بالضرورة اتصال نشط بالانترنت. وانما يعني ذلك أن تطبيقات الويب مبنية على معايير تقنيات الشبكة مثل HTTP ، FTP ، POP3 ، SMTP ، TCP وبروتوكول IP ، ولغات مثل HTML ، XML ، ASP ، JSP ، PHP و ASP.NET إلى جانب العديد من تقنيات الانترنت. شبكات الانترانت المتعلقة بالشركات تعد أمثلة على تطبيقات الويب التي لا تحتاج لتشغيلها اتصال نشط بشبكة الانترنت.

    1. تصفح العديد من مواقع الانترنت المتنوعة لتتعلم كيف تبدو هذه المواقع في العادة. نعني بالتنوع في هذا السياق هو من ناحية النوع/المحتوى الذي يتضمنه الموقع وليس عدد المواقع التي تمت زيارتها. عموما ، فأنت بحاجة لزيارة موقع واحد على الأقل من كل الأنواع التالية لمواقع الانترنت:
    o مواقع الشركات (الشركات التجارية ، المنظمات/الشركات الغير ربحية و المنظمات الحكومية)

    o محركات فهرسة الويب (محركات البحث ، مواقع بحث البيانات الوصفية ، محركات البحث المتخصصة و الأدلة)

    o مواقع تنقيب البيانات

    o المواقع الشخصية

    o صفحات الموسوعات/المعلومات (ويكي ، صفحات البيانات ، المواصفات التقنية ، أدلة سرد كتيبات الإرشاد ، المدونات والمفكرات ، المواقع الإخبارية ومواقع الوكالات الإخبارية والأدلة التجارية)

    o المواقع الاجتماعية (البوابات الاجتماعية ، مواقع التصنيف ومواقع التدوين)

    o المواقع التعاونية (وهذا يشمل الفئات الأخرى المذكورة أعلاه مثل الويكي والمدونات)

    2. تعلم واحدة عى الأقل من تقنيات/طرق تبادل الأفكار (العصف الذهني) وبرنامج يقوم بتطبيق هذه الطريقة (على سبيل المثال:رسوم العصف الذهني البيانية و MS Visio)

    3. تعرف على هيكلة مواقع الانترنت (إنشاء تخطيطات الويب التخيلية ، خرائط الموقع وطرق الإبحار في الويب).

    4. خذ دورة سريعة في التصميم وتعلم استخدام تطبيق واحد على الاقل من تطبيقات تحرير الرسوميات (هذا البند اختياري ولكنه موصى به بشدة)
    5. تعلم أساسيات البنية التحتية للانترنت. ويشمل هذا الحصول على فكرة أساسية عن كل من:

    o قاعدة بروتوكولات خدمات الشبكة (HTTP, FTP, SMTP, و POP3 أو IMAP4)

    o برامج خادم الويب (ويفضل واحد للمنصة التي ستعمل عليها في الغالب)

    o برامج تصفح الانترنت

    o برامج البريد الإلكتروني.

    6. تعلم لغات مثل HTML و CSS إلى جانب بعض تطبيقات "ما تراه هو ما ستحصل عليه(WYSIWYG)” لتحرير صفحات HTML.

    7. تعلم XML والتطبيقات ذات الصلة مثل XSL و XPath (اختياري ولكن يوصى به)

    8. قم بإنشاء مواقع بسيطة ساكن حتى تكون لغة HTML مألوفة لديك ومرتاح لاستخدامها.

    9. تعلم لغة تفاعلية -من جانب الزبون- (يتعلم أغلب المستخدمين أما لغة Javascript أو VBScript ، ولكن يفضل البعض تعلم لغة بيرل أو لغة أخرى بدلا من ذلك) كما تعلم DHTML.

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

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

    12. قم بإنشاء مشروع تجريبي لك بعد الانتهاء من تعلم اللغة التفاعلية -المتعلقة بالخادم-.

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

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

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

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

    3. الحصول على مدخل في أساليب البرمجة الوظيفية ، الكائنية المصدر والبرمجة الإجرائية.

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

    5. تعرف على واحدة على الأقل من تقنيات النمذجة المتقدمة مثل UML أو ORM.

    6. ابدأ بكتابة بعض تطبيقات سطر الأوامر الصغيرة (يمكنك الاستفادة من التمارين العامة في كتب لغات البرمجة).

    7. خذ دورة متقدمة في اللغة البرمجية التي قمت باختيارها في الخطوة رقم 3. تأكد من فهمك المفاهيم التالية جيدا مع إمكانية التطبيق دون صعوبة تذكر قبل المضي قدما:
    o إدخال وإحراج المعلومات إلى مستخدمي البرنامج.

    o الانسياب المنطقي وانسياب تنفيذ تعليمات البرامج بالنسبة للبرمجة الاجرائية.

    o تصريح ، وتعيين ومقارنة المتغيرات.

    o تراكيب البرمجة الشرطية مثل if..then..else و select/switch..case.

    o التراكيب التكرارية (الحلقية) مثل while..do ، do..while/until ، for..next.

    o القواعد اللغوية للغتك البرمجية الخاصة بإنشاء واستدعاء الإجراءات والدوال.

    o أنواع البيانات وطرق استعمالها.

    o أنواع البيانات المعرفة من قبل المستخدم (الوحدات/التراكيب/السجلات) واستخدامها.

    o إذا كانت اللغة المستخدمة تدعم overloading functions ، فافهمها.

    o طرق وصول اللغة المستخدمة للذاكرة مثل (المؤشرات ، الخ...)

    o اذا كانت اللغة المستخدمة تدعم operators overloading ، فافهمها.

    o اذا كانت اللغة المستخدمة تدعم مؤشرات الدوال/المندوبين ، فافهمها.

    8. قم بتطبيق التقينيات المتقدمة التي تعلمتها.

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

    o البرمجة المنطقية

    o البرمجة الاجرائية

    10. حاول إجراء مقارنة بين أي لغتين برمجيتين تعلمتهما حتى الآن للوقوف على مواطن القوة والضعف لكل منهما. وعادة ما يتم ذلك عن طريق:
    o أخذ عينات بسيطة من أعمالك المبكرة في اللغة البرمجية الأولى وإعادة كتابتها مستخدما اللغة البرمجية الثانية.

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

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

    o حاول إيجاد طرق لمحاكاة الخصائص المميزة بكل من اللغتين باستخدام اللغة الأخرى.

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

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

    o قراءة بعض المقالات أو الدروس التعليمية في واجهات المستخدم الرسومية.

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

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

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

    15. ابحث عن حزم/مكتبات أخرى من العناصر البصرية للغات البرمجية التي قمت بتعلمها.

    16. أخذ دورة في الرسوميات (ليس التصميم الجرافيكي) سيكون مساعدا جدا للمبرمجين الراغبين في كتابة عناصر جذابة لواجهة المستخدم الرسومية.

    17. تعتبر برمجة الألعاب ،في أغلب أجزائها، برمجة لتطبيقات سطح سطح مكتبية. وإذا كنت تنوي أن تصبح مبرمج ألعاب ، فانك بحاجة لمعرفة المزيد عن برمجة الألعاب بعد الانتهاء من هذه الخطوات. بحيث تعتبر دورة الرسوميات إلزامية لمبرمجي الألعاب كما يجب أن تكون لغة الاختيار الثانية في الخطوات السابقة أحد اللغات البرمجية المنطقية/الوظيفية (يفضل لغة Prolog أو Lisp).
    مبرمجي التطبيقات الموزعة

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

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

    2. تعرف على الهندسة المعمارية للشبكات والاجهزة المستخدمة مثل المجمعات ، و المبدلات ، والراوترز.

    3. خذ دورة في أساسيات وبروتوكولات الشبكات. فأنت بحاجة لفهم جيد لكل من نموذج OSI ، شبكة الإيثرنت ، IP ، TCP ، UDP و HTTP قبل البدء ببرمجة مثل هذه التطبيقات.

    4. تعلم لغة XML وتعرف على حيثياتها.

    5. قم بالخطوة الثانية والثالثة من خطوات إعداد نفسك لبرمجة تطبيقات سطح المكتب.
    6. ابدأ من خلال تعلم لغة نصية -سطر الأوامر-. في إذا كنت تبرمج تحت نظام ويندوز ، فيمكنك اختيار أي لغة نصية تعمل ضمن مضيف ويندوز للغات النصية. أما بالنسبة للبرمجة على نظام لينكس ، فيكفي استخدام كل من نصوص Bash و Perl. كما يوصى بشدة اعتماد Javascript لهذه المهمة في كل من المنصتين (لينكس/ويندوز) وذلك للأسباب التالية:

    o توفر الدعم من قبل أي مضيف نصي في أي نظام تشغيلي (يدعم نظام ويندوز javascreipt بشكل افتراضي ، كما أن اغلب توزيعات لينكس تحتوي على حزمة لدعم برمجة javascript).

    o تعتبر الأسهل للتعلم من قبل العديد من المطورين.

    o تحتوي على قواعد مستمدة من ALGOL والذي يجعل من اللغات الأخرى أمرا مألوفا عند رغبتك باختيار لغة برمجية ثانية (تحتوي كل من C, C++, C#, Java و J# على هذه الخاصية)

    o عن طريق تعلم Javascript ، ستعرف نفسك على البرمجة -الموجهة للعميل- والتي تعتبر اثر جانبي إضافي.

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

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

    9. انتقل لاستخدام لغة برمجية/نصية مكتبية. من المفضل اختيار لغة تدعم عدة أساليب برمجية مثل بايثون. خذ مقدمة بسيطة لهذه اللغة البرمجية الثانية. تعتبر لغة جافا من اللغات المفضلة لأغلب المبرمجين في هذا المجال لأسباب عدة ، ومع ذلك فإن لغة #C اكتسبت زخما سريعا في هذا المجال. يفض استخدام لغة جافا و #C وذلك للأسباب التالية:

    o تعتبر من اللغات البرمجة الكائنية التوجيه ، والتي تحمي المبرمجين - بشكل عام - من الاهتمام بتفاصيل التنفيذ لأنهما على حد سواء تدعم وحدات (الوحدات هي عبارة عن مجموعة من الشفرات المصدرية شبه مترجمة ، و تقوم بمهمة محددة مع امكانية استخدامها في برامج أخرى).

    o تدعمان البرمجة الموجهة بالأحداث كما تدعمان كل من البرمجة الكائنية و البرمجة الاجرائية على نفس المستوى.

    o إطار العمل الذي بني عليه اللغة موزع بطبيعته (يعمل على الكثير من المنصات) (في حالة لغة جافا).


    تابع المقالة







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    الله يسامحك علي المقالة الطويلة
    بس شكلها قوية جدا

    اقرأها غدا ان شاء الله
    واشكرك مقدما علي كل حرف فيها





    __________________
    تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
    وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
    وتلك الفاظ لا معنى لها كذلك كلماته

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    395


    ههههههههههههع طويلة اخوي تراها سوات لي ملل ههههع شوف غدا ان شاء الله او الليلة اقراها ولي رجعة ان شاء الله





    __________________
    كود PHP:
    مغربي 00212527603014 
    bem-03@hotmail.com

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    448


    السلام عليكم

    تسلم اخى





    __________________
    المصرية للكلادينج والالومنيوم والاعلان
    01004636205
    amrdarwish@gmail.com





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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