- نصيحة للمبتدئين في البرمجة.
- لا يخفى على كل مبرمج ان اللغات الحديثة مثل : السي شارب وvb.net من اللغات القوية والسريعة ولانها تجمع مكتبات كبيرة من الاكواد الجاهزة والواجهة السهلة للاستخدام , يعني ان المتعلم لهذه اللغات يقوم ب60 في المئة من العمل والباقي يقوم به البرنامج ويدل هذا على انك لم تعد مبرمج, فقط مستهلك لمنتوج .واغلب العمل الذي تقوم به في vb.net 2005 يتم بالفأرة
يعني مثلك مثل الدي يتعلم الضغط على الازرار. واذا لم تتعلم كيف تكتب برنامج من البداية الى النهاية فأنت لست مبرمج فقط تخدع نفسك والكل يعلم ان البرمجة في هذه اللغات سهلة جدا زي العمل على الفوتشوب لكن بعد ان تتعلم اللغات القديمة وتعرف التحكم في كل مكونات الحاسوب وفي كل مكونات البرنامج حينها يمكنك العمل بهده اللغات الجديدة .
لهدا فالمبرمج الحقيقي يبدأ بتعلم لغات مثل الاسمبلي رغم انها صعبة والسي والبيتون(لغة الهاكر) ... ثم يتعلم اللغات الحديثة مثل الجافا (افضل لغة برمجة) او السي شارب ....
سيعترض البعض على هذا ويخاف من البرمجة بس شو الفرق بيننا وبين الغرب او الفرق بيننا وبين الهند.
مثلا نريد نبرمج صاروخ شو نستعمل الاسمبلي ولا السي شارب ولا الvb.net ؟
طبعا الاسمبلي ولو استعملنا السي شارب او vb.net حينفجر علينا قبل ما نجمعوا
هذه نبدة عن بعض اللغـــات
لـــغــة الاســـــمـــبـــلـــي
- إذا اقتربنا من لغة الآلة واستخدمنا لغة التجميع ، فنجد أننا نخسر المرونة والعمومية . فلغة التجميع تفتقر إلى التجريد ومن الصعوبة بمكان تعديل جزء من برنامج مكتوب بها دون إعادة النظر في باقي أجزائه . كما أنها تحاكي ، بطبيعتها ، نوع الجهاز الذي تعمل عليه لدرجة أن أي تغيير في الأجهزة الملحقة بالحاسب ( مثل نوع الشاشة ) غالباً ما يستوجب إعادة صياغة بعض تعليمات البرنامج . أما من الناحية الإيجابية ، فإن لغة التجميع تكسبنا سرعة ( Speed ) وسلطة ( Power ) لا مثيل لهما في اللغات عالية المستوى . أما السرعة ، فتنتج من أن برامج لغة التجميع تخاطب المعالج المركزي ( CPU ) مباشرة ودون وسيط ( مترجم ) .
فإذا كنت على دراية تامة بمزايا هذا المعالج ( نقاط ضعفه ونقاط قوته ) أمكنك صياغة برنامجك بحيث تستفيد من نقاط قوته وتتجنب نقاط ضعفه . أما المترجم ، فلقد صمم لترجمة أي برنامج كيفما تمت صياغته وبالتالي لن يستطيع ، في كل الحالات ، أن يجاري برامج لغة التجميع سرعة وكفاءة .
إن انعدام الوسيط بين البرنامج المجمع والحاسب يؤدي أيضاً إلى زيادة سلطة هذا البرنامج على الجهاز . إذ إن المترجم ، كأي برنامج آخر ، يفرض على المبرمج شروطاً وقواعد خاصة به وباللغة التي يترجمها . هذه الشروط تؤدي بشكل مباشر إلى الحد من مجال العمليات التي يمكن للمبرمج أن يطلبها . فمترجم لغة باسيك مثلاً ، يمنع المبرمج من " تدوير " البتات التي يتكون منها عدد ما ( لأن مثل هذه العملية ليست من مفردات لغة باسيك ) رغم أن المعالج المركزي في الجهاز يستطيع أن يقوم بهذه العملية . وكذلك نجد أن مترجم برامج باسكال لا يسمح بوضع قفل ( Lock ) على أحد الملفات المخزنة على قرص مركزي يشترك في استعماله عدة مستخدمين ، رغم أن المعالج المركزي ونظام التشغيل يسمحان بهذه العملية . ولكن ، لنتذكر أن القدر الكبير من السلطة والتحكم الذي توفره لنا لغة التجميع لا يأتي مجاناً ، بل تصاحبه مسؤولية كبيرة . فمع زيادة السلطة يزداد العبء ويجدر الحذر .
فالسلطة التي تمكنك من قراءة أي قطاع من القرص بسهولة ، مثلاً ، تتيح لك تخريب سائق الاسطوانات تخريباً تاماً ، وبنفس السهولة !
- لـــمادا نستعـــمــلــهـــا ؟
لقد رأينا أن لغة التجميع تفتقر إلى المرونة ( مما يجعل كتابة وصيانة برامجها صعبة نسبياً ) وإلى العمومية ( التي تجبرنا على إعادة كتابة نفس البرنامج كلما تغير الجهاز ) وأنها تتطلب توخي الحذر وتحمل قدر كبير من المسؤولية ( إذ بدونها يمكن للبرنامج أن يعطب الجهاز ) . فإذا ابتلت لغة بهذا الوابل من المساويء ، جاز لنا أن نطرح السؤال : لماذا نستعملها أصلاً ؟
هذا حقاً سؤال وجيه . ونحن في الواقع نسعى دائماً إلى تجنب لغة التجميع إلا عند الضرورة القصوى ، حين تكون ميزاتها ( السرعة والسلطة ) أساسية لعمل النظام . ففي نظم الزمن الحقيقي ( Real time systems ) مثلاً ( كنظام الطيار الآلي ونظم الدفاع الجوي ونظم التحكم الصناعي ) تكون سرعة النظام هي معيار نجاحه أو فشله ، ولذا لابد من الاستعانة بلغة التجميع للوصول إلى السرعة المنشودة . وحتى عندما لا تكون السرعة أساسية بكل معنى الكلمة لعمل النظام ، قد نضطر إلى استخدام لغة التجميع ، جزئياً ، في برامجنا لتحقيق المواصفات المطلوبة من المستعمل أو محلل النظم ( كما يحدث في التطبيقات التجارية عندما نفرز Sort عدداً كبيراً من البيانات ) .
أما الموجب الثاني لاستخدام هذه اللغة فهو السلطة التامة على الجهاز أو أحد ملحقاته . فعند كتابة برنامج متعدد المستعملين ( multi - user ) ، كثيراً ما نضطر إلى وضع قفل على أحد سجلات ملف ، لكي لا نسمح لمستخدم آخر أن يكتب عليه أثناء عملنا . وكما نوهنا سابقاً فإن لغة باسكال القياسية لا تؤمن هذه الخدمة / مما يضطرنا إلى تنفيذها بلغة التجميع .
وبشكل عام ، فإن أي تحوير في عمليات الإدخال أو الإخراج القياسية سيضطرنا إلى استخدام لغة التجميع ، ولو جزئياً في برامجنا .
ولقد ظهر مؤخراً موجب ثالث لاستخدام هذه اللغة ، لا ينبثق من ميزاتها الأساسية ( سرعة + سلطة ) ، بل من السرعة المذهلة التي تتطور بها تقنية الحاسبات في الآونة الأخيرة . إذ لم تستطع الشركات المصنعة لبرامج النظم ( وعلى رأسها المؤلفات ) مواكبة سرعة تطور الأجهزة (Hardware) بل تختلف عنها بفارق يصل في بعض الأحيان إلى خمس سنوات! فنجد مثلاً ، أن مؤلفات اللغات الشهيرة لم تستطع التعامل مع المعالج الحاسبي المساعد ( arithmetic co-processor ) من النوع 8087 أو 80287 إلا عام 1986م ، رغم أن هذا المعالج ظهر إلى الأسواق في أوائل الثمانينات . وها قد مضى الآن أكثر من عامين على ظهور أجهزة PS/2 ، دون أن يظهر أي مؤلف يستفيد من مزاياها الكبيرة . أما على مستوى لغة التجميع ، فالصورة مختلفة : إذ إن هذه اللغة لا تحتاج إلى مترجم بكل معنى الكلمة ، بل كل ما تحتاج إليه هو قاموس صغير لمرادفات جملها بلغة الآلة . ومن السهولة بمكان توفير هذا القاموس ( أي المجمع ) مع كل جهاز أو نظام تشغيل جديد . لهذا تمكن مستعملوا هذه اللغة من تقديم برامج متطورة تواكب كل جديد في تقنية الحاسب ، سابقين بذلك من أصر على استخدام لغات المستوى الأعلى .
نلخص إذن بأن علينا تجنب استخدام لغة التجميع إلا في الحالات الثلاث الآنفة الذكر . ونضيف هنا أنه حتى في تلك الحالات ، علينا أن نعمد لاستخدامها جزئياً ، أي كبرنامج فرعي ، يتم طلبه من البرنامج الرئيسي الذي يكتب بلغة عالية أو حديثة .
- فــــــيــــجــوال بــــيـــســك
تحتل لغة بيسك الصدارة بين باقي اللغات الأخرى من حيث انتشارها و تلبيتها لمطالب المبرمجين المتنوعة، و يعود ذلك إلى سهولة استخدامها و مرونتها الشديد.
وقد واكبت هذه اللغة التطور الهائل الذي حصل مؤخرا على صعيد العتاد Hardware و البرمجيات Software من خلال حلتها الجديدة لغة فيجوال بيسك و التي تلاقي نجاحا عظيما لسهولة استخدامها و تعاملها السلس من النظام ******s
و قد وافقت لغة فيجوال بسيك باقي لغات البرمجة الحديثة من حيث أسلوبها المتطور إذ تعد هذه اللغة من لغات التطوير السريع للتطبيقات Rapid Application Development أو ما يدعى بلغات RAD .
و تتميز لغة فيجوال بيسك بقدرتها على التعامل مع عالم الوسائط المتعددة Multimedia إضافة إلى سهولة استعمال مكتبات الربط الديناميكية (DLL) و التي تعطي قدرة إضافية للمبرمجين للاستفادة من بعض القوالب البرمجية المسبقة للتطوير مما يوفر وقتا و جهدا كبيرين ، و تتعامل أيضا مع واجهة التطبيقات البرمجية الخاصة بنظام (******s) أو ما يدعى (******s API’s) .
كما يستطيع المبرمج باستخدام هذه اللغة كتابة برامج ذات الواجهة متعددة الوثائق (MDI) إضافة إلى إنشاء أيوقونات متحركة و إضافة إلى الحكة المرفقة بالصوت إلى تطبيقاته المختلفة ، و لم تهمل لغة فيجوال بيسك موضوع التعامل مع الملفات على اختلاف أنواعها ، و منها ملفات قواعد البيانات (Database) إذ تتعامل مع هذه الملفات المعدة بواسطة مايكروسوفت أكسس أو أحد البرامج الشهويرة في هذا المجال مثل dBase .
تعتبر الإصدار (Visual Basic 6) آخر الإصدارات في عائلة فيجوال بيسك . و هي تسمح لك بسرعة و بسهولة بتطوير تطبيقات (Widows) لكمبوترك الشخصي بدون أن تكون متمرسا في لغات البرمجة أو حتى C++ . و قد أصبحت هذه اللغة من مصاف اللغات كائنية التوجيه (OOP) ابتداء من الإصدار الخامس منها .
يزودك فيجوال بيسك بيئة رسومية و التي بواسطتها تستطيع أن تصمم نظريا النماذج و التحكمات و التي تصبح هي أساسيات بنائك في تطبيقاتك لكمبيوترك الشخصي . فيجوال بيسك يدعم عددا كبيرا من الأدوات المفيدة ، و التي تساعدك لإنتاج أكثر ، و هذه الأدوات تشمل على ما يلي :- نماذج ، قوالب ، متحكمات متخصصة ، إضافات و مدراء قواعد البيانات .
يمكنك استخدام هذه الأدوات جميعها لإنشاء تطبيقات كاملة في شهور، أسابيع أو حتى أياما .
أن فيجوال بيسك 6 صمم خصيصا ليخدم شبكة الإنترنت و يأتي معه عدد من التحكمات تسمح لك بإنشاء تطبيقات على أساس *** تسمى (ActiveX executables) وهذه تعمل كأنها تطبيق فيجوال بيسك منفرد ، و لكنها يتم توحديها عبر (*** browser) . و باستخدام هذا النمط الجديد في التطبيق ، يمكن مراجعة تطبيقات فيجوال بيسك الموجودة و توزيعها على الإنترنت . و الجديد في فيجوال بيسك هي مشاريع SAPI و مشروع قوالب Dynamic HTML و تزودك هذه القوالب هيكل عملي لتطوير مكونات جانبية لـ الأجهزة الخادمة في الويب .
- Visual Basic.NET
وهي احدثها تم اصدارها السنوات الاخيرة حيث تم إعادة تصميمها بالكامل إن لم نقل أنها لغة برمجة جديدة حيث اصبحت اللغة الآن لغة برمجة كائنية OOP Language كاملة . فاصبحت تدعم الوراثة Inheritance وإعادة تعريف الدوال وغيرها . واهم مزاياها أنه يمكنك تطوير برمجيات يمكن الاستفادة منها على منصات غير الويندوز مثل لينكس وماك وغيرها . وتسمى هذه التقنية الجديدة خدمات – عبر- الشبكة *** Service.
- لـــغة الفيجوال بيسك لم تعد كما كانت من قبل
لعلك سمعت كثيرا عن لغة الـ BASIC ، وقد تجنب تعلمها بسبب حدودها التي تقصر امكانياتها كسائر لغات البرمجة . لكن مع الاصدارات الحديثة من Visual Basic فإن الامر اختلف! حيث اصبحت امكانيات اللغة لا حدود , وقابلية التطوير لا نهائية اي انه اصبح ذو نهاية مفتوحة . فعن طريق الاضافات Add-Ins واادوات التحكم الخارجية ActiveX Control ومكونات COM بصفة عامة ، تستطيع انجاز كل ما استطعت انجازه باللغات المختلفة . فلاضافة مكون COM جديد لا يتطلب الامر منك سوى تحديد اسم وملف المكون ومن ثم استخدامه مباشرة ! .
التطبيقات التي تنشئها Visual Basic متوافقة 100/% مع اصدارات ويندوز الختلفة . فالنواة الداخلية للتطبيقات المنشأة بواسطة فيجوال بيسك هي عبارة عن سيل من اجراءات API التي هي عبارة عن روح نظام ويندوز . أما الدوال الاضافية التي توفرها لغة البرمجة فهي موجودة في مكتبة مستقلة MSVBVM60 وهي المسؤولة عن تشغيل برامجك التي طورتها عن طريق فيجوال بيسك .
فيجوال بيسك يوفر لك العديد من الحلول الخاصة بالانترنت. فيمكنك من انشاء ادوات تحكم ActiveX Controls يتم تنفيذها في صفحة ويب . أو تصميم تطبيقات متقدمة كـ ActiveX ********s للعمل على متصفح Internet Explorer . المزيد أيضا، فيجوالبيسك يوفر لك بيئة تطوير خاصة لتطوير تطبيقات انترنت سواء كانت للعميل Client كتطوير تطبيقات من نوع DHML Applications او للخادم Server كتطوير تطبيقات ASP Applications
م
ن
ق
و
ل
ن
ق
و
ل