जैसा की हम सभी जानते हैं की गूगल हमेशा कुछ न कुछ नया लाता ही रहता है, इस बार गूगल लाया है एक नयी प्रोग्रामिंग भाषा "गूगल गो". बहुत कम लोग इस बात को जानते होंगे की यह नयी प्रोग्रामिंग भाषा उस २०% समय में बनी है जो गूगल अपने सभी employee को कुछ नया करने के लिए देता है.
क्या है "GO"?
GO गूगल के द्वारा बनाई गयी एक open source programming language है. गूगल के अनुसार यह आसान, तेज, सुरक्षित, मजेदार और concurrent programming language है. यदि कोई सी और सी++ पर कम करना जानता है तो GO पर भी कर सकता है, क्यूंकि यह वही syntax को प्रयोग करता है. इसमें garbage collection को भी शामिल किया गया है.
GO गूगल के द्वारा बनाई गयी एक open source programming language है. गूगल के अनुसार यह आसान, तेज, सुरक्षित, मजेदार और concurrent programming language है. यदि कोई सी और सी++ पर कम करना जानता है तो GO पर भी कर सकता है, क्यूंकि यह वही syntax को प्रयोग करता है. इसमें garbage collection को भी शामिल किया गया है.
एक और प्रोग्रामिंग भाषा?
गूगल का मानना है की जिन भाषाओ (C, C++, JAVA etc.) का प्रयोग किया जाता है वो आज कल की application को बनाने के लिए उपयुक्त नहीं हैं, गूगल के अनुसार जिस तेजी से कंप्यूटर का विकास हुआ है उस तेजी से software development नहीं हो पा रहा है, software development के process में तेजी लाने के लिए programming languages में बदलाव जरूरी है, उदाहरण के लिए कुछ प्रोग्रामिंग भाषाएँ सी, सी++ hearder फाइल का प्रयोग करते हैं जिससे dependency analysis बढ़ जाती है और compilation धीरे होती है. यदि बात concurrency की हो तो उसके लिए प्रयोग होने वाला syntax बहुत कठिन होता है.
प्रोग्रामिंग भाषाओ में नए function डालने के लिए libraries का प्रयोग किया जाता है जबकि language खुद उन में से किसी भी function को अपने में शामिल नहीं करती, उसके लिए काफी मेहनत करनी पड़ती है.
तो गूगल के अनुसार समय बदला है और computing के तरीके भी, ऐसे समय में एक ऐसी भाषा जो compilation में आसान हो, जिसमे program लिखना आसान हो, और run भी तेजी से होती हो तो user और developer दोनों को फ़ायदा होना निश्चित है.
गूगल का मानना है की जिन भाषाओ (C, C++, JAVA etc.) का प्रयोग किया जाता है वो आज कल की application को बनाने के लिए उपयुक्त नहीं हैं, गूगल के अनुसार जिस तेजी से कंप्यूटर का विकास हुआ है उस तेजी से software development नहीं हो पा रहा है, software development के process में तेजी लाने के लिए programming languages में बदलाव जरूरी है, उदाहरण के लिए कुछ प्रोग्रामिंग भाषाएँ सी, सी++ hearder फाइल का प्रयोग करते हैं जिससे dependency analysis बढ़ जाती है और compilation धीरे होती है. यदि बात concurrency की हो तो उसके लिए प्रयोग होने वाला syntax बहुत कठिन होता है.
प्रोग्रामिंग भाषाओ में नए function डालने के लिए libraries का प्रयोग किया जाता है जबकि language खुद उन में से किसी भी function को अपने में शामिल नहीं करती, उसके लिए काफी मेहनत करनी पड़ती है.
तो गूगल के अनुसार समय बदला है और computing के तरीके भी, ऐसे समय में एक ऐसी भाषा जो compilation में आसान हो, जिसमे program लिखना आसान हो, और run भी तेजी से होती हो तो user और developer दोनों को फ़ायदा होना निश्चित है.
महत्त्वपूर्ण बदलाव
- pointer arithmetic को ख़त्म किया गया है
- Type hierarchy, अब और नहीं
- overloading methods और operator overloading ख़त्म
- implicit type conversion रुका
- header files की जगह package का प्रयोग
- मुख्य type Strings, arrays और map रखे गए हैं
- Threading और concurrent programming को programming language में ही स्थान दिया गया है
- हर variable को declaration के समय ही initialize कर दिया जाता है
- garbage collection भी programming language का ही एक feature है
- multiple parallel assignmets, ( i, j = j , i) सही है
- function कई value return कर सकते हैं
इसके अलावा भी कई बदलाव है जिनको समय-समय पर लिखता रहूँगा, अभी इतना ही
इन्हें भी पढ़ें-
प्रॉजेक्ट कैसे सेलेक्ट करें?
सीखने का एक नया माध्यम : "विडियो"
मुझे बहुत जल्दी है...
प्रॉजेक्ट कैसे सेलेक्ट करें?
सीखने का एक नया माध्यम : "विडियो"
मुझे बहुत जल्दी है...
| अगर आपको 'साइंस ब्लॉगर्स असोसिएशन' का यह प्रयास पसंद आया हो, तो कृपया फॉलोअर बन कर हमारा उत्साह अवश्य बढ़ाएँ। |
|---|

11 प्रतिक्रियाएँ:
umda lekh... badhaee swikaar karen....
धन्यवाद।
क्या यहाँ 'कॉनकरेन्ट' का वही अर्थ है जो माइक्रोप्रोसेसर, डीएसपी आदि में होता है? अर्थात एक साथ की काम करने की क्षमता। तो क्या इसे 'रीयल टाइम प्रोग्रामिंग' के लिये उपयोग करना भी सम्भव और उपयोगी है?
@anunad singh: जी हाँ, concurrent का अर्थ होता है दो या उससे ज्यादा कार्य को एक साथ करना|
जैसा आप DSP (Digital Signal Processing), microprocessor इत्यादि में करते हैं, पर और भी जगह हैं जहाँ पर concurrent processing की जरूरत पड़ती है जैसे कि gaming applications, Graphical user interface, Computer Network इत्यादि| आप शायद (Electronics & Communication) के क्षेत्र से हैं इसलिए बाकी क्षेत्रों की तरफ ध्यान नहीं दिया.
Go को Real Time Programming के लिए उपयोग में लाना संभव है पर अभी यह programming language नयी है और कोई भी कमेन्ट देना ठीक नहीं है, आप जावा, या सी, सी++ को POSIX Thread के साथ प्रयोग करके Real Time Programming कर सकते हैं
NICE POST
योगेद्र जी, साइंस ब्लॉगर्स असोसिएशन में आपका स्वागत है।
इस रोचक लेख के लिए बधाई।
आपसे एक आग्रह है कि आप अपने लेख कृपया ड्राफट रूप में ही सेव करें। मॉडरेटर द्वारा उन्हें उचित समय पर प्रकाशित किया जाता है।
वाह यह बढ़िया जानकारी है।
very informative...expecting such kind of post
शुक्रिया इस जानकारी के लिए
मेरे लेख को पसंद करने के लिए आप सभी का शुक्रिया, उम्मीद करूंगा कि आगे भी ऐसा ही लिखता रहूँ |
वैसे मेरी अगली पोस्ट अध्यापकों तथा विद्यार्थियों के लिए लाभदायक हो सकती है|
Bahut achchha likha hai aap ne yogendra ji.
In jaankari ke liye dhnywaad.
dusre bataye article bhi padhti hun abhi.
abhaar.
Post a Comment