recent
أخبار ساخنة

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

الصفحة الرئيسية

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

ماذا تود ان تبرمج؟
سؤال مهم اخر، فربما تود أن تبرمج برنامجا لشركة ما، وفي هذه الحالة ستحتاج وقتا كبيرا، وموارد كثيرة. والعديد من اكواب القهوة ! وربما تود فقط تصميم برامج شخصية، وفي هذه الحالة سيهمك عمل البرنامج أكثر من تصميمه [سترى هذا الاحقا من جهة أخرى، فربما تود المشاركة في تطوير برامج صنعها أخرون.
ما نوعية برنامجك؟
 نوعية البرامج أمر لابد من التطرق اليه. لكن قبل أن تحدد نوع برنامجك، لنتعرف أولا على انواع البرامج
البرامج الاحتكارية Sharware:
هى برامج محمية بحقوق نشر حيث يعتبر التعديل عليها Modifying وهندستها عكسيا Reverse engineering سرقة الشيفرة المصدرية Source code عملا غير قانونيا. ويخضع من يقوم بذلك لعقوبات حسب الرخصة والبلد الذي يحمي البرنامج، وقد يضع مبرمجه أو الشركة المبرمجة له قيودا اخرى لاستعماله من أمثلة هذه القيود
• وضع كود سري Serial number: حيث يضيف مبرمج البرنامج نافذة تظهر تلقائيا عند تشغيل البرنامج تطالبهم بادخال الرقم السري لتتمكن من استخدام البرنامج، وبالطبع يباع هذا الرقم السري في موقع الشركة.
• المدة التجريبية Trial periodle: تستعمل هذه الخاصية شركات كثيرة لأنها تزيد نسبة ارباحهم، حيث يشتغل البرنامج بشكل طبيعي وبكامل خصائصه لمدة معينة [15-30 يوما بعد هذه المدة، وعند تشغيله تظهر نافذة كالتي تعرفنا عليها سابقا تطالب المستخدم بالتسجيل وشراء الرقم السري وبالطبع، فان تشتري برنامجا جربته واثبت فعاليته خير من تشتري برنامجا لم ترى غير صوره واعلانات الترويجية لكن، وبما أنني حيادي تجاه اختيارك لنوعية برنامجك فسأخبرك أيضا بما يعاب على البرامج الاحتكارية للاسف. فان كثيرا من هذه البرامج تقوم بوضع ملفات تجسس Spyware . لأغراض مختلفة فبعض الشركات تقول إنها فقط لمنع الغش Fraud اعادة تنصيب البرنامج عند انتهاء الفترة التجريبية كحيلة لعدم شراء البرنامج غير أن دراسة هذه الملفات اثبتت أن أغلبها يقوم بارسال معلومات المستخدم الى الشركة المصنعة للبرنامج ومرة أخرى تجيب الشركات بان هذا فقط لقصد تطوير البرنامج، وبأن خصوصية المستخدم محفوظة دوما.
طريقة تعلم البرمجة للمبتدئين خطوة بخطوة


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

Open - source software اي البرامج المفتوحة المصدر
 البرامج الاحتكارية مغلقة المصدر:
ربما يتبادر إلى ذهنك هذا السؤال: لماذا لا ابيع البرنامج واعرضه مجانا. بل واضع الشيفرة المصرية التي تعبت في كتابتها أيضا ؟ سأجيبك: أولا. لا تظن أن حقوقك سيتم انتهاكها بهذا الشكل، بل هي محفوظة. كما أن هنالك العديدين من محترفي البرمجة يسخرون جزءا من طاقاتهم لتطوير هذه البرامج. كيف ذلك؟ سأجيبك أيضا: البرنامج المجاني يخضع غالبا لرخصة تدعى رخصة General Public License او اختصارا رخصة GPL العمومية، وهي تابعة لمؤسسة البرمجيات الحرة Free software foundation او اختصارا FSF ويتضمين هذه نسخة من هذه الرخصة في برنامج فإنك تقوم بحمايته حسب ما ورد فيها، يمكنك تحميل نسخة من الرخصة License من الموقع الرسمي للمؤسسة www.fsf.org عموما، فالاتفاقية تنص على حرية استعمال البرنامج لأي غرض شخصي، تجاري. ونشره والتعديل عليه مع الاحتفاظ
دائما بحق ذكر اسم المبرمج أو الشركة المبرمجة. من جهة أخرى، فهناك مواقع كثيرة تعنى باستضافة مبرمجي البرامج المفتوحة المصدر واعطائهم مساحة لوضع برامجهم والتواصل مع المبرمجين الأخرين قصد تبادل المعلومات وتطوير البرامج ولعل اشهر هذه المواقع موقع www.sourceforge.net
الذي يستضيف عددا ضخما من البرامج مفتوحة المصدر مثل VLC Media player classic والكثير من البرامج المعروفة التي لم تكن لتصبح كذلك لولا جهود المطورين. وكما فعلت انفا اطلع علي سلبيات هذا النوع من البرامج - التي لا اجد لها تبريرا مقنعا-: تشير بعض الشركات ان البرامج المجانية نكسة عليها. فمثلا، ما حاجتك لشراء مشغل ملتميديا مثلا BS Player في حين يوجد برامج أحسن منه ومجانية ومفتوحة المصدر أيضا. كما يقول البعض أن هناك من ياخذ الشيفرة المصدرية ويعدلها مع اضافة ملفات ضارة ليعيد توزيعها بعد ذلك لكنني لم ألاحظ أي شكاوى تستحق النظر فيها بهذا الشأن وارد على هؤلاء بالمثال التالي: انا اصمم برنامجا وفي نافذة التواصل أكتب اسم موقعي، فكيف يقوم شخص عاقل بتنزيل برنامجي من موقع آخر قد لا يكون رسميا  ثم يلقي اللوم على البرامج المجانية...

لنعد الأن إلى موضوعنا الأساسي كيف تختار نوعية برنامجك
انصحك بالخيار الثاني مع بعض التعديلات كيف؟ سأعطيك فكرة صغيرة. قم بتصميم برنامج اجعله مجانيا بتضمين عبارات مثل This program is free for personal/ home use only والتي تعني أن البرنامج مجاني للاستعمال الشخصي والمنزلي فقط. وبالتالي -طبعا إن كان برنامجا متميزا- وارادت شركة ما استخدامه أو أخذ شيفرته المصدرية لتطويره أو رعايته فسوف تراسلك وعليه يمكنك إمضاء عقد معهم بمقابل مادي، في انتظار ذلك قم باضافة زر التبرعات Donate. فعندما يستخدم شخصا ما البرنامج ويعجبه يقوم بتحويل بضع دولارات إلى حسابك تعبيرا عن ذلك. والأن اسألك: هل تملك حسابا اصلا إن لم تكن كذلك فتوجه نحو احد مواقع الحسابات البنكية الإلكترونية وأنشأ حسابك الخاص، هنالك العديد من الدروس المفصلة في المواقع العربية لكيفية فعل ذلك إن واجهتك مشاكل على العموم، أنصحك بإنشاء بطاقة master card لأنها شائعة الاستخدام ومن ثم ربطها بموقع لتحويل الأموال مثل paypal التابع لشركة eBay لكن اعلم ان الموقع ياخذ نسبة معينة من كل عملية تحويل كما ان هنالك مواقع اخرى لتحويل الأموال. وقد ذكرت هذا الموقع لشهرته ومصداقيته فقط، فان كانت لك تجربة مع مواقع مشابهة فلا تلزم نفسك بالمثال المذكور
هذه الطريقة في نشر البرامج مفيدة. فالبرنامج مجاني مما يكسبك سمعة وينتشر بسرعة، وهو بالمقابل ليس مفتوح المصدر. ولا تنس زر التبرعات، هذا المثال على سبيل الذكر فقط فإن كانت لديك خطط أخرى لا تتردد في استخدامها

 الان أنك تود طرح برنامج بمقابل ما افضل طريقة لفعل ذلك؟ 
أول شيء انا متشائم من هذه الطريقة فحتى أنت بصفتك مستخدما تفضل شراء برنامج لشركة معروفة وليس برنامجا لمبرمج مغمور، على كل حال، فلأحسن النتائج قم بتصميم البرنامج ولا تضع مدة تجريبية او رقم سريا أو أي شيء آخر لأن المخترقين [ الكراكرز Crackers] لن يدخروا جهدا في اختراق برنامج بل الأصح بتظري ان تطرح البرنامج بكل خصائصه لكن مع بعض الأزرار التي لا تعمل عند الضغط عليها بل تظهر نافذة تطالب المستخدم بشراء النسخة الكاملة من البرامج Full version حيث ان البرامج من هذا النمط تسمى - Demo version نصيحة أخرى، قم باستهداف الأزرار الأساسية. مثلا قمت بتصميم برنامج تحرير نصوص. سيقوم المستخدم بتنزيله, وتنصيبه وتشغيله ثم يكتب ما يريد ويستمتع باضافة الصور وتغيير أنماط الكتابة.. ويعجب بشكل برنامجك الجذاب. لكن عندما يود حفظ المستند الذي كتبه بالضغط على زر الحفظ تظهر الرسالة التي تطالبه بشراء النسخة الكاملة من موقعك او عبر مراسلتل، ربما يحاول المستخدم الاستغناء عن زر الحفظ بطباعة المستند مباشرة فتظهر نفس الرسالة اترى؟ لقد تركنا للمستخدم الحرية في استخدام البرنامج والتعلق به واستكشاف كل ما يمكنه فعله، وفي نفس الوقت حرمناه من اهم الخصانص. وعليه سيصبح مجبرا على طلب شراءه منك طبعا، وخاصة إن كان برنامج مميزا وفريدا. نسيت أمرا آخر هو سعر البرنامج مثال برنامج اتحفظ عن ذكر اسمه والشركة المصنعة له تم طرحه بحوالي 46 دولار لتطرح بعد أشهر شركة أخرى معروفة برنامجا من نفس النوع لكن مع خصائص اقل بكثير. المفاجئة كانت سعره الذي تم تحديده 100 دولار، فمن برايك سيشتري هذا البرنامج؟
لغات كثيرة... هدف واحد
صدقنى، لقد قمت باهم خطوة فقد حددت الهدف من تعلمك للبرمجة. واخدت لمحة عن انواع البرامج وعن الطرق المناسبة لتوظيفها في مشاريعك المستقبلية، والأن أعود واسالك: هل تتقن أحد لغات البرمجة؟ ان كنت متمكنا من أحد اللغات المعروفة يمكن الانتقال للفصل الموالي أما إن كان هذا احد اول الموضوعات التي تقراها في مجال البرمجة فتابع معي:
لبرمجة برنامج ستحتاج أساسا إلى اتقان لغة برمجة، تكون اغلب لغات البرمجة من دوال Functions وكلمات مفتاحية Keywords [لا ترتبك فمعرفة الرياضيات ليست ضرورية.. سترى الأن بعض اشهر اللغات، لكن قبل ذلك اعلم أن وظيفة لغات البرمجة تسهيل اعطاء الأوامر للكمبيوتر حيث ان هنالك برامج تدعى المجمعان Compilers تقوم بتحويل الأوامر المكتوبة بلغة برمجة معينة الى لغة الآلة

 -الفيجوال بيسك6 Visual Basic : أحد أكثر اللغات شعبية، وذلك راجع اساسا لسهولة مهمتها والتعامل معها وتصحيح ا الأخطاء بها من سلبياتها وجود اخطاء في المجمع Compiler كما أن بها ما يصطلح عليه بالقصور اي انها عاجزة عن تنفيذ بعض الأوامر المتقدمة . وعلى خلاف باقي اللغات، فهذه اللغة لا يتم تحويلها كليا إلى لغة الألة. عوضا عن ذلك، فعملها يتطلب اتصالا بملف مكتبة تشغيل Runtime library وهذا الملف هو MSVBM60. dll

مما يعني انه ليعمل برنامجك يجب أن يكون هذا الملف متواجدا على الكمبيوتر وتحديدا في مجلد النظام السي
- ++C: هذه اللغة غنية عن التعريف، وعلى خلاف Visual basic التي صممتها شركة Microsoft فهذه اللغة تعمل على أغلب الانظمة  MultiPlatform أي أنه يمكن برمجة برنامج يعمل على نظام Windows و Linux و Macintosh ايضا. لكنها صعبة التعلم وقد تمضي عاما او عامين في تعلمها ثم لا تستطيع برمجة أكثر من الة حاسبة



- بايثون Python: أتذكر حديثنا عن البرامج المجانية والمفتوحة المصدر، لعل هذه اللغة خير مثال على هذا النوع من البرامج فهي مجانية ومفتوحة المصدر وكسابقتها فهي تعمل على العديد من الأنظمة كما أنها ليست صعبة مثل السي++ ، لكنها أيضا
ليست سهلة مثل الفيجوال بيسل 6. وتعد لغة وظيفية  الفيجوال والسي لغات كائنية التوجه OOP لكن لا داعي للتطرق الى هذا الأن .

- Delphi: الدلفي ليست لغة برمجة بقدر ما هي تطوير اللغة باسكال Pascal سهلة التعلم. يتم تدريسها لطلبة الجامعات الى
جانب لغة الجافاJava توجد مجمعات لهذه اللغة تعمل على نظامي Linuxg Windows

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

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

مثل برنامج الا صلاتي الفكرة العامة هي ان لا تكتفي بتقديم ما سبق تقديمه بلا أن تحاول تقديم الجديد. فكر وستجد الفكرة المناسبة مع إن تؤمن بأنك قادر على ذلك التصميم: هذا الأمر جد مهم، فهنالك العديد من البرامج الرائعة لم تحقق النجاح المطلوب بسبب اهمال مرحلة التصميم، وكما سبق واخبرتك: يمكئك اهمال التصميم إذا كان البرنامج للاستعمال الشخصي لك أو لصديقك، 
والآن كيف تقوم بعمل تصميم ناجح لبرنامج؟ أول شيء هو أن تستخدم برنامجا ما لتصميم صورك الخاصة. فما أسوء أن يقوم مستخدم بشراء برنامج اغلب محتوياته مسروقة". وان لم تكن لديك خبرة كافية بالتصميم. ابحث عن صور وايقونات ليست شائعة الاستخدام ولو كانت بتمن بسيط، هناك حل أخر أفضل هو استخدام الصور المتعارف عليها. فمثلا صورة العلامة x تعني الخروج من البرنامج و - تعني تصغير النافذة وهكذا... أيضا، فكرة جميلة أن توفر العديد من التصاميم أو الأشكال Skins للبرنامج وتدع الاختيار للمستخدم مع اختلاف الألوان من شكل لاخر فان كان المستخدم فتاة فستختار الالوان المائلة إلى الوردي وهكذا... شيء آخر، قم باستخدام صور صغيرة الحجم او استخدم برنامجا لضغط أحجام الصور مثلا JPEG Compressor وذلك لكي لا يتطلب البرنامج وقتا ليشتغل، ولا يستهلك حجما كبيرا من الذاكرة
نوافذ البرنامج: بعد أن فهمت طرق التصميم عليل البدء بذلك، ولكن ماذا تصمم
 
طريقة تعلم البرمجة للمبتدئين خطوة بخطوة

يتكون البرنامج عادة مما يلي:
• نافذة البداية Main window: هذه النافذة الرئيسية للبرنامج، وهي التي تظهر عند تشغيله، هنا تبرز أهم مكونات برنامجك، وان كان يؤدي العديد من المهام فاستعرض أبرز تلك المهام بها. كما أنه يمكنك تخصيص مساحة صغيرة تضع بها اعلانات متغيرة مجموعة صور تظهر إحداها عشوائيا كل مرة يتم تشغيل البرنامج كوسيلة لترويج منتجات الأخرى لكن ليس بشكل مزعج. اهتم بهذه
النافذة بشكل خاص.

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



• نافذة حول البرنامج About window ; لهذه النافذة عادة ما تكون أصغر من النوافذ الأخرى وفيها تضم معلومات عامة عن برنامجك كاسمه، اسم الشركة المصنعة -إن وجدا- كيفية التواصل مع رقم الهاتف، البريد الإلكترونيا الموقع الرسمي.] الحقوق (ضروري). بالمناسبة فهي عادة كالأتي:Copyrights © 20xx Your name. All rights reserved

قد يضم البرنامج نوافذ اخرى، ومرة ثانية. فهذا يعتمد على نوع البرنامج إضافات أخرى: ما تعلمته سابقا يكفي لتصميم برنامج محترم، لكن ماذا لو كان لديك طموح أكبر كتصميم برنامج لتسريع واصلاح النظام مثلا وأردت أن يكون له مظهر
احترافي من اجل هذا ستحتاج لاضافة مكونات أخرى عدا التوافة ملف المساعدة Help
file كمثال. فعند تشغيلك لأغلب البرامج ستجد صورة لعلامة استفهام أو زر Help وعند الضغط عليه يظهر ما يعرف بدليل المستخدم User Guide وهو ملف PDF  أو CHM وأحيانا HTML تجد به وصفا مفصلا لكل مكون في البرنامج وهكذا تتجنب المشاكل التي قد يعانيها المستخدم والتي قد تكون سببا في تركه البرنامج، أيضا ملف License وهو ملف نصي txt. تكتب فيه رخصة البرنامج. ملف Changes فكرة جيدة إن كانت نسخة البرنامج ليست الأولى حيث تكتب فيه التغييرات التي قمت بها بين التسخ القديمة والنسخة الجديدة تستنتج أن برنامجك الان وعند تنصيب المستخدم له والولوج اليه من مجلد Programmes [ان كان قابلا للتنصيب
 أصبح كالتالي:
your program.exe
license.txt
changes.txt
help.pdf
a directory to put any other files
كتابة الشيفرة المصدرية، بعد أن حددت فكرة البرنامج وقمت بتصميمه وتنسيق الأزرار... عليك الأن كتابة الأوامر التي يقوم البرنامج بتنفيذها، عذرا لكنني لا أستطيع تقديم الكثير لك لأن برمجة البرنامج تعتمد على اللغة المستخدمة لكنني سأخبرك بنقاط يجب عليك مراعاتها اثناء كتابة اسطرك البرمجية
. استخدم الملاحظات قبل كل أمر ليسهل عليك قراءة شيفرة البرنامج لاحقا في حال
أردت مراجعته او تطويره. • حاول قدر الامكان تقليص حجم الكود المصدري ففي بعض لغات البرمجة يصعب
ايجاد موضع الخطا
. استخدم الطرق السهلة كي لتفادى الأخطاء قدر الإمكان، مثلا لحساب 1+1 تكتب
1 + 1 = وليس 1+1+2-2- لان في الحالتين ستصل الى نفس النتيجة .
• راجع الأوامر التي تكتبها باستمرار وحاول أن تجرب كل أمر تكتبه كي لا تختلط
عليك الامور وتعرف مكان الخطأ
الترجمة والمراجعة: ممتاز.. انتهينا من تصميم وكتابة شيفرة البرنامج، الأن، وباستخدام المجمع قم بتحويل ترجمة المشروع إلى ملف تنفيذي Executable. شغل البرنامج وتفحص خصائصه عدة مرات بقيامك بهذا فانت تبحث عن الشوائب الأخطاء] Bugs وهذا أمر جد مهم ففي حين أن الكمال لله تعالى ولا يوجد اشياء خالية من الشوائب والأخطاء فان كثرة هذه الأخيرة تنعكس بشكل سلبي عليك. من جهة أخرى اعلم انه من الطبيعي ان يجد المستخدم خطئا في برنامجك ولكن ليس خطئا فادحا، فكرة جيدة أن تضيف زرا لللإخبار عن خطا Report a bug، كما يمكنك اضافة تحفيزات لمن يقوم بالتبليغ كذكر اسمه في النسخة الجديدة من البرنامج أيضا، عليك أعلام المستخدم بالأنظمة المتوافقة مع برنامجك. والسبيل الامثل لفعل ذلك هو تجريب البرنامج على كل الأنظمة، مثلا، برنامج متوافق مع انظمة ويندوز8 -XP - Vista - Seven
لكن كيف تجرب البرنامج على كل هذه الأنظمة؟ استخدم برامج انشاء الأنظمة الافتراضية مثل Virtualbox. تتيح لك هذه البرامج تنصيب انظمة وهمية ستستفيد من هذا كثيرا
النشر والتوزيع: الأن ستقوم بنشر برنامجك، وسأفترض أن تنشره مجانا. إن كان البرنامج مفتوح المصدر فهناك مواقع مثلا
www.sourceforge.net
الذي ذكرته سابقا أو www.framasoft.org
تستضيف هذا النوع من البرامج، لكنني أفضل لو يكون لك موقع رسمي تطرح فيه برنامجك، ثم تقوم بالترويج له في المواقع المشهورة التي تهتم بمجالك. يمكنك ايضا الترويج لموقعك
ماذا الآن؟ تابع مستخدميك، لا تتردد في الإجابة عن أسئلتهم بل وسؤالهم أيضا -لكن ليس بطريقة مزعجة -  مثالا قم بعمل Survey وهو مجموعة اسئلة تضعها على موفعك في صفحة خاصة، لكن لا تجعلها تظهر تلقائيا بل  بطريقة لبقة. كوضع زر صغير يسال المستخدم إن كان يود المشاركة في الإجابة عن بضع أسئلة لن تأخذ الكثير من وقتك... افحص برنامجك باستمرار واعلم الأخرين دائما قبل وعد طرح النسخة جديدة على فكرة، يمكنك ان تضع زر تحديث Update أو تحديث تلقائي اوتوماتيكيا
Auto - Update في برنامجك حيث يتصل الزر بموقعك ويقوم بتنزيل النسخة الجديدة واستبدالها بالقديمة تلقانيا. وعند وضع التحديثات، تاكد من إضافة خصائص جديدة ومميزة، مع تلبية احتياجات المستخدم

لماذا يخفق المبرمج؟
بعد ان تعرفنا على مختلف الطرق والوسائل التي تقود برنامجك نحو النجاح وكيف تحافظ على نجاحه. سنتعرف الان على الأخطاء الشائعة بين المبرمجين و التي تؤدي لاخفاق المشروع
1- المظهر العام [التصميم]
التصميم السيء سوف يقودك حتما نحو الفشل. وكما رأيت سابقا، برنامج جد بسيط بمظهر لائق تكون نتائجه طيبة، لذلك خصص جزءا كبيرا من اهتمامك للتصميم
2-السعر
يجب ان يكون السعر ملائما للبرنامج، واختيار السعر يعتمد على شعبية البرنامج، مميزات البرنامج، والبرامج المنافسة يجب أن يكون سعرك مغريا حتى لو كان يرتامجك أفضل من البرامج المنافسة لها، كما أنه أمر جيد لو قمت بعمل مزايا، مثلا: تقوم بوضع 10 دولارات كسعر ليرتامجك. ثم تضع عرضا خاصا للمستخدم هو عند شراء ثلاث نسخ فالثمن الإجمالي سيكون 15 دولار بدل 30
3-غياب الدعم الفني 
إذا كان مشروع ضخما أو موجها لشركة او شركات فعليك توفير خاصية الدعم الفني وعلى مدار الساعة أيضا. ونصيحتي لك بهذا الشأن أن تقوم بانشاء ملتقى يجمع المستخدمين بل. قد يكون منتدى على سبيل المثال. وبذلك يمكنك التملص من مسؤولية الدعم لبضع ساعات انت أيضا لديك حياتك الخاصة
4-التقليد
افترض وجود مبرمجا متمكنا من لغة معينة شاهد برنامجا لتشغيل الملتميديا فقام بتصميم شبيه له، برأيك؟ هل سينجح المشروع؟ بالتأكيد لا وحتى لو قام بوضعه مجانا. فلا حاجة لأن يتخلى شخص ما عن برنامج معروف جربه الملايين فقط ليستخدم برنامجك الذي يملك نفس الخصانص. لكن ماذا لو أضاف هذا المبرمج خاصية جديدة سأترك الإجابة عن هذا السؤال لك..
5-الدعاية السيئة. المزعجة
كيف تتوقع أن تشهر برنامجك إن لم تحظ بالشعبية المناسبة؟ قم بإنشاء موقع وحسابات في مواقع التواصل الاجتماعي المعروفة، أيضا، قم بإشهار موقعك هناك العديد من المقالات العربية بهذا الخصوص. من جهة أخرى. لا شيء أسوأ من تلك الاعلانات المزعجة التي تقلق متصفح موقعك فتجنب استخدامها.
google-playkhamsatmostaqltradent