PDA

View Full Version : VB6 بهتر است یا Delphi7? مزایا و معایب!



Best Programmer
سه شنبه 07 بهمن 1382, 05:12 صبح
از اینجا کپی کردم.
http://www.barnamenevis.org/forum/viewtopic.php?t=6063

دوستان عزیز.
من چون میبینم که این بحث نقایص بسیاری دارد مداخله کردم.
با ظهور CPU های Pentium و تکنولوژی API مایکروسافت دنیای برنامه نویسی تغییر شگرفی داشت.
در این نسل جدید CPU ها از تکنولوژی IDT, GDT, LDT , Paging , Vitual 8086 modeبهره می برد.
ویندوز 95 یک سیستم عامل چند وظیفه گی (MultiThread ) بود که در مود با امکانات ویژه ( Ring 0) اجرا میشد.و تمام برنامه ها در مود Ring-3 اجرا میشدند.(هنوز هم بدین گونه هست) .آنها نمی توانستند از دستورالعمل های ویژه CPU استفاده کنند. نمی توانستند به طور مستقیم به پورت های I/O دسترسی داشته باشند.
حتما شما با کامپوننت های سیتم آشنا هستید. gdi32, kernel32 and user32
حتما در خیال خود میپنداریر که این کامپوننت های مهم حتما در مود Ring 0 اجرا میشوند؟ ولی در حقیقت آنها در مود Ring 3 هستند به مانند دیگر نرم افزار ها.
قدرت اصلی سیستم در دست virtual machine manager (VMM) and virtual device drivers (VxD) هست.
البته این موضوع در WinNT و نسل بوجود آمده از ان صادق نمی باشد.
خوب این مقدمه را گفتم تا کمی هوای ویندوز دست تان بیاید . البته بسیار طولانی تر از این چند بند نا چیز میباشد ولی برای مقدمه بد نبود.
خوب مبحث مقایسه VB , Delphi: ( من نه تنها این دو را میگویم بلکه این حرف من در تمام زبان های برنامه نویسی صادق هست. VB,VC,BCB ,Delphi, Phyton, PowerBuilder , (در حالت معمولی)Assembly .)
همان طور که در بالا بیان شد تمام برنامه ها در مود Ring 3 اجرا میشوند و تماما دارای یک محدودیت های مشابه هستند . پس نتیجه ای که سریع میتوان گرفت این است که تمام زبان ها دارای قدرت مشابه و محدودیت مشابه هستند.
یعنی اینکه همه باید از توابعAPI استفاده کنند. پس همه یکسان هستند و تنها زبانی که این محدودیت را ندارد اسمبلی میباشد انهم با VXD. البته نمی خواهم الان وارد مباحث پیشرفته بشوم چون نه حوصله تایپ چند صد صفحه ایی دارم نه وقت کافی برای این کار.
یه آدرس میدهم برای دوستانی که از تکنولوژی های بیان شده هیچی سر در نیاوردند.
http://developer.intel.com/design/pentium/manuals