مقدمه
همیشه یکی از بحث های مطرح بین برنامه نویس برتری زبان های برنامه نویسی هستش، اصلالتاُ این بحث زمانی سر چشمه میگیره که، برنامه نویس ها تنها یک زبان رو برای توسعه خودشون انتخاب کنند، من به شخصه هیچ عرقی به یک زبان برنامه نویسی خاص ندارم و هر کسی از من این سوال رو میپرسه ( معمولا تو هفته یکی دو مرتبه پیش میادش) با چه زبانی برنامه نویسی رو استارت بزنم پاسخ من با یه سوال شروع میشه چشم انداز تو برای برنامه نویس یا توسعه دهنده شدن چی هستش؟ اما ما باید یه چیزی رو در نظر بگیریم اونم اینه که هر زبانی یه سری رویکرد داره که برای انتخاب باید به رویکرد ها و قابلیت ها توجه کرد که آیا رویکرد این زبان برنامه نویسی با رویکرد های من سازگار هست یا خیر! پس این نقد و مقایسه رو به دور از تعصب توضیح میدیم لذا خیلی موقع ها من به بعضی ها خودم #C رو پیشنهاد میدم به برخی دیگه دلفی رو، پس میزان رویکرد شماس.
توضیحی در مورد آندرس هلزبرگ
Anders Hejlsberg معمار اصلی دلفی می باشد، که طراح بنیان دلفی به عهده ایشان بوده است و یکی از طرح های کم نظیر ایشان VCL در دلفی می باشد ، به صورت خلاصه وار بخواهیم در مورد دادگاهی بین مایکروسافت و برلند ( بنیان گذار دلفی اما الان هیچ امتیازی ندارد در اختیار embarcadero می باشد) یک جلسه پشت درب های بسته انجام میشود Borland از شکایت خود منصرف میشود و در نهایت آندرس هلزبرگ از برلند به مایکروسافت می رود همچنان جای سوال است که برنلد در این معماله در ازای چه چیزی مغز متفکر خود را تقدیم مایکروسافت کرد و در نهایت پس از ورود به مایکروسافت J# را طراحی میکند که با شکست مواجه میشود و بعد از معمار اصلی C# ایشان میباشند پس این شخص یکی از مهم ترین طراحی های این دو زبان پیشتاز بوده است.
مقایسه کلی در یک جدول: ( در چهل مورد)
امتیاز بین صفر تا ۵ می باشد
عنوان | Delphi | امتیاز | C# | امتیاز |
---|---|---|---|---|
انشای کد syntax | یادگیری ساده
ولی قواعد های بعضی وقت ها غیر قابل تحمل |
۳ | برگرفته از پایه زبان C ولی کاملا شی گرا
چیزی بین C++ و جاوا |
۴ |
سرعت همبندی یا کامپایل | بسیار بسیار سریع | ۵ | تقریبا سریع | ۳ |
قدرت کامپایل | بسیار بالا و استفاده از کد های محلی ( کد ماشین)
و نسخه های ۳۲ و ۶۴ بیتی |
۵ | متوسط استفاده از زبان میانی و مفسری
و نسخه های ۳۲ و ۶۴ بیتی |
۲ |
انعطاف در کدنویسی | بسیار بالا و قابلیت انتخاب بین ساخت یافته و شی گرایی
استفاده از api خام بدون استفاده از هیچ چیز زیادی |
۵ | متوسط حتما باید شی گرا باشید
و در چهار چوب .net |
۲ |
شی گرایی | قابلیت استفاده از شی گرایی چند ریختی و کپسوله سازی | ۴ | بسیار قوی لذا الگو گرفته از جاوا می باشد | ۵ |
سرعت اجرای کد | بسیار سریع لذا کد های ماشین اجرا میشود و نیازی مفسر ندارد | ۴ | متوسط لذا از زبان میانی استفاده میکنه | ۴ |
ارتباط با api | خیلی ساده و بسیاری از آنها محلی فرخوانی میشوند | ۵ | بسیار ضعیف | ۱ |
استقلال از سکو cross platform | متوسط – در فایر مانکی این امکان هست جز برای لینوکس
ولی VCL خیر مخصوص ویندوز |
۳ | خوب در پروژه مونو خوب طراحی شده
ولی هچنان کامل نیست |
۴ |
قدرت IDE | خوب و مناسب | ۴ | بسیار خوب و مناسب | ۵ |
استفاده از مولفه بومی native component | بسیار خوب برای اکثر نیاز ها کامپوننت تعریف شده | ۵ | خوب و قابل قبول | ۴ |
استفاده مولفه های غیر بومی third party component | بسیار خوب و بسیار بسیار منعطف و توسعه دهنده های بیشتر | ۵ | خوب – اما انعطاف کم | ۳ |
اسناد آموزشی documantion | خوب و در ویندوز عالی | ۴ | بسیار بسیار قوی | ۵ |
شرکت در متن باز open source | خیلی کم و بد | ۱ | ضعیف | ۲ |
استفاده در محیط های دیگر | بسیار کم چون پاسکال یه زبان عمومی مثل C نبوده | ۱ | خیلی زیاد در خیلی از محیط ها زبان محلی شده
مانند موتور های بازی unreal , unity |
۵ |
بازار کار داخلی | متوسط رو به کم ولی رقابت کمتری در این بخش است | ۴ | زیاد ولی رقابا زیاد هستند | ۴ |
بازار کار جهانی | بسیار کم | ۱ | متوسط رو به زیاد | ۴ |
بحث دانشگاهی | بسیار منفور در جامعه دانشگاهی | ۱ | بسیار محبوب در جامعه دانشگاهی | ۵ |
توسعه برنامه های تحت وب | بسیار ضعیف خیلی سخت
مگر در دلفی پرسیم که تحت دات نت است |
۱ | بسیار خوب و مرتبط با ASP و ساده
با مولفه های خوب مثل MVC |
۵ |
توسعه برنامه موبایلی | خوب برای برنامه های android , ios | ۴ | متوسط نا مناسب برای توسعه حتی xamarin | ۲ |
استفاده برای پایگاه داده ها database | فوق العاده لذا بسیار قوی بوده و کاپوننت های غیر بومی زیاد | ۵ | متوسط و تمرکز روی کامپوننت بومی مایکروسافت | ۳ |
پایداری IDE | خوب | ۴ | عالی | ۵ |
جایگزینی | خیلی خوب لذا به سادگی میتوانید پس از آپدیت IDE از
کد های پیشین استفاده کنین |
۴ | خوب و ولی غیر قابل اعتماد | ۳ |
استقلالی برنامه اجرایی standalone | عالی بدون هیچ نیازی اجرا میشوند | ۵ | ضعیف لذا نیازمند .net فریم ورک میباشد | ۲ |
هزینه خریداری محیط توسه IDE price | بسیار بسیار گران | ۱ | خوب و قابل خرید | ۴ |
برنامه های چند نخی یا multi thread | دست شما بسیار باز است ولی سخت | ۳ | دست شما بسته است ولی ساده تر | ۳ |
برنامه نویسی تحت شبکه | بسیار خوب استفاده از کامپوننت های Delphi | ۵ | خوب ولی نه کامل | ۳ |
لایبری های خارجی | تقریبا متوسط | ۳ | خوب | ۴ |
امنیت داده ها و برنامه | بسیار خوب عدم دیکاپایل و استفاده راحت از protector | ۵ | ضعیف و قابلیت دیکامپایل و پرکتور های نا مناسب | ۲ |
پیشرو بودن در تکنولوژی های ویندوزی | متوسط رو به ضعیف | ۲ | بسیار عالی پیشرو و یک تاز ویندوز | ۵ |
پیشرو بودن در تکنولوژی های غیر ویندوزی | خیلی خوب و گسترده | ۵ | خوب ولی نه گسترده | ۳ |
حجم فایل خروجی | خیلی بالا حدودا ۱ خورده مگابایت | ۱ | خوب و قابل قبول حدودا ۲۰۰-۳۰۰ کیلوبایت | ۴ |
پشتیبانی از زبان های غیر لاتین | در VLC خیلی خوب در سایر اصلا خوب نیست | ۳ | خوب و قابل قابل در همه موارد | ۴ |
قابلیت نوشتن درایور های سخت افزاری | خیلی خیلی کم | ۲ | غیر ممکن | ۰ |
چرخه انتشار نگارش ها version release cycle | تقریبا منظم با بد قولی های همیشگی | ۴ | بی نظیر و دقیق | ۵ |
خطازدایی یا debug برنامه | بسیار بسیار عالی و کامل | ۵ | خوب ولی نه کامل | ۳ |
توسعه برنامه های سیستم ویندوز | خوب و قابل قبول | ۴ | ضعیف | ۲ |
استفاده از رسانه ها | خوب | ۴ | خوب | ۴ |
پردازش تصاویر و رسانه ها | متوسط – خوب | ۳ | متوسط | ۲ |
استفاده مستقیم از زبان اسمبلی | ممکن و منعطف | ۵ | غیر ممکن | ۰ |
حرکت در چهار چوب و استاندارد توسعه دهنده | ضعیف لذا انعطاف زیادی دارد | ۲ | بسیار خوب | ۴ |
اکوسیستم پیکج منیجر | بسیار ضعیف و در حال تکامل به نام GetIt | ۱ | خیلی ضعیف ولی کاملتر به نام nuGet | ۲ |
دیدگاهتان را بنویسید لغو پاسخ