जब भी हम software engineer बनने की बात करते हैं तो सबसे पहले बात आती है की Software engineer को programming language आना चाहिए| लेकिन जो लोग computer के field में नए नए होते हैं या फिर जो लोग computer के field से नहीं होते हैं वे लोग अक्सर पूछ देते हैं की ये programming language क्या होता है? तो आज के इस tutorial में हम आपको बतायेंगे की Programming भाषा क्या होता है?
Programming language क्या होता है?
Programming Language के बारे में जानने से पहले हम Program, Programmer और language के बारे में जानेंगे ताकि आगे का tutorial आसानी से समझ सकें|
Program:
Instruction का ऐसा set जिसके द्वारा computer कुछ perform कर सके उसे program कहा जाता है| Program के बिना computer किसी भी काम का नहीं है| जैसे मान लीजिये आपको computer से 2 + 2 का output चाहिए तो इसके लिए computer में कैलकुलेटर बना हुआ है जिसमें पहले से program set किया गया है उसके अनुसार आपको output provide होगा|
Programmer:
वैसा person जो computer में program लिखता है यानी को code लिखता है उसे programmer कहा जाता है| Programmer को coder और software developer के नाम से भी जाना जाता है|
Ada Lovelace को first programmer का credit दिया गया था|
Language – भाषा
Communication का एक ऐसा माध्यम जिसके द्वारा हम किसी दुसरे को अपनी बात समझा कसें उसे Language (भाषा) कहा जाता है|
Programming Language
Programming language एक computer language होता है जिसका उपयोग developer या programmer के द्वारा computer को task देने के लिए किया जाता है|
साधारण शब्दों में समझें तो वैसा language जिसका इस्तेमाल computer को instruction देने के लिए किया जाता है उसे programming language कहा जाता है| Programming language का इस्तेमाल software बनाने के लिए किया जाता है|
जिस प्रकार हम इंसान एक दूसरे को अपनी बात समझाने के लिए किसी language का इस्तेमाल करते हैं ठीक उसी प्रकार अपनी बात computer को समझाने के लिए programming language का इस्तेमाल किया जाता है क्योंकि computer हम इंसानों की भाषा नहीं समझता है| Computer केवल 0 और 1 में समझता है लेकिन जो program हम लिखते हैं उसे character के फॉर्म में लिखते तो internally 0 और 1 में convert हो जाता है|
Programming language दो प्रकार के होते हैं?
- Low level language
- High level language
Low Level Language
Low level language programming language का एक type है| इस programming language में code binary (0 or 1) के form में होते हैं जो की केवल machine readable होते हैं| यह code human readable नहीं होता है|
Low level language दो प्रकार के होते हैं:
- Machine language
- Assembly language
Machine language
वैसा instruction जो की binary form में होता है जिसे CPU आसानी से read कर सकता है उसे Machine language कहा जाता है| साधारण शब्दों में कहें तो वैसा language जो machine readable हो यानी की machine के लिए बना हो उसे machine language कहा जाता है|
Machine language binary form में होते हैं| इसे programming का First generation language भी कहा जाता है| यह language human readable नहीं होता है| यह language computer to computer vary करता है मतलब की computer dependent होता है|
Advantages of machine language – Machine language के फायदे
- इसका केवल एक ही फायदा है की यह बहुत fast execute होता है क्योंकि यह पहले से ही machine readable फॉर्म में होता है जिसके कारण इसे compile और translate करने की जरुरत नहीं पडती है|
Disadvantages of machine language – machine language के नुकसान
machine language के कुछ नुकसान हैं जो की निचे दिए गए हैं:
- Difficult for programmer: यह language machine readable होता है इसलिए इसे कोई भी आसानी से समझ नहीं सकता है| इसके code generate करने के लिए programmer के पास अच्छा खासा Hardware structure के बारे में knowledge होना जरुरी है|
- Difficult to modify / change: अगर इस language में किये गए code में कोई bug (error) होता है तो उसे find करके modify करना बहुत ही मुश्किल और time consuming task है|
- Machine Dependent: अलग अलग machine का यानी की अलग अलग computer का internal structure अलग अलग बना हुआ होता है जिसके कारण machine language सभी computer में अलग अलग execute होता है that means machine language computer के internal structure पर depend करता है| अगर कोई programmer एक existing machine language program को दूसरे machine में implement करना चाहता है तो उसे पहले अलग machine language की knowledge लेनी पड़ेगी तभी उस application को change किया जा सकता है| जिस प्रकार इंसान के शारीर में अलग अलग प्रकार के blood group होते हैं और हम A+ blood group वाले इंसान को B+ blood नहीं दे सकते उसी प्रकार computer में A structure वाले computer में B structure वाले code को implement नहीं कर सकते हैं| यहाँ पर A और B example के लिए लिया गया है|
Assembly Language
Assembly language भी machine language का एक type है| इस language में एक programmer programming code को binary code के जगह symbolic code में लिखता है| Symbolic code किसी भी operation का short form होता है जैसे की Subtraction के लिए SUB, Addition के लिए ADD etc. इसलिए इस language को low level symbolic language कहा जाता है|
Assembly language को second generation programming language भी कहा जाता है| जो program assembly language में लिखे जाते हैं उसे mnemonic code के नाम से भी जाना जाता है|
Advantages of assembly language – Assembly language के फायदे
- Easy to understand and modify: इस language में लिखे गए code symbolic form में होते हैं जिससे programmer को आसानी से समझ आ जाता है इसलिए इसे आसानी से modify किया जा सकता है यानी की इसमें आसानी से bug को find किया जा सकता है|
- Efficiency of Machine language: Assembly language में लिखे गए programming code machine language से सम्बंधित होते हैं इसलिए Translation में बहुत ही कम समय लगता है|
Disadvantages of assembly language – Assembly language के नुकसान
- Machine dependent: Assembly language machine language से related होता है मलतब की machine language पर dependent होता है इसलिए इसके code अलग अलग machine में अलग अलग प्रकार से translate होते हैं जैसे की मान लीजिये एक बच्चा जब बोलना सीखता है तो वह सबसे पहले अपनी माँ का ही नाम लेता है लेकिन अलग अलग प्रकार से कोई बच्चा माँ कहता है तो कोई मम्मी कहता है तो कोई mom कहता है लेकिन सब माँ से ही related शब्द हैं उसी प्रकार assembly language हर computer में अलग अलग प्रकार से translate होने के कारण यह machine dependent होता है|
- Hardware knowledge required: इस programming code को लिखने और execute करने के लिए programmer को hardware की knowledge होना जरुरी है क्योंकि यह language machine dependent होता है इसके लिए machine का logical structure के बारे में जानकारी होना आवश्यक है |
- Time consuming: इस language में लिखे गए code machine dependent होने के कारण यह Time consuming task है|
High level language
ऐसा programming language जो की user के language में लिखा गया हो उसे High level language कहा जाता है| जैसे high level language इंग्लिश language में होते हैं जो की बिल्कुल user friendly होता है|
इस language में लिखे गए code machine independent होते हैं मतलब की same code को अलग अलग प्रकार के computer में execute कराया जा सकता है, जिसके कारण यह user friendly होने के साथ साथ बहुत आसान भी होता है|
साधारण शब्दों में कहे तो वैसा language (वैसी भाषा) जो human readable यानी की human के language में हो उसे High Level Language कहा जाता है|
High level programming language के कुछ example जो की निचे दिए गए हैं:
High level language English language में लिखे जाते हैं जैसे की cout, cin, print, echo etc. परन्तु सभी high level language के लिखने का रूल और grammar अलग अलग होता है उसे उस language का syntax कहा जाता है| High level language human readable होता है जिसके कारण computer को समझने के लिए उसे translate करना पड़ता है| सभी high level language के पास अपना अपना translator होता है जिसके द्वारा high level language को machine language में convert किया जाता है मतलब की 0 और 1 के फॉर्म में convert किया जाता है|
Advantages of High level language – High level language के फायदे
High level language के निम्नलिखित फायदे हैं जो की निचे दिए गए हैं:
- Easy to learn, understand and write: High level language human के language में होता है जिसके कारण इसे सीखना बहुत ही आसान होता है और इस language में एक programmer के द्वारा लिखे गए code दूसरे programmer को भी आसानी से समझ में आ जाता है क्योंकि यह simple English language में होता है| Human language में होने के कारण बहुत ही कम समय में आसानी से program लिखा जा सकता है और बहुत ही fast कोई भी software develop किया जा सकता है|
- Easy to detect and remove errors: Human readable होने के कारण, program में आसानी से error को ढूंढा (detect किया) जा सकता है और उसमें से error को भी आसानी से remove किया जा सकता है|
- Machine independent: High level language machine independent होता है मतलब की high level language में लिखे गए program को आसानी से अलग अलग computer में execute कराया जा सकता है|
- Many Built-in library functions: High level language में बहुत सारे functions पहले से ही बने होते हैं जो की अलग अलग प्रकार के task के लिए अलग अलग functions available होते हैं जिसके कारण programmer का काफी समय बच जाता है|
Disadvantage of High level language – High level language के नुकसान
- Less Efficiency: High level language में लिखे गए code को हमेशा translate होने की जरुरत पड़ती है जिसके कारण इसका execution slow होता है और कार्य machine language के अपेक्षा slow हो जाता है|
- More memory space: जब high level language में लिखे गए program compile और interpret होते हैं तब उन्हें temporary store करने के लिए मेमोरी space की आवश्यकता पडती है जिसके कारण high level language ज्यादा memory consume करता है|
High level language को कुछ parts में divide किया गया है वो इस प्रकार हैं:
- Procedural language
- Non-procedural language
- Object oriented programming language
इन तीनो language के बारे में हम अगले tutorial में विस्तार से पढेंगे|
Video Tutorial
Read Also:
Leave a Reply