डेल्फ़ी (सॉफ़्टवेयर)

डेल्फी एक सामान्य प्रयोजन प्रोग्रामिंग भाषा और एक सॉफ्टवेयर उत्पाद है जो ऑब्जेक्ट पास्कल प्रोग्रामिंग भाषा की डेल्फी बोली का उपयोग करता है और डेस्कटॉप, मोबाइल, वेब और कंसोल सॉफ्टवेयर के तेजी से अनुप्रयोग विकास के लिए एक एकीकृत विकास वातावरण (आईडीई) प्रदान करता है, वर्तमान में एम्बरकेडेरो टेक्नोलॉजीज द्वारा विकसित और रखरखाव किया जाता है।

डेल्फ़ी के कंपाइलर माइक्रोसॉफ्ट विंडोज, मैकओएस, आईओएस, एंड्रॉइड और लिनक्स (x64) के लिए मूल कोड उत्पन्न करते हैं।

डेल्फ़ी में एक कोड संपादक, एक विज़ुअल डिज़ाइनर, एक एकीकृत डिबगर, एक संस्करण नियंत्रण घटक और तृतीय-पक्ष प्लगइन (कंप्यूटिंग) के लिए समर्थन सम्मिलित है। कोड संपादक में कोड अंतर्दृष्टि (कोड पूर्णता), एरर इनसाइट (वास्तविक समय त्रुटि-जाँच), और कोड रीफैक्टरिंग की सुविधा है। विज़ुअल फॉर्म डिज़ाइनर के पास शुद्ध विंडोज़ विकास के लिए दृश्य घटक लाइब्रेरी (वीसीएल) या क्रॉस-प्लेटफ़ॉर्म विकास के लिए फायरमंकी (एफएमएक्स) फ्रेमवर्क का उपयोग करने का विकल्प होता है। डेटाबेस समर्थन एक प्रमुख विशेषता है और यह फायरडीएसी (डेटाबेस एक्सेस कंपोनेंट्स) द्वारा प्रदान किया जाता है। डेल्फ़ी अपनी तेज़ संकलन गति, मूल कोड और डेवलपर उत्पादकता के लिए जाना जाता है।

डेल्फ़ी को मूल रूप से बोरलैंड द्वारा टर्बो पास्कल के उत्तराधिकारी के रूप में विंडोज़ के लिए एक तीव्र अनुप्रयोग विकास उपकरण के रूप में विकसित किया गया था। डेल्फ़ी ने उपस्थित भाषा में पूर्ण ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग को जोड़ा, और भाषा जेनरिक, अनाम फ़ंक्शन, अनाम फ़ंक्शन या क्लोजर और मूल घटक वस्तु मॉडल (कॉम) समर्थन का समर्थन करने के लिए विकसित हुई है।

डेल्फ़ी और इसके C++ समकक्ष, इंटरऑपरेबल हैं और संयुक्त रूप से रेड स्टूडियो के नाम से बेचे जाते हैं। व्यावसायिक, एंटरप्राइज़ और आर्किटेक्ट संस्करण हैं, उच्च संस्करणों में अधिक मूल्य पर अधिक सुविधाएँ हैं। प्रोफेशनल की अधिकांश सुविधाओं के साथ एक नि:शुल्क सामुदायिक संस्करण भी है, किंतु यह कम राजस्व वाले उपयोगकर्ताओं और कंपनियों तक ही सीमित है।

सुविधाएँ
डेल्फ़ी तीव्र अनुप्रयोग विकास (आरएडी) का समर्थन करता है। प्रमुख विशेषताएं एक विज़ुअल डिज़ाइनर और दो एप्लीकेशन फ्रेम वर्क, विंडोज़ के लिए विज़ुअल कंपोनेंट लाइब्रेरी और क्रॉस-प्लेटफ़ॉर्म विकास के लिए फ़ायरमॉन्की (एफएमएक्स) हैं।

डेल्फ़ी टर्बो पास्कल के उत्तराधिकारी के रूप में बोरलैंड (अब आईडीईआरए) के लिए एंडर्स हेल्सबर्ग द्वारा बनाई गई पास्कल प्रोग्रामिंग भाषा-आधारित प्रोग्रामिंग भाषा ऑब्जेक्ट पास्कल का उपयोग करता है। यह विंडोज़, लिनक्स, आईओएस और एंड्रॉइड सहित कई प्लेटफार्मों पर देशी क्रॉस-संकलन का समर्थन करता है।

माइक्रोसॉफ्ट विंडोज़ के लिए विकास का उत्तम समर्थन करने और अन्य सॉफ़्टवेयर विकास टूल के साथ विकसित कोड के साथ इंटरऑपरेट करने के लिए, डेल्फ़ी संदर्भ गिनती वर्ग कार्यान्वयन के साथ घटक ऑब्जेक्ट मॉडल (कॉम ) के स्वतंत्र इंटरफेस का समर्थन करता है, और कई तृतीय-पक्ष घटकों के लिए समर्थन करता है। इंटरफ़ेस (कंप्यूटर विज्ञान) कार्यान्वयन को फ़ील्ड या कक्षाओं के गुणों को नियुक्त किया जा सकता है। संदेश हैंडलर को संभालने के लिए संदेश के पूर्णांक स्थिरांक के साथ एक वर्ग की एक विधि को टैग करके कार्यान्वित किया जाता है।

डेटाबेस कनेक्टिविटी को वीसीएल डेटाबेस-अवेयर और डेटाबेस एक्सेस घटकों के माध्यम से बड़े मापदंड पर समर्थित किया जाता है।

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

विशेषताएँ
डेल्फ़ी एक सशक्त रूप से टाइप की गई प्रोग्रामिंग भाषा उच्च स्तरीय प्रोग्रामिंग भाषा का उपयोग करता है, जिसका उपयोग करना आसान है और मूल रूप से पहले की ऑब्जेक्ट पास्कल भाषा पर आधारित है। पास्कल (प्रोग्रामिंग भाषा) को मूल रूप से एक सामान्य प्रयोजन वाली भाषा के रूप में विकसित किया गया था जो उस समय ज्ञात मौलिक निर्माणों को संक्षिप्त और तार्किक विधि से व्यक्त करने के लिए उपयुक्त थी, और इसका कार्यान्वयन उपस्थित फोरट्रान कंपाइलरों के साथ कुशल और प्रतिस्पर्धी होना था। किंतु निम्न-स्तरीय प्रोग्रामिंग सुविधाओं या हार्डवेयर तक पहुंच के बिना टर्बो पास्कल और डेल्फ़ी सहित इसके वंशज, असेंबली भाषा और अन्य भाषाओं में लिखे गए कोड को सम्मिलित करने की सुविधा के साथ, हार्डवेयर और निम्न-स्तरीय प्रोग्रामिंग तक पहुंच का समर्थन करते हैं। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में बहुरूपता में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में केवल क्लास- और इंटरफ़ेस-आधारित बहुरूपता की सुविधा है। मेटाक्लास प्रथम श्रेणी की वस्तुएं हैं। ऑब्जेक्ट्स ऑब्जेक्ट्स के संदर्भ हैं (जैसा कि जावा (प्रोग्रामिंग भाषा) में), जो डेल्फी परोक्ष रूप से डी-रेफरेंस करता है, इसलिए समान्यत: ऑब्जेक्ट्स के पॉइंटर्स के लिए मैन्युअल रूप से मेमोरी आवंटित करने या कुछ अन्य भाषाओं की आवश्यकता वाली समान तकनीकों का उपयोग करने की आवश्यकता नहीं होती है। समर्पित संदर्भ-गणित स्ट्रिंग प्रकार और शून्य-समाप्त स्ट्रिंग भी हैं।

स्ट्रिंग्स को फ़ंक्शंस का उपयोग करने के अतिरिक्त '+' ऑपरेटर का उपयोग करके संयोजित किया जा सकता है। समर्पित स्ट्रिंग प्रकारों के लिए, डेल्फ़ी प्रोग्रामर के व्यवधान के बिना मेमोरी प्रबंधन को संभालता है। बोरलैंड डेवलपर स्टूडियो 2006 के बाद से, मेमोरी रिसाव का पता लगाने के लिए फ़ंक्शन उपस्थित हैं।

डेल्फ़ी में एक एकीकृत आईडीई सम्मिलित है। डेल्फ़ी के सभी उत्पाद एक रन-टाइम लाइब्रेरी (आरटीएल) और एक विज़ुअल कंपोनेंट लाइब्रेरी (वीसीएल) के साथ आते हैं, जिसमें इसके अधिकांश स्रोत कोड भी सम्मिलित हैं। आईडीई को बढ़ाने या डेल्फ़ी से संबंधित अन्य विकास कार्यों के लिए तृतीय-पक्ष घटक (कभी-कभी पूर्ण स्रोत कोड के साथ) और उपकरण उपलब्ध हैं, जिनमें से कुछ निःशुल्क हैं। आईडीई में निर्मित कार्यक्रमों के स्थानीयकरण और अनुवाद के लिए एक जीयूआई सम्मिलित है जिसे अनुवादक पर तैनात किया जा सकता है; इस उद्देश्य के लिए अधिक सुविधाओं वाले तृतीय-पक्ष उपकरण भी उपस्थित हैं। वीसीएल फ्रेम वर्क संस्करणों के बीच उच्च स्तर की स्रोत संगतता बनाए रखता है, जो उपस्थित स्रोत कोड को नए डेल्फी संस्करण में अपडेट करना आसान बनाता है। तृतीय-पक्ष पुस्तकालयों को समान्यत: विक्रेता से अपडेट की आवश्यकता होती है, किंतु यदि स्रोत कोड प्रदान किया जाता है, तो नए संस्करण के साथ पुनर्संकलन पर्याप्त हो सकता है। वीसीएल निर्भरता इंजेक्शन या नियंत्रण के व्युत्क्रम का प्रारंभिक अंगीकार था; यह डेवलपर द्वारा एक्स्टेंसिबल पुन: प्रयोज्य घटक मॉडल का उपयोग करता है। क्लास हेल्पर्स के साथ, आरटीएल या वीसीएल के मूल स्रोत कोड को बदले बिना कोर आरटीएल और वीसीएल कक्षाओं में नई कार्यक्षमता प्रस्तुत की जा सकती है।

कंपाइलर अनुकूलन कर रहा है और एकल-पास कंपाइलर है। यह वैकल्पिक रूप से एकल निष्पादन योग्य में संकलित हो सकता है जिसके लिए डीएलएल की आवश्यकता नहीं होती है। डेल्फ़ी मानक डीएलएल, एक्टिवएक्स डीएलएल, कॉम स्वचालन सर्वर और विंडोज सेवाएँ भी उत्पन्न कर सकता है।

डेल्फ़ी 2005 के बाद से डेल्फ़ी आईडीई विधि निष्कर्षण और स्रोत कोड से एकीकृत मॉडलिंग भाषा मॉडल बनाने या मॉडल में किए गए परिवर्तनों के माध्यम से स्रोत को संशोधित करने की संभावना जैसी पुनर्रचना सुविधाओं का तेजी से समर्थन कर रहे हैं।

डेल्फ़ी के वर्ल्ड वाइड वेब पर समुदाय हैं, जहाँ उसके एम्प्लोयी भी सक्रिय रूप से भाग लेते हैं।

पिछली अनुकूलता
डेल्फ़ी उन भाषाओं में से एक है जहाँ पश्चगामी संगतता 100% के समीप है। यद्यपि डेल्फ़ी की प्रत्येक नई रिलीज़ उपस्थित कोड के पुन: उपयोग, नई सुविधाओं, नई लाइब्रेरीज़ और सुधारों की अनुमति देने के लिए जितना संभव हो उतना बैकवर्ड संगतता बनाए रखने का प्रयास करती है, और कभी-कभी नए रिलीज़ को 100% से कम बैकवर्ड संगत बना देती है।

2016 के बाद से, हर छह महीने में डेल्फ़ी की नई रिलीज़ होती रही हैं, लगभग हर दूसरी रिलीज़ में नए प्लेटफ़ॉर्म जोड़े जाते हैं।

फ्रेम वर्क
डेल्फ़ी दृश्य अनुप्रयोग विकास के लिए दो रूपरेखाएँ प्रदान करता है, वीसीएल और फायरमंकी (एफएमएक्स):


 * विज़ुअल कंपोनेंट लाइब्रेरी (वीसीएल) शुद्ध विंडोज़ अनुप्रयोगों को विकसित करने के लिए रूपरेखा है। वीसीएल एक दीर्घकालिक फ्रेम वर्क है, जिसे डेल्फ़ी की पहली रिलीज़ में सम्मिलित किया गया था और तब से सक्रिय रूप से विकसित किया गया है।
 * फायरमंकी (बाद में संक्षिप्त रूप से एफएमएक्स), 2011 में डेल्फ़ी XE2 के भाग के रूप में, गैर-विंडोज़ प्लेटफ़ॉर्म के लिए अंतर्निहित कंपाइलरों के एक अतिरिक्त सेट के साथ प्रसारित किया गया था। फायरमॉन्की विंडोज, मैकओएस, आईओएस, एंड्रॉइड और लिनक्स (x64) के लिए एक क्रॉस-प्लेटफॉर्म फ्रेमवर्क है। फायरमंकी के जीयूआई भाग अधिक सीमा तक डायरेक्ट3डी और ओपनजीएल पर आधारित हैं। फायरमंकी वीसीएल के साथ संगत नहीं है; वे दो अलग-अलग फ्रेम वर्क हैं। चूँकि, फायरमंकी एप्लिकेशन वीसीएल अनुप्रयोगों के साथ गैर-विज़ुअल कोड यूनिट (सॉफ़्टवेयर डेवलपमेंट) को सरलता से साझा करने की अनुमति देते हैं, जिससे बहुत सारे कोड को प्लेटफ़ॉर्म के बीच आसानी से पोर्ट या साझा किया जा सकता है।

इंटरऑपरेबिलिटी
डेल्फ़ी और उसके C++ समकक्ष, C++बिल्डर, इंटरऑपरेबल हैं। वे कई मुख्य घटक साझा करते हैं, विशेष रूप से आईडीई, वीसीएल और एफएमएक्स फ्रेमवर्क और अधिकांश क्रम पुस्तकालय इसके अतिरिक्त, इन्हें किसी प्रोजेक्ट में संयुक्त रूप से उपयोग किया जा सकता है। उदाहरण के लिए, C++बिल्डर 6 और बाद के संस्करण डेल्फ़ी और C++ से स्रोत कोड को एक प्रोजेक्ट में जोड़ सकते हैं, जबकि C++बिल्डर के साथ संकलित पैकेज डेल्फ़ी के अंदर से उपयोग किए जा सकते हैं। 2007 में, उत्पादों को आरएडी स्टूडियो के रूप में संयुक्त रूप से प्रसारित किया गया था, जो डेल्फ़ी और C++ बिल्डर के लिए एक साझा होस्ट था, जिसे किसी एक या दोनों के साथ खरीदा जा सकता है। रियो से प्रारंभ होकर, पायथन के साथ इंटरऑपरेबिलिटी भी है।

स्कूलों में उपयोग
डेल्फ़ी दक्षिण अफ़्रीकी स्कूलों में सूचना प्रौद्योगिकी (आईटी) के विषय के रूप में प्रोग्रामिंग सिखाने के लिए उपयोग किया जाने वाला माध्यम है।

रोडमैप
एम्बरकेडरो अपनी भविष्य की विकास योजनाओं का वर्णन करते हुए रोडमैप प्रकाशित करता है। सबसे आधुनिक नवंबर 2020 में प्रकाशित हुआ था। नवंबर 2020 के रोडमैप में संदर्भित संस्करण 10.5 का नाम बदलकर 11.0 कर दिया गया।

संबंधित सॉफ़्टवेयर

 * बोरलैंड एंटरप्राइज स्टूडियो, आरएडी स्टूडियो का पूर्ववर्ती, एक सॉफ्टवेयर डेवलपमेंट सूट है जिसमें कई भाषाओं के लिए समर्थन सम्मिलित है। विंडोज़ के लिए बोरलैंड एंटरप्राइज़ स्टूडियो डेल्फ़ी का समर्थन करता है।
 * बोरलैंड काइलिक्स: डेल्फ़ी के समान किंतु लिनक्स के लिए, 2001 में प्रसारित किया गया। यह डेल्फ़ी उत्पाद वर्ग में लिनक्स समर्थन जोड़ने का पहला प्रयास था। काइलिक्स ने डेल्फ़ी के वीसीएल के अतिरिक्त नए सीएलएक्स क्रॉस-प्लेटफॉर्म फ्रेमवर्क (क्यूटी पर आधारित) का उपयोग किया गया था। काइलिक्स को संस्करण 3 के बाद संवर्त कर दिया गया था। आज लिनक्स समर्थन मुख्य डेल्फ़ी उत्पाद में एकीकृत है और फायरमॉन्की क्रॉस-प्लेटफ़ॉर्म फ्रेमवर्क का उपयोग करता है।
 * इंटरबेस एक एम्बेड करने योग्य एसक्यूएल डेटाबेस है जो क्लाइंट/सर्वर या एम्बेडेड विकास के लिए मूल रूप से डेल्फ़ी और C++बिल्डर के साथ एकीकृत होता है। इसकी विशिष्ट विशेषताएं कम प्रशासन आवश्यकताओं, वाणिज्यिक-ग्रेड डेटा सुरक्षा, आपदा पुनर्प्राप्ति और परिवर्तन सिंक्रनाइज़ेशन हैं। यह ओडीबीसी, एडीओ, एडीओ.नेट जैसे डेटाबेस कनेक्शन प्रोटोकॉल और यहां तक ​​कि जावा के साथ जेडीबीसी/ओडीबीसी ब्रिज या जावा टाइप 4 कनेक्टर्स के साथ बाजार में सभी प्रमुख भाषाओं और प्लेटफार्मों द्वारा भी पहुंच योग्य है।
 * जेबिल्डर संस्करण जेबिल्डर 2007 से एक्लिप्स पर आधारित जावा विकास के लिए एक उपकरण था।
 * रैडपीएचपी (बाद में एचटीएमएल 5 बिल्डर से बदल दिया गया) पीएचपी के लिए एक एकीकृत विकास वातावरण था जो वास्तविक रैड कार्यक्षमता प्रदान करता था। इसमें डेल्फ़ी या मूल दृश्य के समान एक फॉर्म डिज़ाइनर और अपाचे एचटीटीपी सर्वर वेब सर्वर पर आधारित एक एकीकृत डिबगर है। इसमें पीएचपी में पोर्ट की गई विज़ुअल कंपोनेंट लाइब्रेरी लाइब्रेरी भी सम्मिलित है। अन्य आईडीई के विपरीत, यह अजाक्स जैसी वेब 2.0 सुविधाओं का समर्थन करता है। पीएचपी के लिए डेल्फ़ी की घोषणा 20 मार्च 2007 को की गई थी, अक्टूबर 2010 में इसका नाम बदलकर रैडपीएचपी कर दिया गया और यह काद्रम Q स्टूडियो पर आधारित है। एम्बरकैडेरो ने जनवरी 2011 में काद्रम का अधिग्रहण किया गया था।
 * डेल्फ़ी प्रिज्म (जिसे बाद में एम्बरकैडेरो प्रिज्म के नाम से जाना गया) रेमऑब्जेक्ट्स से ऑक्सीजन (प्रोग्रामिंग भाषा) (पहले क्रोम के नाम से जाना जाता था) से प्राप्त हुआ। यह रैड स्टूडियो के अतिरिक्त माइक्रोसॉफ्ट विज़ुअल स्टूडियो आईडीई में चला जब उस उत्पाद को संवर्त कर दिया गया तो उसे Delphi.NET की जगह लेने के लिए एम्बरकेडरो द्वारा लाइसेंस दिया गया और पुनः ब्रांड किया गया था।
 * फ्री पास्कल एक ओपन-सोर्स पास्कल क्रॉस-प्लेटफ़ॉर्म क्रॉस-कंपाइलर है जो डेल्फ़ी के अधिकांश ऑब्जेक्ट पास्कल कोड का समर्थन करता है। फ्री पास्कल के पास अपनी भाषा एक्सटेंशन, मल्टीपल कंपाइलर [भाषा सिंटैक्स] मोड भी हैं, और 18+ ऑपरेटिंग सिस्टम और 9+ प्रोसेसर आर्किटेक्चर का समर्थन करता है। लाजर एक क्रॉस-प्लेटफ़ॉर्म रेड आईडीई है जो फ्री पास्कल कंपाइलर का उपयोग करता है।

उल्लेखनीय तृतीय-पक्ष लाइब्रेरी

 * फास्टकोड - उन्नत रनटाइम लाइब्रेरी और मेमोरी मैनेजर।
 * ओपनवायर (लाइब्रेरी) - डेटा प्रवाह, ईवेंट और स्थति सिंक्रनाइज़ेशन घटक लाइब्रेरी।
 * प्रोजेक्ट जेडी (डेल्फी इनोवेटर्स का संयुक्त प्रयास) - विंडोज़ एपीआई इंटरफेस, अतिरिक्त घटकों और नियंत्रण, और एल्गोरिदम और डेटा संरचनाओं के अनुवाद प्रदान करने के लिए डेल्फी डेवलपर समुदाय द्वारा एक सहयोगी ओपन-सोर्स प्रयास है ।
 * टीचार्ट - चार्टिंग लाइब्रेरी।