GUI प्रोग्रामिंग के लिए डेल्फी बनाम सी # [बंद]


20

मैं सी के थोड़े से ज्ञान के साथ PHP और पायथन पृष्ठभूमि से आ रहा हूं, मैंने कई वेब आधारित एप्लिकेशन किए हैं अब मैं विंडोज़ प्लेटफॉर्म के लिए डेस्कटॉप एप्लिकेशन के बारे में सोच रहा हूं।

एक मित्र ने मुझे डेल्फी के लिए जाने के लिए कहा और अन्य लोग कह रहे हैं कि सी # सबसे अच्छा है, ठीक है, मैं जो देख रहा हूं वह है

  1. सादगी
  2. उत्पादकता
  3. अच्छा एपीआई प्रलेखन
  4. गति
  5. खींचें और छोड़ें
  6. मल्टी थ्रेडिंग और अच्छा नेटवर्क एपीआई

धन्यवाद

जवाबों:


20

डेल्फी, निश्चित रूप से:

  1. सरलता - डेल्फी का वाक्यविन्यास पास्कल पर आधारित है, जिसे स्पष्ट रूप से सीखने के लिए आसान बनाया गया था, और यह उस वादे को पूरा कर सकता है। C # का C परिवार पर आधारित है, जो ... अच्छी तरह से ... नहीं था ।
  2. उत्पादकता - डेल्फी टर्बो पास्कल का एक वंशज है, और इसमें अभी भी सबसे तेज संकलक है जिसे मनुष्य को जाना जाता है, जो आपकी उत्पादकता को काफी बढ़ाएगा। इसके अलावा इसमें डीबगर विजुअल स्टूडियो है कामना करता है कि इसका डिबगर बड़ा होने पर ऐसा हो। विशेष रूप से डेल्फी के नवीनतम संस्करण में, डिबगिंग बहुत आसान है।
  3. अच्छा एपीआई प्रलेखन - "एपीआई" इन दिनों एक बहुत अस्पष्ट शब्द है, जिसमें सभी प्रकार की चीजें शामिल हैं। मेरा मानना ​​है कि आप पुस्तकालयों का मतलब है, और यहाँ यह एक टॉसअप की तरह है। .NET फ्रेमवर्क और डेल्फी दोनों ही मानक पुस्तकालयों में अच्छे ऑनलाइन दस्तावेज़ और औसत दर्जे के, मुश्किल-से-उपयोग ऑफ़लाइन दस्तावेज़ हैं। (दृश्य स्टूडियो के रूप में उसी भयानक मदद प्रणाली का उपयोग करने के लिए चुनने वाली डेल्फी टीम का एक परिणाम, जो वे अगले संस्करण में उम्मीद से दूर चले जाएंगे।)
  4. गति - डेल्फी आसानी से जीतता है। यह मूल कोड (तेज़ निष्पादन और बहुत तेज़ स्टार्टअप के लिए संकलित है क्योंकि इसमें कोई JIT चरण नहीं है), और यह प्रबंधित पॉइंटर्स का उपयोग नहीं करता है इसलिए ऑब्जेक्ट एक्सेस तेज़ और कम कैश-अनफ़्रीडम है।
  5. ड्रैग एंड ड्रॉप - VCL की एक अंतर्निहित सुविधा।
  6. मल्टी थ्रेडिंग - डेल्फी में एक अंतर्निहित थ्रेड क्लास है, लेकिन यदि आप कॉम्पेक्ट चीजें जटिल करना चाहते हैं तो बेहतर विकल्प हैं। डेल्फी समुदाय के सदस्य प्रिमोज़ गैब्रिएल्सिक एक उत्कृष्ट संगामिति पुस्तकालय पर काम कर रहे हैं, जिसमें मैंने योगदान दिया है। यह सामान्य थ्रेडिंग लक्ष्यों जैसे टास्क पूलिंग, लूप्स के समानांतर और मल्टी-स्टेज पाइपलाइन प्रक्रियाओं के लिए उच्च-स्तरीय समर्थन प्रदान करता है।
  7. गुड नेटवर्क एपीआई - डेल्फी जहाजों के साथ इंडी, एक परिपक्व ओपन-सोर्स लाइब्रेरी जो इंटरनेट कनेक्शन को स्थापित करना और प्रबंधित करना आसान बनाता है। हम इसका उपयोग एक उद्योग-अग्रणी ऐप के लिए संचार परत प्रदान करने के लिए करते हैं जो आपने शायद तब तक कभी नहीं सुना होगा जब तक कि आप प्रसारण मीडिया में काम नहीं करते।
  8. परिनियोजन - यह आपकी सूची में नहीं था, लेकिन यह ध्यान देने योग्य है। अभी भी ऐसे सिस्टम मौजूद हैं जिनमें .NET फ्रेमवर्क पूर्वस्थापित नहीं है। डिफ़ॉल्ट रूप से, डेल्फी अपने मानक पुस्तकालय को EXE में संकलित करता है, फिर आपके द्वारा उपयोग नहीं किए जाने वाले भागों को हटाने के लिए एक स्मार्टलिंकर का उपयोग करता है, जिसके परिणामस्वरूप छोटे EXE होते हैं, जिनके सैकड़ों एमबी में भारी मात्रा में रनवे पुस्तकालयों पर निर्भरता नहीं होती है जो उनके उपयोगकर्ताओं के पास होगी। डाउनलोड और अलग से स्थापित करने के लिए।

2
@ शेल्फ: अधिक सी # नौकरियां उपलब्ध हो सकती हैं, लेकिन बहुत अधिक लोग हैं जो उनके लिए प्रतिस्पर्धा कर रहे हैं। कुशल डेल्फी डेवलपर्स को काम खोजने में कोई परेशानी नहीं होती है।
मेसन व्हीलर

5
C # केवल C ++ पर आधारित नहीं है, बल्कि डेल्फी और जावा पर भी आधारित है। मैंने पास्कल में भी प्रोग्रामिंग सीखी, और मुझे C # में इसके बहुत दर्शन मिलते हैं। प्रबंधित पॉइंटर्स के बारे में आपको यह पता चला है कि पीछे की ओर, प्रबंधित पॉइंटर्स के माध्यम से डेटा तक पहुँचने का कोई ओवरहेड नहीं है, और संदर्भ काउंटिंग का उपयोग करके सिस्टम की तुलना में उन्हें बदलना अधिक तेज़ है।
गुफ़ा

12
डेल्फी सिंटैक्स सीखना आसान है, एक पूरी तरह से व्यक्तिपरक कथन है। मुझे डेल्फी सिंटैक्स द्वारा प्रभावित किया गया था, और उस कारण से इसे सीखने के खिलाफ फैसला किया।
तजार्ट

8
-1: यह उत्तर पागलों की तरह पक्षपाती है। डेल्फी से बेहतर न होने पर विजुअल स्टूडियो डिबगर कम से कम उतना अच्छा है। MSDN की तुलना में डेल्फी का दस्तावेजीकरण अब तक का सबसे अच्छा दस्तावेज है।
मार्को-फिसेट

4
तैनाती - कुल विफल। Deplhi को Windows की आवश्यकता है, इसलिए यह C # से एक कदम पीछे है। C # पोर्टेबल है और मोनो के लिए मल्टीप्लेट रिकॉर्डर है। डेल्फी नहीं है। C # में लिखे प्रोग्राम को चलाने के लिए आपको विंडोज खरीदने की आवश्यकता नहीं है जो स्पष्ट रूप से Win32 लाइब्रेरीज़ का उपयोग नहीं करता है। सरलता - असफलता भी। C # का सिंटैक्स पढ़ना बहुत आसान है, बहुत संक्षिप्त और लिखने में आसान है। डेल्फी नहीं है। एपीआई प्रलेखन - नरक नहीं! अगर मैं "वेब सेवा सी #" लिखता हूं तो मुझे प्रासंगिक परिणाम मिलते हैं। डेल्फी के लिए ऐसी कोई चीज नहीं। स्पीड, थ्रेडिंग, विशेष रूप से डिबगर - भी गलत है।
TheLonelyCoder

15

सी # आमतौर पर एक बड़ा उपयोगकर्ता आधार होने वाला है, भविष्य में अधिक विकास, और विजुअल स्टूडियो के माध्यम से आरएडी विकास के उपकरण अविश्वसनीय हैं।

  1. सिंटैक्स उसी के समान होगा जिसका उपयोग आपने PHP और C में किया था।
  2. अपने उपकरणों और IntelliSense के साथ विजुअल स्टूडियो बेहद उत्पादक है।
  3. MSDN
  4. फिर, वीएस टूल्स + इंटेलीसेन्स, लेकिन गति वास्तव में आपकी भाषा और इसकी विशेषताओं की एक परिचितता से आती है।
  5. WinForms, WPF के लिए VS डिज़ाइनर।
  6. System.Threading और System.Net

डेल्फी के साथ मुझे ज्यादा अनुभव नहीं है, और मैं सामान्य रूप से C # के साथ अपने अनुभवों के बारे में बात कर रहा हूं। जहां मैं काम करता हूं, मेरे पास गैर-प्रोग्रामर द्वारा कल्पना की जाने वाली बहुत तंग समय सीमाएं हैं, और मैं बहुत तेजी से बिजनेस डेस्कटॉप की लाइन को पंप करने में सक्षम हूं। पिछले तीन हफ्तों में, मैं विनिर्देशन से तैनाती के लिए दो winforms LOB अनुप्रयोगों पर गया था। वीएस के साथ सी # में जीयूआई विकास के लिए उत्पादकता सिर्फ पागल है।


4
धन्यवाद, daniweb.com/forums/thread54305.html पर एक पोस्ट के अनुसार , डेल्फी में Win32 एपीआई एकीकरण और पूर्णता भी C
elf1984

2
आपको वास्तव में डेल्फी में देखना चाहिए अगर आपको लगता है कि सी # डेस्कटॉप अनुप्रयोगों को तेजी से बनाने के लिए अंतिम विकास का वातावरण है। मुझे व्यक्तिगत रूप से नफरत है जब मुझे दृश्य स्टूडियो के साथ डेस्कटॉप सामान बनाना होता है, लेकिन आजकल मेरे पास हमेशा कोई विकल्प नहीं है (दुर्भाग्य से)।
राउटर वैन निफ्ट्रिक

1
विजुअल स्टूडियो के आरएडी (फॉर्म डिज़ाइन) उपकरण चूसना, स्पष्ट रूप से।
वॉरेन पी

1
@ArrenP क्या आप विस्तृत कर सकते हैं?
तजार्ट

1
C # में सर्वर एप्लिकेशन बनाएं और डेल्फी में डेस्कटॉप एप्लिकेशन बनाएं, क्योंकि डेल्फी देशी कोड का उत्पादन करता है जो दरार करने के लिए कठिन है!
जस्टी

14

दोनों के सभी 6 बिंदु हैं जो आप चाहते हैं लेकिन मुझे लगता है कि C # में सबसे ज्यादा किनारे हैं अगर सभी नहीं हैं।

अंकों के माध्यम से जाने के लिए:

  1. डेल्फी को स्मृति प्रबंधन की आवश्यकता होती है, इसलिए आप तर्क दे सकते हैं कि अकेले सी # सरल बनाता है। स्वीकृत उत्तर में सिंटैक्स का उल्लेख किया गया है, अच्छी तरह से C # सिंटैक्स PHP और Java दोनों के लिए समान है, इसलिए यदि आप उन दोनों बैकग्राउंड में से जल्दी उठना और चलना चाहते हैं, तो C # में बढ़त है।
  2. उत्पादकता, मुझे लगता है कि आप सी # में अधिक जल्दी हो जाते हैं। .Net पुस्तकालय आपको इतना देता है कि बुरे पुराने दिनों में, मुझे प्रदान करने के लिए 3 पार्टी डेल्फी घटकों को देखना होगा।
  3. दस्तावेज़ीकरण, डेल्फी हमेशा अच्छा था, MSDN बेहतर है, साथ ही आपको समर्थन के लिए एक बड़ा समुदाय मिलेगा, नीचे मेरा स्टैक ओवरफ़्लो एनयेलिस देखें।
  4. स्पीड, डेल्फी इस पर बढ़त हो सकती है, लेकिन असेंबली सभी को ट्रम्प करती है ताकि आमतौर पर एक भाषा चुनने का एक अच्छा कारण न हो। एक बात मैं बताऊंगा कि मैंने लोगों को यह सुना है कि C # की व्याख्या की जाती है। ऐसा नहीं है, यह कभी नहीं रहा है, यह हमेशा एक JIT रहा है।
  5. खींचें और छोड़ें, दोनों पर उपलब्ध।
  6. मल्टीथ्रेडिंग, डेल्फी अच्छी है लेकिन lock(){}समानांतर एक्सटेंशन जैसे निर्माणों में सी # उत्कृष्ट है , और नया है await

अतिरिक्त बिंदु, प्रश्न शीर्षक GUI प्रोग्रामिंग है, इसके लिए मैं .nets WPF का एक बड़ा प्रशंसक हूं, जो, डेल्फी की एकमात्र चीज जो आधा रास्ता करीब था बोल्ड था , जो कि वश में करने के लिए एक दर्द था और अब मर गया।

सामुदायिक आकार, इस पर प्रश्नों की संख्या और स्टैक ओवरफ्लो दोनों डेल्फी और सी # टैग पर तुलना करने पर आप देखेंगे कि सी # समुदाय का आकार बहुत बड़ा है।

स्टैक ओवरफ़्लो:

  • डेल्फी 17K
  • C # 367K
  • जावा 312K
  • c 73K

मैंने जोड़ा है c, यह दिखाने के लिए कि भाषा की उम्र और Javaसिर्फ तुलना के साथ कोई समस्या नहीं है ।

मैं सी # या जावा प्रशंसक लड़का नहीं हूं, मैं 7 वर्षों के लिए एक बड़ा डेल्फी प्रशंसक, पेशेवर शुद्ध डेल्फी डेवलपर था, लेकिन उन्होंने वास्तव में इसे 2005 से लेकर अब तक के साथ खराब कर दिया है। देशी 32 बिट संकलन के लिए आईडीई। मेरे विचार से डेल्फी 7 भाषा का चरम था।


उस डाउनवोट के साथ उत्तर के बारे में कैसे?
पश्चिम की ओर

1
मैं नीच नहीं हूं, लेकिन मैं कहूंगा कि आप सवाल का जवाब नहीं दे रहे हैं। आप स्टैकओवरफ्लो पर डेल्फी की लोकप्रियता का आकलन कर रहे हैं। आप निश्चित रूप से एक बिंदु बनाते हैं, लेकिन यह IMHO काफी मामूली है। प्रौद्योगिकी का उपयोग करने वाला एकमात्र व्यक्ति होना हमेशा एक बुरी बात नहीं होती है।
साइमन बर्गोट

@ साइमन फेयर पॉइंट, मैंने अब सभी बिंदुओं का उत्तर दिया है और प्रश्नों की संख्या के विश्लेषण को सामुदायिक आकार के बारे में व्यापक बिंदु पर एकीकृत किया है।
वेस्टन

यह तर्क दिया जा सकता है कि अधिक प्रश्नों के परिणामस्वरूप भाषा का उपयोग करने के लिए अधिक जटिल है। ;-) WPF के समान बोल्ड कैसे था? मैंने WPF का उपयोग किया है और कोई समानता नहीं देखी है।
जिम मैककेथ

@JimMcKeeth बोल्ड और WPF दोनों यूआई नियंत्रणों के लिए डेटा को बांधने के लिए एक ढांचा प्रदान करते हैं ताकि जब डेटा बदलता है, तो यूआई अपडेट और यदि आवश्यक हो तो इसके विपरीत।
वेस्टन

8

जब मैं यूनी में था, मुझे डेल्फी के साथ प्रोग्रामिंग सिखाई गई थी। मैं थोड़ा कठोर हूं, लेकिन मैं इसे सी # एप्लिकेशन में पोर्ट करने के लिए बहुत सारे डेल्फी कोड के माध्यम से पढ़ रहा हूं।

मैं डेल्फी के ओओ झुकाव के साथ प्रक्रियात्मक के ऊपर O # को कार्यात्मक झुकाव के साथ OO पसंद करता हूं। आपको विचार करना चाहिए कि आप उनके बीच चयन करते समय कैसे कोड करना पसंद करते हैं। मुझे नहीं लगता कि इसमें बहुत कुछ है जब यह सरलता की बात आती है - बस जो आपको आसान लगता है। उत्पादकता के लिए वही जाता है।

राड (तेजी से अनुप्रयोग विकास) के संदर्भ में, winforms और डेल्फी GUI डिजाइन के बीच बहुत कुछ नहीं है। वे मुझे एक-दूसरे की याद दिलाते हैं।

दूसरी ओर WPF कुछ ऐसा है जिसे मैं अपनी घोषणात्मक शैली के लिए पसंद करता हूं।

मुझे नहीं लगता कि विक्रेता द्वारा C # या डेल्फी के लिए दस्तावेज उपलब्ध कराने की गुणवत्ता और कवरेज में बहुत अंतर है। मुझे लगता है कि आपको C # के बारे में अधिक गैर-विक्रेता जानकारी मिल जाएगी, लेकिन ऐसा सिर्फ इसलिए हो सकता है क्योंकि मैंने वास्तव में डेल्फी के रास्ते में बहुत कुछ नहीं खोजा है।

मुझे डेल्फी के साथ कोई थ्रेडेड प्रोग्रामिंग नहीं करनी है, और जो भी नेटवर्किंग मैंने सालों पहले की थी और जो मुझे याद नहीं है।

समानांतर प्रसंस्करण, घटनाओं और अन्य थ्रेडिंग कार्य के लिए .NET लाइब्रेरी अच्छी हैं। इसलिए आप वहां से गायब नहीं होंगे। जब नेटवर्किंग की बात आती है, तो बहुत अधिक समर्थन की आवश्यकता होती है, इसलिए फिर से अत्यधिक अनुशंसा की जाती है।

कुल मिलाकर मैं C # /। NET के साथ जाऊंगा। यह आंशिक रूप से WPF के कारण है, लेकिन मुझे C # में लिखे कोड को भी पसंद है। जहां तक ​​मुझे पता है डेल्फी में लिनक की तरह कुछ भी नहीं है, जो मुझे अमूल्य लगता है।


आपके शानदार जवाब के लिए धन्यवाद। आपने शुरुआत के रूप में कौन सी किताब पढ़ी? अब मैं VS 2010 में C # 4 और .NET 4 शुरू
करूंगा

4
एक डेल्फी ऐप को C # में पोर्ट करने की कोशिश करें। हर बार जब मैंने किसी कंपनी की कोशिश करने के बारे में सुना है, तो उन्होंने "थिंग्स यू विल नेवर डू, पार्ट 1" में किए गए हर बिंदु को मान्य करते हुए समाप्त कर दिया है और यह उत्पाद और उस कंपनी के मालिक के लिए आपदा में समाप्त हो गया।
मेसन व्हीलर

क्षमा करें, मैं वास्तव में c # 4 के लिए शुरुआती पुस्तक पर आपको सलाह नहीं दे सकता। मुझे यकीन नहीं है कि मैं एक था जब मैंने c # शुरू किया था (1.1 दिनों में वापस। मुझे यकीन है कि कुछ थे, लेकिन मैंने एक नहीं पढ़ा)। जब मैंने शुरू किया तो मुझे लगता है कि जेसी लिबर्टी द्वारा 21 दिनों में मैंने पहली पुस्तक टीच योरसेल्फ सी ++ का उपयोग किया था, जिसे मैंने जी शुरू करने से पहले पढ़ा था। मुझे इसके माध्यम से पाने के लिए उम्र लग गई, लेकिन मैंने बहुत कुछ सीखा। मेरे पास एक और अच्छी पुस्तक थी डिस्कवर डेल्फी, वह पाठ्यक्रम के लिए पुस्तक थी। एक पुस्तक जो मैं सुझाता हूं वह है डेविड वेस्ट द्वारा ऑब्जेक्ट थिंकिंग, क्योंकि यह वास्तव में आपको OOP और OOD के बारे में सोचता है, बिल वैगनर द्वारा भी प्रभावी C # ...
मैट एलेन

... वे वास्तव में शुरुआती किताब नहीं हैं, लेकिन एक बार जब आपके पास बुनियादी बातें होती हैं तो उनके पास एक बेहतर प्रोग्रामर बनने के तरीके और सलाह हैं।
मैट एलेन

BTW यदि आप डेल्फी में LINQ की तलाश कर रहे हैं, तो अलेक्जेंड्रू सिओबानु की DeHL लाइब्रेरी देखें। यह LINQ- शैली संग्रह और ऑपरेटर प्रदान करता है। LINQ सिंटैक्स (छद्म-एसक्यूएल सामान) अभी डेल्फी में नहीं है, लेकिन जाहिर तौर पर कंपाइलर टीम भविष्य में रिलीज के लिए इस पर काम कर रही है।
मेसन व्हीलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.