PDA

View Full Version : Delphi vs. VB



CodeMasterX
چهارشنبه 25 بهمن 1385, 03:27 صبح
سلام به همه دوستان عزیز

اول از همه امیدوارم که موضوع تاپیکم تکراری و بیجا نباشه که دوباره Block یا حذف بشم!
مدتی هست که در مورد VB و Delphi دارم تحقیق می کنم.یه سری موارد کوچک رو من اشاره می کنم و در آخر یکی دو تا سوال از دوستان و اساتید انجمن دارم.
همونطور که میدونید VB شیء گرا نیست بلکه Object-Based هست که البته این دلیلی بر نقص یا ضعف این زبان نیست.از طرفی VB تا قبل از نسخه .NET تنها برنامه نویسی Win32 رو پشتیبانی می کرد و در نوشتن برنامه هایی از قبیل سرویس های ویندوز،سرویس های وب،WebApplication،برنامه های کنسولی،برقراری ارتباط با سخت افزار و غیره ... محدودیت ها و ناتوانی هایی داشت.درسته که با اومدن نسخه MS .NET پیشرفت های زیادی رو در VB شاهد بودیم اما یه سری مسایل هست که حتما باید بهشون اشاره بشه:

1- VB تنها بر روی سیستم عامل Windows اجرا میشه در حالی که با زبان هایی مثل Delphi یا ++C امکان نوشتن برنامه های تحت Linux رو هم داریم.
2- برنامه نویسان VB مجبورند تا خیلی زود به زود دانش و سیستم خودشون و نسخه VB شون رو به روز رسانی کنند.
3- سرعت اجرای برنامه های VB چندان تعریفی نداره نسبت به زبان هایی مثل ++C و Delphi.
4- VB شیء گرا نیست و این خود برای طراحی نرم افزار های حرفه ای و سیستم های Enterprise اساسی محدودیت هایی رو می تونه ایجاد کنه.
5- برنامه هایی که توسط VB کامپایل میشن نیاز به یکسری فایل های Runtime دارن ولی خوب کامپایلر های Delphi و یا ++C همچین محدودیت و نیازمندی ای ندارند.
6- بر اساس یک سری مقالاتی که راجع به مقایسه VB و Delphi داشتم میخودنم گفته میشد که VB کارهای آسون رو آسون تر می کنه در حالیکه Delphi کارهای سخت رو آسون تر می کنه.
7- اگر کمی مطالعه کنید متوجه خواهید شد که در Microsoft.NET چیز جدیدی زیاد به چشم نمیخوره.طبق مقلات و تحقیقاتی که من روی اینترنت کردم بیشتر تغییرات دات نت قبلا هم در سیستم های بورلند دلفی وجود داشته اند،چیز هایی مثل NameSpace ها که همون Uses ها در دلفی هستند و مثلا عملگر های جدید در دات نت مثل =+ که قبلا در دلفی پشتیبانی میشدند.یا مثلا Controls Anchoring که از اولین نسخع دلفی فکر می کنم پشتیبانی میشده.فکر می کنم در دات نت تنهای چیزهایی رو که میشه جدید و نوآوری از طرف مایکروسافت خوند Garbege Collector و Generics و شاید یکی دو تا مورد دیگه باشند.
8- ابزار و مولفه (Component) های وی بی برپایه ActiveX هستند در حالیکه Delphi بر اساس کنترل های VCL کار می کنه.البته در کنار اون از ActiveX و COM هم پشتیبانی میکنه.در مقایسه سرعت کنترل های VCL نسبت به ActiveX بیشتر هست،VCL ها سورس کدشون قابل استفاده و در دسترس هستند و در کل کنترل های حرفه ای تر و ایمن تری رو هم میشه باهاشون طراحی کرد.
تو یکی از مقالات درباره مقایسه VB و Delphi یک متخصص نوشته بود اگر به دنبال کار در بازار و استخدام در یک شرکت می گردید VB را انتهاب کنید چون یادگیری اش آسون هست و به دلیل نسبتا ساده بودن پیاده سازی نرم افزار های تحت VB حقوق کمتری هم بهش تعلق میگیره به همین دلیل بیشتر کمپانی ها و شرکت های دنیا ترجیح میدهند برنامه نویسان VB را استخدام و جذب کنند.در آخر این شخص همچین چیزی گفته بود:
"VB انتخاب کسانی است که تازه کار هستند و وقت یا توانایی یادگیری زبان های قویتر و سخت تری را ندارند و به دنبال کسب کار سریع در بازار کار هستند.در دست دیگر Delphi انتخاب برنامه نویسان حرفه های و مستقل است که محدودیت ها و ناتوانی های VB را پشت سر می گذارند".

و بسیاری موارد دیگه که اینجا نمیشه کامل و جامع دربارشون حرف زد.در آخر میخواستم از دوستان و اساتید سایت چند سوال رو بپرسم که امیدوارم پاسخ های کامل و مفهومی رو منتقل کنند.سوال این هست که من خودم تقریبا الان سه سال هست که دارم VB و VB.NET کار می کنم.کلا محصولات مایکروسافت.تا حالا مشکل جدی و بزرگی تو برنامه نویسی با VB یا VB.NET یا ASP.NET نداشتم.ولی با توجه به مواردی که در فوق ذکر شد که خودم جند روز پیش به این نکات رسیدم،و با توجه به یکسری محدودیت هایی که جلوی پام سبز شدن اخیرا می خواستم ببینم آیا کار درستی هست که بعد از سه سال VB کار کردن حالا چه WindowsApp چه WebApp یا هر چیز دیگه ای درسته که برم سراغ Borland Delphi و تکنولوژی های بورلند رو یاد بگیرم یا نه ؟

در صورتی که صحبت های این پست من درست بودن و مشکلی نداشتن ممنون میشم اگه به سوالم جواب بدید.لینک چند مقاله خواندنی درباره این مقایسه رو هم در زیر میذارم:


A Comparison between Borland Delphi and MS VB:
http://www.latiumsoftware.com/en/articles/00010.php

VB.NET vs Delphi What's All That Hype
http://www.geocities.com/edvarp/technical/vbnetvsdelphi.html

CodeMasterX
چهارشنبه 25 بهمن 1385, 06:03 صبح
خیلی باحاله دیگه این یکی.تاحالا شده بود یه سوال بپرسین بعد قبل از اینکه حتی یه پست جواب بیاد خودتون به حواب برسین و واسه خودتون جواب رو پست کنید؟ :قهقهه::گیج:

نتیجه بالاخره مشخص شد.
دیشب تاحالا نخوابیدم و همش داشتم توی اینترنت درمورد بورلند و مایکروسافت تحقیق میکردم.کلا داشتم سیستم های تولید نرم افزار این دو کمپانی رو بررسی میکردم.وای که چقدر مطالب ضد و نقیض خوندم امروز!!!!!!! نتیجه اینکه بله درسته شاید دات نت مایکروسافت از برخی سیستم ها و تکنیک های بورلند استفاده کرده باشه و شاید اجرا و مدیریت دات نت مایکروسافت نیاز به سیستم هایی با هزینه های بالا داشته باشه،و از طرفی هم بله نیاز هست که زود به زود دات نت کار ها خودشون رو به روز رسانی کنند.اما یادمون نره که این خصیصه تخصص هست.تخصص یعنی همین،یعنی اینکه مجبوری روز به روز یاد بگیری و پیش بری.دات نت ساپورت مایکروسافت رو داره،یه سری امکانات و تکنولوژی های جدیدی داره که اصلا با سیستم های بورلند قابل مقایسه نیستند! از طرف دیگه باید به بازار کار و آموزش و IT هم توجه داشت.دیگه کتابی برای دلفی نوشته نمیشه،کمپانی هایی که برای دلفی کامپوننت می ساختن الآن دارن برای دات نت مایکروسافت کامپوننت طراحی میکنن.از طرفی نگاهی هم به بازار کار بندازیم،خودتون میتونی با کمی تحقیق و پیگیری متوجه بشین که چقدر بازار کار بیشتر خواهان دات نت کارها هست تا دلفی کار ها.به هر حال دات نت داره روز به روز توسعه پیدا میکنه و بهتر میشه.مایکروسافت هزینه سنگینی رو برای توسعه دات نت داره میپردازه و در آینده ای نزدیک به یکی از کاملترین و بهترین فریم ورک های نرم افزاری مثل Oracle تبدیل خواهد شد.اما خوب بله دلفی هم با تمام این تفاصیل برای برنامه نویسانی که بصورت خصوصی و پروژه ای کار میکنن بد نیست و میتونه جوابگو باشه.اما کسانی مثل خودم فکر می کنم زیاد باشن که تمایل داشته باشن با تکنولوژی روز پیش برن و سیستم هایی رو کار کنن که دارن ساپورت میشن و رشد میکنن.

زنده باد Microsoft.NET که قربونش برم .NET Framework 3.0 هم عرضه شد.ویندوز ویستا هم که عرضه شده،Ajax و SQLServer 2005 هم رو کار هستند و دارن با محصولات دات نت دنیا رو میترکونند!منتظر نسخه های جدید ویژوال استودیو هم هستیم آقای بیل گیتس عزیز که نمیزاری یه نفس راحت بکشیم از دست این به روز رسانی هات!