2009-03-18 14 views
7

एरलांग स्पेस्रम के अधिक संक्षिप्त अंत में कम संक्षिप्त अंत और रूबी/पायथन पर जावा/नेट के बीच एकजुटता के स्पेक्ट्रम पर गिर जाएगी? मेरे पास एक आरएसआई समस्या है इसलिए स्वास्थ्य कारणों से मेरे लिए विशेष रूप से अनुकूलता महत्वपूर्ण है।क्या प्रोग्रामर के परिप्रेक्ष्य से एक संक्षिप्त भाषा एरलांग है?

उत्तर

8

संक्षिप्तता के रूप में एक भाषा सुविधा बीमार परिभाषित किया गया है और शायद एक समान नहीं। समस्या के आधार पर अलग-अलग भाषाएं कम या ज्यादा संक्षिप्त हो सकती हैं।

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

उदाहरण के लिए जावा कुछ इस तरह होगा: अपवाद निहित जा रहा है

foobar(0) -> "foo"; 
foobar(1) -> "bar". 

अन्य इनपुट के लिए कोई धारा है क्योंकि वहाँ तो 0 या: Erlang कोड कैसा दिखेगा

String foobar(int number){ 
    if (number == 0) { 
    return "foo"; 
    } else if (number == 1) { 
    return "bar"; 
    } 
    throw new Exception(); 
} 

जबकि 1. यह एक ऐसी समस्या है जो एरलांग शैली के विकास के लिए खुद को अच्छी तरह से उधार देती है।

सामान्य रूप से आप एक रूपांतरण के रूप में परिभाषित कर सकते हैं, एक कार्यात्मक भाषा विशेष रूप से अच्छी तरह से मेल खाएगा और बहुत संक्षेप में लिखा जा सकता है। कारण कई कार्यात्मक भाषा zealots बताते हैं कि प्रोग्रामिंग में कोई समस्या एक परिवर्तन है।

2

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

mue

1

एरलांग आश्चर्यजनक रूप से संक्षिप्त है जब आप प्रदर्शन और विश्वसनीयता प्राप्त करना चाहते हैं।

Erlang संक्षिप्त है यहाँ तक कि जब हास्केल की तुलना में:

http://thinkerlang.com/2006/01/01/haskell-vs-erlang-reloaded.html

और आश्चर्यजनक रूप से तेजी से (और विश्वसनीय) है, तब भी जब सेल्सियस तक ++ तुलना में:

http://www.erlang.se/euc/06/proceedings/1600Nystrom.ppt

(18x कम एसएलओसी आश्चर्य नहीं है)।

वैसे भी यह हमेशा आपकी वरीयताओं और लक्ष्य पर निर्भर करता है जो आप प्राप्त करना चाहते हैं।

1

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

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

मैं आम तौर पर एलिओथ शूटआउट में ज्यादा दुकान लगाने की सलाह नहीं देते, यह देखते हुए आप अनिवार्य रूप से वास्तव में अच्छे और बुरे कोड की तुलना अंत है, लेकिन आप एलओसी, erlang बनाम सी, माणिक की संख्या, जो कुछ भी

डाल करने की आवश्यकता है

http://shootout.alioth.debian.org/u32q/erlang.php

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