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
اول از همه امیدوارم که موضوع تاپیکم تکراری و بیجا نباشه که دوباره 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