الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

مغلق
بدأه احمد السيد في 1 يونيو 2005 · 21 رد · 3,430 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

البرمجة او تصميم التطبيقات:

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

بها لا بد أن يكون لديه ملكة اكتساب المهارات.. إنها وظيفة المبرمج؛ إحدى الوظائف الهامة المطلوبة في السوق العربية.

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

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

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

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

- محللو النظم System Analysts

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

- مصممو النظم System Designers

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

- المطورون – المبرمجون Developers - Programmers

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

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

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

المواصفات الشخصية للمبرمج

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

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

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

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

المواصفات التقنية للمبرمج

يجب على الراغب في وظيفة المبرمج أن يعرف أولا تصنيف لغات البرمجة باختلاف أنواعها، والتي تنقسم إلى قسمين:

- الأول: وهو البرمجة التقليدية أو ما يطلق عليه Standard Programming وهي تلك اللغات التي يكون البرنامج فيها مكونا من سلسلة من الخطوات (من 1 إلى 100) مثلا، وهذه الخطوات تتسلسل تلقائيا في التنفيذ لتكوين البرنامج، وهي اللغات الخاصة بصنع التطبيقات التي تعتمد على أنظمة التشغيل غير الرسومية مثل DOS Applications، ومن أمثلة هذه اللغات لغة الكوبول COBOL ولغة البيزك Basic.

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

10 CLS الكود الخاص بمسح الشاشة

"20 PRINT "Welcome الكود الخاص بكتابة الكلمة على الشاشة.

30 END "كود إنهاء البرنامج"

- النوع الثاني: من لغات البرمجة هو اللغات التي تقوم بصنع البرامج التي تعمل تحت بيئة التشغيل الرسومية GUI، وهي ما يطلق عليها OOP أو البرمجة الشيئية (البرمجة الموجهة بالعناصر أو الكائنات) Object Oriented Programming، وفيها يتم إنشاء البرنامج عن طريق مجموعة من الكائنات المرتبطة ببعضها البعض والتي يؤثر كل منها في الآخر ويتأثر به.

وخير مثال على تطبيق مكتوب بأحد تلك اللغات التي تعتمد على OOP هو برنامج الرسام مثلا، والموجود ضمن حزمة برامج نظام التشغيل Windows على اختلاف إصداراته. ومن أشهر لغات البرمجة التي تنتهج هذا النهج لغة Visual Basic- ولغة Delphi- والعديد من اللغات الأخرى.

مبادئ البرمجة

ولكي يبدأ المبتدئ بالبرمجة بأي من هذين الطريقين السابقين يجب أن يعلم أولا مفاهيم ومبادئ البرمجة بشكل عام Programming Concepts.

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

وفيما يلي أهم المبادئ والمفاهيم الأساسية التي تحتاج إليها في هذا الصدد:

- حل المشكلات Solving Problems

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

- الخوارزم Algorithm

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

- خريطة التدفق Flow Chart

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

- لغة البرمجة

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

الفيجوال بيزك

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

لكن لتحقيق ذلك ابدأ بالأساسيات، فتعلم كيف تبرمج عن طريق قراءة الكتب التعريفية والتي تعتبر المدخل الابتدائي للبرمجة بـVisual Basic.

استكشف جميع المزايا الأساسية المتوفرة في اللغة.

اختبر الأمثلة التي تأتي مع Visual Basic أو البرامج القابلة للإنزال من مواقع البرمجة المختلفة في الإنترنت.

وبالاعتماد على الوقت المستغرق لتعلم الأساسيات، قد تحتاج إلى عدة شهور حتى تصبح مبرمجا منافسا. لكن يجب عليك تعلم تفاصيل متقدمة في مجال Visual Basic، مثل برمجة العميل الخادم Client/Server، برمجة قواعد البيانات، بيئة التطوير المتكاملة نفسها (كالاضافات Add-Ins)، إجراءات برمجة واجهة التطبيقات API، والكتب المتقدمة والأمثلة العملية قد تفيدك.

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

ولا يعنى هذا -وفقا لمصطفى- أنك وصلت إلى خط النهاية بل يجب على المبرمج الواعي أن يتعلم لغة برمجة أخرى كـDelphi، C++...

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

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

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

مشاكل.. الوظيفة

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

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

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

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

المقال منقــــــــــــــــــــــول

تم تعديل هذه المشاركة بواسطة احمد السيد في 1 يونيو 2005 في 16:45

#2

السلام عليكم

"المقال منقــــــــــــــــــــــول "

و مع ذلك قمة في الروعة

بارك الله فيك

gaza3-3.jpg
#3

السلام عليكم

مقال جميل جدا جدا

ولكن لى تعليقان :

1- إن لغات البرمجه التى لها نوافذ رسوميه GUI ليست بالضروره أن تكون OOP و كمثال شهير VB بكل إصداراته قبل ال Dot Net .

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

مثال: أى من نظم التشغيل "Operating System" لايمكن صنعه بال VB ولكن بإمكانك إستخدام C " على حسب ما أذكر"

أسف للمداخله

سلام

اللهم إنك عالم بحالى وغنى عن سؤالى فأهدنى وأصلح لى بالى

#4

الف شكر الك الموضوع الشيق والله...

بس غريبة...انتا ذكرت معظم انواع البرمجة و التصاميم..بس انسيت تصميم الجرافيكس....Graphics...

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

مشكور...ٍ

#5

السلام عليكم

شكرا للاستاذ ابراهيم الطيب على قراءة الموضوع والذى اعتبرة وسام على صدرى :D

الاخ huss22us

اقتباس
1- إن لغات البرمجه التى لها نوافذ رسوميه GUI ليست بالضروره أن تكون OOP و كمثال شهير VB بكل إصداراته قبل ال Dot Net

اقرأ هذا

اقتباس
ومن أشهر لغات البرمجة التي تنتهج هذا النهج لغة Visual Basic

المقصود انها تنتهج نهج النوافذ الرسومية gui اى تكون من ضمن لغات البرمجة التى تعمل على نظام 32 بت وليس المقصود انها opp

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

مثال: أى من نظم التشغيل "Operating System" لايمكن صنعه بال VB ولكن بإمكانك إستخدام C " على حسب ما أذكر"

نحن نتفق جميعا ان لكل لغة امكانياتها الخاصة بها من حيث القوة والضعف والمبرمج المحترف هو من

يستطيع ان يستغل نقاط القوة للغة ما ويحاول ان يسخرها للغة اخرى تكون ضعيفة فى هذة النقطة

مثال على ذلك

لغة الفجيوال بيزيك هل تتفق معى انها ضعيفة من ناحية التعامل مع الهاردوير؟ ولغة السى او الاسمبلى

قوية جدا من ناحية التعامل مع الهاردوير؟

فلو استطعت ان استغل نقطة القوة الموجودة فى السى والاسمبلى وبرمجة ملف dll عن طريقها وليكن مثلا للتعامل مع منفذ الطابعة والنداء من داخل الفجيوال بيزيك على دالة التعامل مع منفذ الطابعة الم اكن بذلك عالجت نقطة الضعف فى الفجيوال بيزيك واستطعت التعامل من خلالها مع الهاردوير؟؟؟

اما من ناحية برمجة نظام تشغيل بالفجيوال فهذا مستحيل لانها تعتمد على ملفات اخرى MSVBVM60.DLL

ونظام التشغيل يعتمد اساسا على ملف البوت وهذا يكون مبرمج بالاسمبلى بدون استخدام مقاطعات الدوس ولة مترجم خاص بة انا لااريد ان ادخل فى التفاصيل لانة خارج موضوعنا

الاخ Graphic_designer_boy

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

#6

مقال فعلاً ممتاز :rolleyes:

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

feed.1.gif

#7

انتظروا موضوع الجرافيك

#8

شكراً على المقالة الشيقة ، وفي إنتظار المزيد

وفقك الله

#9

مقال أكثر من رائع

شكرا لك أخ احمد السيد

وفوق كل ذي علم عليم

http://www.leaderstechnology.com

-------------------------------

#10

مقال ابداعي

#11

اشكركم جميعا

#12

بسم الله الرحمن الرحيم

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

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

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

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

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

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

- محللو النظم System Analysts

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

- مصممو النظم System Designers

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

- المطورون – المبرمجون Developers - Programmers

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

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

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

المواصفات الشخصية للمبرمج

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

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

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

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

المواصفات التقنية للمبرمج

يجب على الراغب في وظيفة المبرمج أن يعرف أولا تصنيف لغات البرمجة باختلاف أنواعها، والتي تنقسم إلى قسمين:

- الأول: وهو البرمجة التقليدية أو ما يطلق عليه Standard Programming وهي تلك اللغات التي يكون البرنامج فيها مكونا من سلسلة من الخطوات (من 1 إلى 100) مثلا، وهذه الخطوات تتسلسل تلقائيا في التنفيذ لتكوين البرنامج، وهي اللغات الخاصة بصنع التطبيقات التي تعتمد على أنظمة التشغيل غير الرسومية مثل DOS Applications، ومن أمثلة هذه اللغات لغة الكوبول COBOL ولغة البيزك Basic.

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

10 CLS الكود الخاص بمسح الشاشة

"20 PRINT "Welcome الكود الخاص بكتابة الكلمة على الشاشة.

30 END "كود إنهاء البرنامج"

- النوع الثاني: من لغات البرمجة هو اللغات التي تقوم بصنع البرامج التي تعمل تحت بيئة التشغيل الرسومية GUI، وهي ما يطلق عليها OOP أو البرمجة الشيئية (البرمجة الموجهة بالعناصر أو الكائنات) Object Oriented Programming، وفيها يتم إنشاء البرنامج عن طريق مجموعة من الكائنات المرتبطة ببعضها البعض والتي يؤثر كل منها في الآخر ويتأثر به.

وخير مثال على تطبيق مكتوب بأحد تلك اللغات التي تعتمد على OOP هو برنامج الرسام مثلا، والموجود ضمن حزمة برامج نظام التشغيل Windows على اختلاف إصداراته. ومن أشهر لغات البرمجة التي تنتهج هذا النهج لغة Visual Basic- ولغة Delphi- والعديد من اللغات الأخرى.

مبادئ البرمجة

ولكي يبدأ المبتدئ بالبرمجة بأي من هذين الطريقين السابقين يجب أن يعلم أولا مفاهيم ومبادئ البرمجة بشكل عام Programming Concepts.

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

وفيما يلي أهم المبادئ والمفاهيم الأساسية التي تحتاج إليها في هذا الصدد:

- حل المشكلات Solving Problems

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

- الخوارزم Algorithm

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

- خريطة التدفق Flow Chart

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

- لغة البرمجة

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

الفيجوال بيزك

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

لكن لتحقيق ذلك ابدأ بالأساسيات، فتعلم كيف تبرمج عن طريق قراءة الكتب التعريفية والتي تعتبر المدخل الابتدائي للبرمجة بـVisual Basic.

استكشف جميع المزايا الأساسية المتوفرة في اللغة.

اختبر الأمثلة التي تأتي مع Visual Basic أو البرامج القابلة للإنزال من مواقع البرمجة المختلفة في الإنترنت.

وبالاعتماد على الوقت المستغرق لتعلم الأساسيات، قد تحتاج إلى عدة شهور حتى تصبح مبرمجا منافسا. لكن يجب عليك تعلم تفاصيل متقدمة في مجال Visual Basic، مثل برمجة العميل الخادم Client/Server، برمجة قواعد البيانات، بيئة التطوير المتكاملة نفسها (كالاضافات Add-Ins)، إجراءات برمجة واجهة التطبيقات API، والكتب المتقدمة والأمثلة العملية قد تفيدك.

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

ولا يعنى هذا -وفقا لمصطفى- أنك وصلت إلى خط النهاية بل يجب على المبرمج الواعي أن يتعلم لغة برمجة أخرى كـDelphi، C++...

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

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

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

مشاكل.. الوظيفة

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

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

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

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

#13

بالفعل مقالة جميله جدا أخي iemad

ولكن اتمني منك لو تستطيع اخبارنا بنوعية البرامج التي تكون كثيرة الطلب في الوطن العربي

لان من الصعب الالمام بلغة برمجة بشكل كامل فيجب التميز بجزء من اللغة ويكون هناك فكرة ولو بسيطة

عن أجزء اخرة من اللغة

#14

شكرا لك على تلك المقالة الممتازة

ولى سؤال بسيط ما مهمة الوظائف التالية

1-أخصائى حاسب الى.

2-محلل النظم.

#15

ماشاء الله اخي المقاله جميله

جزاك الله خيرا

Khaled_Tiger

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

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

#16

السلام عليكم

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

في مصر السي بلس بلس مطلوبة كثيرا .

ولكني أنصحك بشدة أن تتقن لغة البيسك نت ثم وأنصحك بشدة أن تتعلم ولو نظرة شاملة على بعض اللغات الآخرى لتكون سندا لك وتكملة لمشوارك مع البرمجيات .

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

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

شكرا لك أخي khaled_tiger على المرور الكريم والى كل الاعضاء .

#17

لاا دري لماذا اشعر ان الموضوع مكرر

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#18

تم دمج الموضوعين المتشابهين

#19

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

#21

هههههههههههه واية الفايدة اللى انت عملتها بقى من انك نسختة مرة تانية وبعدين تاريخ اضافتى للمقال اقدم من اضافتك لية يعنى انت اللى قلدتنى ههههههههههه ولا انت من هواة النسخ واللصق اكتر من مرة وبعدين انا ماقلتش ان المقال بتاعى انا كاتب فى اخر المقال انة منقول هههههههه اقراء المقال كويس مع انى متاكد انك لم تقرأ المقال هههههههه ونسختة وبعدين خليك متابعنى لان ناوى اكتب مقالات جديدة بس المرة دى مش منقولة علشان تبقى تنسخها للتاكيد هههههههههههههههههههههههههههههههههههههههه بس كدا هتبقى تباع اقصد loop

#22

مقال اكثر من رائع وموضوع مثير ومجهود تشكر عليه

بأبي انت وأمي يــــــــــــــــــا رسول اللــــــــــــــــــــــــــــــــه

11_04_06_03_18_15_11447506951138477499_kuth.gif

تذكر دائما ً إنك لا تعيش وحدك

تذكر ان ثمة كثيرون يحتاجون لك

ربما يحتاجون اشياء اكثر بساطة من ان تلتفت انت إليها

ربما يحتاجون إلى كلمة تشجيع ..... في زمن سيطر فيه المال وضاع الحب وتم قتل المشاعر

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

لا تمشي امامي فقد لا أتبعك

ولا تمشي خلفي فقد لا أقودك

ولكن امشي بجانبي ولنكن اصدقاء

كل زائد تافه مرفوض في عالم البرمجة

emadty@yahoo.com

هذا الموضوع مغلق.

مواضيع مشابهة