2009-09-28 18 views
8

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

इस के प्रकाश में हम सी ++ (I वास्तव में नहीं बल्कि), सी या कुछ और जिसे हमने नहीं सोचा है?

यह एक सर्वर/बैक-एंड प्रक्रिया है जो बहुत संसाधन गहन है, जावा और इस सॉफ़्टवेयर के अन्य व्याख्या किए गए संस्करण हमने लिखित अवधारणा के उद्देश्य-सी प्रमाण से बहुत खराब प्रदर्शन करते हैं, इसलिए अब हम फिर से लिखना चाहते हैं एक "संकलित [1]" भाषा में।

(एनबी: कुछ लोग इस व्यक्तिपरक पर विचार कर सकते हैं, हालांकि जिस दिन हमें नौकरी पाने की आवश्यकता है, वहां एक उचित उचित सही उत्तर होना चाहिए)।

[1] देशी CPU निर्देशों के लिए संकलित, "बाइट कोड" में संकलित नहीं किया गया है जिसे तब एक दुभाषिया द्वारा चलाया जाना चाहिए।

+3

जिज्ञासा से बाहर ** ** संकलित ** भाषा क्यों होनी चाहिए? –

+4

आप किसी भी मंच पर उद्देश्य-सी का उपयोग कर सकते हैं - उद्देश्य-सी संकलक जीसीसी वितरण का हिस्सा है। पोर्टेबिलिटी समस्या ऐप्पल की कोको पुस्तकालय है। –

+2

आपको क्या लगता है कि जीएनयूस्टेप इसे काट नहीं देगा? ऐसा लगता है जैसे आप किसी प्रकार का सर्वर बैक-एंड लिखना चाहते हैं, और आपको जीएनयूस्टेप का उपयोग करके ऐसा करने में कोई समस्या नहीं होनी चाहिए। – Felixyz

उत्तर

20

मैं सी में कोर बिजनेस लॉजिक लागू करता हूं और प्रत्येक प्लेटफ़ॉर्म के कोड - उद्देश्य-सी/कोको और जीटीके/जीनोम या जो भी हो, जीयूआई रैपर देशी को लिखने के लिए समय लेता हूं।

+6

यह बिल्कुल सलाह है कि ऐप्पल आपको देगा। अपने कोड तर्क से जीयूआई को अलग करने के लिए अपने कोड को फैक्टर करें, और प्रत्येक प्लेटफार्म के लिए मूल जीयूआई लिखें जिसे आप चलाना चाहते हैं। यदि आप क्यूटी जैसे क्रॉस-प्लेटफ़ॉर्म जीयूआई लाइब्रेरी का उपयोग करने का प्रयास करते हैं, तो आपका ऐप चूस जाएगा। – NSResponder

+1

@NSResponder - तो पोर्टेबल क्रॉस-प्लेटफ़ॉर्म जीयूआई लाइब्रेरी की समस्या का ऐप्पल का समाधान आपके द्वारा लिखे गए प्रत्येक एप्लिकेशन के लिए अपना खुद का रोल करना है? यह चीजों को करने के बारे में जाने के लिए एक भयानक तरीका लगता है। –

+3

असल में, यदि आपके पास असीमित समय और बजट है तो यह शायद आदर्श है। हालांकि, हम वास्तव में नहीं जानते कि ओपी वास्तव में ऐसा करने का जोखिम उठा सकता है या नहीं। – ConcernedOfTunbridgeWells

0

मुझे लगता है कि सी/सी ++ सबसे स्पष्ट प्लेटफॉर्म स्वतंत्र भाषा होगी।

(मैं होगा वास्तव में नहीं बल्कि नहीं)

क्यों नहीं? विकास के लिए आप किस तरह का सॉफ्टवेयर तैयार करते हैं?

+3

सी/सी ++ जैसी कोई भाषा नहीं है। –

+0

हाहा धन्यवाद यह इंगित करने के लिए धन्यवाद: पी –

6

आप किस प्रकार के सॉफ्टवेयर बनाने की कोशिश कर रहे हैं?

सबसे अधिक संभावना उत्तर सी/सी ++ है।

+7

सी/सी ++ जैसी कोई भाषा नहीं है। –

+2

आपने गंभीरता से मुझे इसके लिए वोट दिया? आपको समस्याएं हैं, मेरे दोस्त। – phoebus

+0

हां लेकिन lol @ आप (दोनों:। – Jacob

0

यह इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं। यदि आप बहुत अधिक प्रदर्शन अनुप्रयोग की तलाश में हैं, तो आपके विकल्प सी/सी ++ हैं। यदि आप त्वरित विकास की तलाश में हैं, तो आपके विकल्प जावा/पायथन हैं।

+0

जावा/पायथन संकलित नहीं हैं – Jacob

+0

@ जैकोब: मुझे पूरा यकीन है कि मुझे अपने जावा स्रोतों का उपयोग करने से पहले संकलित करना होगा। नतीजा अंत बाइनरी नहीं हो सकता है क्योंकि अंतिम संकलन जेवीएम द्वारा किया जाता है जब इसमें सही अनुकूलित करने के लिए आवश्यक सभी जानकारी होती है लेकिन यह निश्चित रूप से संकलित है। लेकिन मुझे लगता है कि आप उसे जानते हैं। – Fredrik

+0

आपको इसका उपयोग करने के लिए जावा संकलित करना होगा। मैं अजगर पर सहमत हूं लेकिन मैंने क्रॉस प्लेटफॉर्म पर और त्वरित विकास के लिए ध्यान केंद्रित किया। – rjoshi

6

पायथन का उपयोग करने पर विचार करें। आप उन अनुप्रयोगों को लिख सकते हैं जो wxPython दोनों प्लेटफार्मों पर उपस्थिति में देशी हैं।

पायथन मैक्स ओएस एक्स और उबंटू डेस्कटॉप के साथ आता है और आपके एप्लिकेशन को किसी भी प्लेटफ़ॉर्म पर किसी अन्य मूल एप्लिकेशन की तरह दिखने और व्यवहार करने के लिए पैक किया जा सकता है।

+1

पायथन लगभग तेज़ नहीं है (रन) सी/सी ++ के रूप में, लेकिन अगर निष्पादन गति महत्वपूर्ण नहीं है, तो यह एक अच्छी पसंद होनी चाहिए। –

+2

उम्म, – Jacob

+0

@ जैकोब संकलित नहीं है, मशीन कोड से संकलित नहीं है, लेकिन यह बाइट-संकलित है। – dreamlax

6

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

+1

मैं मानता हूं, मैं कोको के बिना हर समय उद्देश्य-सी का उपयोग करता हूं क्योंकि मुझे सी ++ से काम करना आसान लगता है। इस विचार के लिए – dreamlax

+0

+1। इसके अलावा, फाउंडेशन/कोको सामानों के लिए जो आपको लगता है कि आपको पसंद हो सकता है, आमतौर पर कक्षा को लिखना मुश्किल नहीं होता है जो इसके ऐप्पल-केवल चचेरे भाई की कार्यक्षमता की नकल करता है। – alesplin

4

जावा के बारे में कैसे?

और यदि आपको कुछ वास्तव में मूल चीज़ की आवश्यकता है, तो आप हमेशा JNI का उपयोग कर सकते हैं।

2

मान लीजिए कि आप एक ग्राफिकल यूजर इंटरफेस के साथ एक एप्लीकेशन बनाना चाहते हैं, मुझे लगता है कि सी ++/क्यूटी सबसे संभावित उम्मीदवार है। मुझे ओएसएक्स और लिनक्स पर परिपक्व टूलकिट समर्थन के साथ संकलित [1] भाषा के बारे में पता नहीं है।


  1. तक 'संकलित' मैं इस धारणा है कि आप का मतलब बना रही हूँ 'एक देशी निष्पादन का उत्पादन'।
+2

ओएस एक्स पर जहाज लगाने की योजना बनाने वाले किसी भी ऐप के लिए Qt का उपयोग न करें। – NSResponder

+2

क्यों नहीं? क्या आपको ओएसएक्स पर क्यूटी का कुछ व्यक्तिगत अनुभव मिला है जिसे आप साझा करना चाहेंगे> – ConcernedOfTunbridgeWells

+0

क्यूटी के साथ मेरी एकमात्र समस्या यह है कि यह ओएस एक्स पर मूल रूप से महसूस नहीं करता है, लेकिन यह एक समस्या है जो आपको किसी भी क्रॉस के साथ होगी प्लेटफार्म टूलकिट। जब तक आप प्रत्येक प्लेटफ़ॉर्म के लिए कस्टम इंटरफ़ेस लिखना नहीं चाहते हैं, तब तक आप मूल रूप से दिखने और महसूस नहीं करेंगे। – Amok

0

मैं पीओएसईक्स के साथ एएनएसआई सी या सी ++ के लिए वोट दूंगा।

0

अन्य उत्तर को देखते हुए नीचे मुझे लगता है कि आपके पास दो विकल्प

1) बनाने की जरूरत है आप एक जीयूआई नहीं की जरूरत है आप यूआई पुस्तकालय या तो एक क्रॉस प्लेटफॉर्म एक ee.g क्यूटी, wx आदि चुन सकते हैं या लिखने की ज़रूरत ओएसएक्स और लिनक्स के लिए अलग-अलग लोग - सेब पसंदीदा तरीके से हैं और मुझे लगता है कि प्रत्येक प्लेटफॉर्म पर आपको सबसे अच्छा लग रहा है और महसूस हो रहा है

2) क्या आपके एप्लिकेशन को तेज़ गणना की आवश्यकता है, जिससे आपकी भाषा पसंद हो सके सी ++/सी/ऑब्जेक्टिव-सी अजगर

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

3

Lazarus साथ कैसे FreePascal के बारे में हो सकता है अगर आप जीयूआई विकास में रुचि रखते हैं?

+0

वाह, जो मुझे मेमोरी लेन नीचे लाता है! – Jacob

+0

मैं एक पूर्णकालिक डेल्फी डेवलपर हूं, और मुझे लगता है कि फ्रीपास्कल अच्छा है, और ऐसा सब कुछ है, लेकिन लिनक्स और ओएस एक्स दोनों पर क्रॉस-प्लेटफार्म है जो पूरी तरह से बेक्ड जीयूआई बाध्यकारी नहीं है। जीटीके सामान को मैक ओएस एक्स पर एक्स 11 की आवश्यकता है बदसूरत, और गैर देशी दिख रहे हैं। –