सबसे मन झुकने वाली प्रोग्रामिंग भाषा? [बन्द है]


45

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

मैं बहुत सारे प्रोग्रामिंग पॉडकास्ट सुन रहा हूं और कुछ नई भाषाओं को सीखने के लिए कुछ समय ले रहा हूं जिन्हें आगामी, और महत्वपूर्ण माना जा रहा है। मैं जरूरी ब्रेनफैक के बारे में बात नहीं कर रहा हूं , लेकिन आप किस भाषा को आम प्रोग्रामिंग प्रतिमानों को चुनौती देने वाले पर विचार करेंगे?

मेरे लिए, मैंने 1990 के दशक में कुछ कार्यात्मक और तर्क (उदाहरण के लिए, प्रोलॉग ) प्रोग्रामिंग की थी, इसलिए मैं यह नहीं कह सकता कि मुझे वहां कुछ विशेष मिला।

मैं इसमें एक विशेषज्ञ होने से बहुत दूर हूं , लेकिन आज भी मेरे लिए सबसे अधिक दिमाग झुकने वाली प्रोग्रामिंग भाषा पर्ल है । इसलिए नहीं कि "हैलो वर्ल्ड" को लागू करना कठिन है, बल्कि इसमें इतना अधिक लचीलापन है कि कुछ कठिनतम समाधानों को इतनी काव्यात्मक रूप से विघटित किया जा सकता है कि मुझे अपना सिर साफ करने के लिए अपने टर्मिनल से बाहर ही चलना होगा। मैं यह नहीं कह रहा हूँ कि मैं संभवतः एक वाणिज्यिक सॉफ़्टवेयर कार्यान्वयन बेचूँगा, बस एक अलग कारण है कि पर्ल इतना (में) प्रसिद्ध है। बस इस पर पुस्तकों की मूल सूची देखें।

तो, आपकी बेहतर प्रोग्रामिंग और प्रथाओं को बढ़ावा देने वाली आपकी मन-झुकने वाली भाषा क्या है ?


क्या यह मनमौजी नहीं हो सकता और इसे उसी पर छोड़ देना चाहिए?

4
कोई भी भाषा जहाँ सफेद स्थान मायने रखता है!
20

@ मूटिनेटर - लेकिन पायथन वास्तव में एक तरह का मजा है जब तक आपके टेक्स्ट एडिटर को दर्द नहीं होता है।
rjzii

1
@Thorbjorn क्या कोई INTERCAL जोड़ने जा रहा है? APL उस बड़े डैडी की तुलना में एक जूनियर-हाई स्कूल प्रोजेक्ट है।
मार्क सी

पर्ल सबसे कठिन कहीं नहीं है। मेरी उम्र 12 साल है और मैं बहुत आसानी से पर्ल को प्रोग्राम कर सकता हूं।
डायनेमिक

जवाबों:


73

एपीएल

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

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

एपीएल कीबोर्ड

फिर भाषा वेक्टर / एरे-आधारित प्रतिमान की है और जटिल रैखिक बीजगणित की ओर माहिर है। मूल संस्करण में लूप कंस्ट्रक्शन, कुछ भी और सब कुछ नहीं था, बल्कि असामान्य सरणी ऑपरेटरों को एक साथ जंजीर द्वारा किया गया था।

  • strip_tags()कोई? (विकिपीडिया से उधार)

स्ट्रिप_टैग्स () अला एपीएल


18
कीबोर्ड दिखाने के लिए +1
tcrosley

5
@tcrosley: यदि आपके पास असली एक है: wickensonline.co.uk/apl/unicomp-apl-top-large.jpg
Orbling

4
और अगर यह पहले से ही पर्याप्त रूप से झुकने वाला नहीं था, तो कुछ ऑपरेटर थे जिन्हें बैकस्पेस / ओवरस्ट्रिक कुंजी का उपयोग करना आवश्यक था। उदाहरण के लिए, मैट्रिक्स व्युत्क्रम एक विभाजन चिह्न (कीबोर्ड छवि के ऊपरी दाएं कोने में बैकरो कुंजी के बगल में एक) के साथ चौकोर बॉक्स (एल कुंजी के ऊपर) था।
तांगुरेना

2
मैं 1980 के दशक की शुरुआत में फ्लैशबैक कर रहा था जब मैंने एपीएल को उच्च स्तरीय सांख्यिकीय प्रतिगमन विश्लेषण करने के लिए किया था, लोग अभी भी इसका उपयोग करते हैं? कंपकंपी।
HLGEM

2
मैंने एक बार बहुत सारे एपीएल किए - यह अभी भी मेरे लिए एक उदासीन स्थान रखता है ... मुझे उस समय बहुत अच्छा लगा।
जल्दी_नौज

56

हास्केल । यह विशुद्ध रूप से कार्यात्मक होने के बहुत करीब है, जो ज्यादातर लोग इसके आदी नहीं हैं; बहुत मांग, जो एक बार आपको पता है कि आप क्या कर रहे हैं, लेकिन तब तक निराशा होती है, मददगार है; एक बल्कि गूढ़, अत्यधिक प्रतीकात्मक वाक्यविन्यास है, जो एक बार जानने के बाद बहुत अच्छा होता है, लेकिन इससे पहले कि अपारदर्शी ... सूची आगे बढ़ती है।

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


7
मैंने हास्केल को भी कहा होगा, लेकिन इसलिए नहीं कि यह गूढ़ है। हालांकि यह समझना निश्चित रूप से मुश्किल हो सकता है, दिमाग झुकने वाली बात इसके पीछे के सिद्धांत के बारे में है। मोनाद और तीर अभी भी एक ऐसा डोमेन है जिसे मैंने नहीं जीता है :)
Matthieu M.

11
क्यों "विशुद्ध रूप से कार्यात्मक होने के बहुत करीब"? यह विशुद्ध रूप से कार्यात्मक है।
dan_waterworth

4
मैं खुद को उद्धृत करना और जोड़ना चाहता हूं कि हास्केल आपके दिमाग को कैसे झुकाएगा: "हास्केल आपको कालीन के नीचे चीजों को चमकाने से रोकता है, आपको अपने कार्यक्रम की संरचना से स्पष्ट रूप से निपटने के लिए मजबूर करता है, और यह आपको इन संरचनाओं का वर्णन करने के लिए एक भाषा सिखाता है। : प्रकारों की भाषा। समझने वाले प्रकार, विशेष रूप से समृद्ध प्रकार जैसे हास्केल, आपको किसी भी भाषा में एक बेहतर प्रोग्रामर बना देगा। " programmers.stackexchange.com/questions/28950/…
वाको

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

8
@ जो, कैसे के बारे में, हम सहमत हैं कि: हास्केल, भाषा, विशुद्ध रूप से कार्यात्मक है, लेकिन यह रनटाइम सिस्टम नहीं है। एक हैस्केल कार्यक्रम का निष्पादन अशुद्ध है, लेकिन कार्यक्रम स्वयं शुद्ध है।
dan_waterworth

30

Prolog। यह किसी भी अन्य भाषा की तुलना में सिर्फ इतना अलग था, जब मैंने पहली बार इसका इस्तेमाल किया था। मुझे यह पसंद है, इसलिए मुझे वाक्य रचना या किसी भी चीज़ से नफरत नहीं है।


2
मैंने प्रोलॉग को रिवर्स प्रोग्रामिंग के रूप में संपर्क किया, मेरे उत्तर पहले से जानना चाहता था और फिर सवाल पाने के लिए कार्यक्रम :)
जे क्यू क्यू

1
@Xepoch: मुझे लगता है कि आप वहीं हो सकते हैं, प्रोलोग सवाल तैयार कर रहे हैं। उपयोग में एकमात्र उचित 5GL भाषाओं में से एक।
20

सामान्य तौर पर मुझे लगता है कि प्रोलोग कभी बहुत दिलचस्प और असाधारण शक्तिशाली है, लेकिन मुझे अपने सिर को पूरी तरह से कट प्लेसमेंट ( !) के आसपास होने में बहुत परेशानी होती है ।
२०:०

प्रोलॉग के लिए +1, मेरे पास एक कृत्रिम बुद्धिमत्ता पाठ्यक्रम था जिसमें प्रोलॉग का उपयोग किया गया था और यह केवल एकमात्र कंप्यूटर विज्ञान पाठ्यक्रम है जिसका मैंने खराब प्रदर्शन किया है।
rjzii

प्रोलॉग हालांकि एक कार्यात्मक प्रोग्रामिंग भाषा नहीं है। प्रोलोग द्वारा कार्यात्मक पर खट्टा होना लिस्प द्वारा प्रक्रियात्मक प्रोग्रामिंग पर खट्टा होने जैसा है।
मेरा सही जनधन

24

मैं पर्ल पर आपके साथ सहमत हूँ। यह मैंने कभी देखा सबसे बदसूरत वाक्य रचना है। वे कहते हैं, कि पर्ल डेवलपर्स भी याद नहीं रख सकते कि उन्होंने किस दिन लिखा है।


2
पर्ल पर डिफ 1। मैं हमेशा विशेष रूप से शौकीन था (मेरा मानना ​​है कि उन्हें कहा जाता है) 'निहित' चर। केवल महान लिखने के लिए कोड बनाता है।
ग्रैंडमास्टरबी

2
हर कोई पर्ल को इतनी अलग तरह से लिखता है कि वे अलग-अलग भाषाएं भी लिख सकते हैं- आपको यह जानने की जरूरत नहीं है कि पर्ल किसी और के कोड को कैसे चुनता है।
ग्लेनट्रॉन

3
इस उत्तर के लिए बाह और इस पर दोनों टिप्पणियाँ। अच्छी तरह से लिखे गए पठन को पढ़ना और लिखना आसान है। नवजात शिशुओं द्वारा लिखित बेबी-पर्ल सरल है, अगर क्रिया। एकमात्र "अपठनीय" पर्ल या तो उद्देश्य पर बाधित है, या एक-लाइनर्स को स्क्रिप्ट कर रहा है।
शॉन मैकमिलन

22

मुझे फोर्थ कहना होगा । यह धारणा कि सभी ऑपरेशन स्टैक जोड़तोड़ हैं। अपने शुद्ध रूप में उपयोग करने के लिए कोई स्थानीय चर नहीं हैं।


10
FORTH एक अद्भुत भाषा है। जब मैं पहली बार 80 के दशक में प्रोग्रामिंग सीख रहा था, तो मेरे पास अटारी 400 था और मेरे विकल्पों को BASIC, असेंबली और FORTH की व्याख्या की गई थी। मैंने बड़े पैमाने पर तीनों का इस्तेमाल किया, लेकिन किसी भी अन्य की तुलना में अधिक। मेरे पास अभी भी लियो ब्रॉडी की अल्ट्रा-क्लासिक स्टार्टिंग फोर्थ और थिंकिंग फोर्थ किताबें हैं। वास्तव में, अगर मुझे नए हार्डवेयर सिस्टम पर स्क्रैच से स्व-होस्टिंग भाषा बनाने के लिए कहा गया, तो मैं बिना किसी हिचकिचाहट के FORTH चुनूंगा।
एडम क्रॉसलैंड

3
: @Adam Crossland: सोच उल्लिखित एक महान किताब, तो आप इस लिंक में रुचि हो सकती है thinking-forth.sourceforge.net
Orbling

1
@Orbling: महान दिमाग एक जैसा सोचते हैं। अधिक नहीं तो 10 मिनट पहले, मैंने पीडीएफ को अपने जलाने पर रखा।
एडम क्रॉसलैंड

1
@ एडम क्रॉसलैंड: इसके लिए एक अच्छी जगह है। यह पुस्तक आम तौर पर प्रोग्रामर के लिए मददगार है, लोगों के लिए पढ़ने की सूची में होना चाहिए - फ़ोर्ट में दिलचस्पी है या नहीं।
परिक्रमा

1
मैं पूरी तरह से सहमत हूं। आम तौर पर समस्याओं को सुलझाने के बारे में हम कैसे सोचते हैं, यह कहना बहुत बड़ी बात है। ब्रॉडी एक ऐसे ही लुभावने विचारक और स्पष्ट लेखक हैं। उनकी रचनाएं मेरे लिए एक खुशी हैं।
एडम क्रॉसलैंड

21

रूबी

यह मुझे खुद को मारना चाहता है:

1.month.from.now()

(मैं सटीक वाक्यविन्यास गलत हो सकता है, लेकिन आप बिंदु प्राप्त करते हैं)।


23
हे भगवान। किसने सोचा था कि यह एक अच्छा विचार था?
एप्सिलोनवेक्टर

8
मन झुकना पढ़ने के साथ नहीं है, यह लिखने के साथ है। इस बकवास के साथ आना मुश्किल है, और सभी अंतर्निहित कार्यों / गुणों को याद / देखना याद रखना हास्यास्पद है।
मैथ्यू पढ़ें

55
क्या यह केवल मुझे लगता है कि यह भयानक लग रहा है, और संभवतः रूबी सीखने का एक अच्छा कारण है?
२०:

9
यह पढ़ने के लिए बहुत अच्छा है, हाँ। लेकिन क्या इसका मतलब है कि मैं 3.months.from.last.month.if.it.was.a.leap.year लिख सकता हूं? नहीं या कम से कम, मुझे ऐसा नहीं लगता । अगर मैं कर सकता हूं ... RoR पहली टेलीपैथिक भाषा हो सकती है।
morganpdx

15
क्या गलत है DateTime.Now.AddMonths(1);? ये विशेषताएं शायद ही कोड को अधिक पठनीय बनाती हैं। (मैं यह नहीं कह रहा हूं कि C # में सबसे अच्छा वाक्यविन्यास है। आप इसे किसी भी भाषा सम्मेलनों में स्थानांतरित कर सकते हैं और यह अभी भी लागू होगा।)
ChaosPandion

18

Brainfuck

जो कोई भी ईमानदारी से भाषा के इस उपहास को लिख सकता है, उसे इस तरह एक सूत्र की भी आवश्यकता नहीं होनी चाहिए।

हैलो वर्ल्ड (संकेत, बाएं, स्पष्टीकरण, दाएं):

+++++ +++++             initialize counter (cell #0) to 10
[                       use loop to set the next four cells to 70/100/30/10
    > +++++ ++              add  7 to cell #1
    > +++++ +++++           add 10 to cell #2 
    > +++                   add  3 to cell #3
    > +                     add  1 to cell #4
    <<<< -                  decrement counter (cell #0)
]                   
> ++ .                  print 'H'
> + .                   print 'e'
+++++ ++ .              print 'l'
.                       print 'l'
+++ .                   print 'o'
> ++ .                  print ' '
<< +++++ +++++ +++++ .  print 'W'
> .                     print 'o'
+++ .                   print 'r'
----- - .               print 'l'
----- --- .             print 'd'
> + .                   print '!'
> .                     print '\n'

2
या व्हाट्सप्प के बारे में कैसे? ब्रेनफक की सभी बुराई अदृश्य कोड के साथ संयुक्त है।
लोरेन Pechtel

17

लिस्प मेरी नवीनतम दिमाग झुकने वाली भाषा है।

मैंने हास्केल से मोनडेस और कार्यात्मक प्रोग्रामिंग को अपने साथ लिया है, और अब मेरे पास काम करने के लिए मैक्रोज़ हैं। मैं अभी CLOS में शामिल हो रहा हूं और हालत प्रणाली को बिल्कुल नहीं छुआ है।


मुझे लिस्प्स भी पसंद नहीं है (क्लोजर के संभावित अपवाद के साथ - मैंने अभी भी वहां अपना मन नहीं बनाया है) और आपको +1 दिया। दिमाग झुकने वाला हिस्सा निश्चित रूप से है और मैंने लिस्प से जो सीखा है, भले ही मैं इसका उपयोग न करूं, मैंने अन्य भाषाओं में जो कुछ किया है, उसके बारे में बहुत कुछ बताया।
JUST MY सही ओपिनियन

14

MUMPS

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

s A="String" F i=1:1:$L(A) W $c($S($A($E(A,i))<91:$A($E(A,i))-52#26+65,1:$A($E(A,i))-84#26+97))

वाह, तुम मजाक नहीं कर रहे हो? मैं देखरेख नहीं करता था और अचानक पहली अप्रैल है? मेरे रोगी रिकॉर्ड के पास कई कोष्ठक और डॉलर के संकेत कहीं भी नहीं होने चाहिए।
dan_waterworth

1
मेरा पहला प्रोग्रामिंग काम एक कंपनी के साथ था जो MUMPS में विशेष था! अफसोस की बात है कि मैंने वेब डेवलपमेंट पर एक यूनिवर्सिटी कोर्स किया, इसलिए उन्होंने मुझे पुराने हाथों के बजाय कंपनी की नवगठित एएसपी टीम में डाल दिया, लेकिन एमयूएमपीएस वह भाषा थी जिसे हम अपने पहले कुछ हफ्तों तक प्रशिक्षित करते थे। शायद मैं एक भाग्यशाली बच गया था ...
thesunneversets

1
मैडिसन विस्कॉन्सिन से यहां पोस्ट करने वाला कोई भी? वेरोना, सच में?
हंस पसंत

1
मुझे विश्वास है कि thedailywtf.com के पास MUMPS को समर्पित एक पूरा खंड है। उस भाषा की तरह नहीं दिखता जिसे मैं छूना चाहता हूं।
त्यना

1
मुझे याद है कि शिक्षा में एम सीखना, और यह सोचना एक विशेष उद्देश्य भाषा के रूप में दिलचस्प था। यह अनुमति देता है terseness शिथिलता के एक विकृत तरह है। मेरे भोलेपन में, मुझे लगा कि प्रोडक्शन कोड में भाषा की चरम कमी है। पहली बार और केवल एक बार मैंने एक प्रोडक्शन एम कोडबेस देखा, जिसमें मेरा आंत कड़ा हो गया था ... यह आपके उदाहरण की तरह लग रहा था। ओह, आतंक!
आज

13

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


2
कोई भी आश्रित प्रकार की प्रणाली / कहावत / भाषा शायद नियमित भाषाओं की तुलना में अधिक भ्रमित होगी, इसलिए +1।
परिक्रमा

1
कार्यक्रमों का औपचारिक सत्यापन कुछ ऐसा है जिसे मैं अभी शुरू कर रहा हूं। यह निश्चित रूप से दिमाग को झुकाता है और वास्तविक दुनिया में उपयोगी होता जा रहा है। +1
dan_waterworth

7

उद्देश्य-सी । निष्पक्ष होने के लिए, मैंने केवल इसका संक्षेप में अध्ययन किया और पहली नज़र में वाक्य रचना को इतना नापसंद किया कि मैंने इसे छोड़ दिया।

चूंकि यह एक ऐसी (अपेक्षाकृत) आम भाषा (मुख्य रूप से मैक / आईफोन / आईपैड विकास के लिए) है, मुझे यकीन है कि एक बार जब आप इसकी आदत डाल लेते हैं तो यह वास्तव में कुछ सभ्य होता है।


2
ठीक है, यह शायद थोड़ा दिमाग झुकने के रूप में योग्य है, लेकिन मुझे यह पसंद है। यदि आप महसूस करते हैं कि यह मदद कर सकता है तो [foo bar]बस वाक्य रचना चीनी है objc_sendMsg(foo, "bar");जिसके बदले में फ़ंक्शन पॉइंटर दिखता है (यह एक विशेष "बार" है, सामान्य नहीं है)। क्या आपको एहसास हुआ कि यह पूरी तरह से बतख टाइप है?
प्रति जोहानसन

ऑब्जेक्टिव-सी रनटाइम फ़ंक्शंस के आसपास एक बहुत बड़ा सिंटैक्टिक शुगर है। एक बार जब आप इसकी आदत [receiver doStuff:arg]
डाल लेते हैं तो

6

मैं बुध को चुनता हूं ।

बुध ने मुझे यह दिखाते हुए अपने दिमाग को झुका लिया कि शुद्ध भाषाएं भी I / O कर सकती हैं ।

जिस तरह से यह काम करता है कि मैं / O बुध में कार्य करता है, वह 'विश्व की स्थिति' मान लेता है और विश्व का नया 'मान' लौटाता है। इसलिए बुध में I / O फ़ंक्शन दुनिया को बदलते हैं और इसलिए शुद्धता बनाए रखी जाती है।


3
+1 "... पारा दुनिया को बदल देता है और इसलिए पवित्रता बनाए रखी जाती है।" - मुझे यह पसंद है। ;-)
परिक्रमा

मैं अभी बुध के साथ सीखने की अवस्था से जूझ रहा हूं। यह अब तक एक योग्य संघर्ष रहा है। मुझे बहुत पसंद है।
बस

केवल एक चीज जिसने मुझे पारा डाल दिया, वह यह था कि यह स्ट्रिंग प्रकार NULL समाप्त है।
dan_waterworth

6

यह योजना , निश्चित रूप से है। समझाने की कोशिश call-with-current-continuationहमेशा मेरे दिमाग को चोट पहुँचाती है, लेकिन एक बार जब आप इसे समझ जाते हैं तो आप अविश्वसनीय रूप से सुरुचिपूर्ण समाधान बना सकते हैं।

एक एल्गोरिथ्म और किसी और के हाथ नियंत्रण के माध्यम से भाग-रास्ता रोकना चाहते हैं? ज़रूर!

एक ही निरंतरता को कई बार फिर से शुरू करना चाहते हैं? बेशक!

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


+1 LOL + "आपके लिए, सर, कुछ भी!" ऑलिवर में एक गीत में लगभग एक लाइन होने के अलावा!, यह एक भाषा के लिए भी एक अच्छी आकांक्षा है।
परिक्रमा

1
योजना स्पष्ट जारी रखने वाली एकमात्र भाषा नहीं है। उदाहरण के लिए, हास्केल इसे ठीक और सिर्फ मन-झुकने के रूप में समर्थन करता है।
JUST MY सही ओपिनियन

4
यह हास्केल में यकीनन अधिक दिमाग़ी है, क्योंकि यह (कॉल / सीसी) एक पुस्तकालय के रूप में लागू किया जाता है, न कि एक भाषा सुविधा के रूप में। लेकिन हो सकता है कि यह कम दिमाग मोड़ देता है।
लोगान कैपेल्डो

मुझे लगता है कि यह एक साथ अधिक और कम दिमाग झुकने दोनों है। उस विरोधाभास को मेरे सिर में रखने से मेरा दिमाग झुक जाता है। तो अंत में हास्केल अधिक मन झुका रहा है। :)
बस मेरा सही जनधन

योजना (और रूबी !) निरंतरता के बारे में अच्छी बात यह है कि वे भाषा में अंतर्निहित हैं। हास्केल मूल रूप से साधारण निरंतरता से गुजरने वाली शैली के इर्द-गिर्द एकेश्वरिक वाक्य-विन्यास को जोड़ता है, जिसे आप स्कीम में भी कर सकते हैं। लेकिन कॉल / सीसी बिल्ट-इन हर जगह बिना किसी मोनोडिक कंस्ट्रक्शन के पूरी चीज़ को एम्बेड करने के लिए निश्चित रूप से कई माइंड-झुकने कंस्ट्रक्शन की अनुमति देता है।
दारियो

4

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


5
"टीईसीओ के साथ खेलने के लिए अधिक मनोरंजक गेम में से एक है, अपने नाम को कमांड लाइन के रूप में टाइप करें और यह अनुमान लगाने की कोशिश करें कि यह क्या करता है। टीईसीओ के साथ बात करते समय किसी भी संभव टाइपिंग त्रुटि के बारे में संभवतः आपके कार्यक्रम को नष्ट कर देगा, या - एक बार काम कर रहे सबरूटीन में सूक्ष्म और रहस्यमय बग का परिचय दें। " यार, वो दिनों थे!
JUST MY सही ओपिनियन

1
TECO भी EMACS का मूल आधार था। EMACS ने केवल TECO मैक्रोज़ के संग्रह के रूप में शुरुआत की!
गाबे

@ ओमेगा: यह कहना आवश्यक है कि आप किस टीईसीओ की बात कर रहे हैं। DEC TECO, जैसा कि TOPS-10, या MIT TECO, को MIDAS में लिखा गया है। यह बाद का TECO है जिसे EMACS में लिखा गया था। यह भी है कि EMACS को कैसे बढ़ाया गया। मैं क्लासेस पास करने के बजाय EMACS हैक करता था।
जॉन सॉन्डर्स

मैंने केवल DEC TECO का उपयोग किया। और हाँ वो दिन थे (फिर से युवा होने के लिए) ....
ओमेगा सेंटौरी

1
मुझे Vim कमांड मोड में टाइप करने की याद है
ron

3

असेंबली मेरे लिए सबसे ज्यादा '' झुकने वाला '' है, लेकिन मैं इसे शुरू कर रहा हूं।


क्या बुरा है यह ओएस और हार्डवेयर निर्भर है
डेव

इसके बारे में क्या यह इतना बनाता है? स्पष्ट समूह व्यवस्था के बिना सीधे निर्देश? कुछ और?
जेई क्यू

अच्छी तरह से, विशेष रूप से, मुझे नापसंद है कि कार्यक्रम प्रवाह कितना अस्पष्ट है आसानी से देखने के लिए निकलता है। जल्दी से पढ़ना आसान नहीं है।
Anto

2
आह, सिनसिनाटी Milacron 2200B: चर शब्द लंबाई JMP के पते के रनटाइम संशोधन के साथ संयुक्त । इसने एलएसडी को लाजवाब बना दिया।
पीटर रोवेल 3

3

लिस्प । इसे सीखना छोटी अवधि की श्रृंखला है, जिनमें से प्रत्येक प्रोग्रामिंग समस्याओं को हल करने के बारे में आपके सोचने के तरीके को पूरी तरह से बदल देगा।


3

REBOL

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

इसके साथ परेशानी आंशिक रूप से यह है कि यह विचित्र है और ठीक से परिभाषित नहीं किया गया है कि कौन से प्रोग्रामर इसके बाजार हैं। लेकिन यह भी आंशिक रूप से क्योंकि यह वकालत करने वाले लोगों में से कई सिर्फ समझाने पर चूसना करते हैं । :)

लेकिन डगलस क्रॉफोर्ड एक प्रशंसक हुआ करते थे, उन्होंने JSON के निर्माण से कुछ प्रेरणा ली , और लोगों को सुझाव दिया कि वे इसे हाल ही में अक्टूबर, 2010 तक देखें:

"टेड न्यूर्ड ने 'फ्यूचर ऑफ़ प्रोग्रामिंग लैंग्वेजेस' पर पैनल को मॉडरेट करने का वास्तव में अच्छा काम किया। पैनल के अंत में, टेड ने पैनलिस्टों से पूछा कि वे कौन सी भाषाएं सीख रहे हैं, हालांकि लोगों को नए विचार प्राप्त करने के लिए सीखना चाहिए। सूची Io (ब्रूस टेट), रेबोल (डगलस क्रॉकफोर्ड) , फोर्थ एंड फैक्टर (एलेक्स पायने), स्कीम एंड असेंबलर (जोश बलोच), और क्लोजर (गाइ स्टील)। "

स्रोत: sauria.com

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


1
मैं REBOL से बचता हूं क्योंकि इसका एकमात्र व्यावहारिक कार्यान्वयन एक गैर-मानकीकृत, गैर-खुला सॉफ़्टवेयर है, जो अपने स्वयं के निगम की सनक में बदल जाता है। (Rebol 2 बनाम Rebol 3 ...) अगर यह कभी मानकीकृत या खोला गया है तो मैं एक और रूप ले लूंगा लेकिन उस दिन तक Rebol मेरे टूलबेल से दूर रहेगा।
बस मेरा सही जनधन

1
@JUSTMYcorrectOPINION शायद एक और रूप लेने के लिए दिन आ गया है! Rebol 3 अब Apache2 लाइसेंस सॉफ्टवेयर है । यहां तक ​​कि हमें यहां RebolBot भी मिला है, जो StackOverflow पर Rebol और Red चैट रूम में हमें भाषा की डेमो करने में मदद करता है। ( रेड एक और खुला स्रोत है रेबोल वैरिएंट जो हाइब्रिड संकलित संस्करण के रूप में कुछ बहुत ही दिलचस्प वादा दिखा रहा है।)
HostileFork

2

मैं लंबाई से कहूंगा कि बहुत से लोग इसे सीधे लिखने से बचने के लिए जाते हैं, जो डेवलपर्स को एसक्यूएल को दिमागी झुकने वाले लगते हैं। मुझे लगता है कि बहुत से लोग सिर्फ स्वाभाविक रूप से सेट के संदर्भ में नहीं सोचते हैं।


एसक्यूएल निश्चित रूप से दिमाग को झुकाता है, लेकिन इससे मुझे बेहतर कोड लिखने में मदद नहीं मिलती है।
dan_waterworth

4
एसक्यूएल मुझे बस के रूप में स्वाभाविक है, बस मुझे। आश्चर्यजनक जब आपके SQL में पूर्ण डेटा से निपटने के लिए DB- समर्थित अनुप्रयोग कितना आसान हो सकता है।
जे क्यू कतार J

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

@Xepoch, मुझे लगता है, अगर ऐसा कुछ है जो ORM के उदय ने हमें सिखाया है, तो यह है कि लोग SQL में लिखना पसंद नहीं करते अगर वे इससे बच सकते हैं। वे बहुत अधिक अपनी भाषा में लिखना चाहते हैं।
dan_waterworth

मुझे लगता है कि किसी भी चीज़ का उपयोग करने से बेहतर कोड लिख सकते हैं जो एक अच्छी बात है।
22

2

शुद्ध

शुद्ध शब्द पुनर्लेखन पर आधारित एक कार्यात्मक भाषा है। मुझे यह पसंद है, यह विरल और अभिव्यंजक दोनों है, अगर थोड़ा सा समझा जाता है।


+1 कार्यात्मक का मतलब वेक्टर है, असाधारण रूप से शक्तिशाली भाषा है। क्यू के वंशज के रूप में (जो एपीएल के लिए थोड़ा सा बकाया है) और हास्केल एट अल से एक टन उधार लेना। यह निश्चित रूप से वारंट का उल्लेख करता है।
परिक्रमा

2

यह सबसे अधिक दिमाग झुकने वाला नहीं हो सकता है, लेकिन यह मेरे लिए अब तक का सबसे कठिन काम है (मुझे लगता है कि हास्केल और असेंबली भाषा आसान थी!)।

यही कारण है कि का सेट है एचडीएल भाषाओं, विशेष रूप से, VHDL (और Verilog कुछ हद तक)

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


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

1
विद्युत अभियंता होने के नाते मुझे एक साथ समस्या से बहुत समस्या नहीं थी, यह वास्तव में काफी मुक्ति थी। कार्यान्वयन के दर्द के लिए, अच्छी तरह से यूपी समस्याओं के विशिष्ट वर्गों के लिए एक आला समाधान है जो समस्या को समाधान में बदल देता है जिसे एल्गोरिदम के रूप में वर्णित किया जा सकता है, मूल रूप से गणित से ली गई एक अवधारणा। अंतर्निहित समानता के साथ एक समस्या आसान हल करने योग्य समस्याओं में से एक है और उस समय VHDL और FPGA के काम आते हैं।

यदि आप पहले से प्रोग्रामर नहीं हैं और w / एक साथ कई ब्लॉक्स पर काम कर रहे हैं, तो हाँ, VHDL अजीब है।
मदिह

1

Tcl

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


1
मैंने 1995-1997 के आसपास बिना किसी विशेष कारण के बहुत सी Tcl प्रोग्रामिंग की। जब मैंने 1998 में एक नई नौकरी की तलाश शुरू की, तो पूरे बे एरिया के हर रिक्रूटर ने मुझे खराब-भुगतान, उच्च-दबाव वाले विगनेट्स गिग्स के लिए साक्षात्कार करने की कोशिश की। मैंने जल्दी से इसे अपने रिज्यूम से हटा दिया। मैंने आपको इस पर एक कठिन समय देने पर विचार किया, क्योंकि मैंने टीईसी को वास्तव में आसान होने के रूप में याद किया था, लेकिन मेरी इच्छा है कि मैंने इसके बजाय, रेट्रोस्पेक्ट में पायथन सीखा था।
एडम क्रॉसलैंड

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

1

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


6
मुझे यह दावा करने से ऐतराज है कि इसकी स्थिति बेहतर है। श्रेष्ठ शब्द व्यक्तिपरक मुद्दों को ध्यान में रखते हुए सुझाव देता है। इसके अलावा, अगर हम C को अनंत मेमोरी वाले कंप्यूटर पर चलाते हैं (जो कि केवल उचित है क्योंकि एक ट्यूरिंग मशीन अनंत मेमोरी के साथ चलती है) वे शक्ति में समतुल्य हैं।
विंस्टन इवर्ट

2
@Winston: एक ट्यूरिंग मशीन का टेप अनंत होने की जरूरत नहीं है। इसमें केवल प्रत्येक छोर पर एक टेप फैक्ट्री का होना आवश्यक है जो आवश्यकतानुसार अतिरिक्त टेप का निर्माण कर सके :)
माइक डनलैवी

"प्रोविडेंटली सुपीरियर" एक वस्तुनिष्ठ शब्द है। इसका मतलब है कि किसी भी भाषा को ट्यूरिंग मशीन पर लागू किया जा सकता है, लेकिन हर भाषा ट्यूरिंग मशीन को लागू नहीं कर सकती है। बेशक, यह सी जैसी भाषाओं के लिए भी सही है, बशर्ते अनंत स्मृति और अनंत ढेर।
user12667

BrainFuck के रूप में पहले से ही सवाल में उल्लेख किया है, और यह बहुत ट्यूरिंग की मशीन भाषा है।
Mchl

1
यह दर्शाता है कि ट्यूरिंग मशीन अधिक शक्तिशाली है। समस्या यह है कि, कम से कम जैसा कि मैं इस शब्द का उपयोग करूँगा, किसी भाषा के श्रेष्ठ होने का दावा करना भी उपयोग, उपलब्धता आदि को आसानी से ध्यान में रखेगा
विंस्टन एवर्ट

1

सी

पॉइंटर्स, मेमोरी मैनेजमेंट और टाइप कास्टिंग सभी ने बहुत सोचा है और गलत करना आसान है। हैश टेबल या सूचियों जैसे अंतर्निहित डेटा संरचनाओं की कमी का मतलब है कि आपको या तो अपना स्वयं का विकास करना होगा या तृतीय-पक्ष पुस्तकालय खोजना होगा और इसके एपीआई सीखना होगा।


क्षमा कीजिय। C एक असेम्बली भाषा है। बेशक यह उन चीजों को नहीं है।
पीटर रोवेल

2
विधानसभा भाषाएं झुकने वाली हैं।
david4dev

-1

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

एक बार जब आप प्रारंभिक सीखने की अवस्था से बाहर हो जाते हैं, तो यह उत्तर के साथ आने के लिए बहुत शक्तिशाली और बहुत तेज़ होता है।


जेस CLIPS का एक आधुनिक संस्करण है जो आपके स्वयं के अनुप्रयोगों के लिए स्क्रिप्टिंग / लॉजिक इंजन के एक प्रकार के रूप में भी एम्बेड किया गया था।
तांगुरेना

ठीक है, मैं सही खड़ा हूँ। haskel.com/corp/details/0,10294,CLI1_DIV139_ETI9759,00.html फिर भी, इसे जिस भाषा में एम्बेड किया गया है, उससे बहुत अलग मानसिकता की आवश्यकता है।
बेरीन लोरिट्स


-1

कोल इंडिया

CIL, कॉमन इंटरमीडिएट लैंग्वेज जो सभी .NET प्रोग्राम्स, एक ऑब्जेक्ट-ओरिएंटेड असेंबली का संकलन है। मेरे लिए दिलचस्प है कि मैं इसमें कोड लिखने या पढ़ने की कोशिश करूँ और इसके निर्माणों की तुलना C # से करूँ जो मुझे पहले से पता हैं। यह अधिक जानने के लिए एक अच्छा तरीका है। .NET पर्दे के पीछे क्या करता है। और यह गतिशील कोड पीढ़ी या मोनो कॉसिल का उपयोग करके मौजूदा संकलित कोड को फिर से लिखना जैसी चीजों के लिए उपयोगी हो सकता है ।


2
या उस मामले के लिए भी bytecode?
जेई क्यू

यदि आप जावा बाइटकोड का मतलब है, तो मुझे इसके साथ कोई अनुभव नहीं है, इसलिए मैं इसे मन-झुकने की सिफारिश करने की स्थिति में नहीं हूं।
svick

मैं वास्तव में Java-Bytecode और CIL की तुलना नहीं करूँगा, क्योंकि Java-Bytecode पहले से ही संकलित है और CIL रनटाइम पर संकलित हो जाएगा (बस-में-समय-संकलक .net)
basti

@chiffre अधिकांश परिस्थितियों में Java Bytecode और CIL बिल्कुल समान काम करते हैं। दोनों ही मामलों में, आपके पास स्रोत कोड (C # या जावा) है जो "संकलन-समय" (CIL या जावा बाइटकोड) पर एक द्विआधारी मध्यस्थ भाषा में संकलित हो जाता है, जो तब JIT द्वारा "रनटाइम" में वास्तविक मशीन कोड के लिए संकलित हो जाता है। संकलक।
svick
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.