10 أشياء للدلفي

Abstract: What do you love about Delphi?
Ten Things I Love about Delphi
by Charlie Calvert
Jan 5, 2000

كل واحد منا يعرف أن Delphi هي منتج أفضل من VB مثلا . ولكن هذا لا يعني التوقف عند هذة النقطة فلا بد من وضع الكيل في الميزان , والسير بمقارنة ديلفي مع اللغات الأكثر عراقة والأكثر إنتاجية ,, في الأسفل سوف تجد لائحة بعشر أشياء أنا أحبها في الديلفي :

 

1- إنها تملك نموذج غرضية رائع :
حيث تدعم ديلفي بشكل كامل كلا من , تعددية الأشكال polymorphism
و التغليف encapsulation و الوراثة الفعلية true inheritance ..
حتى أن باسكال الغرضية (Object Pascal) التي بنيت عليها ديلفي , تعتبر لغة غرضية التوجة فعلية أكثر من C++ نفسها , ولذلك فهي غالبا ما تستخدم في جامعات العالم لتدريس وفهم الـ OOP . ويقر بذلك دكاترة وأخصائيين حول العالم وبإمكانك قراءة الكثير على الإنترنت عن هذا الموضوع ...

2- منتجاتها هي تطبيقات صغيرة الحجم , سريعة التنفيذ .
حيث أن تطبيقات ديلفي الأساسية لا تحتاج أي ملف آخر بالإضافة إلى ملفات الموارد سوى الملف التنفيذي .EXE فهي لا تحتاج أي ملفات مرفقة مع التطبيق ( مثل ملفات الـ DLL التي يجب إرفاقها مع برمجيات الفيجوال بيزك VB ) , كما أننا عندما نستخدم أدوات Components إضافية من الإنترنت مثلا , لن نضطر إلى تنصيب هذة الأدوات على الجهاز الذي سوف ننصب برنامجنا علية , بل إن التطبيقات التي نصنعها بواسطة ديلفي هي Stand Alone Application , مع العلم أننا يجب أن ننصب كل ملفات ActiveX التي نستخدمها في برنامجنا إذا كنا نستخدم اللغة VC++ أو VB , وهذا بالطبع برأيي نقطة تميز دلفي عن هاتين اللغتين




3- تملك ديلفي دعم كامل للواجهات full support for interfaces ..
فهي كما يلاحظ الجميع تدعم مكتبة عناصر مرئية بغاية الروعة والقوة , لتجعلك تصمم واجهات مستخدم تفاعلية (GUI )جميلة وجذابة بشكل سهل جدا .. فاليوم مع النسخ الحديثة من ديلفي(مثل النسخة السابعة) يمكننا أن نلاحظ مئات الأدوات الجديدة والرائعة الخاصة بتطوير مختلف أنواع البرمجيات التي لن ترى مثيلاتها في اللغات الأخرى . بإمكانك ألقاء نظرة على أدوات تطوير البرامج في VC++ و VB ومقارنتها مع ديلفي وأظن أنك ستشعر في الحال أن واجهات ديلفي هي الخيار الأمثل .

4- تملك دعم بالمستوى المنخفض low level support من أجل COM .
تطوير تطبيقات ال COM في ديلفي أمر سهل وسريع , وعادة ما يدهش مطوروا البرامج الذين يعملون على لغات أخرى من السهولة التي تمنحها ديلفي لتطوير تطبيقات الـ COM . , أما بالنسبة للقوة والإستقرار فعندما تريد أن تحفر بالعمق وبالمستوى الأدنى " والأصعب طبعـا " فإن ديلفي تسمح لك أن تفتح الغطاء التي كانت تخفي بة التعقيدات عنك , وتجعلك تتعامل مع التوابع التحتية المعقدة بشكل يدوي مفصل لكي تضبت كل خيارات برنامجك.

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


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

7- ديلفي هي أفضل نسخة Cross Platform
ديلفي سوف تصبح قريبا نسخة cross platform . وهي تدعمها جيدا الآن في النسخة السادسة والسابعة . أي أنها لا تعتمد على توابع API الخاصة بنظام التشغيل في إجراءاتها , بل تقوم ببرمجتها من المستوى الأدنى ومن الصفر , ولذلك فإن شفرة ديلفي قادرة على العمل على نظام Linux مثلا , دون أي تغيير فيها . لإنها لا تعتمد على نظام التشغيل لبناء البرامج ,, وبالطبع فهي إذن لن تتأثر بالتغييرات في نظام التشغيل وبالإصدارات المتلاحقة منة . بحق ,, ديلفي هي لغة الإستقرارية .


8- ديلفي تملك نموذج مكونات صغير ومرن .
تستطيع في ديلفي أن تنشىء عناصر OCX إذا أردت , أو أن تستخدمها . ولكن ديلفي تملك خيارات أفضل لتلبية جميع إحتياجاتك . لإن بنية مكتبة العناصر المرئية VCL أكثر هيكلية وانتظام من بنية ActiveX ., التي يتم التعامل معها على أنها مكتبات خارجية وليست مضمنة في التطبيق بشكل فعلي , بل يصل إليها التطبيق بشكل خارجي عن طريق نظام التشغيل ,, وفهمكم كفاية .


9- Object Pascal هي لغة سهلة الإستخدام , ومرمزة بقوة ,
تزودك ديلفي بإطار نحوي متين , والذي علية تستطيع بناء تطبيقاتك المختلفة , لا تنسى أن أول نسخة من ديلفي كانت في عام 1995 , وبالتالي هي لغة حديثة العهد , مهيكلة ومنظمة بصورة فريدة غير معتادة في اللغات الأخرى , فالمراقب العادي عندما يقارن ديلفي مع C++ يجد فرق واضح رغم التشابة الكبير بينهما
ديلفي لغة منظمة , صممت للمبرمج الذكي والواضح والمنظم : وليست للمبرمج المعقد الذي علية أن يقضي حياتة كلها حتى يتعلم ويصنع تطبيق , ويغرق في تفصيلات وضوابط اللغة التحتية التي لا تمت لصلب البرنامج بصلة .

10- ديلفي تدعم نظام التشغيل الذي تعمل علية بشكل كامل ,.
إذا كنت تستطيع أن تقوم بشيء ما في ويندوز , فإنك تستطيع أن تقوم بة في ديلفي إذا .
صحيح ديلفي لا تعتمد على النظام في عملياتها ولكنها تقوم بتغليف توابعة في شفرتها . عندما تعمل على ديلفي لن تسمع أبدا عبارة تقول لك Sorry, you'll have to learn C++ if you want to do that!" لإن ديلفي تكفيك لوحدها , لا تخف لن توقفك ديلفي في منتصف الطريق وتقول لك لا أستطيع أن أكمل , فلن تستنزف طاقة ديلفي مهما كان حجم برامجك .. ربما يفهم قصدي مبرمجي Visual Basic هذة المرة , ويتذكرون كم مرة عليهم أن يرجعوا لمبرمجي السي الذين طوروا معظم ملفات الـ DLL التي يعملون عليها والتي يجب إرفاقها مع برامجهم كل مرة وهم لا يعرفون شيء عن ما في داخلهـــا .


http://community.borland.com/article/0,1410,20481,00.html

كل واحد منا يعرف أن Delphi هي منتج أفضل من VB مثلا
الوحيد الذي يعرف هذا هو من لم يجرب VB ابدا.
1- إنها تملك نموذج غرضية رائع :
لدرجة أن بعض مكتبات دلفي 4 لا تعمل على دلفي 5
حتى أن باسكال الغرضية (Object Pascal) التي بنيت عليها ديلفي , تعتبر لغة غرضية التوجة فعلية أكثر من C++ نفسها , ولذلك فهي غالبا ما تستخدم في جامعات العالم لتدريس وفهم الـ OOP
لا أعتقد ذلك، تدريسها لأن الطلاب يفهمونها بشكل أسرع، ولذلك فهي منتشرة بكثرة بين الطلاب وغير المحترفين بشكل عام.
2- منتجاتها هي تطبيقات صغيرة الحجم , سريعة التنفيذ .
صحيح، ولكن هل حاولت تطوير تطبيق معقد جدا بواسطة دلفي؟ هل حاولت فعلا تطوير برنامج متعدد المراحل فعلا بواسطة دلفي؟
4- تملك دعم بالمستوى المنخفض low level support من أجل COM .
غير صحيح، دعم دلفي لمكتبات COM يعتمد على ترجمتها أولا إلى بنى دلفي، ودعم دلفي لمكتبات الواجهات غير كامل. لا يعني هذا أن VB أحسن دائما، فدعم VB أيضا قاصر في بعض النواحي.
5- لا يوجد في ديلفي صناديق سوداء
ولا في أغلب اللغات الحديثة. ربما كنت تقارن دلفي مع اللغات القديمة.
6- ديلفي مكتوبة بنفسها
لا أدري من قال هذا؟ وفي جميع الأحوال هذا ليس ميزة بالنسبة لي، لأن ما يهمني هو ما أفعله بدلفي وليس ما فعله مصممو دلفي.
7- ديلفي هي أفضل نسخة Cross Platform
يمكن، ولكن أغلب تطبيقات العالم ليست متعددة المنصات، ماذا أستفيد من هذه الميزة إذا كان كل مستخدمي برامجي يعملون على ويندوز.
8- ديلفي تملك نموذج مكونات صغير ومرن .
مثل أغلب لغات البرمجة الحديثة.
9- Object Pascal هي لغة سهلة الإستخدام , ومرمزة بقوة ,
هذه الميزات تهم الطلاب والمبتدئين فقط.
10- ديلفي تدعم نظام التشغيل الذي تعمل علية بشكل كامل ,.
مثل كل لغات البرمجة الحديثة. الخلاصة أن دلفي لغة ممتازة مثل كل لغات البرمجة الحديثة، ولكن كلمة "اللغة الأفضل" تتعلق بالمهام التي توكل إليها. إذا كانت المهام هي برامج تعليمية بسيطة على تقنيات البرمجة بالكائنات، تكون دلفي لغة ممتازة، ولكن في الحالات الأخرى، علينا أن نجري دراسة مقارنة حقيقية قبل ان نطلق مثل هذه الأحكام شكرا جزيلا لك على هذه المقالة، وعلى طرح فكرة النقاش بين لغات البرمجة.

أستاذي العزيز الأيهم .... أزيدك من الشعر بيت : " لا تسأل ما الذي تفعله لغه البرمجه تلك, ولكن اسال ما الذي يمكنك ان تفعل بها" دعنا نترك التعصب جانبا ودعنا تنناقش بموضوعية , ((وكم أتمنى أن ترفق الأدلة مع كل فقرة نتحدث عنها)) . أعلم يا أستاذي أن دلفي لغة ممتازة ((مثل كل لغات البرمجة الحديثة)) كما تفضلت , ولكن ليس فقط المهام التي نوكلها إليها هي التي تحدد أفضلية اللغة .. أمور كثيرة أخرى لا تخفى عليك أستاذي .. ولكنك بحاجة إلى بعض الهدوء والموضوعية , وإعادة النظر في الأوراق .. أذكر لك أبسط مثال سرعة تطوير التطبيق , ولا أقبل منك أن تقول بإنها سرعة مشتركة وثابتة بين كل اللغات ,.. أعلم أن لك مشوار بسيط مع دلفي , وألفت كتاب فيها , ولكني سأذكرك في نهاية المقال بإنك على خطـأ , على كل حال كتابك لـDelphi6 لم يكن كتاب ممتاز جدا . على كل حال مرة أخرى دعنا الآن نراجع معلوماتنا قليلا حول بعض الإقتباسات التي أخذتها من كلامي ((عفوا كلام Charlie Calvert)) . • - إقتباس : الوحيد الذي يعرف هذا هو من لم يجرب VB ابدا . وما رأيك أيها الأستاذ أن كبار مبرمجي فيجوال بيزك يقولون ذلك .. ما رأيك مثلا بالمؤلف بروس مكيني Bruce McKinney وهو الف كتاب من اقوي الكتب الخاصة بيفجوال بيزيك على ما أذكر إسمة Hardcore Visual Basic ولكنه انتقل الي دلفي فيما بعد , واريد ان اقتبس عبارة منه وهي " فيجوال بيزيك يجعل الاشياء السهلة اسهل، ولكن دلفي يجعل الامور الصعبة اسهل" "Visual Basic makes the easy things easier; Delphi makes the hard things easier" وانصحك بقراءة المقال في هذه الصفحة http://www.vbzone.com/upload/free/features/vbpj/1999/mckinney/mckinneyt… وبعد قرائة المقال أخي أيهم , أتمنى منك شرب كأس من الشاي . ثم إعادة النظر من جديد بعبارتك المشؤومة ((الوحيد الذي يعرف هذا هو من لم يجرب VB ابدا .)) فإذا كنت قد بدأت منذ فترة بسيطة مع VB فقد أمضى بها غيرك سنين , ولم يقولو مثل هذا الكلام .. *- إقتباس : لدرجة أن بعض مكتبات دلفي 4 لا تعمل على دلفي 5 . ها ها لا أعرف كيف حسبتها , وما هو مقياسك للOOP هل هو أوأوبي متر ... سأضيف لمجموعة المعارف لديك معلومة وأتمنى أن تحسن إستقرائها فأنت لست إنسان عادي من الشارع وأظن أنك تملك رجاحة العقل الكافية لهذا النوع من الإستقرائات: واحد من أكبر المطورين لهذه اللغة (Borland Delphi) قد تم شراءه قبل سنة أو يزيد تقريبا من قبل العملاق microsoft المسيطر على نظم التشغيل الشخصية طبعا لا داعي لأن أذكركم بما يعني هذا , وقد دفع له حوالي 30 مليون دولارا وهو Anders Hejlsberg وقد طور هذا العالم الجيل الجديد من Component OOP في C# بإمكانك إلقاء نظرة على الوصلة http://msdn.microsoft.com/theshow/E...008/default.asp وعلى العديد من الوصلات الأخرى على الإنترنت , ((ملاحظة , كلف نفسك عناء البحث على الإنترنت عن هذا الموضوع وأخبرني بالنتائج , )) صديقي العزيز لاداعي لإن تتمسك بما اعترفت بة ميكروسوفت نفسها . ولا داعي لإن إذكرك بعراقة بورلاند في الـ ooP , أظن أنك تعرف عن الـفرق بين C++ و C ؟ ومن أضاف مفهوم OOP إلى الأخيرة .. *- إقتباس : لا أعتقد ذلك، تدريسها لأن الطلاب يفهمونها بشكل أسرع، ولذلك فهي منتشرة بكثرة بين الطلاب وغير المحترفين بشكل عام. أخي الأيهم , لايهم ما نعتقد وما لا نعتقد لم يغير الإعتقاد حقيقة ما أبدا . وأنا أول شخص أصدق معك , وسأكون شاكرا لك عندما تقدم أدلة علمية مصحوبة بمقارنات وآراء لأخصائيين حول العالم تناقض هذة الفكرة *- إقتباس : صحيح، ولكن هل حاولت تطوير تطبيق معقد جدا بواسطة دلفي؟ هل حاولت فعلا تطوير برنامج متعدد المراحل فعلا بواسطة دلفي؟ : الجواب : نعــم . لا بد أنك حاولت القيام بذلك قبلي ولكنك لم تفلح , فظننت أن العيب من اللغة وأن الجميع لن يستطيعوا تحقيق ما عجزت عنة ... (( عم أمزح ... لا تاخد الكلام على محمل الجد )) : ملاحظة : أحب هذة المصطلحات (تطبيق معقد جدا ) و (برنامج متعدد المراحل ) فهي تعطي عمومية بالكلام ولا يستطيع المرء تحديد ما إذا كان يفهم معناها تماما أو لا , أو حتى إذا كان من كتبها يظن أنة يفهم معناها أو لا ((لا أريد أن أظلمك فأنت إنسان ذو خبرة , وتعجبني نظرتك للأمور : قرأت لك مقالات عن ذلك , وهي جيدة بشكل عام )) .... نعم نعم أخي الأيهم . لماذا أنت مستغرب , إذا كنت أنا الذي لم أؤتى من العلم إلا قليلا قد عملت في تطوير التطبيقات الثلاثية الأبعاد (على OPENGL ) من النوع المعقد جدا جدا إذا أردت , وتطبيقات ويب ديناميكية وتطبيقات مخدم مستفيد متعدد المراحل , الخ .... بصراحة لا أحب الخوض في هذا المجال فهو ببساطة مبني على أساس تجربة شخصية قد لا تكون دقيقة .. *- إقتباس : غير صحيح، دعم دلفي لمكتبات COM يعتمد على ترجمتها أولا إلى بنى دلفي، ودعم دلفي لمكتبات الواجهات غير كامل. لا يعني هذا أن VB أحسن دائما، فدعم VB أيضا قاصر في بعض النواحي. واللة يا أستاذي لم أفهم ما تقصدة بهذا الكلام تماما ((ما ذا تقصد بترجمتها إلى بنى دلفي وما هي مكتبات الواجهات التي لم نسمع بها من قبل ..)) راجع معلوماتك واستخدم عبارات دقيقة , وأبتعد عن العموميات أذكرك بإنك لست مضطر لتأليف مصطلحات جديدة .., أتمنى منك توضيح هذة الفكرة , وأنا بالإنتظار . وحتى ذلك الحين كلامك مرفوض جملة وتفصيلا .. أما بالنسبة " لدعم VB أيضا قاصر في بعض النواحي. " ما هي قصتك مع VB يا أخي , قارن دلفي مع أي لغة تريد . ولكن مع VB أنت بالتأكيد الخاسر ..... *- إقتباس : ولا في أغلب اللغات الحديثة. ربما كنت تقارن دلفي مع اللغات القديمة. ما هي اللغات القديمة يا ترى ... ,, يا أخي أقول لك دلفي مكتوبة بنفسها وعناصرها مفتوحة المصدر ولا تعتمد على أي مكتبة . تقول لي لغات حديثة ولغات قديمة , هل تعرف أنت يا أستاذي أيهم ما هي شفرة المكتبة msvbvm60.dll . التي عليك إرفاقها مع ملفاتك , وهل هي مكتوبة بال vb . هل يسمى هذا صندوق أسود أم لا ,, . أتحداك أن تقدم لي شفرة vb وتقول لي هذة هي شفرة المكتبة السابقة , أنا اسمي هذ صندوق أسود , وإذا كنت لا تسمية كذلك ببساطة يمكنك إختراع مصطلح مناسب معقد (( لا داعي لإن يكون متعدد المراحل )) . إذا أردت رأيي كل مكون غير مفتوح الشفرة يسمى صندوق أسود ...

*- إقتباس : لا أدري من قال هذا؟ وفي جميع الأحوال هذا ليس ميزة بالنسبة لي، لأن ما يهمني هو ما أفعله بدلفي وليس ما فعله مصممو دلفي. إذا كنت لا تدري من قال هذا , فأنا أرفض النقاش معك من الآن .... صديقي راجع موقع بورلاند صدقني ستجد فية بعض المعلومات المفيدة ....... أما إذا كانت هذة ميزة بالنسبة لك أو لا , فهذا رأيك الشخصي . ولكن يا ترى لو كانت vb قوية بما فية الكفاية لماذا لم تبنى بشكل كامل على نفسها ,,, هل يدغدغ هذا عاطفة ما في داخلك , أم أنة كلام فارغ وأنة من الطبيعي لبياع العسل أن يشتري عسلة من جارة ...... ؟؟؟؟؟؟؟ . سلامة فهمك ,, على كل لاتكرر هذة العبارة كثيرا . وأيضا أذكرك بإن ما فعلة مصمموا دلفي هوالذي يحدد ما تستطيع أنت فعلة .. أم تظن أني على خطــأ .. لا بأس مقبولة منك ..... إقتباس : يمكن، ولكن أغلب تطبيقات العالم ليست متعددة المنصات، ماذا أستفيد من هذه الميزة إذا كان كل مستخدمي برامجي يعملون على ويندوز. بصراحة كلامك مثير للضحك أخي الأيهم , ولكن هل تعلم أنة أحزنني ... أنت قلتها بلسانك : أغلب مستخدمي برامجك يعملون على ويندوز .... وماذا عن البقية ؟؟؟؟ , أغلب تطبيقات العالم ليست متعددة المنصات , وماذا عن البقية ؟؟؟؟ ماذا عن البقية يا أيهم ماذا عن البقية .. ألا تشعر بإن المنتج الذي يقدر على تخديم كل المستخدمين وليس فقط أغلبهم , هو منتج جدير بالإهتمام ..... أنا أرى أنها ميزة سحرية وتستحق الذكر في كل مرة يجري بها النقاش عن دلفي . غريب كلامك يا أخي , كل عبارة من عباراتك لا يقولها إلابعض المتسرعين قليلي الخبرة . أرجو مراجعة ردك السابق لتصحيح بعض الأخطاء (أخطاء نحوية طبعـأ ) . إقتباس : مثل أغلب لغات البرمجة الحديثة : ليس صحيح , نموذج مكونات دلفي هو الأفضل .. لماذا لم ترد على فقرة : " مع العلم أننا يجب أن ننصب كل ملفات ActiveX التي نستخدمها في برنامجنا إذا كنا نستخدم اللغة VC++ أو VB , وهذا بالطبع برأيي نقطة تميز دلفي عن هاتين اللغتين " ... أولا توافقني الرأي أن هذة الخاصية هي قمة المرونة , وأين المرونة في اللغات ((الحديثة )) إذا كنا سننصب مكتبات ActiveX كل مرة , وتصبح مشتركة في النظام .. أخي الأيهم تجربتك في الدلفي ممتازة وعلى راسي ولكن ببساطة إذا لم تكن قد رأيت هذة الخصائص من قبل , فأنت لم تدخل في عالم الدلفي بعد (( طبعا وأنا لم أدخل بعد ..)) *- إقتباس : هذه الميزات تهم الطلاب والمبتدئين فقط. ما هذا الكلام أخي ... كل العالم يتجة حاليا نحو ما يسمى RAD (التطوير السريع للتطبيقات ) وأنت ترى أنة للمبتدئين .. ؟؟ وهل برأيك أن اللغة المرمزة بقوة هي لغة طلاب فقط .. أين تعيش ... فلتعلم أن الوضوح والتنظيم والسهولة هي أساس بناء التطبيقات المستقرة . أعرف أنك لم تفهم علي , أضرب لك مثلا الأسمبلي لغة جبارة (تقوم بكل شيء) لو طلبنا من مبرمج أسمبلي أن يقوم ببناء تطبيق Web Application ISAPI مثلا . فهل تعتقد أن تطبيقة الناتج بعد طول عمر سيكون مستقرا . بل سيكون مليء بالأخطاء وليست أخطاء المبتدئين هذة المرة . لإن قانون الطبيعة يقول لك الأمور السهلة والمنظمة تنجز بدقة , والأمور المعقدة وغير المنظمة مليئة بالأخطاء , على الأقل لن تكون مضطر لعناء الوقوع في مشكلة لغة البرمجة بالإضافة إلى مشكلة البرنامج الذي تبنية . أخي الأيهم لا داعي للتعلق بمعتقدات معينة , كن مرنا مثل السنابل وتقبل رأيي هذا وإن كان غير مطابق لرأيك .. وما هي مشكلة الدفاع عن VB معك . ألا تعلم أنة : • * عندما تريد الوصول الوصول الي موقع معين في الذاكرة او تتعامل مع مواقع الذاكرة مباشرة او حتي اذا اردت ان تتعامل مع الهاردوير مباشرة فإنك سوف تحتاج للتعامل مع مواقع المتغيرات وليس المتغيرات نفسها ولذلك سوف تستخدم ال pointers ولكن فيجوال بيزيك لا يوجد فيها امكانية استخدام ال Pointers اما بالنسبة للهاردوير فإنه بإمكانك ان تتعامل مع لغة الاسمبلي من خلال دلفي حتى تجعل اجزاء من برامجك تعمل بشكل اسرع واقوي ولكن فيجوال بيزيك ليس لديها الامكانية ان تتعامل مع لغة الاسمبلي. • * فيجوال بيزيك ليس لديها الامكانية ان تبني مكتبات DLL ولكن بأمكانك ان تبني فيها ActiveX COM DLL اما دلفي فأن لها امكانية اني تبني الاثنين وايضا ActiveX Controls وبإستطاعك بعد ذلك استخدامها في اي لغة برمجة او حتى على الانترنت، يوجد امكانية لبناء ActiveX Controls في فيجوال بيزيك، ولكن المصيبة انها لن تعمل في حال عدم وجود مكتبات الربط الخاصة بفيجوال بيزيك وهي MSVBVM60.DLL في حال استخدامك لفيجوال بيزيك 6 وحجم هذا الملف اكثر من 1MB واعتقد انه ليس من المنطق اني تبني اكتف اكس كونترول وتصحب معه ملف حجمة اكثر من 10 اضعاف حجم الكونترول الذي سوف تبنية . • واود ان اقول لكل من جرب برمجة قواعد البيانات في فيجوال بيزيك انها اصعب بكثير من دلفي • * دلفي يأتي مع العشرات بل المئات من components والتي لا تجعلك تحتاج اي شي وبإستطاعتك ان تطور او تضيف خصائص غير موجودة عليها حيث ان الكود المصدري موجود مع نسخة دلفي enterprise اما بالنسبة لفيجوال بيزيك فكل شي تضيفه يكون على هيئة ActiveX controls مما يجعل برامج تصبح بطيئة وذات مجموعة كبيرة من الملفات اما بالنسبة للكود المصدري فابالتأكيد لا ياتي مع فيجوال بيزيك حيث ان ActiveX Controls طورت بإستخدام فيجوال سي ++ وليس بفيجوال بيزيك. • * بالنسبة لدلفي طورت دلفي بإستخدام دلفي اما فيجوال بيزيك طورت بإستخدام فيجوال ٍسي++. • * بالنسبة للبرمجة تحت بيئة ويندوز تعتبر دلفي اسرع اداة تطوير برامج تحت بيئة الويندوز، بإمكانك ان تري مقارنة عن عدة لغات منها دلفي 4 وفيجوال بيزيك 6 وطبعا اختيار المحريرين كان دلفي 4 فما بالك بدلفي 5 او 6 • http://www.zdnet.co.uk/pcmag/labs/1999/04/visual/015.html أتمنى أن يكون وقع كلامي سهلا ,, وأنا أعتذر منك أخي الكبير أيهم , ولكنك ستسامحني عندما تعلم أنني أقضي معظم يومي أبحث عن خفايا وخصائص هذة اللغة وما ذكرتة هنا ليس كلاما أدبيا أسردة .. أنا مسؤول عن كل كلمة قلتها , وبإنتظار ردك إنشاء اللة , فإن كنت أنت واثق من أني على خطأ لا تبخل علي بالرد عسى الفائدة تلاقي طريقا إلي , وإن كنت قد أقتنعت ببعض ما أوردتة لك , لاتبخل بالرد عسى أن يكون شخص ثالث يهتم للأمر ويستفيد معنــأ .. شكرا لك مجددا ,, سررت لتجاذب أطراف الحديث معك .. عذرا لعدم التفصيل فأنا أيضا وقتي ضيق ....

عذرا بعض الإرتباطات السابقة لاتعمل ,, لا بد أنها تحدثت ,أو تغيرت ... على كل حال مقالة لمؤلف كتاب Hardcore Visual Basic يشرح فيها بعض المقارنات مع دلفي موجودة على الرابط التالي : http://brucem.mystarband.net/mckinney1.htm وارتباط بسيط لميكروسوفت عن Anders Hejlsberg المسؤل عن بنية C# موجود على الرابط التالي : http://www.microsoft.com/presspass/press/2001/apr01/04-11AndersPR.asp وهذة مقابلة معة http://www.artima.com/intv/handcuffs.html طبعا هناك آلاف الروابط , ولكن أردت فقط تصحيح الوصلات على الأقل ...

In reply to by orwa

سأوضح لك بعض النقاط التي سألت عنها: أولا: موضوع التعصب لا أدري هل يظهر من كلامي أنني متعصب، ولكن سأفعل كما قلت وأراجع كتابتي. أود أن ألفت انتباهك وانتباه كل القراء إلى مسألة مهمة جدا. اختيار لغة البرمجة في مشروع ما ليس مسألة رأي شخصي، ولا يخضع للتعصب. المبرمج الحقيقي لا فرق لديه بين لغة وأخرى، والموضوع يتعلق بتناسب اللغة مع المشروع الذي يعمل عليه، والهدف الذي ينوي تحقيقه. إذا كان المشروع يتعلق بالإنترنت مثلا، الخيار الأنسب لدي هو دلفي لأنها قوية جدا في تطبيقات الإنترنت وتولد تطبيقا صغير الحجم. وإذا كان المشروع قواعد بيانات، مع واجهات MDI فالخيار الأنسب هو VB لأنها تساعد على تطوير تطبيقات تعمل بنمط UnBound بسرعة كبيرة. أما إذا كان الخيار هو تطوير مخدم معد لتحمل عدد كبير من الطلبات، فلا بد من اللجوء إلى لغة قريبة جدا من نظام التشغيل مثل C أو ++C بدون الواجهات المرئية. حاليا أنا أعمل في برمجة المخدمات بطريقة SAPI وأستخدم لغة PHP لأنني أجدها الأنسب لهذا العمل، ولكنني لست متعصبا لها، فأنا أختار اللغة الأنسب للمشروع الذي أعمل عليه. أود أن أضيف أيضا أنني أستمتع جدا بالحديث مع المتعصبين لتقنية ما، مثل المتعصبين لماكنتوش أو المتعصبين لدلفي أو VB أو AMIGA أو حتى Linux ومن الأفكار التي تسحرني حاليا فكرة صديقي أحمد بكداش عن التنوع والخيارات، لماذا لا تكون لدينا القدرة على اختيار الأنسب لنا، ولماذا لا نحتفظ بحقنا في الاختيار والتغيير في كل وقت. ثانيا: مشكلة التوافقية بين الإصدارات المتتالية لمكتبات الكائنات، وسؤالك عن مكتبات الواجهات التي لم تسمع بها من قبل: مشكلة التوافقية ليست مشكلة دلفي، ولكنها مشكلة كل اللغات المبنية باعتماد Implementation Inheritance بمافيها ++C و ++VC و PowerBuilder. المشكلة هي التالية: لدينا عنصر ما A1 استخدمه أحد ما لتطوير تطبيق B1. ثم قمنا بتطوير A1 إلى A2، فكيف نضمن أن B1 متوافق مع A2. إن B1 يحوي استدعاءات لتوابع معرفة في A1، وإذا تم تغيير هذه التوابع، ثم قام مستخدم البرنامج B1 بترقية المكون A1 إلى المكون A2، فربما يؤدي هذا إلى فشل في التطبيق B1 بسبب تعديل قام به مطورو A1 بعد أن أنجز مطورو B1 تطبيقهم. يحدث هذا مثلا عندما تطور مكتبة اعتمادا على بعض التوابع المعرفة في أحد مكتبات VCL المزودة مع دلفي n ثم تأتي دلفي n+1 وترقي التوابع نفسها. للأسف لا يمكن أن يتوقع مطورو دلفي كل وراثة ممكنة للكائنات وكل استخدام ممكن للتوابع، وربما يقومون بتغيير ما في تلك المكتبة، وعندما تفتح التطبيق في بيئة التطوير سيستخدم المكتبة الجديدة، والتي قد لا تكون متوافقة تماما مع المكتبة القديمة، فيفشل التطبيق بسبب Compiler Errors مع أنه لم يكن يفشل على دلفي السابقة. افتح تعليمات دلفي 7 وابحث عن موضوع ترقية المشاريع إلى دلفي 7، ستجد مجموعة من المشاكل، وهذه واحدة منها
Changes to the StrUtils unit LeftStr, RightStr, and MidStr functions may require you to update code that uses these functions
هذه الحالة ليست مقصورة على دلفي، فهي مشكلة بنيوية في كل البرمجة غرضية التوجه. وحلها الأساسي أتى مع فكرة Interface Based Inheritance أو فكرة مكتبات الواجهات البرمجية Interfaces and Type Library التي سألت عنها، والتي طورها أساسا فريق VB5 وVB6 منطلقا من فكرة تطوير أسس البرمجة غرضية التوجه. بالمناسبة، لستَ الوحيد الذي لم يسمع بهذه التقنية كما قلت بنفسك، مع أن دلفي "تدعمها" من خلال دعم COM. المرجع الأفضل عن هذا الموضوع هو مقالة مهمة جدا قرأتها في MSDN منذ سنوات عديدة، ولا أذكر عنوانها الآن، ولكنني متأكد أنك ستعثر عليها. اعذرني لأن شرح الفكرة كلها موضوع آخر، وأتمنى أن تبحث عن الشرح بنفسك. ثالثا: موضوع الآراء والشهادات في دلفي أو غيرها يستطيع أي كان أن يقول ما يريد، هذه مجرد أخبار صحفية لا تهمني ولا تهم مبرمجا يريد أن يختار لغة برمجة لتطبيق يريد تطويره. رابعا: موضوع التطبيقات متعددة المراحل: لدي مقالة كاملة عن هذا النوع من التطبيقات، يمكنك أن تقرأها في موقعي على العنوان التالي: http://www.alayham.com/modules/news/article.php?storyid=5 خامسا: موضوع الصندوق الأسود ظهرت VB6 عام 1998 ونحن الآن في نهاية 2003. كنت متأكدا أنك تقارن دلفي الحديثة مع لغة قديمة. لماذا لا تقارن دلفي 3 مع VB6 لتكتشف أية لغة كانت أفضل في وقتها؟ على كل، يبدو أن المبرمجين أصبحوا يفضلون الصناديق السوداء هذه الأيام، فهاهي دلفي والعديد من اللغات تتسابق لدعم بيئة NET. سادسا: موضوع رأيك في كتابي عن Delphi شكرا لك، أود أن أذكرك أن هذا الكتاب عن دلفي 4 وقد أتى لتصحيح عدد كبير جدا من الأخطاء في ملفات تعليمات دلفي 3 و 4، ولا شك أنك لاحظت أن أغلب هذه الأخطاء قد صححت في دلفي 5. في وقته كان هذا الكتاب مفيدا جدا للعديد من المبرمجين، واعتمد كمرجع لطلاب دبلوم الدراسات العليا في إحدى كليات الجامعات السورية. أما الآن، فقد أصبح مرجعا قديما وأنا معك أنه فعلا غير مناسب لدلفي 6 أو 7 سابعا: موضوع الميزات الإبداعية لدلفي، وقوتها في بعض النواحي: بدون شك هي مهمة، ولكنها لا تهمني ولا تهم الكثيرين من مطوري التطبيقات الحقيقيين. على كل، إذا احتجت إليها في أحد تطبيقاتي يوما ما، فلا بد أن أعتبر أن دلفي خيار جيد مثل NET. أو جافا أما عن تلميحات عن الأخطاء النحوية، وبقية تلميحاتك الأخرى، فشكرا لك. ثامنا: موضوع التطوير السريع للتطبيقاتRAD: لم أسمع هذا المصطلح منذ زمن طويل. كانت دعاية دلفي 4 تقول أنها أعلى مستوى RAD ولكنها توقفت بعد أن اكتشف الناس أن طريقة RAD بحد ذاتها تحتاج للكثير من التطوير. أعتقد أن المبرمجين حاليا ينتقلون من منهحية RAD إلى منهجيات أخرى مثل UML والمنهجيات التي تدور في فلكها، والتي تركز على توثيق المشروع وتقسيمه إلى كتل ومراحل، وقد انتقلت دلفي متأخرة إلى هذه المنهجيات، وزودت دلفي 7 بمصمم UML يتم تنزيله بشكل مستقل عن اللغة. تاسعا: مقارنة VB مع دلفي قلت سابقا أن المقارنة تعتمد على المشروع الذي ننوي تنفيذه، واعتبار أن لغة ما هي الأفضل بشكل مطلق هو مجرد قصور نظر في رأيي. أما عن مقارنة VB مع دلفي في مجالات لا تدعمها VB فهذا غير مفيد أبدا، يعني مثل مقارنة علبة العدة اليدوية مع منشار كهربائي. بدون شك تحوي العدة اليدوية مطرقة وإزميلا وحتى كماشة، وهي أدوات تنفذ أعمالا لا يستطيع تنفيذها المنشار الكهربائي. إذا أردت أن تقارن دلفي مع VB، تعلم اللغتين بشكل احترافي، ثم اكتب برنامجا حقيقيا بهما، وقارن خبرتك لتصل إلى نتيجة تنطبق على مشروعك فقط. وأخيرا أهلا بك في موقعي، ويسعدني وجود خبير متحمس لدلفي بيننا، فهي بدون شك لغة برمجة جيدة مثل بعض لغات البرمجة المعاصرة الأخرى.

In reply to by الأيهم

عذرا منك أخي أيهم .. أنت لست متعصب أبدا . طبعـأ لم أكن أقصد ذلك ,, بل أنت رجل من قلة الرجال الصالحين والعلميين في هذا البلد .. كل ما أريدة منك هو تقبل هذا العضو المشاكس في منتداك , وأعدك بمزيد من المشاكسات (والمتاعب) , وقد أعجبتني جدا عندما قبلتني بالرغم من تعصبي وعدم إحترامي . , فهذا هو مبدأي (إحترام الرأي الآخر ولو على خطـأ ((طبعا أنا لا أنفذة , إنة مبدأ للكلام فقط ..))) أنا لازلت شاب في مقتبل العمر (متل الوردة) , ولا أحب رصانة الكبار وإتزانهم كثيرا , على كل حال موضة التعصب لشيء ما دارجة كثيرا لدى الشباب , الجميع يتعصب من أجل معتقد معين , من أجل فكرة , من أجل لغة برمجة .., في الحقيقة نعم أنا من المتعصبين للغة بورلاند ديلفي , والمتعصبين جدا , ليس لشيء ولكن لإني لا أتقن لغة غيرها , وطبعا بما أني لا أعرف سواها فإذن يجب أن تكون هي أفضل لغة في العالم . (( ملاحظة بدأت مع Visual Basic وأحببتها كثيرا , ثم إنتقلت إلى VC++ ولإنها صعبة أو لإني لم أكن متمكن كفاية وكنت طالبا لم أكمل معها , وطبعا بدأ مشواري مع دلفي هنا , وأنا لست سيء بها كثيرا على كل حال , وفي الجامعة تعلمت C++ لمدة عام وأخذت أعلى علامة بها . وكل شي...)) . في الحقيقة أنا أعرفك جيدا منذ زمن , وسأقول لك أنة يوجد بيننا قرابة وصلة رحم , أعرف أنك لاتعطي هذة الأمور أهمية كبرى على كل حال .. , وكنت أتمنى منذ زمن مقابلتك أو النقاش معك , ولم أحبذ أن أفرض نفسي عليك بلقاء معين في موقع معين ,(( سوى موقعك على الإنترنت)) ... وبداية القصة أنة كان أبوك منذ فترة يزورنا في البيت هو وعمك , وقال أنة لك موقع على الإنترنت وبالطبع أعجبتني الفكرة وسجلت في الموقع .. ... ومن هنا بدأنا . لقد أستمتعت كثيرا بالنقاش معك , .. طبعــا في البداية لم تعجبني ردودك ... في الحقيقة لم أجد ولا رد من الردود الأولى جيدا .. وظهرت أنت وكأنك تحاول إظهار أي إسائة للدلفي ونفي أي ميزة عنها , ومحاولة تفنيد كل ماذكرتة أنا في المقال , مع العلم بإني كنت أذكر 10 أشياء أنا أحبها , وليس من الضروري أن تتفوق بها دلفي على بقية اللغات ... ملاحظة مهمة : لا تظن أن النقاش انتهى , فأنا أعتبر أن ردودك الأولى ظالمة وغير علمية , ولازلت متمسك بمعظم ما أوردتة في الردود (مع أني أوافقك الرأي على موضوع إختيار اللغة حسب العمل, ولكنة بصراحة صعب جدا فإتقان لغة واحدة سيأخذ عمر طويل ..) . شكرا لك على الشرح والتوضيحات مرة أخرى , وأتمنى أن تبقى متألقا كعادتك في هذا المنتدى , وعندما ترى مشاركة لي وتشعر أنني بحاجة لرأي أو نصيحة ’ رد علي وعاملني مثل أخوك , أصلا ما بيحلو الموقع إذا ما كانت فية مناقشات ساخنة , لأنو هيي دليل الحرية , وتعد وجهات النظر برأيي ظاهرة إيجابية . ملاحطــة : أنا أطالب بإنشاء قسم خاص للدلفي . . شكرا مجددا , وسلام ...... سي يو .

In reply to by orwa

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