2010-04-11 8 views
7

हम Go के साथ kodingen.com बैकएंड को फिर से लिखना चाहते हैं जो वर्तमान में जावा है, jsvc का उपयोग करके डेमॉन के रूप में चल रहा है।पोर्टिंग जावा ऐप जाने के लिए - कोई सलाह?

मैंने कभी भी अपने जीवन में किसी भी सी को छुआ नहीं है, केवल जावा में अनुभव किया गया है इसलिए मैं नहीं जानता कि यह ऐसा कुछ है जिसे मुझे शुरू करना चाहिए।

हालांकि, कार्य बहुत सरल mysql डेटाबेस

  • कतार से

    • पढ़ने खोल आदेशों है और उन्हें समानांतर
    • में निष्पादित डेटाबेस

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

    आप क्या सलाह देंगे? सी अभी भी बेहतर है?

  • +3

    अरे क्या आप लोग हैं जिन्हें मैंने TWIST पर पिचिंग सुनाई है? वैसे भी, सिर्फ उत्सुक: जावा के साथ क्या गलत है? और क्यों जाओ? बस उत्सुक। – cletus

    +1

    हां मैं वह हूं जो पीटा गया है :) लेकिन हमने इसके बाद एनवाईसी में शीर्ष 5 में ओएएफ को बनाया, उसके बाद जेसन और टायलर अच्छे थे। वैसे भी, कारण है कि जेवीएम 1,2 जीबी रैम खाता है जो अन्यथा 100k सी डिमन होगा। अपाचे निष्पादन कॉमन्स इत्यादि के कारण यादृच्छिक क्रैशिंग जैसे कई अन्य कारण हैं। यदि आपके पास कोई वैकल्पिक समाधान है तो कृपया यहां साझा करें या आप मुझे भी मेल कर सकते हैं .. – Devrim

    +2

    इसके अलावा, क्यों जाएं और सी नहीं? क्योंकि, गो टेक तकनीक को देखते हुए, रोब पाइक ने सभी कारणों को कवर किया क्योंकि मैंने सी को कभी छुआ नहीं है और कहा कि उन्होंने उन्हें हटा दिया है। उन्होंने कहा कि मैंने जो कुछ भी कामना की है, वह एक सिस्टम भाषा में थी, उन्होंने कहा कि उन्होंने उन्हें जोड़ा। – Devrim

    उत्तर

    3

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

    • गो अभी भी एक अस्थिर भाषा है। इसके वाक्यविन्यास, विशेषताओं और संकुल सभी परिवर्तन के अधीन हैं। सुनिश्चित करें कि यदि आप इसका उपयोग करना चुनते हैं तो आप इसके साथ बने रहने के लिए तैयार हैं।
    • गो का कचरा संग्रह अभी भी अपरिपक्व है। आपका मेमोरी उपयोग 1.2 जीबी से बेहतर होना चाहिए, लेकिन शायद यह आपको सी स्तर के पास नहीं ले जाएगा।
    • MySQL (या कोई अन्य डेटाबेस) के लिए कोई कोर समर्थन नहीं है। कई अनौपचारिक MySQL पैकेज परियोजनाएं हैं। सबसे हाल ही में अद्यतन GoMySQL और Go-MySQL-Client-Library हैं। मैं कुछ भी नहीं जानता कि वे कितने पूर्ण या स्थिर हैं।

    समानांतर में कतार और निष्पादन के लिए, मुझे लगता है कि कुछ ऐसा अच्छा करने में सक्षम होगा। आप शायद goroutines निष्पादित करने और समानांतर करने के लिए exec पैकेज का उपयोग करेंगे। http://github.com/chbfiv/libmysqlgo "libmysqlgo" परियोजना:

    1

    मैं @Chickencha

    से सहमत इस बिंदु पर मैं अपने [1] अद्यतन करने के लिए कोई योजना नहीं है। योगदान स्वागत है, लेकिन मैं बहुत व्यस्त हूँ। मैं अधिक सक्रिय mysql जाने परियोजनाओं का उपयोग करने की सिफारिश करेंगे।

    1

    जाने langugage पूछे जाने वाले प्रश्न से:

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

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

    लेकिन इसका मतलब यह नहीं है कि गो सीखने के लिए एक अच्छी भाषा नहीं है। दरअसल, मैं कुछ उपयोगी उपयोगिताओं को विकसित करने के लिए खुशी से इसका उपयोग कर रहा हूं।

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

    +0

    धन्यवाद स्टीफन, जेडीके 7 अच्छा दिखता है लेकिन हमें जो चाहिए वह एक लिनक्स डिमन एक प्रोग्राम नहीं है जो एक बंद वातावरण (जेवीएम) में चलता है और कुछ अज्ञातों के माध्यम से सिस्टम के साथ इंटरफेस करता है। मेरे बिंदु को स्पष्ट करने के लिए, कल्पना करें कि अगर जावा में अपाचे लिखा गया तो यह कितना बेतुका होगा। – Devrim

    1

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

    आपकी आवश्यकताओं के बारे में - यह mysql और shell कमांड के लिए ठीक होना चाहिए। लेकिन कुछ पुस्तकालयों को पकड़ने के लिए तैयार रहें :)

    संबंधित मुद्दे