पायथन को प्रवेश स्तर की प्रोग्रामिंग भाषा के रूप में अनुशंसित क्यों किया गया है? [बन्द है]


16

मैंने यहाँ P.SE पर और अधिक प्रश्न पढ़े हैं, जिनमें शुरुआती प्रोग्रामर को सलाह दी जाती है कि वे पायथन को अपनी पहली प्रोग्रामिंग भाषा के रूप में चुनें।

मुझे गलत मत समझो, मुझे पायथन पसंद है। मुझे बहुत पसंद है! लेकिन इसका दर्शन "हम सभी यहां वयस्कों की सहमति है" पर घूमता है।

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

मैं सोच रहा हूं कि "अधिक स्थिर" भाषा में पैर में खुद को गोली मारना अधिक कठिन होगा क्योंकि यह अधिक प्रतिबंधक होगा।

मेरे सवाल पर वापस। पायथन को प्रवेश स्तर की प्रोग्रामिंग भाषा के रूप में अनुशंसित क्यों किया गया है?

वे कौन से बिंदु हैं जो एक प्रोग्रामिंग भाषा सिखाने के लिए अच्छा बनाते हैं। या ... क्या यह सलाहकार की व्यक्तिगत पसंद है?


17
I'm thinking that in a "more static" language it would be harder to shoot yourself in the foot- ठीक है, C और C ++ स्टेटिक रूप से टाइप किए गए हैं और आप बुरी तरह से बुरी तरह से हैरान होंगे, यह देखकर कि आप कितने अलग-अलग तरीकों से अपने पैरों को इनका इस्तेमाल करके उड़ा सकते हैं ...
Péter Török

@ Péter Török: हाँ, और यह आपके पूरे पैर को दूर ले जाता है (c ++: D)। मैंने कहा "अधिक स्थिर" कुछ के लिए लौ युद्धों से बचने की कोशिश कर रहा है ... मुझे नहीं पता ... जावा! ...! ... जिसे हर कोई नफरत करता है जैसा कि स्कूल / विश्वविद्यालयों में सोचा जाता है और लोगों के पास कुछ है इससे डर लगता है ...
JohnDoDo

1
मुझे लगता है कि C ++ एक बेहतर शुरुआती भाषा है, क्योंकि इससे मुझे अन्य भाषाओँ में चीजों को बेहतर ढंग से समझने में मदद मिली है।
सिस्टमोविच

1
मेरे पास पहले सेमेस्टर प्रोग्रामिंग क्लास का उपयोग करने वाले TAing के बाद एक शुरुआती भाषा के रूप में अजगर के साथ मेरे गोमांस हैं। टीटी के छात्रों को 'प्रकार' समझ में नहीं आया और व्हाट्सएप निर्भरता ने उन्हें मार दिया। उनके पास उस कठिन समय को समझने की वस्तु भी थी जिसमें 'स्वयं' का संदर्भ दिया गया था, जिसमें ऊद व्यापार को शामिल किया गया था। यह गुण है, लेकिन यह निश्चित रूप से यह भी detractors है।
ऋग

2
@ ममौहधौसम मैं सहमत हूँ। मैं अपने अनुभव से कुछ चिपके हुए बिंदुओं को उजागर कर रहा था। जावा, C #, लिस्प, आदि सभी अपने मुद्दे हैं। मैं सिर्फ पहली बार प्रोग्रामर को शिक्षण अजगर का सामना करने वाले प्रमुख मुद्दे थे।
ऋग

जवाबों:


30

IMO, प्रवेश स्तर की भाषा के रूप में पायथन के लिए बोलने वाले सबसे प्रमुख बिंदु ये हैं:

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

बस भाषा की सहजता पर जोर देना चाहते हैं। मैंने देखा है कि 0 प्रोग्रामिंग अनुभव वाले लोग जल्दी से पायथन सीखते हैं। यह काफी हद तक वाक्यविन्यास / व्याकरण, बोली जाने वाली अंग्रेजी के बहुत करीब होने के कारण है।
स्टीफन ग्रॉस

12
अंतिम बिंदु पर: लोग अक्सर कमजोर टाइपिंग के साथ डायनामिक टाइपिंग को मिलाते हैं। पायथन गतिशील रूप से टाइप किया जाता है (चर के बजाय मूल्यों से जुड़े प्रकार) लेकिन यह भी दृढ़ता से टाइप किया जाता है (इसलिए प्रोग्राम चुपचाप रूपांतरण त्रुटियों को निगलने के बजाय दुर्घटनाग्रस्त हो जाता है)
hugomg

@ मिस्सिंगो I दूसरा - ईगल आँखें आपके पास;)
यति सगाडे

@ मिस्सिंगो: मुझे अंतर पता है। गैर-पारदर्शी प्रकारों का एक उदाहरण PHP की सरणी कुंजियाँ हैं - सरणियाँ किसी भी अन्य प्रकार की तुलना में पूर्णांक कुंजियों के लिए अलग तरह से व्यवहार करती हैं; यदि आप दो पर्याप्त रूप से बड़े पूर्णांक जोड़ते हैं, तो आप एक फ्लोट के साथ समाप्त हो सकते हैं। और यह सिर्फ एक उदाहरण है - विशेष रूप से PHP और जावास्क्रिप्ट (वेब ​​विकास में दो सबसे लोकप्रिय गतिशील भाषाएं) अस्पष्ट स्ट्रोक के मामलों से भरी हुई हैं।
तदमर्स

आपकी टिप्पणी को देखते हुए, "प्रकार पारदर्शी हैं" से आपका मतलब उन नियमों से है जिन्हें समझने के लिए शासन प्रकार आसान हैं? आपने वास्तव में क्या कहना चाहा?
प्रेत

8

अजगर में हैलो दुनिया:

 print "Hi there"

जावा में हैलो दुनिया:

 class HelloWorldApp {
  public static void main(String[] args) {
    System.out.println("Hello World!"); // Display the string.
    }
  }

हैलो सी में दुनिया:

  #include<stdio.h>
  int main(int argc, char** argv)
  {
    printf("Hello World");
   }

अन्य दो के लिए संकलन के बारे में बात करने के लिए फेंको, और अजगर बहुत सरल है। मुझे केवल उस एकल विचार के बारे में बात करनी है, जिसे देखने में मेरी दिलचस्पी है, सभी मशीनरी जो मामले को उलझा देती है वह सिर्फ अजगर में गायब हो जाती है। मैं इंतजार कर सकता हूं जब तक कि वे मॉड्यूल के बारे में बात करने के लिए तैयार नहीं होते हैं, सरल कार्यक्रमों के लिए stdio.h पाने के लिए इसे जल्दी करने की आवश्यकता नहीं है। मैं तब तक इंतजार कर सकता हूं जब तक कि वे उन विषयों के लिए तैयार न हो जाएं जैसे कि कक्षाओं को अपने पहले कार्यक्रमों के लिए उन्हें जल्दी करने की आवश्यकता नहीं है। यह कमांड लाइन पर चारों ओर बेवकूफ बनाने के लिए एक REPL है। पायथन वैचारिक रूप से न्यूनतम होने में बहुत अच्छा है। यह एक अच्छी बात है क्योंकि इससे शुरुआती लोगों को काम पर ध्यान केंद्रित करने में मदद मिलती है।


15
आप भूल गए "वापसी 0;" अपने सी कार्यान्वयन में बयान :) संकलक चेतावनी!
स्टीफन ग्रॉस

2
यही कारण है कि बेसिक पहले स्थान पर मौजूद था। 10 प्रिंट "हैलो वर्ल्ड!" 20 END अतिरिक्त क्रेडिट के लिए, पायथन प्रोग्राम "हैलो वर्ल्ड!" इकाई परीक्षण :-)
रॉस पैटरसन

3
एफ # में समान: प्रिंटफ़न "हैलो वर्ल्ड!"। Yay, F # शुरुआती लोगों के लिए अच्छा है!
डेन

7

यह एक असामान्य दृष्टिकोण है।

वयस्कों की सहमति वाली बात पायथन के दर्शन का एक बहुत छोटा हिस्सा है। यह निश्चित रूप से "घूमना" नहीं है। यह "ज़ेन ऑफ पायथन" का हिस्सा नहीं है जो आपको मिलता हैimport this इंटरप्रेटर में करने पर मिलता है।

अन्य चीजें, जैसे "स्पष्ट रूप से निहित से बेहतर है", "सरल जटिल से बेहतर है", और "पठनीयता मायने रखता है" पायथन के लिए बहुत अधिक केंद्रीय हैं, और दिखाते हैं कि पायथन एक अच्छी पहली भाषा क्यों है।

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


1
हां, लेकिन उन "निजी" भागों के बारे में, जब से आप उन तक पहुंचते हैं, आपको कुछ बेहतर नहीं जानने के लिए कुछ वर्कअराउंड / शॉर्टकट हैक करने का प्रलोभन दिया जा सकता है।
जॉनडू

@JohnDoDo क्या फर्क पड़ता है अगर, C # या Java में, मैंने privateखेतों publicको हैक करने का फैसला किया है ? BTW, पायथन में, आप इसे निजी बनाने के लिए एक अंडरस्कोर के साथ संपत्ति को उपसर्ग कर सकते हैं (हालांकि वास्तव में छिपा नहीं है)
OnesimusUnbound

4

दो अलग-अलग बिंदु हैं। बच्चे को उठाते समय, क्या आपको उन्हें एक बुलबुले में रखना चाहिए जिसमें केवल सुरक्षित चीजें हैं या उन्हें यार्ड में खेलने दें जहां वे यात्रा कर सकते हैं और गिर सकते हैं?

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

अजगर में, वह मौजूद नहीं है। यदि आप "हैलो वर्ल्ड" कहना चाहते हैं, तो आप बसprint "Hello World" । प्रवेश बिंदु के रूप में पायथन का उपयोग करने से किसी को दौड़ने वाले मैदान से टकराने की अनुमति मिलती है और वह कोड लिखता है जो उन्हें चाहिए होता है। प्रोग्रामर की मूल बातें समझने से पहले पहली बार प्रोग्रामर इनकैप्सुलेशन के मूल्य को नहीं समझ सकता है।

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

अन्य लाभ:

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

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

1
@ जॉनडू - तो उसे जलने दो ... यह सबसे अच्छा स्कूल है और जो एक बच्चे के रूप में एक मैच में जला नहीं गया? यह उसे मारने वाला नहीं है ...
Rook

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

3

पायथन शुरुआती लोगों के लिए एक महान भाषा है क्योंकि यह सरल चीजों को सरल बनाता है जबकि पर्याप्त जटिल चीजों को संभव बनाता है कि इसे एक बेकार खिलौना भाषा नहीं माना जाता है और यहां तक ​​कि उन्नत प्रोग्रामर भी इसे कुछ नौकरियों के लिए सही उपकरण मानते हैं। विशेष रूप से, सरल चीजों में शामिल हैं:

  • सरल कार्यक्रमों के लिए बॉयलरप्लेट कोड का एक न्यूनतम न्यूनतम।

  • कचरा इकठा करना।

  • गतिशील टाइपिंग।

  • स्वच्छ, सरल वाक्य रचना।

इसकी तुलना उदाहरण के लिए Java या C ++ से करें और "हेलो, वर्ल्ड" प्रोग्राम में शामिल सभी कॉन्सेप्ट को समझाने की कठिनाई। जटिल चीजों में शामिल हैं:

  • आत्मनिरीक्षण (पायथन के प्रतिबिंब के बराबर)।

  • बंदर पटकना।

  • जो चीजें विशाल मानक पुस्तकालय के साथ की जा सकती हैं।

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


2

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


1

IMHO, लोगों को "सुरक्षित" भाषाओं में कोड सिखाना एक बहुत बुरा विचार है। लोग मानते हैं कि सब कुछ आसान है, और केवल परतों और कोड की परतों को जोड़ने के बारे में सोचते हैं। और समस्याओं के डिबग / फिक्स होने में सक्षम होने के किसी भी अवसर को खो देते हैं।

अच्छे प्रोग्रामर को निश्चित रूप से C / C ++ या असेंबली का पता होना चाहिए। और उनकी मानसिकता को उस तरफ से भी आना है। और नहीं - "ओह, जीसी, यह मैजिक (टीएम) करता है हम शांत हैं, और सी ++ में जीसी क्यों नहीं है, यह बेवकूफ है।" रवैया।


1

एक शुरुआती प्रोग्रामर के लिए, स्थैतिक प्रकारों की कमी एक विशेषता है, बग नहीं!

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

शैक्षिक सेटिंग में डायनामिक टाइपिंग के कुछ वैचारिक लाभ भी हैं:

  1. प्रकार मानों से जुड़े होते हैं, चर नहीं। यकीनन यह अधिक सहज है क्योंकि यह वास्तव में दुर्घटना के कारण कार्यक्रमों को दर्शाता है।

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

    संकलक के साथ काम करने वाले छात्र केवल उन कार्यक्रमों पर काम कर सकते हैं जिन्हें वे पूरी तरह से समझते हैं, ऐसा नहीं है कि वे एक संकलन त्रुटि का सामना करते हैं जो वे हल नहीं कर सकते हैं।

  3. रनटाइम त्रुटि जाँच आपको अपूर्ण प्रोग्राम चलाने की अनुमति देती है। यह अधिक वृद्धिशील कार्यक्रमों के लिए अनुमति देता है जहां छात्र पहले कार्यक्रम की शुरुआत को सही बनाने के बारे में चिंता कर सकता है और उसके बाद ही देख सकता है कि क्या होता है।

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

अंत में, जब आपको अभी भी उसी जटिलता को संभालना है, तो प्रोग्राम शुरू करते समय आपको स्थिर टाइपिंग के सभी लाभ नहीं मिलते हैं:

  • शुरुआती कार्यक्रम छोटे होते हैं और कई कोड पथ नहीं होते हैं (इसलिए आपको चिंता करने की ज़रूरत नहीं है कि कोड के बिट एक्सेस किए गए बिट्स में टाइप बग के बारे में बहुत कुछ है)

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


1

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

अन्य टिप्पणीकारों में से कुछ की तरह, मैंने शुरुआती कुछ वर्षों के लिए सिखाया। इस तरह से सामान देखना अनावश्यक था:

#include <stdio.h>

int main(char *args[])
                                                                     {
   int A = 1, B = 1, C;
for (int X = 0;X < 20;X++)
{
   printf("%d\n", A);
C = B + A;
      A = B;  B = C;
}
        }

अब कोड की लगभग सौ लाइनों पर इस भयावह असंगति की कल्पना करें। कुछ छात्रों के लिए, उनकी सभी परियोजनाओं की संपूर्णता इस तरह दिखी।

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

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


0

ऊपर बताए गए अधिकांश कारणों से पायथन एक महान पहली भाषा है। विशेष रूप से, पहली भाषा की एक आवश्यकता एक सज्जन सीखने की अवस्था है, जो पायथन की है। उदाहरण के लिए, आपको सभी वर्गों के बारे में जानने की जरूरत नहीं है। इस लिहाज से यह थोड़ा ऐसा है जैसे हममें से कई बेसिक शुरू हो गए हैं।

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

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


-1

पहली भाषा के रूप में पायथन के साथ मुख्य मुद्दा डायनामिक टाइपिंग और वेरिएबल डिक्लेरेशन की कमी है। IMHO वे भाषा के साथ एकमात्र प्रमुख मुद्दा हैं।

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

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