नई प्रोग्रामिंग भाषाओं को अपनाने या न चलाने से क्या होता है? [बन्द है]


12

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



2
संभावना और कॉर्पोरेट समर्थन एक बड़ा कारक है। steve-yegge.blogspot.com/2007/02/next-big-language.html
Job

3
इस मंच के लिए उपयुक्त प्रश्न नहीं है
रयान

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

1
एक प्रोग्रामिंग लैंग्वेज को अपनाना इसके इस्तेमाल करने वाले हिपस्टर्स की मात्रा से विपरीत है।

जवाबों:


18

यदि कोई वास्तव में जानता था, तो वे बहुत अमीर लोग होंगे।

उस ने कहा, यहाँ मेरा अनुमान है:

उपलब्धता

बेसिक एक भयानक छोटी भाषा है जो पहली बार बाहर आने पर (सभी?) पीसी के साथ आई है। Apple II (कई हाई स्कूलों के लिए डिफ़ॉल्ट कंप्यूटर), और ATARI 400/800 (पहला सुपर सस्ते होम कंप्यूटर) दोनों ही BASIC के साथ आए थे।

यदि आपके पास UNIX मशीन (या तो AT & T सिस्टम V या बर्कले की है) आपके पास C. यदि आप मशीन को प्रोग्राम करना चाहते हैं, तो आपको यही उपयोग करना है।

EDIT : 'नेट' के आगमन और सर्वव्यापकता के साथ, यह आवश्यकता में बदल जाती है:

  1. कितने लिनक्स वितरण हाल की कॉपी को पैकेज करते हैं और वे इसे कितनी अच्छी तरह अप-टू-डेट रखते हैं? क्या थर्ड-पार्टी लाइब्रेरी समान रूप से इंस्टॉल के लिए उपलब्ध हैं?
  2. क्या यह आसानी से विंडोज (XP | Vista | 7,8 ...) में स्थापित है?
  3. क्या मैक / आईओएस-प्लेटफॉर्म कवर किए गए हैं?
  4. क्या यह विरासत यूनिक्स पर उपद्रव के बिना स्थापित किया जा सकता है?
  5. और एक बार स्थापित होने के बाद, तीसरे पक्ष के पुस्तकालयों तक पहुंचना कितना आसान है, और क्या इसे आसानी से अपग्रेड किया जा सकता है?

संक्रमण में आसानी

जावा यहां एक अच्छा उदाहरण है। यदि आप C प्रोग्रामिंग जानते थे, तो जावा बहुत आगे की छलांग नहीं था, और फिर भी इसने कई विशेषताएं दीं जिनमें C की कमी थी और C ++ सफाई प्रदान करने में विफल रहा।

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

पर्ल एक बंडल में C, awk, sed और अन्य यूनिक्स उपयोगिताओं का एक समामेलन था। अपनी उपस्थिति से पहले, अधिकांश सिस्टम प्रशासन शेल स्क्रिप्ट के माध्यम से किया गया था, जो एक असंतोषजनक तरीके से सब कुछ एक साथ जोड़ रहा था। सी-लाइक लैंग्वेज के डेटा स्ट्रक्चर्स और कंट्रोल के साथ एक प्रक्रिया के तहत सब कुछ लाना एक गॉडसेंड था।

एक जरूरत भरता है

C ने बंद कर दिया क्योंकि यह आपको मशीन-विशिष्ट, विधानसभा की दुनिया को बनाए रखने के लिए मुश्किल में फंसने के बिना करीब-से-विधानसभा क्षमता का उत्पादन करने की अनुमति देता था।

फोरट्रान ने बंद कर दिया क्योंकि यह मशीन में विवरण में खोए बिना गणितीय विचारों के आसान अनुवाद के लिए अनुमति देता था।

इसी तरह LISP और प्रतीकात्मक हेरफेर के लिए।

पायथन एक "बेहतर" पर्ल की आवश्यकता से बाहर हो गया। (मैं यहां पक्षपाती हूं, इसलिए मैं और नहीं कहूंगा।)

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

वकालत, उपयोगकर्ता-आधार, योगदान कोड

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

भाषा के निर्माता (नों) के पीछे कई भाषाओं का एक व्यक्तित्व है, और हम सभी जानते हैं कि वे कौन हैं।

FORTRAN में विशाल और स्थापित गणित कोड के विशाल सेट हैं; जावा और वेब / सिस्टम-एकीकरण / एमवीसी-सिस्टम के लिए समान; पर्ल और सीपीएएन के लिए समान; टी एक्स और दस्तावेज़ प्रबंधन के लिए समान ; आदि।

यह फैक्टर

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


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


1
आपके अधिकांश मानदंडों में निर्धारण कारक कॉर्पोरेट समर्थन है । जावा ने संक्रमण के लिए आसानी से, उदाहरण के लिए, स्कोर किया हो सकता है, लेकिन बिना किसी ने इस पर लाखों खर्च करने के लिए, साल-दर-साल, अपने विश्व वर्चस्व योजना के हिस्से के रूप में, यह स्पष्ट नहीं है कि क्या अंतर होगा। तो, आप सही कह रहे हैं, बहुत अमीर इस बात का जवाब जानते हैं :-)
jaybee

4
@ संजय - यकीन नहीं है कि भाषा रचनाकारों द्वारा कॉर्पोरेट समर्थन आवश्यक रूप से मदद करता है। फोरट्रान और सी को आईबीएम / एटीटी से आने में विशेष मदद नहीं मिली। Oracle लिंक सक्रिय रूप से जावा को नुकसान पहुँचाता हुआ प्रतीत होता है। बेसिक, पर्ल, पायथन, रूबी आदि सभी के पीछे कोई कॉर्पोरेट नहीं था। उपयोगकर्ता / ग्राहक पर आंतरिक कॉर्प समर्थन महत्वपूर्ण है, लेकिन यह लंबे समय के बाद सर्वव्यापी हो जाता है।
मार्टिन बेकेट

1
@ मर्टिन बेकेट: आपके पास एक बिंदु हो सकता है। मुझे लगता है कि यद्यपि सभी प्रकार के ग्रहों को महत्वपूर्ण द्रव्यमान प्राप्त करने के लिए एक भाषा के लिए गठबंधन करने की आवश्यकता हो सकती है, लेकिन उन ग्रहों को लाइन में लगाने का "आधुनिक" तरीका नकदी जलाना प्रतीत होता है। उदाहरण के लिए मार्क एक उदाहरण के रूप में हास्केल का उपयोग करता है - इसका एक महान, मुखर उपयोगकर्ता आधार हो सकता है लेकिन जीएचसी उनके लिए बहुत सारे तर्क जीतता है। जीएचसी जैसे संकलक पैसे खर्च करते हैं।
जयंती

@ संजय - बहुत किस्मत है। लेकिन अच्छी नई वेब भाषाओं के लिए यह अच्छी तरह से निर्माता / शुरुआती दत्तक ग्रहण का विपणन कौशल हो सकता है।
मार्टिन बेकेट

11

भाषाएं लोकप्रिय हो जाती हैं क्योंकि उन्हें उस क्षेत्र में मौजूदा भाषाओं पर एक फायदा होता है जिसकी आवश्यकता होती है।

जावा

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

पीएचपी

  • वेब विकास को आसान बनाया
  • MySQL डेटाबेस से कनेक्ट करने के लिए समर्थन में निर्मित
  • किसी संकलन की आवश्यकता नहीं थी और स्क्रिप्ट को अपनी HTML- फाइलों में शामिल करना आसान था।

जावास्क्रिप्ट

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

उद्देश्य सी

  • मैक ओएस एक्स पर्यावरण और iPhone के लिए भाषा । और iPhone को बहुत बड़ी सफलता मिली है।

माणिक

  • रूबी ऑन रेल्स के साथ - एक वेब फ्रेमवर्क, ने MVC के साथ बड़े पैमाने पर वेब-विकास को बहुत आसान बना दिया।

सी#

  • पिछले दस वर्षों में विंडोज वातावरण के लिए भाषा । लगभग सभी Microsoft APIs C # उदा। Winforms और WPF और WCF के साथ उपयोग करना आसान है।

ActionScript

  • केवल Addobe फ़्लैश / फ्लेक्स, जो और चीजें हैं जो जावास्क्रिप्ट को संभाल नहीं सकता है इंटरनेट पर मीडिया सामग्री के लिए एक बड़ी सफलता मिली है के लिए भाषा का।

Erlang

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

1
Erlang का समाप्‍त मॉडल अद्वितीय नहीं है, यह सिर्फ उस बदसूरत अनिवार्य भाषाओं द्वारा उपयोग किए जाने से अलग है :)। स्काला का प्रकार एक ही है। इसी तरह, क्लजुरे और हास्केल एसटीएम के विशेषज्ञ हैं।
वैकल्पिक

4
@mathepic: सच है, लेकिन वे सभी भाषाएँ एर्लैंग की तुलना में नई हैं। इसलिए यह शुरुआत में एरलंग के लिए अद्वितीय था - जैसा कि मैंने सूचीबद्ध लगभग सभी लैगेज सुविधाओं के साथ किया है। अच्छे विचार चोरी करने लायक हैं।
जोनास

1
C # .net भाषा है। मुझे लगा कि विंडोज़ वास्तव में सी ++ में लिखी गई थी। क्या मैं इसके बारे में गलत हूं। मैं कहूंगा कि C # एक ऐसी भाषा का लाभ उठाकर लोकप्रिय हो गया, जिसे लोग पहले से ही जानते थे (C) एक नए ढांचे के साथ, जिसने एक शक्तिशाली टूल के साथ शक्तिशाली अनुप्रयोगों को विकसित करना आसान बना दिया, जो शक्तिशाली, उपयोग करने में आसान था, और डेवलपर्स की जरूरतों और वास्तविक उपयोग को ध्यान में रखा।
सोयलेंटग्रे 14

1
@Chad C # का
वैकल्पिक

1
@mathepic - मैंने C, C ++ और C # प्रोग्रामिंग पर काम किया है। मैं कह सकता हूं कि C # अभी भी नामर्दी के रूप में अपनी सी जड़ों को बनाए रखता है। दी यह सी से परे चला गया है इसका मतलब यह नहीं है कि यह भाषा का लाभ नहीं उठाता है।
सोयलेन्टग्रे

5

मैं एक निंदक हूँ: पैसा और उस के साथ आ रहा हूँ , विपणन।

यह कोई संयोग नहीं है कि C # Microsoft, जावा द्वारा Oracle और ऑब्जेक्टिव C द्वारा Apple द्वारा समर्थित है। केवल Google का गो वास्तव में अब तक नहीं उठा है।

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


गोट्टा सहमत और विस्तारित करें: बज़वर्ड्स, प्रबंधकीय अपील, बड़े नाम, रोमांचक-आकर्षक विशेषताएं। यदि आप असहमत हैं, तो मैं आपको केवल एक नाम दूंगा: COBOL।
एसएफ।

1
C # और ओबज-सी को "जनादेश" के रूप में इतना समर्थन नहीं मिला है। MS ++ की आपूर्ति की गई केवल MSFT के साथ c ++ में windows ऐप्स को प्रोग्राम करना मुश्किल है, और AFAIK केवल obj-C को कम से कम सेब के मोबाइल प्लेटफॉर्म पर अनुमति दी गई है। दूसरी ओर ओरेकल के एंड्रॉइड निर्माताओं के मुकदमा करने से जावा
मार्टिन बेकेट

1
@ मार्टिन - आप मोटे तौर पर WRT Obj-C सही हैं। तकनीकी रूप से, आप ऐप लिखने के लिए अन्य भाषाओं का उपयोग करने के लिए Appcelerator Ttanium जैसी चीजों का उपयोग कर सकते हैं, लेकिन यह अभी भी तैनाती के लिए ओबज-सी में परिवर्तित हो जाता है (और यह उनके लिए एक लड़ाई भी थी)। Apple सिर्फ कुछ और के बारे में प्रतिबंध लगाएगा (यहां तक ​​कि PhoneGap ने एक अच्छी लाइन चला दी)।
शौना

3

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


1

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

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

एनाकोंडा (रेडहैट का इंस्टॉलर प्रोग्राम) पायथन में लिखा गया था जब पायथन युवा था और आज की लोकप्रियता नहीं थी।

ये वे हैं जिन्हें मैं वापस बुला सकता हूं। यह सूची उन सभी भाषाओं को छू सकती है जो अपने प्रारंभिक वर्षों से बची हुई हैं।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.