طيب يا أخي أنا لم أتعلم أي لغة بعد فبماذا أبدأ هل أبدأ ب vb6 أم أدخل على طول على vb.net أريد نصيحت الاخوة الكرام :D :lol:
إني ذكرتك والذكرى مؤرقة (تركي العسيري )
السلام عليكم ورحمة الله
لم يجب على سؤالي أحد وأنا عضو جديد ألا ترحبون بالأعضاء الجدد ;) :(
تم تعديل هذه المشاركة بواسطة أشرف المصري في 8 فبراير 2006 في 08:20
أولاً : مرحبًا بك أخي (( أشرف المصري )) في هذا المنتدى ( لاتحزن أخي فالأعضاء مشغولون ) .
ثانيا : أنصحك أن لا تبدأ بتعلم اللغات القديمة بل انظر للأمام دائمًا ...
السلام عليكم ،،
اقتباسطيب يا أخي أنا لم أتعلم أي لغة بعد فبماذا أبدأ هل أبدأ ب vb6 أم أدخل على طول على vb.net أريد نصيحت الاخوة الكرام
أنصحك أن تبدأ مشوارك البرمجي بتعلم اللغات الجديدة مثل لغات برمجة .NET .
اقتباسلم يجب على سؤالي أحد وأنا عضو جديد ألا ترحبون بالأعضاء الجدد
مرحبًا بك عضوًا جديدًا بيننا .
سبحان الله وبحمده ... سبحان الله العظيم
ألسلام عليكم و رحمة الله
أخوتي الأعزاء
إن المبرمج الأسطورة تركي العسيري لا يقول شيء إلا و يكون له معنى
لكنني أحسست أنه يناقض نفسه حين قال في كتابه أن برمجة دوت نت تتشابه مع ال في بي العادية بالأسم التجاري فقط
فهل من الضروري أن يقلب كل مبرمج عن لغته الأم
الكائن Command و مثال هام عليه
حمل المقالة الكاملة عن الكائن Command
أحقن ملفك بملف أخر على نظام ملفات FAT
They disguise it hypnotize it
Television made you buy it
Mezmerize the simple minded
Propaganda leaves us blinded
اقتباسألسلام عليكم و رحمة اللهأخوتي الأعزاء
إن المبرمج الأسطورة تركي العسيري لا يقول شيء إلا و يكون له معنى
لكنني أحسست أنه يناقض نفسه حين قال في كتابه أن برمجة دوت نت تتشابه مع ال في بي العادية بالأسم التجاري فقط
فهل من الضروري أن يقلب كل مبرمج عن لغته الأم
أخوتي الأعزاء اتراجع عن ماقلته قبل قليل و السبب هو أنني لم أقرأ سوى أول خمس أسطر من المقال و هذا ما ائار عصبيتي.
أما الاّن لم أقرأ سوى نصف المقال فغيرت رأيي و سأكون من الذين سيهاجرون إلى في بي دوت نت
حتى و لو خسرت كل ماتعلمته في السنوات الست الماضية
صدقوني لم أستطع سوى أن أقرأ نصف المقال و ثارت عندي مشاعر العدائية لي في بي المتخلفة
حقاً لم أعتقد الفي بي بهل غباء
إنه حقاً لغباء ماحق
لكن أعدكم و خاصة المبرمج الخبير هاني أني لن أترككم ما حييت
و ادعو لي أن استطيع ان اجد مساحة كافية على قرصي لأنزل الفي بي دوت نت الجديد
و سأعمل بنصيحة المبرمج أحمد عندما قال أن نتعلم الاثننين معاً.
الكائن Command و مثال هام عليه
حمل المقالة الكاملة عن الكائن Command
أحقن ملفك بملف أخر على نظام ملفات FAT
They disguise it hypnotize it
Television made you buy it
Mezmerize the simple minded
Propaganda leaves us blinded
السلام عليكم ..
والله يااخي vb4arab.com كان من احلى المواقع التي عرفتها في حياتي البرمجية
وصارلي سنة كل مااكتب عنوان موقع www.vb4arab.com يطلعلي under construction ( تحت البناء ) مع اني اعتقد ان البناء متوقف
انا عندي فكرة وهي لنبني منتدى متخصص في فيجوال بيسك و لاباس ان تكون على استضافة مجانية ( مفتوحة الباندويث او الترافيك وانا اعرف الكثير منها )
واعتقد ان الخبرات متوفرة من قبل المصممين واعتقد انو راح يحقق نجاح لان المبرمجين العرب محتاجين الى متندى يضمهم تحت جناحه
شكراا
يا اخي العزيز ، تمنيت أنك لم تضع هذا الموضوع في هذا المنتدى الراقي، وتمنيت أيضاً أن تركي لم يكتبه ولم يتبنَّ فكرة العدائية للفيجوال vb ، ومهما كانت قاصرة في نظر الأستاذ تركي العسيري أو غيره فإنها تبقى محببة ومقربة لدى الكثير غيره ممن لم يتح الزمان وتقدم العمر وقلة التفرغ وكثرة الارتباطات لهم أن يتعرفوا على المدعو فيجوال نت ، فأرجوا عدم المساس بجناب حبيبتنا الفيجوال القديمة .6 ومهما كانت قديمة ، فنحن معشر المبرمجين المبتدئين فعلا الكبار سناً لا نجد وقتاً اضافياً للتعرف على غير هذه القديمة كما زعمتم ، ومع اختلاف وجهات النظر إلا أنه يجب أن نبقي لها ونكن الاحترام ، ونرفض كلمة العدائية والغبية وغيرها من السيل الهادر من السباب والشتام على جناب لغتنا فيجوال 6 ، فهي المتفضلة علينا بمعرفة البرمجة واستحقاق لقب مبرمج بسبب سلاستها وسهولتها ، واعود ثانياً لأطلب منكم الكف عنها ، مشكورين .
السلام عليكم ورحمة الله.......
هممممممم
لنبدأ ...... اولا الموضوع جميل (علشان بس الروح المعنوية)
2. في مبالغة شوية بالموضوع يعني أخفيتم العيوب الـ دوت نت...!
3. زودتم البهارات فوق اخطاء VB6 والتي لا انكر الكثير منها ..... :)
هل هذا من العدل..! ههههههه
هل أستخدمت يوما ما الكروت المثقبة ..او التطور الرهيب للأقراص المرنه 8 بوصه بسعة 170 كيلو بايت... نعم (شااااااايبا)
وقد كانت الخيارات محدودة اما سي او أسمبلي او الكوبول ... وعملت عليها جميعاً
ثم البيسكا ... Basica
ثم التطور GWBasic
ثم التطور QBasic
ثم التطور TBasic
ثم اللغة الرااااااائعه ASIC هي أغبى من كل ما سبق .. ولكنها قفزه ولا أعلم لماذا تم طي قيدها ... ويكون الملف بعد الترجمة (الكومبايل) com.
على أي حال جائت VB 1 دووووس .. يا سلام راحة ... في الحقيقة لقد كان الفرق ليس كبيراً .. حيث كنت قد عملت البرامج الخاصة بي في بيئة متعددة النوافذ على الدوس فلم أكترث لها كثيراً
ظهرت VB2 تطوراً رائع
vb3 تحسينات
VB4 .... برمجه حديثة 32
VB5.... وقد كانت افضل من كل ما سبق حيث انها مستقره ..
الى VB6 ... رائعة بالمقارنة بالسابق
نأتي على VB.NET ........ يجب ان يكون لديك وندوز اكس بي ان تي ...الخ
VB.NET الصديق المخادع ... حيث تقوم في الكثير من الأحيان بأدارة خاطئة للذاكره ... لا أعمل عن النسخ الحديثه بعد!
VB.NET أشبه بـ كلاريون .. قاعدة البيانات التي تجعلك تجلس على كرسيك وهي تقود بك... حيث تشعر بأنك السائق ولكن.... فجأءة تكتشف بأنك كنت مجرد شخص جالس على الكرسي..
لا أنكر ان فيها العديد من التطورات وهي تطور طبيعي لعالم الأنترنت الحالي والشبكات ..
يحضرني مشهد مضحك لا ينسى......
سأل الدكتور في الجامعة الطلبة ... وذلك في أوائل الثمانينات عن (ما هو الحاسب الآلي؟)
فلم يجب أحد... تلك كانت اول محاضرة في آله غريبة تدعى (حاسب آلي)... لا أخفيكم فقد هرب الكثير قبل نهاية العام الدراسي الأول
على كل حال .. "يقف كل منكم ويذكر لي تعريفه الخاص عن ما هو الحاسب" هكذا قال الدكتور
طبعاً تعاريف (تخاريف)... ولكن وقفت تلك الفتاة وقالت.......(جهاااااز مدمر وخطييييييييير يعمل مثل الساحر)
عندها ترك الدكتور المحاضره وأعتقد انه كاد يوسعنا ضربنا جميع كم كان بالقاعة...
نرجع الى VB.NET بالتأكيد يجب مواكبة التطور ........ لا داعي للمكابره .....حيث انها اصبحت في الآونه الأخير اكثر أستقراراً ولا أعتقد من لا يزال يستخدم انظمة التشغيل القديمة غير المختبرات وبعض الأجهزه التي يتم التحكم فيها ببرامج بقدم البحر........
نعم يجب تعلم الـ VB.NET ولو كانت الـ VB6 صديقاً قديماً
من سجن عكا وطلعــت جنـازة...
محمد جمجوم و فؤاد حجـازيجازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما
محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره
اقتباسنعم يجب تعلم الـ VB.NET ولو كانت الـ VB6 صديقاً قديماً
انا مابعرف ليش خايفة اقرب من vb.net
بس بعد الكلام اللي قريته هون
وبعد ماشفت الفرق بين اللغتين
قررت اني اعطيvb.netشوي من وقتي
بس هاد طبعا بعد ما أخلص امتحنات
وربنا يوفقنا
خاصة اني بحبvb6كتير ومو متخيلة
اني ممكن استغني عنها يوم من الايام
بس يمكن لما اتعامل مع vb.net اغير رأيي
عموما مشكور اخي أحمد على هالمقالة
اللي خلتني انظر للvb6نظرة تانيه بس بضل هيا الاصل
ولو ما النا غنا عنها
ولا شو رأيكم؟؟؟؟؟
يا آل إسرائيل، لا يأخذكم الغرور
عقارب الساعة إن توقفت
لا بد أن تدور..
إن اغتصاب الأرض لا يخيفنا
فالريش قد يسقط من أجنحة النسور
والعطش الطويل لا يخيفنا
فالماء يبقي دائما في باطن الصخور
هزمتم الجيوش .. إلا أنكم لم تهزموا الشعور
قطعتم الأشجار من رؤوسها
وظلت الجذور..
اذا كان الأنسان والزمان ضدي ...
أنا فلسطيني أحب التحدي...
القرآن الكريم بعدة أصوات ..استماع وحفظ
قصص الأنبياء لعدة مشايخ باسلوب جميل
جزاك الله خير (تركي العسيري) و (المبرمج أحمد) على هذا الموضوع المتميز بحق
الفيجوال . نت من الأفضل أنك تديه وقتك كله لمدة شهر بس وبإذن الله تصبح فيه مثلما كنت في فيجوال 6
سبحان الله وبحمده , سبحان الله العظيم
المبرمج أحمد كتب:الأسباب التي جعلتني أنشئ هذا الموضوع هي كالتالي :1- أنا أرى أنه من واجبي كمشرف أن أوجه الأعضاء إلى ما ينفعهم في حياتهم العلمية والعملية .
ولهذا لا يسمى انقلاب بل نفع للأعضاء وتطوير قدراتهم إلى الأفضل .
2- ومن واجبي أيضًا المحافظة على تراث "vb4arab.com" الذي افتقدناه لسبب لا أعلمه ولكنني سأحاول معرفته بعد أن حصلت على رقم وعنوان المشرف "عبد الله" صاحب الموقع الراحل .
هي أول مشاركة في هذا المنتدى
لكني لم أتمالك نفسي وكادت دموع أن تنهمر وبحثت عن صورة دموع فلم أج
نعم موقع منذ فتره وأنا أبحث عنه فلم أجده تعجبت في نفسي كنت أكتب فيه رغم قلة كتاباتي (بمعرف يختلف)
لكن والله أني أتمنى أن أسمع أخبار طيبة عنه
فهل من أخبار سعادة المبرمج الكبير
شكرا اخي على هذا الموضوع الرائع والمفيد والمختصر
ولكن ياليت لو يحط في ملف وورد او في كتاب الكتروني
حتى يسهل اقتنائه وقراءته في اي وقت
السلام عليكم
أخي تركي عسيري ومع هذه الضجة التي أثرتها ، فإني ما أراكا ذكرت شيئاَ يستحق الإهتمام _ مع احترامي لك _فإن كل ما ذكرته(محرر شيفرت غبي -مترجم غبي ...)إن كان هذا هو الثمن الذي سندفعه لقاء استمرارنا مع vb6 فإنا مستعدون لدفعه(ياله من ثمن زهيد !)
إن أردت فعلاً إقناع مبرمجي vb6 بالإنتقال الى .net فقم بذكر إختلافات جوهرية .
ومشكور جزيلاً أخي تركي
السلام عليكم
انا اعدت تثبيت الموضوع , كتذكرة مرة اخرى , وحتى يكون هذا الموضوع امامنا دائما...
فعلا انا شايف انه ما ينفعش الناس تكون بتجرى ورا التطورات فى الدوت نت واصداراته , واحنا لسة بنفكر فى الفى بى 6
وعن تجربة , الانتقال من فى بى 6 للدوت نت بالنسبة لمبرمجى الفى بى 6 امر سهل جدا...
تم تعديل هذه المشاركة بواسطة hanysaad في 3 يناير 2008 في 20:30
Hany Saad Mostafa
ITI (Information Technology Institute) l
SD Dept.-Teaching Assistant
---
اسألكم الدعاء بظهر الغيب
اقتباسالسلام عليكمانا اعدت تثبيت الموضوع , كتذكرة مرة اخرى , وحتى يكون هذا الموضوع امامنا دائما...
فعلا انا شايف انه ما ينفعش الناس تكون بتجرى ورا التطورات فى الدوت نت واصداراته , واحنا لسة بنفكر فى الفى بى 6
وعن تجربة , الانتقال من فى بى 6 للدوت نت بالنسبة لمبرمجى الفى بى 6 امر سهل جدا...
الآن ظهر VB.net 2008 أو VB9 ولسه في ناس مترددين ينتقلوا إلى .Net أو على الأقل يتعلموه ، وكما قال أخي هاني فالانتقال سهل جدًا ..
:)
تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 29 أبريل 2008 في 17:50
سبحان الله وبحمده ... سبحان الله العظيم
البرمجة ليست موضة ولكن صناعة تقاس بالوقت والمجهود وانا اراى ان المجهود المبذول لعمل برنامج vb6 اقل من .net
كما ان ميكروسوفت فتحت استخدام الفرمورك من vb6 هذا يدل انه ليس ضعيف كما ان الاصدار الجديد vb9 يدعم كتابة vb6 لذلك لنتوقف عن الاحلام لان ميكروسوفت فشلت فى تحطيم vb6 ووعدت اكثر من مرة بوقف الدعم الفنى له ولكن فشلت ورايى ان الذى ينقص vb6 هو الادوات فقط يعنى شويه دلع وwitherd المهم Engin
كما اننى جربت ادوات برمجة مثل بور بيلدر هو OOP بس سريع بدون تعقيدات فى اسبوع تعمل برنامج كامل قوى
رايى ان الموضوع مثل powerj الموضة اللى كانت بديل ميكروسوفت جافا وفشلت فشل كبير
وانا شوفت إحصائيات بتقول ان اكثر من 50 % من مبرمجى امريكا مازالو vb6 إذا المسئلة مش غباء
وانا اطلب عمل جدول مقارنة على اساس علمى مقارنة على اساس السهولة والسرعة والاستقرار و... والبرامج اللى عجز مبرمجى vb6 عن عملها وبالتالى قامو بالتحويل مع ملاحظة ان vb6 مدعوم فى وينوز فستا
يشترك فى جميع الاعضاء وشكراً
تم تعديل هذه المشاركة بواسطة m_hussein في 3 أبريل 2008 في 00:48
m_hussein كتب:البرمجة ليست موضة ولكن صناعة تقاس بالوقت والمجهود وانا اراى ان المجهود المبذول لعمل برنامج vb6 اقل من .netكما ان ميكروسوفت فتحت استخدام الفرمورك من vb6 هذا يدل انه ليس ضعيف المقارنة ضالمة لان الدعم الفنى مقطوع منذا اكثر من عشر سنوات كما ان الاصدار الجديد vb9 يدعم كتابة vb6 لذلك لنتوقف عن الاحلام لان ميكروسوفت فشلت فى تحطيم vb6 ووعدت اكثر من مرة بوقف الدعم الفنى له ولكن فشلت ورايى ان الذى ينقص vb6 هو الادوات فقط يعنى شويه دلع وwitherd المهم Engin
كما اننى جربت ادوات برمجة مثل بور بيلدر هو OOP بس سريع بدون تعقيدات فى اسبوع تعمل برنامج كامل قوى
رايى ان الموضوع مثل powerj الموضة اللى كانت بديل ميكروسوفت جافا وفشلت فشل كبير
وانا شوفت إحصائيات بتقول ان اكثر من 50 % من مبرمجى امريكا مازالو vb6 إذا المسئلة مش غباء
وانا اطلب عمل جدول مقارنة على اساس علمى مقارنة على اساس السهولة والسرعة والاستقرار و... والبرامج اللى عجز مبرمجى vb6 عن عملها وبالتالى قامو بالتحويل مع ملاحظة ان vb6 مدعوم فى وينوز فستا
يشترك فى جميع الاعضاء كما اننى لاا تخيل ان اقوم بعمل برنامج دوت نت ويستطيع اى شخص فتحة بسهولة كما دوت نت فى حاجات سهلة جداً VB6 وصعبة جدأ دوت نت زى FROM.SHOW , التعمل مع جريد سهل جداً دوت نت لو هتلطع البيانات زى ماهيا امر واحد لكن لو تجرى عمليات حسابية لاول معقد كما دوت نت ممكن يكون الخطا مش خطا المبرمج خطا اللغة مثل نسى يعمل امبورت لمكتبة كما ان لازم يحفظ الاسماء طويلة ومعقد زى FORM1.FORM.SYSTEM.... ليه مش عارف
المبرمج أحمد كتب:عندما أذكر سمات اطار عمل NET. فلا تعتقد بأني سأتحدث عن مكتبة الفئات Class Library التي توفرها (رغم انها احد اعظم الاسباب التي تسيل لعاب المبرمجين للانتقال لها)، وذلك لاني اخاطب مبرمجي vb4arab.com وهم على قدر رفيع من الفهم واستيعاب الحقائق، فهم مبرمجين لا تخدعهم المظاهر، لانهم يعلمون علم اليقين انهم يستطيعون بناء عشرات –ان لم يكن مئات- الفئات التي تغلف Encapsulate إجراءات API، وبذلك يستطيعون تطبيق كل شيء تعجز عنه لغة VB6. لذلك، ان اردنا معرفة القصور الحقيقي لـ Visual Basic، فدعنا نركز حديثنا حول لغة البرمجة والإمكانيات الداخلية والخاصة بها.السطور التالية كلفتني أكثر من 3 ساعات لكتابتها، حيث تعمدت عدم ترجمة أي مقال اجنبي لتأتيكم كلمات من مبرمج عربي منكم وفيكم:
أولا: لغة البرمجة:
1) لكل شيء ملف
من الأشياء التي تغيظني في VB6 هو اسلوبه الغبي في توزيع الشيفرات المصدرية على الملفات، فلكي تعرف وحدة برمجية Module ستحتاج الى ملف خاص بها (حتى لو كانت الوحدة تشمل سطر واحد فقط)، وان اردت تضمين شيفرات لمكتبة صممتها في مشروعك، وكانت إجراءات هذه المكتبة موزعة على وحدات برمجية، فلك ان تتخيل كثرة الملفات والتي ستكون في مشروعك. اما مع VB.NET فيمكنني تعريف ملف واحد فقط يشمل جميع الوحدات البرمجية:
** VB.NET ************** Module MathFunctions … … End Module Module ArabicLanguageFunctions … … End Module Module BusinessFunctions … … End Moduleلو كانت المسألة تقتضي على الوحدات البرمجية لهان الامر كثيرا، ولكن القضية تشمل كل شئ (نوافد النماذج Forms، فئات Classes، ادوات تحكم UserConstrols، ...الخ) ومما يزعجني اكثر ان كل ملف له امتداد خاص –رغم انها تكتب جميعها بلغة واحدة VB6، اما مع VB.NET فجميع الملفات (البرمجية) تنتهي بالامتداد vb، كما يمكن للملف ان يشمل وحدات برمجية Modules، فئات Classes، ادوات Controls وكل شئ يتبع للغة البرمجة.
ليس هذا فقط، بل حتى بعض محتويات الملف تكون مخفية (كمواصفات الفئات Classes Attributes، بيانات مصمم النماذج Form Designer). فلو اردت نسخ شيفرات مصدرية من فئة الى فئة اخرى، علي نسخ الملف الكامل للفئة. اما مع VB.NET فما اروع المفاتيح Ctrl+V <- Ctrl+C <- Ctrl+A وتنتهي الحكاية.
2) الإجراءات المفوضة Delegate Procedures
الاجراءات المفوضة هي إجراءات يتم استدعائها عن طريق متغيرات تكون بمثابة مؤشرات لها (ان كنت من مبرمجي C فهي تشابه مؤشرات الدوال Function Pointers الى حد كبير). من الانجازات التي كانت اختراعا عظيما لمبرمجي VB6 هو دعم الكلمة المحجوزة AddressOf والتي تعود بمؤشر الاجراء. هل تعرف كيف يمكنك الاستفادة منها؟ في الحقيقة لا يفضل مبرمجي VB6 استخدامها لسببين: الاول خوفهم من ممازحة المؤشرات (وهذا من حقهم)، والسبب الثاني امكانية استدعاء الاجراءات بشكل مباشر. ولكن الحقيقة –المرة- ان كل هذه الاسباب لا اساس لها من الصحة، حيث ان VB6 لا يمكنك من الاستفادة منها !!!!!!
عجبا على هذا الغباء! لماذا يدعم كلمة المحجوزة لا يمكنك استخدامها؟ والسبب انه (قد) تلجأ الى اجراءات API والتي تستخدم الردود CallBacks، التصنيف الفرعي SubClassing، أو خطف الرسائل Message Hooking، وهي مواضيع جعلتني اترك البرمجة بلغة C لصعوبتها. وكأن VB6 يقول لك: عد الى برمجة API الاجرائية المعقدة فقد وفرت لك كلمات محجوزة لها! وماهي فائدة VB6 اذا ان كان هذا هدفه، فالتعامل مع اجراءات API باستخدام لغة C اسهل بعشرات المرات من VB6 !!!
ولكن مع VB.NET فهو يقول لك: وفرت لك الكلمة المحجوزة AddressOf ليس فقط لاستدعاء الإجراءات المفوضة، بل ايضا يمكنك تطوير إجراءات مفوضة خاصة بك باستخدام لغتة برمجتك المفضلة VB.NET -كما تفعل اللغات المتقدمة الاخرى. وهذا امر بديهي، حيث عندما ادعم ميزة في لغتي علي ان اجعل المبرمج قادر لاستخدام هذه الميزة بنفس لغتي (وليس لاستخدامها مع لغة اخرى).
3) تعارضات وتوزيع اسماء المعرفات Identifiers
عندما تعرف فئة باسم Point فسيكون هذا الاسم محجوز لها دائما، ولن تتمكن من استخدامه ابدا. ولكن هب –مثلا- ان الغرض من الفئة Point هو تمثيل الاحداثي x و y لنقطة على سطح ثنائي الابعاد، واردت استخدام –نفس الاسم Point- لتمثيل نقطة على سطح ثلاثي الابعاد، فقد تسمي الفئة الجديدة بالاسم Point3d او PointEx او أي شئ اخر.
حسنا، ماذا لو وجدت مئات الفئات في برنامجك؟ فاعتقد ان موضوع التسمية سيكون مشكلة كبيرة، حيث تكثر اسماء الفئات بعد كتابة العبارة As New، وتصبح مسألة البحث عن الفئة كالبحث عن مسمار في محيط.
اما مع VB.NET، فهو يدعم فكرة مجالات الاسماء NameSpace، حيث يمكنك من توزيع فئات على شكل شجري يسهل عليك ترتيب وتقسيم اسماء المعرفات، لتتمكن من كتابة شيئا مثل:
** VB.NET ************** Dim X As New Animals.Mouse Dim Y As New Hardware.Mouse4) هل تود اضافة شيفرة بلهجة اخرى؟
في الحقيقة، كانت لغة C هي اللغة الوحيدة التي تمكنك من اضافة شيفرات بلغة Assembly مع برنامجك، ولكن مع اطار عمل NET. (بشكل عام)، فجميع لغات البرمجة موحدة في بنيتها التحتية، وذلك بسبب معايير Common Language Runtime – CLR. لتتمكن من دمج شيفرات مصدرية بلغات برمجة مختلفة في برنامج واحد.
لا تصدق هذه الحقيقة؟
اقرأ هذا المقال بقلم الاخ أيمن المدهون: http://www.dev4arabs.com/ar/csharp/article...p?s=2&id=26
5) اسناد القيم لحظة التصريح
قد لا يكون هذا قصور كبير في VB6 –هذا في حال المتغيرات البسيطة:
** VB6 ************** Dim X As Integer X = 5وقد لا يكون قصور كبير حتى لو كثرت المتغيرات:
** VB6 ************** Dim A As Integer Dim B As Integer Dim C As Integer Dim D As Integer A = 5 B = 10 C = 15 D = 20ولكن عند الحديث عند الحديث عن المصفوفات الديناميكية:
** VB6 ************** Dim X As String () Redim X (2) X(0) = "عباس السريع" X(1) = "برعي ابو جبهة" X(2) = "زكريا زعتر"فليس فقط تتطلب منك سطور اضافية، بل حتى لو اقمت علاقة صداقة جديدة واردت اضافتها مع الشلة السابقة، عليك اعادة تعديل الشيفرة والخاصة بـ Redim :
** VB6 ************** Dim X As String () Redim X (3) X(0) = "عباس السريع" … … X(3) = "عبود اللوح"ضع في عين الاعتبار، ان الشيفرة السابقة تستهلك وقت اضافي –سواء لكتابتها او تنفيذها- ولاتنسى انها تتطلب وضعها داخل اجراء Sub او Function (فهي شيفرات برمجية).
اما مع VB.NET فيمكنك بخطوة واحدة ومن أي مكان في برنامجك (حتى خارج الاجراءات) كتابة شيئا مثل:
** VB.NET ************** Dim X() As String = { "عباس السريع", "برعي ابو جبهة", "…", "…" }6) انا اسمي "تركي العسيري" "تركي العسيري" "تركي العسيري" !!! لماذا التكرار؟
في العقود الاخيرة، اصبح التعامل مع النصوص الحرفية امر لا يكاد ان يخلو احد اجراءات برنامجك منه، فنحن في زمن التدفق او الانفجار المعلوماتي، وكل مزايا برامجك لابد ان تتعامل مع النصوص، صحيح ان VB6 كان يستعرض عضلاته في اعطائنا امكانية تعريف متغير حرفي حجمه يزيد عن 2 جيجابايت، ولكن طريقة ادارته لها فاشلة جدا، فاي عملية اسناد بين المتغيرات الحرفية تؤدي الى نسخ القيمة الحرفية وتكرارها في الذاكرة:
** VB6 ************** Dim X As String Dim Y As String X = "تركي العسيري" ' الان لدينا نسختين من القيمة ' الحرفية في الذاكرة Y = Xاخي العزيز، الامر ليس مقصور على القيمة "تركي العسيري" فهي لا تكلف سوى ( (12 * 2) * 2 = 48 بايت)، ولكن عند التعامل مع النصوص الطويلة جدا (كالموجودة في الملفات النصية، الحقول Memo في قواعد البيانات، او مستندات XML) فهي بحاجة الى تفكير جدي اكثر في الموضوع.
اما مع VB.NET فلديه من الذكاء الذي يستحق التقدير والاحترام، حيث ان القيم الحرفية تمثل كائنات من النوع المرجعي Reference Type، وفيه ميكانيكية فائقة الروعة بحيث لا تنسخ القيم الحرفية ان تساوت لاكثر من متغير (سواء لحظة الترجمة او التنفيذ):
** VB.NET ************** Dim X As String = "تركي العسيري" Dim Y As String = "تركي العسيري" ' القيمة مكررة مرة واحدة فقط Console.WriteLine ( X Is Y ) ' Trueذكاء VB.NET اكبر مما تتصور، حيث يشمل ويتحقق من كامل القيمة –حتى وان استخدمت معامل الدمج:
** VB.NET ************** Dim X As String = "العسيري" & " " & "تركي" Dim Y As String = "تركي العسيري" ' القيمة مكررة مرة واحدة فقط Console.WriteLine ( X Is Y ) 'True7) اضافة/حشر/حذف/تعديل القيم الحرفية
قد لا يعلم الجميع، ان كل عملية تعديل على متغير حرفي تستهلك وقت وجهد اضافي:
** VB6 ************** Dim X As String X = "عباس" ' تتطلب حجز مساحة اضافية ' في الذاكرة قبل الاسناد X = X & " " & "السريع"ولا شك ان الامر يظهر عيبه وبطئه الكبير مع الحلقات التكرارية، قد يأتي احد الاشخاص ويخبرني باستخدام المتغيرات الحرفية ثابتة العدد Fixed-Leangth-Strings:
** VB6 ************** Dim X As String * 50 X = "عباس" ' هنا اسرع بكثير X = X & " " & "السريع"فكرته لابأس بها ولكن دعني اريك عيوب هذا النوع من المتغيرات:
* تضيف مسافات Spaces دائما في المناطق غير المستخدمة (مما يكلفك استخدام دوال حذف المسافات كـ Trim والتي تستغرق بدورها وقت اضافي).
* ليست متوافقة مع تقنية COM.
* ليست متوافقة مع إجراءات API.
* ليست متوافقة مع مجموعة كبيرة من دوال مكتبة VBA و VB (رغم انها تتبع وخاصة بلغة VB6!)، حيث تقوم اما بتحويلها الى المتغيرات Strings العادية او لا تقبلها.
* لا يمكن لهذا النوع من المتغيرات ان يعرف على مستوى Public في الفئة او نافذة النموذج. (أي لن تستطيع ان تصله الى العالم الخارجي)
* اقصى عدد من الحروف الذي يمكن ان يحملها هو 64 كيلوبايت ( اين الـ 2 جيجابايت يا VB6 ؟؟!!)
8) عرف هنا ولكن لا تعرف هناك، كما يمكنك هنا ولكن لا تستطيع هناك!!
من الامور التي لا اعلم كيف كنت اصبر عليها، قوانين قابلية الرؤية Visibility لمعرفات البرنامج، حيث لا توجد صيغة موحدة المعايير ومفهومة المنطق استطيع ان ابني برامجي على اساس سليم لها، فكل معرف له حالة خاصة، واسلوب خاص، الامر الذي يجعلني افتح نسخة ثانية من VB6 على سطح مكتبي حتى اجرب قبل ان اعتمد التصميم. خذ مثلا شروط قابلية الرؤية للتركيبات:
* يمكنك تعريفه كـ Private لحصره على الوحدة و Public ليشمل باقي انحاء المشروع.
* لا يمكنك استخدام Public ان كان في نافذة نموذج.
* يمكنك استخدام Public لتعريف تركيب في الفئة دون أي مشاكل.
* ان عرفت تركيب باستخدام Public في وحدة برمجية Module، فيمكنك استخدامه دون أي مشاكل، ولكنك لن تستطيع تعريف اجراءات Subs او Function تستقبل وسيطة Parameter من نفس نوع التركيب ان كان الاجراء على مستوى Public (يمكن ذلك ان كان الاجراء على مستوى Private او Friend)
افففففففففففففف! كيف يمكنني حفظ كل هذا؟ وماذا عن المصفوفات هل يمكن تعريفها Public ؟؟؟ والله لقد نسيت ولكني اعتقد ان المصفوفات الديناميكية ممكن اما الستاتيكية فلا – او العكس !!
اما مع VB.NET فكل هذه السخافات ليست في مستنداته، حيث يوفر لك الكلمات المحجوزة Private، Friend، و Public والتي تتبع قانون ومعييار موحد لكافة انواع المعرفات –دون أي حالات شاذة.
كانت هذه ملخص جولتي السريعة حول بعض –وليس كل- قصور لغة VB6 في ابسط اساسيات لغة البرمجة، قريبا سنتعرض الى تفاصيل اكثر حول تعريف الفئات Classes وسأريكم فضايح من تحملون رايته Visual Basic x.0 !!
-- تركي
جزاااااااك ...... الله ........ خيرااااااااا
هو عم يحثنا على الأفضل
السلام عليكم ورحمة الله وبركاته
مشكور على الموضوع الجميل أخ تركي ومشكور أيضا جميع الأعضاء على المشاركة
فعلاً أنا باستخدم لغة البرمجة العظيمة والمحببة إلى قلبي وعقلي vb6 منذ 10 سنوات تقريبا وبالرغم من ظهور الدوت نت لكني لم أستطع مفارقته فمن وجهة نظري هو أسهل بكثير في استخدامة وفكرة العمل فيه عن الدوت نت ومع ذلك اتمنى أن أتعلم الدوت نت وبالفعل حاولت ذلك وتوقفت بسبب اختلاف واضح في طريقة البرمجة
أتنمى أن يتم عمل موضوع خاص بكيفية الانتقال من vb6 إلى الدوت نت بشكل مبسط ومتسلسل ولكم جزيل الشكر
هي الدنيا تقول بملئ فيها ***** حذار حذار من بطشي وفتكي
فلا يغرنكم مني ابتســــام ***** فقولي مضحك والفعـل مبكي
فعلاً يا جماعة بالغتم في بهرجة vb.net دونما ذكر لعيوبه زي البطء مثلاً
أنا جربت أعمل برنامج بالvb6 ونفس البرنامج بالvb.net
وعندي قياس لسرعتيهما وجدت المعمول بvb6 يفوق المعمول بvb.net بثماني مرات!!!!!!!!! أي والله
الشكر الجزيل لجميع اخواني في هذ ا الموقع القوي والرائع :clapping: :
انها الكلمة الفاصلة
وليست كلمة بل كلمة الواقع
اننا مجبرون على متابعة التكنولوجيا حتى وان كنا نرى انها تسير فى اتجاه خاطىء
والسبب انها سياسة شركات
شركة مايكروسوفت هى المنتجة لكل من VB6 و الدوت نت
وحين تقدم الشركة شيئا جديدا يفترض للمغرمين بها ان يتعاملوا مع ماهو جديد
حالة عدم الاقتناع والاختلافات الكبيرة فى هذا الموضوع ان دلت على شىء فانها تدل على خطأ فادح من شركة مايكرسوفت ذلك لانها حينما
فاجئت العالم بقوة الدوت نت من خلال مايحتويه من ادوات ومكتبات لم يتوافق مع ذلك مراعاة السهولة التى كانت فى VB6 وايضا شعبيته الكبيرة
والحل واضح وصريح وليس بحاجة الى تفكير
عزيزى مبرمج VB6 - اترك الكسل ولاتكتفى بتعلم شىء واحد لان التكنولوجيا تطلب المتابعة
انت الان تعرف VB6 - وتستخدمها فى عملك لانك تراها الافضل ؟؟
حسنا لايمنع ذلك ان تعرف الدوت نت وتتعلم شيئا جديدا حتى تضمن ان لايهرب منك سوق العمل من ناحية
ومن ناحية اخرى لاتكون ادواتك البرمجية عائقا لك الان او فى المستقبل
مااجمل ان تعرف VB6 وتعرف الدوت نت ايضا
ومااجمل ان تملك الحس البرمجى الذى يجعلك تحدد بايهما تطور برامجك الجديدة وعلى اى اساس تختار !!!!
ان الدوت نت الان متوفر فى لينكس تحت اسم مشروع مونو
بينما فيجوال بيسك ايضا اصبحت متوفرة فى لينكس تحت اسم Real Basic
بمعنى اذا اردت ان تخرج من عباءة مايكروسوفت فلتفعل وطريقك الى اللينكس مفتوح
واذا اردت ان تستمر معها فلامشكلة طالما انك تحقق ماتريد ولكن لاتتردد فى تعلم ماهو جديد مهما كان لايعجبك لان الجهل بالشى امر خطير
ومايكروسوفت من اصدار الى اخر تزيد فى السهولة والامكانيات وبصراحة VS 2008 مبهر للغاية.
والله الموفق
بسمه تعالى
_______________
هذه اول كتابه لي في هذا المنتدى ( الفريق العربي للبرمجة ) لطالما سمعت عن هذا المنتدى وها انا اشارك فيه لتعلم اكثر الاشياء قربا الى روحي و قلبي وعقلي الا وهي البرمجة لكن يأسفني القول انا مخدوعا جدأ بالاعلانات التي تظهر في الانترنيت و في اي مكان عن اختفاء لغة برمجة ( انا اتحدث بصورة عامة ) مثل لغة فيجول بيسك الاصدار السادس لا تختفي مهما حاولت شركة مايكروسوف اخفاءها لانها لغة موجها الى المبتدئين و المطورين المحترفين معا لكن ان كنت قد اختارت ان تكون مبرمج ناجح اقول لك التالي :
تيقا انه لا يوجد لغة برمجة كاملة بمعنى الكلمة
اذا ارت الاستمرار في البرمجة تعلم الى اخر نفس في حياتك اللغات البرمجة تعلم قدر المستطاع من اللغات
لا تثبت على لغة برمجة واحد و لا تعشق اللغة البرمجة بل اعشق ان تكون مهندس برمجيات يعرف الكثير عن البرمجة
كلنا نعلم ان البرمجة بستخدام Basicتورث عادات برمجية سيئة
واخر كلامي هو :
الى كل شخص يحاول ان يمحي لغة برمجة يجب عليه ان يتمعنا بالجملة التالي :
ان كانت اي لغة برمجة تلبي طلباتك كن مبرمجة لها ولكن تعلم لغة اخر معها و تظن ان التعلم هو مضيع للوقت
وبالنسبة الى الاخ محمود سمير انا اقول له رائع جدا يااخي
بالنسبة لانظام اللينكس هو نظام المستقبل لانه اقوى من الانظمة الباقية
و ارجو منك يااخ محمود سمير ان ترسلني الى انظام الينكس لان منذ مدة طويله ابحث عن نظام للنيكس يدعم فيجول بيسك
تم تعديل هذه المشاركة بواسطة محمد محسن الحسني في 12 يونيو 2008 في 20:03