مقایسه C# با Delphi – برتری ها – مزایا و معایب

مقدمه

همیشه یکی از بحث های مطرح بین برنامه نویس برتری زبان های برنامه نویسی هستش، اصلالتاُ این بحث زمانی سر چشمه میگیره که، برنامه نویس ها تنها یک زبان رو برای توسعه خودشون انتخاب کنند، من به شخصه هیچ عرقی به یک زبان برنامه نویسی خاص ندارم و هر کسی از من این سوال رو میپرسه ( معمولا تو هفته یکی دو مرتبه پیش میادش) با چه زبانی برنامه نویسی رو استارت بزنم پاسخ من با یه سوال شروع میشه چشم انداز تو برای برنامه نویس یا توسعه دهنده شدن چی هستش؟ اما ما باید یه چیزی رو در نظر بگیریم اونم اینه که هر زبانی یه سری رویکرد داره که برای انتخاب باید به رویکرد ها و قابلیت ها توجه کرد که‌ آیا رویکرد این زبان برنامه نویسی با رویکرد های من سازگار هست یا خیر! پس این نقد و مقایسه رو به دور از تعصب توضیح میدیم لذا خیلی موقع ها من به بعضی ها خودم #C رو پیشنهاد میدم به برخی دیگه دلفی رو، پس میزان رویکرد شماس.

 

delphic

 

توضیحی در مورد آندرس هلزبرگ

Anders Hejlsberg معمار اصلی دلفی می باشد، که طراح بنیان دلفی به عهده ایشان بوده است و یکی از طرح های کم نظیر ایشان VCL در دلفی می باشد ، به صورت خلاصه وار بخواهیم در مورد دادگاهی بین مایکروسافت و برلند ( بنیان گذار دلفی اما الان هیچ امتیازی ندارد در اختیار embarcadero می باشد) یک جلسه پشت درب های بسته انجام میشود Borland از شکایت خود منصرف میشود و در نهایت آندرس هلزبرگ از برلند به مایکروسافت می رود همچنان جای سوال است که برنلد در این معماله در ازای چه چیزی مغز متفکر خود را تقدیم مایکروسافت کرد و در نهایت پس از ورود به مایکروسافت J# را طراحی میکند که با شکست مواجه میشود و بعد از معمار اصلی C# ایشان میباشند پس این شخص یکی از مهم ترین طراحی های این دو زبان پیشتاز بوده است.

 

مقایسه کلی در یک جدول: ( در چهل مورد)

‌امتیاز بین صفر تا ۵ می باشد

عنوان ‌ Delphi   امتیاز C# امتیاز
انشای کد syntax   یادگیری ساده

ولی قواعد های بعضی وقت ها غیر قابل تحمل

3  برگرفته از پایه زبان C ولی کاملا شی گرا

چیزی بین C++ و جاوا

 4
سرعت همبندی یا کامپایل   بسیار بسیار سریع  5   تقریبا سریع  3
قدرت کامپایل  بسیار  بالا و استفاده از کد های محلی  ( کد ماشین)

و نسخه های ۳۲ و ۶۴ بیتی

 5 متوسط استفاده از زبان میانی و مفسری

و نسخه های ۳۲ و ۶۴ بیتی

 2
انعطاف در کدنویسی  بسیار بالا و قابلیت انتخاب بین ساخت یافته و شی گرایی

استفاده از api خام بدون استفاده از هیچ چیز زیادی

 5  متوسط حتما باید شی گرا باشید

و در چهار چوب .net

 2
شی گرایی   قابلیت استفاده از شی گرایی چند ریختی و کپسوله سازی 4  بسیار قوی لذا الگو گرفته از  جاوا می باشد  5
سرعت اجرای کد   بسیار سریع لذا کد های ماشین اجرا میشود و نیازی مفسر ندارد  4   متوسط لذا از زبان میانی استفاده میکنه  4
ارتباط با api   خیلی ساده و بسیاری از آنها محلی فرخوانی میشوند  5   بسیار ضعیف  1
استقلال از سکو cross platform   متوسط – در فایر مانکی این امکان هست جز برای لینوکس

ولی VCL خیر مخصوص ویندوز

 3  خوب در پروژه مونو خوب طراحی شده

ولی هچنان کامل نیست

 4
قدرت IDE  خوب و مناسب  4  بسیار خوب و مناسب  5
استفاده از مولفه بومی native component  بسیار خوب برای اکثر نیاز ها کامپوننت تعریف شده  5  خوب و قابل قبول  4
استفاده مولفه های غیر بومی third party component   بسیار خوب و بسیار بسیار منعطف و توسعه دهنده های بیشتر  5   خوب  – اما انعطاف کم  3
اسناد آموزشی documantion   خوب و در ویندوز عالی  4  بسیار بسیار قوی  5
شرکت در متن باز open source   خیلی کم و بد  1  ضعیف  2
استفاده در محیط های دیگر  بسیار کم چون پاسکال یه زبان عمومی مثل C نبوده  1  خیلی زیاد در خیلی از محیط ها زبان محلی شده

مانند موتور های بازی unreal , unity

 5
بازار کار داخلی  متوسط رو به کم ولی رقابت کمتری در این بخش است   4  زیاد ولی رقابا زیاد هستند  4
بازار کار جهانی  بسیار کم  1  متوسط رو به زیاد  4
بحث دانشگاهی  بسیار منفور در جامعه دانشگاهی  1  بسیار محبوب در جامعه دانشگاهی  5
توسعه برنامه های تحت وب  بسیار ضعیف  خیلی سخت

مگر در دلفی پرسیم که تحت دات نت است

 1  بسیار خوب و مرتبط با ASP و ساده

با مولفه های خوب مثل MVC

 5
توسعه برنامه موبایلی  خوب برای برنامه های android , ios  4  متوسط نا مناسب برای توسعه حتی xamarin  2
استفاده برای پایگاه داده ها database  ‌فوق العاده لذا بسیار قوی بوده و کاپوننت های غیر بومی زیاد  5  متوسط و تمرکز روی کامپوننت بومی مایکروسافت  3
پایداری IDE  خوب  4  عالی  5
جایگزینی  خیلی خوب لذا به سادگی میتوانید پس از آپدیت IDE از

کد های پیشین استفاده کنین

 4  خوب و ولی غیر قابل اعتماد  3
استقلالی برنامه اجرایی standalone  عالی بدون هیچ نیازی اجرا میشوند  5  ضعیف لذا نیازمند .net فریم ورک میباشد 2
هزینه خریداری محیط توسه IDE price  بسیار بسیار گران  1  خوب و قابل خرید  4
برنامه های چند نخی یا multi thread  دست شما بسیار باز است ولی سخت  3  دست شما بسته است ولی ساده تر  3
برنامه نویسی تحت شبکه  بسیار خوب استفاده از کامپوننت های  Delphi  5  خوب ولی نه کامل  3
لایبری های خارجی تقریبا متوسط  3   خوب  4
امنیت داده ها و برنامه  بسیار خوب عدم دیکاپایل و استفاده راحت از protector  5  ضعیف و قابلیت دیکامپایل و پرکتور های نا مناسب  2
پیشرو بودن در تکنولوژی های ویندوزی   متوسط رو به ضعیف  2   بسیار عالی پیشرو و یک تاز ویندوز  5
پیشرو بودن در تکنولوژی های غیر ویندوزی  خیلی خوب و گسترده  5  خوب ولی نه گسترده  3
حجم فایل خروجی  خیلی بالا حدودا 1 خورده مگابایت  1   خوب و قابل قبول حدودا 200-300 کیلوبایت  4
پشتیبانی از زبان های غیر لاتین  در VLC خیلی خوب در سایر اصلا خوب نیست  3  خوب و قابل قابل در همه موارد  4
قابلیت نوشتن درایور های سخت افزاری  خیلی خیلی کم  2  غیر ممکن  0
چرخه انتشار نگارش ها version release cycle  تقریبا منظم با بد قولی های همیشگی  4  بی نظیر و دقیق  5
خطازدایی یا debug برنامه  بسیار بسیار عالی و کامل  5  خوب ولی نه کامل  3
توسعه برنامه های سیستم ویندوز  خوب و قابل قبول  4  ضعیف  2
استفاده از رسانه ها  خوب  4  خوب  4
پردازش تصاویر و رسانه ها  متوسط – خوب  3   متوسط  2
‌استفاده مستقیم از زبان اسمبلی  ممکن و منعطف  5  غیر ممکن  0
حرکت در چهار چوب و استاندارد توسعه دهنده  ضعیف لذا انعطاف زیادی دارد  2  بسیار خوب  4

‌A1Gard

اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق

More Posts

16 thoughts on “مقایسه C# با Delphi – برتری ها – مزایا و معایب”

  1. در این مقایسه رویه جدید مایکروسافت و NET Core. به طور کامل فراموش شده و اندکی قدیمی هست.
    https://github.com/aspnet
    در حال حاضر مایکروسافت یکی از فعال‌ترین‌های سورس باز در GitHub هست.
    http://octoverse.github.com
    همچنین NET Core یک دات نت چندسکویی هست که توسط خود مایکروسافت توسعه داده میشه.
    خلاصه وضع فرق کرده و مثل قبل نیست.

    یک نکته: چون خیلی راجع به جاوا اینجا بحث شده، جاوا تا نگارش 8 آن از لحاظ قابلیت شبیه به C# 2.0 هست.

    1. این روند توی کامپایل برنامه های C# هرگز تاثیر نداشته ما وب فقط بخشی از صحبت مون بود نه همه صحبتمون.
      مایکروسافت هم کمی با متن باز آشتی کرده درسته ولی با جریان های همچون gnu فاصله سال نوری داره.
      اگر دقیق تر از این تغییری که میفرمایید صحبت کنید ممنون میشم.
      ما بنیادی صحبت کردیم سی شارپ statically, strongly, و manifestly با جاوا تقریبا شباهت عجیبی دارد. میشود گفت clone شده

    1. به نظرم سی شارپ سیر خطی سعودی داره ولی دلفی سیرش سینونسی هستش در کل برای بازار ایران من دلفی پیشنهاد میکنم ولی خارج از این c++ نه سی شارپ

  2. من شنیدم به تازگی Embarcadero یه سری سیاست هایی برا خودش در نظر گرفته که اصلا با عقل جور نمیاد. و اینکه میگن روی دلفی نمیشه برای بازار کار حساب باز کرد

    1. بازار کار ۳۰٪ به سیاست های فعلی بستگی داره شما فرض کنین هزاران برنامه از همکران سیستم گرفته تا قفل های سیمین با دلفی نوشته شده این برنامه ها نیاز به پشتیبانی و نگهداری دارند پس چه بسا بازار کار در این زمینه وجود دارد.
      ولی چیزی که هویداس دانشگاه چون روی سی شارپ مانور میده بازار کار رو اشباع کرده ولی دلفی به طبع بهتر هستش.

      1. با عرض سلام و احترام
        با تشکر از مقایسه بدون تعصب جنابعالی
        بنظر من اگر برای نسخه های ایکس ای جدید دلفی رفرنس فارسی مناسبی وجود داشته باشه اونوقت خیلی ها مجددا سراغ این زبان بسیار قدرتمند می رن . منفور بودن گاهی اوقات بخاطر ناآگاهی در یک زمینه است .

        1. سلام و خوش آمد

          متسفانه اکنون مشکل اصلی دلفی در دنیا قیمت بسیار بالا و عدم تبلیغات گسترده مثل مایکروسافت هست و در ایران تعصب های بی جا من رفرنس کتابی سراغ ندارم ولی پیش از این یه سری آموزش کلیپ برای دلفی درست کرده بودم میشود به آن مراجعه کرد.

          استاد مبین قاسم پور فک کنم کتابی در از این زمینه داشت تالیف میکرد که در جریان نیستم به کجا رسید.
          با جمله نا آگاهی موافقم + این که تعصب روی زبانی که بلد هستند.

    1. سپاس از دیدگاهتون
      اما ما نتیحه گیری رو به مخاطب واگذار کردیم مثلا برای شخصی standalone بودن مهم هستش حتی اگر سی شارپ 50 نمره هم بالاتر باشد ارزش ندارد نسبت به خواسته ایشان.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *