عبدالحميدحبيب
New member
إذا أردت أن تصعد مبنى أو ناطحة سحاب فلا تستخدم المصعد الكهربائى
يتعجب البعض ويتسائل !! وكيف أصعد ناطحة السحاب إذن؟!!
أقول له تصعد على قدميك باستخدام السلم ولا تحاول أن تقفز , بل يجب عليك أن تصعد درجات السلم درجة درجة بهدوء وتأنى
ما معنى هذا الكلام
معناه أنك من خلال تحديد هدفك فى النصحية الأولى تستطيع اختيار اللغة التى سوف تتعلمها لتحقق بها هدفك
ولكن قبل أن تبدأ يجب عليك أن تعلم جيدا أن مشوارك طويل يجب عليك أن تبدأ من الصفر ولا تتسرع ولا تتجاهل أشياء على حساب أشياء أخرى
فإذا أردت أن تبنى بناء صلبا متينا لا تؤثر فيه الرياح يجب عليك أن تهتم بالأساس والأعمدة التى سيقام عليها البناء
وهنا سؤال يطرح نفسه دائما
كيف أفرق بين لغات البرمجة وكيف أحدد اي منها أفضل أو بعبارة أخرى أى منها أقوى او بعبارة أصح أى منها يحقق الهدف
قيجوال بيسيك 6
Visual Basic 6
Visual Basic اداة قوية وفعالة لتطوير تطبيقات متوافقة مع بيئة Windows. يوفر لك بيئة تطوير متكاملة سهلة الاستخدام لانشاء الحلول سواء كانت شخصية او تجارية في وقت قياسي عن طريق فلسفة البرمجة المرئية. حيث تصمم الشاشات ونوافذ برنامجك عن طريق نقرات وتحريكات خفيفة بالفأرة كأنك ترسم مربعات ودوائر باستخدام برامج رسم وغيرها.
البيزيك المرئى
هى بيئة تطوير و لغة برمجة من مايكروسوفت تستند إلى لغة البيسك الشهيرة. و هى تصنف ضمن لغات البرمجة الشيئية. منذ أن بدأت مايكروسوفت في اصدار الفيجوال بيسك و هى تلاقى نجاحا باهرا و شعبية لا بأس بها بين المبرمجين نظرا لسهولتها الشديدة في مقابل التعقيد الشديد الذى يواجهه أى مبرمج يسعى لبرمجة ويندوز باستخدام السى أو السى++. الا أن الفيجوال بيسك ربما تكون هى من أسؤ اللغات التى تكتب عليها برامج الويندوز الآن طبعا بعد الجافا.عموما تناسب الفيجوال بيسك تطبيقات قواعد بيانات و التطبيقات المخصصة للشركات الصغيرة و برامج الحسابات و هى مريحة و سهلة و تؤدى الغرض بالاضافة إلى أنها تسمح للمبرمج بالتركيز على حل المشكلة فغالبا ما لا يواجه صعوبات فنية أثناء كتابة برنامج بالفيجوال بيسك. و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الألة مثل السى++ أو الدلفى و انما تترجم إلى كود وسطى يتصل مع مكتبة ربط تسمى ب"Run Time library" و اسمها MSVBMnn.dll مع ملاحظة أن حرفى ال"ان" يشيران إلى رقم الاصدارة.
لغة البرمجة فيجوال بيسك هي لغة ذات تصميم مرئي واجهة رسومية بعكس بعض اللغات مثل الاسمبلي ذات الشاشة السوداء . حيث تحتوي هذه اللغة على العديد من الاوامر بداخلها ولغة سهلة التطبيق تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic و التي تعمل تحت بيئة Dos إلى هذه النسخة التي تعمل تحت بيئة ويندوز . تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية و الاحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء اي اقتران او اجراء اعتمادا على الحدث. الحدث هو اي عملية يقوم بها مستخدم التطبيق على التطبيق مثل الضغط بزر الفارة او الضغط على أحد ازرار لوحة المفاتيح او حتى تحميل نموذج
مميزات الفيجوال بيسك
* لغة سهلة و سريعة لانشاء تطبيقات ويندوز.
* تدعم البرمجة الشيئية الا أن ذلك ليس بشكل كامل.
* تجربة برامج الفيجوال بيسك سهلة و سريعة لاعتمادها على مكتبة الربط خلال و قت التشغيل.
* سهولة اكتشاف الاخطاء فيها لانها تعتمد على نظام المفسر الذى يختبر كل خطوة من خطوات الكود على حدة واذا اكتشف فيها خطأ يتوقف ويبين لك الخطأ داخل الكود
عيوب الفيجوال بيسك
لا يتم ترجمتها بشكل كامل إلى لغة الألة.
لا تدعم كافة أشكال البرمجة الشيئية.
المترجم نفسه به بعض الشوائب و التى تظهر في البرنامج المكتوب حتى في حالة خلو البرنامج المصدر من الأخطاء.
التوافقية مع ويندوز
التطبيقات التي تنشئها بواسطة Visual Basic متوافقة 100% مع اصدارات Windows المختلفة. فالنواة الداخلية للتطبيقات المنشئة بواسطة Visual Basic هي عبارة عن سيل من اجراءات API التي عبارة عن روح نظام Windows. اما عن الدوال الاضافية التي توفرها لغة البرمجة فهي موجودة في مكتبة مستقلة MSVBVM60.DLL وهي المسؤولة عن تشغيل برامجك التي طورتها عن طريق Visual Basic.
خلاصة القول
لغة الفيجوال بيسيك لغة سهلة التعلم وتفيدك فى إنشاء التطبيقات المكتبية البسيطة وتطبيقات قواعد البيانات والبرامج التعليمية والحسابية
ولكنها لها حدود لا يمكن أن تتعداها , فلا يمكنك أن تصمم بها نظام تشغيل , لان تصميم نظام تشغيل يجب أن يكون بلغة الالة أو بلغة برمجة تتعامل مع الالة بشكل مباشر وهذا طبعا غير متاح فى فيجوال بيسيك
فيجوال بيسيك دوت نت
Visual Basic .Net
فيجوال بيسيك دوت نت تعتبر لغة برمجة جديدة وليس لها علاقة بالاصدارات السابقة من فيجوال بيسيك من الاصدار 1 حتى الاصدار6
فالتشابه هنا فى الاسم مع اضافة المقطع دوت نت .NET والذى يوضح لنا أنها لغة برمجة تعتمد على اطار العمل Microsoft .NET Framework والذى يعتبر بحر عميق يحتوى على ثروة هائلة من الأدوات البرمجية والكلاسيس التى تسهل عليك الكثير والكثير من العناء فى الحصول على أدوات برمجية اضافية ووحدات نمطية وأكواد كثيرة لتجعل برنامجك أكثر فاعلية وقوة
ويقول محمد حمدى غانم فى كتابه
"من الصفر الى الاحتراف فيجوال بيسيك 2008"
في نهاية عام 2001 أقدمت ميكروسوفت أخيرا على الخطوة التي طال انتظارها، فأصدرت نسخة جديدةً بكلّ المقاييس من فيجيوال بيزيك، بنتها من جذورها From scratch لتجعلها إحدى لغات نظام فيجيوال ستديو دوت نت VS.NET، لتستفيد بكل قدرات إطار العمل Framework، فتصير بذلك ندّا حقيقيّا لعائلة لغات C++، بحيثُ تتسيد فيجيوال بيزيك برمجة تطبيقات مواقع الإنترنت والتطبيقات التجاريّة وتطبيقات قواعد البيانات والوسائط المتعدّدة ومعظم الألعاب وما شابه!
وأعتقدُ أنّ هذا هو السبب الذي دفع ميكروسوفت إلى إصدار اللغة الجديدة سي شارب C#، التي تُعتبر توأما لفيجيوال بيزيك إلا إنّها تستخدم قواعد C++ في كتابة الأوامر، ممّا يشكّلُ لمبرمجي C++ إغراءً تصعبُ مقاومته للانتقالِ إليها، كما انضمت لغة J# إلى عائلة دوت نت عام 2003، لتشكل إغراء لمبرمجي الجافا تصعب مقاومته!
ولكن مهما كانت سهولة C# و J#، فإنّ VB تصرعُهما في هذا المضمار، فهي أقربُ ما تكونُ إلى اللّغةِ الإنجليزيّة العاديّة، ولا تحتوي على الرموزِ الكثيرةِ المملّة التي تملأ سي شارب وجي شارب، مثل ; ، ++ ، == ، ----.... إلى آخر هذه الرموزِ التي تجعلُ احتمالاتِ الخطإ عند كتابةِ الكودِ أعلى، وتجعلُ البرنامجَ أصعبَ فهمًا وأقلَّ ألفةً عندَ قراءته.
ولم تتوقف ميكروسوفت عن التطوير لحظة، ففي العام التالي أصدرت دوت نت 2003، وبعدها بعامين أصدرت دوت نت 2005 التي ضيقت الفجوة أكثر بين فيجيوال بيزيك وسي شارب بإضافة بعض القدرات الناقصة (مثل إعادة تعريف المعاملات Operator Overloading).. وها هي ذي دوت نت 2008 تأتي لتقدم أذكى نسخة من فيجيوال بيزيك.. نسخة قادرة على تعريف أنواع مجهولة Anonymous Types من تلقاء نفسها بناء على فهمهما للقيم التي تكتبها في الكود، بل وتمكّنك من كتابة وسائل إضافية Extended Methods للفئات الجاهزة الموجودة في اللغة، بالإضافة إلى استخدام الاستعلام المتكامل IinQ، وغير ذلك من الإمكانيات المدهشة
الجديد فى فيجوال بيسك دوت نت
"نقلا عن بعض الكتب العربية والمتخصصين فى هذا المجال"
إنّ التطويرات التي لحقت بـ VB.Net من الكثرةِ بحيثُ لن نستطيع أن نحيطَ بها كلّها هنا.. ولكن يكفي أن نذكر منها ما يلي:
- لم تعد لـ VB واجهة استخدام مستقلّة، فكلّ لغات VS.Net تستخدم واجهة واحدة، مليئة بالأدواتِ التي تُسهّل بطريقة مدهشة عمليّةَ تصميم البرنامج.. إنّ هذه الميزة تسمح لك بإنشاء تطبيقات تدخل فيها أكثر من لغة برمجة، دون أن تحتاج لفتح أكثر من واجهة.. إنّها واجهة واحدة فقط لكلّ المبرمجين.
- هناك إمكانيّات جديدةٌ في نافذة محرّر الكود، منها قيام اللغة بكتابة جملة نهاية المقطع تلقائيّا، بمجرّد كتابتك لبدايته وضغط زرّ Enter.
كمّا أنّ هناك تحسيناتٍ كثيرةً في تلميحات الشاشةِ التي تعرضُ قيمَ المتغيّراتِ وأنواعَها ومعاملاتِ الإجراءاتِ والدوالِّ وقيمَها المعادة، مع نبذة عن وظيفة كلّ دالة وكلّ معامل.. باختصار: لقد أصبحت كتابة الكود متعة.
- هناك تحسيناتٌ كثيرةٌ في مظهر النموذج والأدوات، وهناك العديدُ من الخصائص والوسائل الجديدة التي تمّت إضافتها لهذه العناصر، بحيث تمنحك تحكّما أكبر فيها.. فمثلا، أصبح بإمكانك تحديد درجة شفافية النموذج، كما صار بإمكانك تحديد المنطقة التي ستظهر منه على الشاشة، بحيث يمكنك تصميم نماذج بأيّ شكل.. ولم تعد مضطرّا لكتابة الكود الذي يحافظ على تناسب مقاييس الأدوات مع مقاييس النموذج كلّما تغيّر حجم النموذج، فقد صارت هناك خصائصُ جاهزةٌ مسئولةً عن هذا.. هذا بخلافِ العديد من الأدوات الجديدة، مثل الفاصل Splitter الذي يُمكّنك من تغييرِ حجمِ الأدوات المتجاورةِ أثناء تشغيل البرنامج.
- صار بإمكانك إضافة الأزرار والأدوات للنماذج في وقت التنفيذ Run Time، مع قدرتك على ربطها بأيّ إجراء، ليتمّ استدعاؤه عند ضغطها.
- لم يعد هناك أيّ قصور في مترجم الكود Compiler، فكلّ لغات VS.Net تعمل على مترجم واحد، ممّا يعني أنّ VB قد صار بقوّة وسرعة وكفاءة VC++.. وكمثال، صار بإمكانك استخدام البرمجة الارتداديّة Recursive Programming دونّ أن تخشى من بطئها أو استهلاكها لحجم الذاكرة، فقد صارت في منتهى السرعة والكفاءة.
- أصبح بإمكانك معالجة الأخطاء، عن طريق استخدام معالجات الاستثناءات Exception Handlers في جملة Try.. Catch.. End Try.
- VB.Net مبنيّةٌ بالكاملِ على مفهومِ البرمجةِ بالكائنات ************************ Oriented Programming، لدرجة أنّ الأعدادَ الصحيحة Integers والنصوص Strings والمصفوفات Arrays قد صارت خلايا Classes، وصارت لهذه العناصرِ خصائصُ ووسائلُ جاهزة.. فمثلا، أصبحت لديك وسائل جاهزة تنتمي للمتغيّر النصّيّ، تسمح لك بالبحث فيه أو تقطيعه أو استبدال أجزاء منه... إلخ... كما صارت لديك وسائلُ جاهزةٌ لعكسِ المصفوفةِ وترتيبِها والبحثِ فيها!
- صار بإمكانك استخدام كلّ مفاهيم الوراثة Inheritance وتعدّد الأشكال Polymorphism بلا أيّ مشاكل.. وإن كان مسموحا لك بوراثة خليّة واحدة فقط Single Inheritance للتسهيل.
- يمنحك إطار العمل .Net Framework ثروة هائلة من الخلايا Classes، تقدّر بـ 3500 خليّة، تفعل كلّ ما تحلم به وأكثر، بحيث تريحك بدرجة كبيرةٍ من الاحتياج لاستخدام دوال API الخاصّة بالويندوز، بما فيها من تعقيد ومشاكل.. وأحدث ما فعلته (ميكروسوفت)، هو إصدار نسخة جديدة من DirectX مبنيّة بالكامل بالخلايا بدلا من APIs.
- هذا بخلاف أنّ معظم هذه الخلايا قابل للوراثة، بما فيها الأدوات Controls نفسها، ممّا يمنحك القدرة على تطوير أدائها بما يناسبك.
- ومن الخلايا الجاهزة العديدة التي يمكنك استخدامها، الخلايا التالية: Stack ـ Queue ـ BitArray، و ArrayList وغيرها.
- أصبح بإمكانك تعريف المتغيّرات داخل مقاطع الجمل الشرطيّة If Statements والجمل التكراريّة Loops، بحيث تكون معزولة عن المتغيّرات الموجودة خارج هذه المقاطع.
- بل أصبح بإمكانك تعريف الخلايا داخل الخلايا Nested Classes، وأيّ نوعٍ Type داخل أيّ نوع آخر.
- أصبح بإمكانك تعريف الواجهات Interfaces وكتابة الخلايا التي تطبّقها وتنفّذها.
- أصبح بإمكانك استخدام المندوب Delegate كمعامل للإجراءات والدوال، بحيث يمكنك تمرير اسم أيّ إجراء أو دالة كمعامل!
- أصبح بإمكانك استخدام السمات Attributes في تعريف الخلايا والوسائل والخصائص والأنواع المختلفة، ممّا يختصر لك الكثير من العمل، ويمنحك العديد من القدرات.
- لديك إمكانيّات جديدة وعديدة تمنحها لك خلايا جاهزة، للتعامل مع الملفّات والمجلّدات.. وعلى سبيل المثال، يمكنك أن تراقب أيّ تغيير يطرأ على ملفّات المجلّد الذي تريد، باستخدام الأداة FileSystemWatcher، كما يمكنك أن تخزّن كائنا أو مصفوفة أو مجموعة Collection من أيّ نوعٍ إلى ملفّ مرّة واحدة، وإعادة قراءتها حينما تريد، باستخدام خلايا السلسلة Serialization.
- هناك إمكانيّات هائلة في مجال الرسم والتلوين تمنحها لك مكتبة GDI+.. يكفي أن تعرف أنّ بإمكانك الآن رسم منحنيات معقّدة، وتكوين أشكال مركّبة من مجموعة خطوط ومضلّعات ومنحنيات، وتلوين السطوح بألوان متدرّجة، وتحديد شكل مساحة الرسم، وتحديد درجة الشفافية، وتدوير الرسوم وتغيير مقاييسها تكبيرا أو تصغيرا.... إلخ.
- يمكنك استخدام المؤشّرات Pointers في بعض الأحيان، للقراءة والكتابة في الذاكرة، كما يمكنك أداء عمليّات معقّدة على النظام System لم تكن لتحلم بها!
- أصبح بإمكانك تقسيم برنامجك لمجموعة من العمليّات المستقلّة Threads، ممّا يعني أنّ برنامجك يستطيع القيام بأكثر من عمليّة في نفس اللحظة Multithreading.
- هناك إمكانيّات جديدة رائعة للتعامل مع قواعد البيانات، تمنحها لك تقنية ADO.Net، بالإضافة للعديد من الأدوات المرئيّة التي تساعدك في إنشاء تطبيقات قواعد البيانات بأقلّ قدر من الكود.
- أمّا الجديد تماما، فهو قدرتك على تصميم صفحات الإنترنت بنفس الطريقة التي تصمّم بها النماذج العاديّة، مع كتابة كود VB بمعظم إمكانيّاته، لإنشاء تطبيقات ASP تعمل على الخوادم Servers بدون كتابة حرف واحد من لغة ASP!!
عيوب فيجوال بيسيك دوت نت
لا أستطيع أن أقول أن لفيجوال بيسيك دوت نت عيوب
سوى أننى أستطيع فقط أن أقول أن عليك ضريبة تدفعها حينما تستخدم برمجة الدوت نت عموما وفيجوال بيسيك خصوصا
ألا وهى ضرورة وجود اطار العمل.Net Framework على جهازك حتى يعمل البرنامج
ثانيا البطء النسبى للبرنامج وخصوصا عند فتحه لاول مرة فى مقابل البرنامج المصنوع بفيجوال بيسيك 6
خلاصة القول فى فيجوال بيسيك دوت نت
إذا قررت أن تتعلم الفيجوال بيسيك دوت نت فاعلم جيدا أنك تتعامل مع لغة برمجة قوية ومتميزة وفعالة ومرنة فى الكثير من المشاريع التى يمكن أن تحتاج اليها
مثل البرامج المكتبية والمشاريع الصغيرة والمتوسطة بل والكبيرة فى بعض الأحيان وبرامج متميزة وقوية جدا لإدارة قواعد البيانات وغيرها الكثير
ولكنها أيضا لها حدود يجب أن تقف عندها
فلا يمكنك أن تصمم بها نظام تشغيل
فأوامرها لا تتعامل مع الالة بشكل مباشر لذا فهى بطيئة نسبيا
نصيحة
إذا أردت أن تتعلم فيجوال بيسيك فعليك بالدوت نت
وإن كنت من مبرمجى فيجوال بيسيك 6 فعليك بالانتقال للدوت نت
فهى الأفضل والأصلح , هى تقنية المستقبل
يتعجب البعض ويتسائل !! وكيف أصعد ناطحة السحاب إذن؟!!
أقول له تصعد على قدميك باستخدام السلم ولا تحاول أن تقفز , بل يجب عليك أن تصعد درجات السلم درجة درجة بهدوء وتأنى
ما معنى هذا الكلام
معناه أنك من خلال تحديد هدفك فى النصحية الأولى تستطيع اختيار اللغة التى سوف تتعلمها لتحقق بها هدفك
ولكن قبل أن تبدأ يجب عليك أن تعلم جيدا أن مشوارك طويل يجب عليك أن تبدأ من الصفر ولا تتسرع ولا تتجاهل أشياء على حساب أشياء أخرى
فإذا أردت أن تبنى بناء صلبا متينا لا تؤثر فيه الرياح يجب عليك أن تهتم بالأساس والأعمدة التى سيقام عليها البناء
وهنا سؤال يطرح نفسه دائما
كيف أفرق بين لغات البرمجة وكيف أحدد اي منها أفضل أو بعبارة أخرى أى منها أقوى او بعبارة أصح أى منها يحقق الهدف
قيجوال بيسيك 6
Visual Basic 6
Visual Basic اداة قوية وفعالة لتطوير تطبيقات متوافقة مع بيئة Windows. يوفر لك بيئة تطوير متكاملة سهلة الاستخدام لانشاء الحلول سواء كانت شخصية او تجارية في وقت قياسي عن طريق فلسفة البرمجة المرئية. حيث تصمم الشاشات ونوافذ برنامجك عن طريق نقرات وتحريكات خفيفة بالفأرة كأنك ترسم مربعات ودوائر باستخدام برامج رسم وغيرها.
البيزيك المرئى
هى بيئة تطوير و لغة برمجة من مايكروسوفت تستند إلى لغة البيسك الشهيرة. و هى تصنف ضمن لغات البرمجة الشيئية. منذ أن بدأت مايكروسوفت في اصدار الفيجوال بيسك و هى تلاقى نجاحا باهرا و شعبية لا بأس بها بين المبرمجين نظرا لسهولتها الشديدة في مقابل التعقيد الشديد الذى يواجهه أى مبرمج يسعى لبرمجة ويندوز باستخدام السى أو السى++. الا أن الفيجوال بيسك ربما تكون هى من أسؤ اللغات التى تكتب عليها برامج الويندوز الآن طبعا بعد الجافا.عموما تناسب الفيجوال بيسك تطبيقات قواعد بيانات و التطبيقات المخصصة للشركات الصغيرة و برامج الحسابات و هى مريحة و سهلة و تؤدى الغرض بالاضافة إلى أنها تسمح للمبرمج بالتركيز على حل المشكلة فغالبا ما لا يواجه صعوبات فنية أثناء كتابة برنامج بالفيجوال بيسك. و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الألة مثل السى++ أو الدلفى و انما تترجم إلى كود وسطى يتصل مع مكتبة ربط تسمى ب"Run Time library" و اسمها MSVBMnn.dll مع ملاحظة أن حرفى ال"ان" يشيران إلى رقم الاصدارة.
لغة البرمجة فيجوال بيسك هي لغة ذات تصميم مرئي واجهة رسومية بعكس بعض اللغات مثل الاسمبلي ذات الشاشة السوداء . حيث تحتوي هذه اللغة على العديد من الاوامر بداخلها ولغة سهلة التطبيق تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic و التي تعمل تحت بيئة Dos إلى هذه النسخة التي تعمل تحت بيئة ويندوز . تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية و الاحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء اي اقتران او اجراء اعتمادا على الحدث. الحدث هو اي عملية يقوم بها مستخدم التطبيق على التطبيق مثل الضغط بزر الفارة او الضغط على أحد ازرار لوحة المفاتيح او حتى تحميل نموذج
مميزات الفيجوال بيسك
* لغة سهلة و سريعة لانشاء تطبيقات ويندوز.
* تدعم البرمجة الشيئية الا أن ذلك ليس بشكل كامل.
* تجربة برامج الفيجوال بيسك سهلة و سريعة لاعتمادها على مكتبة الربط خلال و قت التشغيل.
* سهولة اكتشاف الاخطاء فيها لانها تعتمد على نظام المفسر الذى يختبر كل خطوة من خطوات الكود على حدة واذا اكتشف فيها خطأ يتوقف ويبين لك الخطأ داخل الكود
عيوب الفيجوال بيسك
لا يتم ترجمتها بشكل كامل إلى لغة الألة.
لا تدعم كافة أشكال البرمجة الشيئية.
المترجم نفسه به بعض الشوائب و التى تظهر في البرنامج المكتوب حتى في حالة خلو البرنامج المصدر من الأخطاء.
التوافقية مع ويندوز
التطبيقات التي تنشئها بواسطة Visual Basic متوافقة 100% مع اصدارات Windows المختلفة. فالنواة الداخلية للتطبيقات المنشئة بواسطة Visual Basic هي عبارة عن سيل من اجراءات API التي عبارة عن روح نظام Windows. اما عن الدوال الاضافية التي توفرها لغة البرمجة فهي موجودة في مكتبة مستقلة MSVBVM60.DLL وهي المسؤولة عن تشغيل برامجك التي طورتها عن طريق Visual Basic.
خلاصة القول
لغة الفيجوال بيسيك لغة سهلة التعلم وتفيدك فى إنشاء التطبيقات المكتبية البسيطة وتطبيقات قواعد البيانات والبرامج التعليمية والحسابية
ولكنها لها حدود لا يمكن أن تتعداها , فلا يمكنك أن تصمم بها نظام تشغيل , لان تصميم نظام تشغيل يجب أن يكون بلغة الالة أو بلغة برمجة تتعامل مع الالة بشكل مباشر وهذا طبعا غير متاح فى فيجوال بيسيك
فيجوال بيسيك دوت نت
Visual Basic .Net
فيجوال بيسيك دوت نت تعتبر لغة برمجة جديدة وليس لها علاقة بالاصدارات السابقة من فيجوال بيسيك من الاصدار 1 حتى الاصدار6
فالتشابه هنا فى الاسم مع اضافة المقطع دوت نت .NET والذى يوضح لنا أنها لغة برمجة تعتمد على اطار العمل Microsoft .NET Framework والذى يعتبر بحر عميق يحتوى على ثروة هائلة من الأدوات البرمجية والكلاسيس التى تسهل عليك الكثير والكثير من العناء فى الحصول على أدوات برمجية اضافية ووحدات نمطية وأكواد كثيرة لتجعل برنامجك أكثر فاعلية وقوة
ويقول محمد حمدى غانم فى كتابه
"من الصفر الى الاحتراف فيجوال بيسيك 2008"
في نهاية عام 2001 أقدمت ميكروسوفت أخيرا على الخطوة التي طال انتظارها، فأصدرت نسخة جديدةً بكلّ المقاييس من فيجيوال بيزيك، بنتها من جذورها From scratch لتجعلها إحدى لغات نظام فيجيوال ستديو دوت نت VS.NET، لتستفيد بكل قدرات إطار العمل Framework، فتصير بذلك ندّا حقيقيّا لعائلة لغات C++، بحيثُ تتسيد فيجيوال بيزيك برمجة تطبيقات مواقع الإنترنت والتطبيقات التجاريّة وتطبيقات قواعد البيانات والوسائط المتعدّدة ومعظم الألعاب وما شابه!
وأعتقدُ أنّ هذا هو السبب الذي دفع ميكروسوفت إلى إصدار اللغة الجديدة سي شارب C#، التي تُعتبر توأما لفيجيوال بيزيك إلا إنّها تستخدم قواعد C++ في كتابة الأوامر، ممّا يشكّلُ لمبرمجي C++ إغراءً تصعبُ مقاومته للانتقالِ إليها، كما انضمت لغة J# إلى عائلة دوت نت عام 2003، لتشكل إغراء لمبرمجي الجافا تصعب مقاومته!
ولكن مهما كانت سهولة C# و J#، فإنّ VB تصرعُهما في هذا المضمار، فهي أقربُ ما تكونُ إلى اللّغةِ الإنجليزيّة العاديّة، ولا تحتوي على الرموزِ الكثيرةِ المملّة التي تملأ سي شارب وجي شارب، مثل ; ، ++ ، == ، ----.... إلى آخر هذه الرموزِ التي تجعلُ احتمالاتِ الخطإ عند كتابةِ الكودِ أعلى، وتجعلُ البرنامجَ أصعبَ فهمًا وأقلَّ ألفةً عندَ قراءته.
ولم تتوقف ميكروسوفت عن التطوير لحظة، ففي العام التالي أصدرت دوت نت 2003، وبعدها بعامين أصدرت دوت نت 2005 التي ضيقت الفجوة أكثر بين فيجيوال بيزيك وسي شارب بإضافة بعض القدرات الناقصة (مثل إعادة تعريف المعاملات Operator Overloading).. وها هي ذي دوت نت 2008 تأتي لتقدم أذكى نسخة من فيجيوال بيزيك.. نسخة قادرة على تعريف أنواع مجهولة Anonymous Types من تلقاء نفسها بناء على فهمهما للقيم التي تكتبها في الكود، بل وتمكّنك من كتابة وسائل إضافية Extended Methods للفئات الجاهزة الموجودة في اللغة، بالإضافة إلى استخدام الاستعلام المتكامل IinQ، وغير ذلك من الإمكانيات المدهشة
الجديد فى فيجوال بيسك دوت نت
"نقلا عن بعض الكتب العربية والمتخصصين فى هذا المجال"
إنّ التطويرات التي لحقت بـ VB.Net من الكثرةِ بحيثُ لن نستطيع أن نحيطَ بها كلّها هنا.. ولكن يكفي أن نذكر منها ما يلي:
- لم تعد لـ VB واجهة استخدام مستقلّة، فكلّ لغات VS.Net تستخدم واجهة واحدة، مليئة بالأدواتِ التي تُسهّل بطريقة مدهشة عمليّةَ تصميم البرنامج.. إنّ هذه الميزة تسمح لك بإنشاء تطبيقات تدخل فيها أكثر من لغة برمجة، دون أن تحتاج لفتح أكثر من واجهة.. إنّها واجهة واحدة فقط لكلّ المبرمجين.
- هناك إمكانيّات جديدةٌ في نافذة محرّر الكود، منها قيام اللغة بكتابة جملة نهاية المقطع تلقائيّا، بمجرّد كتابتك لبدايته وضغط زرّ Enter.
كمّا أنّ هناك تحسيناتٍ كثيرةً في تلميحات الشاشةِ التي تعرضُ قيمَ المتغيّراتِ وأنواعَها ومعاملاتِ الإجراءاتِ والدوالِّ وقيمَها المعادة، مع نبذة عن وظيفة كلّ دالة وكلّ معامل.. باختصار: لقد أصبحت كتابة الكود متعة.
- هناك تحسيناتٌ كثيرةٌ في مظهر النموذج والأدوات، وهناك العديدُ من الخصائص والوسائل الجديدة التي تمّت إضافتها لهذه العناصر، بحيث تمنحك تحكّما أكبر فيها.. فمثلا، أصبح بإمكانك تحديد درجة شفافية النموذج، كما صار بإمكانك تحديد المنطقة التي ستظهر منه على الشاشة، بحيث يمكنك تصميم نماذج بأيّ شكل.. ولم تعد مضطرّا لكتابة الكود الذي يحافظ على تناسب مقاييس الأدوات مع مقاييس النموذج كلّما تغيّر حجم النموذج، فقد صارت هناك خصائصُ جاهزةٌ مسئولةً عن هذا.. هذا بخلافِ العديد من الأدوات الجديدة، مثل الفاصل Splitter الذي يُمكّنك من تغييرِ حجمِ الأدوات المتجاورةِ أثناء تشغيل البرنامج.
- صار بإمكانك إضافة الأزرار والأدوات للنماذج في وقت التنفيذ Run Time، مع قدرتك على ربطها بأيّ إجراء، ليتمّ استدعاؤه عند ضغطها.
- لم يعد هناك أيّ قصور في مترجم الكود Compiler، فكلّ لغات VS.Net تعمل على مترجم واحد، ممّا يعني أنّ VB قد صار بقوّة وسرعة وكفاءة VC++.. وكمثال، صار بإمكانك استخدام البرمجة الارتداديّة Recursive Programming دونّ أن تخشى من بطئها أو استهلاكها لحجم الذاكرة، فقد صارت في منتهى السرعة والكفاءة.
- أصبح بإمكانك معالجة الأخطاء، عن طريق استخدام معالجات الاستثناءات Exception Handlers في جملة Try.. Catch.. End Try.
- VB.Net مبنيّةٌ بالكاملِ على مفهومِ البرمجةِ بالكائنات ************************ Oriented Programming، لدرجة أنّ الأعدادَ الصحيحة Integers والنصوص Strings والمصفوفات Arrays قد صارت خلايا Classes، وصارت لهذه العناصرِ خصائصُ ووسائلُ جاهزة.. فمثلا، أصبحت لديك وسائل جاهزة تنتمي للمتغيّر النصّيّ، تسمح لك بالبحث فيه أو تقطيعه أو استبدال أجزاء منه... إلخ... كما صارت لديك وسائلُ جاهزةٌ لعكسِ المصفوفةِ وترتيبِها والبحثِ فيها!
- صار بإمكانك استخدام كلّ مفاهيم الوراثة Inheritance وتعدّد الأشكال Polymorphism بلا أيّ مشاكل.. وإن كان مسموحا لك بوراثة خليّة واحدة فقط Single Inheritance للتسهيل.
- يمنحك إطار العمل .Net Framework ثروة هائلة من الخلايا Classes، تقدّر بـ 3500 خليّة، تفعل كلّ ما تحلم به وأكثر، بحيث تريحك بدرجة كبيرةٍ من الاحتياج لاستخدام دوال API الخاصّة بالويندوز، بما فيها من تعقيد ومشاكل.. وأحدث ما فعلته (ميكروسوفت)، هو إصدار نسخة جديدة من DirectX مبنيّة بالكامل بالخلايا بدلا من APIs.
- هذا بخلاف أنّ معظم هذه الخلايا قابل للوراثة، بما فيها الأدوات Controls نفسها، ممّا يمنحك القدرة على تطوير أدائها بما يناسبك.
- ومن الخلايا الجاهزة العديدة التي يمكنك استخدامها، الخلايا التالية: Stack ـ Queue ـ BitArray، و ArrayList وغيرها.
- أصبح بإمكانك تعريف المتغيّرات داخل مقاطع الجمل الشرطيّة If Statements والجمل التكراريّة Loops، بحيث تكون معزولة عن المتغيّرات الموجودة خارج هذه المقاطع.
- بل أصبح بإمكانك تعريف الخلايا داخل الخلايا Nested Classes، وأيّ نوعٍ Type داخل أيّ نوع آخر.
- أصبح بإمكانك تعريف الواجهات Interfaces وكتابة الخلايا التي تطبّقها وتنفّذها.
- أصبح بإمكانك استخدام المندوب Delegate كمعامل للإجراءات والدوال، بحيث يمكنك تمرير اسم أيّ إجراء أو دالة كمعامل!
- أصبح بإمكانك استخدام السمات Attributes في تعريف الخلايا والوسائل والخصائص والأنواع المختلفة، ممّا يختصر لك الكثير من العمل، ويمنحك العديد من القدرات.
- لديك إمكانيّات جديدة وعديدة تمنحها لك خلايا جاهزة، للتعامل مع الملفّات والمجلّدات.. وعلى سبيل المثال، يمكنك أن تراقب أيّ تغيير يطرأ على ملفّات المجلّد الذي تريد، باستخدام الأداة FileSystemWatcher، كما يمكنك أن تخزّن كائنا أو مصفوفة أو مجموعة Collection من أيّ نوعٍ إلى ملفّ مرّة واحدة، وإعادة قراءتها حينما تريد، باستخدام خلايا السلسلة Serialization.
- هناك إمكانيّات هائلة في مجال الرسم والتلوين تمنحها لك مكتبة GDI+.. يكفي أن تعرف أنّ بإمكانك الآن رسم منحنيات معقّدة، وتكوين أشكال مركّبة من مجموعة خطوط ومضلّعات ومنحنيات، وتلوين السطوح بألوان متدرّجة، وتحديد شكل مساحة الرسم، وتحديد درجة الشفافية، وتدوير الرسوم وتغيير مقاييسها تكبيرا أو تصغيرا.... إلخ.
- يمكنك استخدام المؤشّرات Pointers في بعض الأحيان، للقراءة والكتابة في الذاكرة، كما يمكنك أداء عمليّات معقّدة على النظام System لم تكن لتحلم بها!
- أصبح بإمكانك تقسيم برنامجك لمجموعة من العمليّات المستقلّة Threads، ممّا يعني أنّ برنامجك يستطيع القيام بأكثر من عمليّة في نفس اللحظة Multithreading.
- هناك إمكانيّات جديدة رائعة للتعامل مع قواعد البيانات، تمنحها لك تقنية ADO.Net، بالإضافة للعديد من الأدوات المرئيّة التي تساعدك في إنشاء تطبيقات قواعد البيانات بأقلّ قدر من الكود.
- أمّا الجديد تماما، فهو قدرتك على تصميم صفحات الإنترنت بنفس الطريقة التي تصمّم بها النماذج العاديّة، مع كتابة كود VB بمعظم إمكانيّاته، لإنشاء تطبيقات ASP تعمل على الخوادم Servers بدون كتابة حرف واحد من لغة ASP!!
عيوب فيجوال بيسيك دوت نت
لا أستطيع أن أقول أن لفيجوال بيسيك دوت نت عيوب
سوى أننى أستطيع فقط أن أقول أن عليك ضريبة تدفعها حينما تستخدم برمجة الدوت نت عموما وفيجوال بيسيك خصوصا
ألا وهى ضرورة وجود اطار العمل.Net Framework على جهازك حتى يعمل البرنامج
ثانيا البطء النسبى للبرنامج وخصوصا عند فتحه لاول مرة فى مقابل البرنامج المصنوع بفيجوال بيسيك 6
خلاصة القول فى فيجوال بيسيك دوت نت
إذا قررت أن تتعلم الفيجوال بيسيك دوت نت فاعلم جيدا أنك تتعامل مع لغة برمجة قوية ومتميزة وفعالة ومرنة فى الكثير من المشاريع التى يمكن أن تحتاج اليها
مثل البرامج المكتبية والمشاريع الصغيرة والمتوسطة بل والكبيرة فى بعض الأحيان وبرامج متميزة وقوية جدا لإدارة قواعد البيانات وغيرها الكثير
ولكنها أيضا لها حدود يجب أن تقف عندها
فلا يمكنك أن تصمم بها نظام تشغيل
فأوامرها لا تتعامل مع الالة بشكل مباشر لذا فهى بطيئة نسبيا
نصيحة
إذا أردت أن تتعلم فيجوال بيسيك فعليك بالدوت نت
وإن كنت من مبرمجى فيجوال بيسيك 6 فعليك بالانتقال للدوت نت
فهى الأفضل والأصلح , هى تقنية المستقبل
المصدر :داماس
اسم الموضوع : مبادئ في البرمجة
|
المصدر : .: ركن التقنية :.