Please support if you like my work by payment through upi: sinhamit@icici or payment by bank
account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB
Fundamentals of Programming in Category: पाइथन by amit
🕙 Posted on 2023-03-31 at 00:06:42
प्रोग्रामिंग की अवधारणा और उत्पत्ति
हालांकि यह पोस्ट कंप्यूटर के आविष्कार, आदि के इतिहास के बारे में नहीं है, मैं केवल प्रोग्रामिंग भाषाओं के विभिन्न स्तर के विषय पर बात करुंगा। चार्ल्स बैबेज (कंप्यूटर के जनक) द्वारा जब 1833 और 1871 के बीच, कंप्यूटर का आविष्कार किया गया था, तो यह बुनियादी गणना करने वाली यांत्रिक मशीन थी। एलन ट्यूरिंग, गणित और तर्क के एक प्रोफेसर, एक कंप्यूटर वैज्ञानिक, क्रिप्ट-विश्लेषक, ने 1936 में एनिग्मा कोड्स को क्रैक करने के लिए इस्तेमाल की जाने वाली यूनिवर्सल ट्यूरिंग मशीन का आविष्कार किया था।
कंप्यूटर स्क्रीन को पहली बार 1964 में विकसित किया गया था और 1973 में जारी किया गया था। इससे पहले, कंप्यूटर इंजीनियर और प्रोग्रामर इलेक्ट्रॉनिक सर्किट, कागज पर आउटपुट, आदि पर काम करते थे। कंप्यूटर प्रोग्राम निम्न-स्तरीय (LOW-Level) भाषाएँ थीं। कंप्यूटर इंजीनियर और प्रोग्रामर स्टीव वोज्नियाक ने 1976 में माइक्रो-कंप्यूटर और पीसी का विकास किया था । कंप्यूटर प्रोग्रामिंग के जनक डेनिस मैकएलिस्टेयर रिची ने 1969-73 में C प्रोग्रामिंग भाषा का आविष्कार किया था। बज़्ने स्ट्रॉस्ट्रुप ने 1979 में C++ प्रोग्रामिंग लैंग्वेज विकसित की । C और C++ हाई लेवल (HIGH-Level) प्रोग्रामिंग लैंग्वेज हैं।
कंप्यूटर प्रोग्रामिंग का इतिहास:
कई कंप्यूटर प्रोग्रामिंग लैंग्वेज हैं, जिनमें से कुछ प्रसिद्ध और आमतौर पर इस्तेमाल की जाने वाली भाषाएं हैं:
1957 FORTRON
(पहला संकलक)
1959 COBOL
(वित्त, व्यापार, आदि में प्रयुक्त)
1960 ALGOL
(ALGOL 58 और ALGOL 60) इंटरनेशनल ग्रुप द्वारा
1967 BCPL
(C के अग्रज) मार्टिन रिचर्ड्स द्वारा
1970 B
केन थॉमसन द्वारा
1972 (पारंपरिक) C
डेनिस रिची द्वारा
1978 K&R C
कर्निघन और डेनिस रिची द्वारा
1978 SQL
(डेटाबेस क्वेरी भाषा)
1979 C++
बज़्ने स्ट्रॉस्ट्रुप द्वारा
1989 ANSI C
एएनएसआई समिति द्वारा
1990 Python
1995 Ruby
1995 Java
1995 PHP
रासमस लेर्डोर्फ द्वारा
1995 JavaScript
1999 C99
मानक समिति द्वारा
2011 C11
मानक समिति द्वारा
2011 Kotlin
लो-लेवल और हाई-लेवल प्रोग्रामिंग लैंग्वेज के बीच अंतर:
जैसा कि आपने ऊपर देखा है कि 1950 के दशक से लेकर आज तक कई कंप्यूटर प्रोग्रामिंग लैंग्वेज विकसित हुई हैं। कई प्रोग्रामिंग भाषाएँ निम्न स्तर (LOW-LEVEL) की होती हैं, जिसका अर्थ है कि उन्हें कंप्यूटर और मशीनों (जैसे टीवी रिमोट, उपकरण, आदि) द्वारा समझने के लिए विकसित किया गया है।
हालाँकि, निम्न स्तर की प्रोग्रामिंग भाषाओं को आम जनता द्वारा बड़े पैमाने पर समझना मुश्किल है। और इसलिए, जब C और C++ को विकसित किया गया था, तो उनका उपयोग लाखों प्रोग्रामर द्वारा किया गया है। कई प्रोग्रामिंग लैंग्वेज, उदाहरण के लिए, Java, C#, PHP, JavaScript, Python, आदि C प्रोग्रामिंग लैंग्वेज पर आधारित हैं।
संकलन-समय (Compile-time) और रन-टाइम प्रोग्रामिंग भाषाओं के बीच अंतर:
C, C++, Java, आदि कंपाइल-टाइम प्रोग्रामिंग लैंग्वेज हैं, जिसका अर्थ है कि वे मानव भाषा में लिखी गई हैं, लेकिन उन्हें BINARY भाषा (0101
C, C++, Java, आदि कुछ सॉफ्टवेयर/कोड संपादक में लिखे जाते हैं और उसके बाद, उन्हें एक अन्य सॉफ़्टवेयर द्वारा संकलित करने की आवश्यकता होती है, जिसे "कंपाइलर" कहा जाता है, और फिर आप प्रोग्राम को चलाने के लिए उस आउटपुट को निष्पादित कर सकते हैं। इसका मतलब है कि आपको दो बार कमांड देनी होगी: एक प्रोग्राम को कंपाइल करने के लिए और दूसरी प्रोग्राम को चलाने के लिए।
हालाँकि, कई प्रोग्रामिंग भाषाओं, उदाहरण के लिए, जावास्क्रिप्ट, PHP, पायथन, कोटलिन को संकलित करने की आवश्यकता नहीं है। इस प्रकार, इन प्रोग्रामिंग भाषाओं को रन-टाइम प्रोग्रामिंग भाषाएँ कहा जाता है। ये प्रोग्राम मानव भाषा में लिखे जाते हैं, उदाहरण के लिए, अंग्रेजी, और संबंधित सॉफ्टवेयर्स द्वारा व्याख्या की जाती है। उदाहरण के लिए, जावास्क्रिप्ट की व्याख्या वेब-ब्राउज़र द्वारा की जाती है, और PHP की व्याख्या अपाचे सर्वर द्वारा की जाती है।
रन-टाइम प्रोग्रामिंग लैंग्वेज और कम्पाइल-टाइम प्रोग्रामिंग लैंग्वेज के फायदे और नुकसान हैं। पूर्व अन्य प्रोग्रामर के लिए खुला है और एन्क्रिप्शन में वितरित नहीं किया जा सकता है, जबकि बाद वाला मानव भाषा में लिखा गया है, और बाइनरी भाषा में संकलित है, और इसलिए एन्क्रिप्ट किया गया है। PHP वेब-पेज बनाने की प्रोग्रामिंग भाषा है, जो SERVER पर संग्रहीत होते है। यह बड़े पैमाने पर जनता को वितरित नहीं किया जाता है। लेकिन, जावास्क्रिप्ट सभी के लिए खुला है और सीधे वेब-ब्राउज़र पर डाउनलोड किया जाता है। कोई भी व्यक्ति जावास्क्रिप्ट फ़ाइल/कोड का स्रोत-कोड देख सकता है।
सख्त (Strict) डेटा-प्रकार और गतिशील (Dynamic) डेटा-प्रकार प्रोग्रामिंग भाषाओं के बीच अंतर
आम तौर पर, कंपाइल-टाइम प्रोग्रामिंग लैंग्वेज सख्त डेटा-टाइप प्रोग्रामिंग लैंग्वेज होती हैं। इसका अर्थ है कि डेटा-प्रकारों को सख्ती से परिभाषित किया गया है, और कंटेनरों के नाम (चर variables, स्थिरांक constants, आदि) एक विशेष डेटा-प्रकार के लिए पूर्व-निर्दिष्ट (pre-assigned) हैं और केवल उस डेटा-प्रकार के मान (values) संबंधित कंटेनरों में संग्रहीत किए जा सकते हैं। कंटेनर मेमोरी (Random Access Memory) स्थान हैं, जहां एक प्रोग्राम मूल्यों को संग्रहीत कर सकता है और फिर उन्हें संसाधित करता है।
रन-टाइम प्रोग्रामिंग लैंग्वेज आमतौर पर डायनेमिक या लूज (loose) डेटा-टाइप प्रोग्रामिंग लैंग्वेज होती हैं। इसका अर्थ है कि कंटेनर (स्मृति स्थान) किसी भी प्रकार के डेटा के मूल्यों को संग्रहीत कर सकते हैं। यह जानबूझकर स्मृति (RAM) की खपत को कम करने और कार्यक्रमों के बेहतर निष्पादन के लिए डिज़ाइन किया गया है, जहां लाखों उपयोगकर्ता एक साथ कार्यक्रमों के साथ बातचीत करते हैं। हालाँकि, गतिशील या ढीले डेटा-प्रकार की प्रोग्रामिंग भाषाओं में BUGS (प्रोग्रामिंग त्रुटियाँ और लूप-होल) हो सकते हैं।
हालाँकि, PHP और जावास्क्रिप्ट के विभिन्न संस्करणों का आधुनिक अद्यतन भी सख्त डेटा-प्रकार के उपयोग पर जोर देता है, और इन प्रोग्रामिंग भाषाओं में विभिन्न परिवर्तन / विकास किए गए हैं। इसका अर्थ है कि उपयोगकर्ता किसी भी प्रकार का डेटा इनपुट कर सकते हैं, लेकिन जब इन मानों (values) को PHP और जावास्क्रिप्ट द्वारा संसाधित किया जाता है, तो वे सख्त डेटा-प्रकारों में परिवर्तित हो जाते हैं।
इंडेंटेशन और व्हाइट-स्पेस
C, C++, C#, जावा, जावास्क्रिप्ट, पीएचपी, पायथन, कोटलिन आदि उच्च स्तरीय प्रोग्रामिंग भाषाएं हैं। ये सभी प्रोग्रामिंग लैंग्वेज अंग्रेजी में लिखी गई हैं। इस प्रकार, इन प्रोग्रामिंग भाषाओं को कुछ सिंटैक्स के साथ लिखा जाता है, अर्थात वाक्य ( कथन statement ) टर्मिनेटर (आमतौर पर अर्धविराम semi-colon ), शब्द ( पैरामीटर parameters, तर्क arguments, आदि) अल्पविराम commas से अलग किए जाते हैं । ये प्रोग्रामिंग कोड पैराग्राफ ( ब्लॉक ) में लिखे गए हैं, और इसलिए घुंघराले ब्रेसिज़ curly braces { } के भीतर लिखे गए हैं । गणितीय और तार्किक संक्रियाएं ( अभिव्यक्ति expressions ) + − * / ( ) कोष्ठक के साथ की जाती हैं। ब्रैकेट्स [ ] का उपयोग एक कंटेनर में कई मानों (values) को स्टोर करने के लिए किया जाता है।
पहले चार कंपाइल-टाइम प्रोग्रामिंग लैंग्वेज हैं। ये सख्त डेटा-प्रकार की प्रोग्रामिंग भाषाएं हैं, जिसका अर्थ है कि डेटा-प्रकार के कंटेनर पूर्व-असाइन किए गए हैं, उदाहरण के लिए, String
int, float, double, boolean, array, आदि। इन प्रोग्रामिंग भाषाओं में कोड लिखने के लिए इंडेंटेशन की आवश्यकता नहीं है। इंडेंटेशन कोड को पढ़ने योग्य बनाने के लिए प्रोग्रामर द्वारा छोड़ा गया स्थान है। जबकि बाद वाली चार रन-टाइम प्रोग्रामिंग लैंग्वेज हैं। और, ये प्रोग्रामिंग लैंग्वेज डायनेमिक (ढीली) डेटा-टाइप हैं। जावास्क्रिप्ट और PHP को छोड़कर, अन्य दो प्रोग्रामिंग भाषाओं, यानी, पायथन और कोटलिन को भी इन उपर्युक्त विभाजकों में से कुछ की आवश्यकता नहीं है, जो कि सेमी-कोलन और कर्ली-ब्रेसिज़ हैं। इसलिए, पायथन और कोटलिन में कोड लिखने के लिए, आपको इंडेंटेशन की आवश्यकता होती है, जो कि जरूरी है। आप CODE के एक ब्लॉक के अंदर प्रत्येक पंक्ति से पहले एक, दो, तीन या चार स्थान छोड़ सकते हैं। इसे बाद में अगले पृष्ठ में समझाया जाएगा।
Leave a Comment:
Amit Sinha March 2nd, 2023 at 9:30 PM
😃 😄 😁 😆 😅 😂 😉 😊 😇 😍 😘 😚 😋 😜 😝 😶 😏 😒 😌 😔 😪 😷 😵 😎 😲 😳 😨 😰 😥 😢 😭 😱 😖 😣 😞 😓 😩 😫 😤
Ribhu March 3rd, 2023 at 9:30 PM
🐵 🐒 🐶 🐩 🐺 🐱 🐯 🐅 🐆 🐴 🐎 🐮 🐂 🐃 🐄 🐷 🐖 🐗 🐽 🐏 🐑 🐐 🐪 🐫 🐘 🐭 🐁 🐀 🐹 🐰 🐇