Search This Blog

Saturday, September 10, 2011

What is programming language?

Program आदेशो की वो कड़ी होता है जिसकी पालना कंप्यूटर करता है | एक साधारण सी बात भी कंप्यूटर को समझाने के लिए इस प्रकार लिखनी पड़ती है की कंप्यूटर समझ सके | जो भाषा कंप्यूटर समझता है उसे हम प्रोग्रामिंग भाषा कहते है| प्रोग्रामिंग भाषा और हमारी भाषा में कही भिन्नताए होती है | हमारी भाषा में एक ही बात को विभिन्न प्रकार से बोल सकते है, जैसे की हमे किसे को चाय पे बुलाना हो तोह हम कह सकते है: तुम मेरे यहाँ चाय पीने चलो या आओ मेरे घर पर चाय पीते है या फिर पूछ सकते है की क्या चाय पीओगे ?,आओ मेरे घर चले .कंप्यूटर की भाषा इस प्रकार नहीं होती | उसे सीधी सीधी बात (बिना लाग लपेट) समझ में आती है | कंप्यूटर इसमें बहुत स्पष्ट है की भाषा में क्या होना चाहिए और क्या नहीं | साथ ही साथ उसको भाषा का व्याकरण भी एक दम शुद्ध चाहिए|


कंप्यूटर के व्याकरण के नियम भी एक दम स्पष्ट है |इसमें यह बताया गया है की प्रोग्राम में कौन से शब्दो का प्रयोग होगा , उसको किस प्रकार लिखा जायेगा जैसे loops, branches, और subroutines कैसे लिखे जायेगे .सही तरीके से लिखा प्रोग्राम वोह होता है जो सफलता पूर्ण तरीके से compile या execute हो सके|


तो, एक सफल प्रोग्रामर बनाने के लिए, आपको पूरी तरीके से प्रोग्राम के व्याकरण को सिखना होगा |

सफल प्रोग्रामर कैसे बने ?

प्रोग्रामिंग भाषा का इतिहास:

वैसे तो प्रोग्रामिंग भाषा का इतिहास बहुत पुराना है , पर में आपको ७० के दशक में ले जाना चाहूंगा , जब प्रोग्रम्मेर 0 और 1 ,binary भाषा में प्रोग्राम लिखा करते थे | फिर आई अस्सेम्ली भाषा , जो आज भी कही कॉलेज में मिक्रोप्रोसस्सर विषय में पढाई जाती है | यह भाषा एक ट्रांसलेटर के रूप में काम करती थी , जैसे जो भी हम अस्सेम्ब्ली भाषा में लिखते थे वो 0 और 1 (मशीनी भाषा ) में परिवर्तित हो जाता था , इसका फायदा यह था की प्रोग्रम्मेर को अब हर शब्द के कोड (जैसे 5 नंबर का binary कोड होता है 1 0 1 )याद रखने की जरूरत नहीं थी , वोह सिर्फ अस्सेम्ब्ली भाषा के कुछ कमांड याद रखते थे जो binary से बहुत आसन थे क्युकी वो नंबर और अक्षर वैसे ही थे जैसे अंग्रेजी में होते है | आज भी अगर आप में से कुछ जो hacking विषय में जानकारी रखते है , या प्रोग्राम को समझने के लिए उसको debug करते है , उनका इस भाषा से सामना होता रहता है |

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

इस समस्या का समाधान compiler ने किया | और इसमें c भाषा का सबसे बड़ा योगदान है | यह भाषा अस्सेम्ब्ली भाषा से बहुत ज्यादा आसान थी , और इसमें कोड का दुबारा प्रयोग भी किया जा सकता था | साथ ही साथ compiler मशीन के हिसाब से इसको compile करने का काम कर देता था |

आज की भाषाए c से काफी मिलती जुलती है इसीलिए सभी कंप्यूटर पढने वाले लोगो को c के बारे में जरूर पढाया जाता है | लेकिन c भाषा की भी कुछ सिमाय थी , और सबसे बड़ी समस्या थी प्रोग्राम की सुरक्षा | जो एक प्रोग्राम के लिए सबसे अहम है |

फिर आई c ++ जो c का ही एक नया रूप था पर यह एक पूरी तरीके से ऑब्जेक्ट oriented भाषा थी | C ++ वैसे तो एक पूर्ण भाषा है लेकिन इसको भी हर नयी मशीन के लिए अलग से compile करना पड़ता है |

इसका समाधान है जावा , जिसने इस मशीन वाली समस्या से निजात पाने के लिए एक नया तरीका खोजा | जावा ने खुद की एक कृतिम मशीन तैयार की और उसका नाम JVM( Java virtual machine) रखा | इसका फायदा यह हुआ की अगर कंप्यूटर में जावा कृतिम मशीन डाल दी जाए तो प्रोग्राम को बार बार compile नहीं करना पड़ता |





10 comments:

  1. nice sir and thanks apne blog me itna important part dene ke liye.

    ReplyDelete
  2. nic sir kuch hacking ke bare me bhi jankari dijiyega......
    Thanx

    ReplyDelete
  3. Dear Aahsaon...for learning basics of hacking you can read this article http://5steps2hack.blogspot.in/2008/07/learn-hacking-in-5-easy-steps.html

    ReplyDelete
  4. hello sir ji !

    ab hme network ki hacking bi btaiye

    ReplyDelete
  5. sorry to say here but computer does not understand programming language, but only binary language.

    ReplyDelete
    Replies
    1. Satish Ji, Yes, you are right that computer understands only binary language and I mentioned the same in History of programming languages where I clearly states that how compilers came into existence and what was their importance back then.But, if you insist, I want to clarify all readers from this comment that programming languages such as Java, c or C++ are high level languages and after compilation they all get translated as binary language which computer understands using transistor and resistors. In engineering courses, we assign to design these circuits in Microprocessor Lab.

      Delete
  6. Thanks sir ji.
    aap n meri bahut badhi problem solve kar di.

    ReplyDelete
  7. hello sir,
    i am very much intrested on java but how and from where to start so i can understand....im totally new in this field..i know only MS Office, not more than that,
    i want to be a progarmmer and belive on perfection ...
    please guide me.
    thanks and regards
    prakash

    ReplyDelete
    Replies
    1. prakash pehle english theek se likhna seeikho dost

      Delete