20 मार्च 2010

WizBang - बनायें खुद को तार्किक स्तर पर बेहतर

Wizbang_logo
कई students, programming language के syntax और semantics को तो सीख लेते हैं पर किसी programming problem को solve नही कर पाते, यह समस्या इसलिए आती हैं क्यूंकी उन्होने सिर्फ़ programming language को सीखने पर ध्यान दिया है खुद को logical स्तर पर मजबूत नही बनाया| अधिकतर छात्र यह भूल जाते हैं की programming language में logic को syntax का प्रयोग करते हुए लिखा जाता है जब तक आपके पास किसी problem को solve करने का logic नही होगा आप प्रोग्राम नही लिख सकते|
logical ability (तार्किक क्षमता) बढ़ाने के लिए ही किसी भी प्रोग्रामिंग कोर्स को प्रारंभ करने से पहले flow chart सिखाए जाते हैं, उसके बाद psuedo code और सबसे आख़िर में syntax और semantics. ऐसा देखा गया है की flow chart बनाते समय students उनको अच्छी तरह से visualize नही कर पाते और ऐसा flow chart बनाते हैं जो problem को ठीक से solve नही करता या फिर ग़लत solve करता है|
students ठीक से visualize कर सकें इसके लिए कोई ऐसा software होना चाहिए जो logic को visually रन कर सके, ऐसे ही किसी softwareकी तलाश में मैने sourceforge.net को खंगाला तो एक बेहतरीन सॉफ्टवेर मेरी निगाह मे आ गया जिसका नाम है WizBang.

क्या है WizBang?

WizBang एक visual programming environment प्रदान करता है जिससे procedural programming language (सी व अन्य) को सिखाना तथा सीखना दोनों ही आसान हो जाता है, इसमें हमें program को लिखना नहीं पड़ता बल्कि हम visual elements का प्रयोग करके program को बनाते हैं| हर element को "wizzy" कहा जाता है जो program के logic और flow को प्रदर्शित करता है, हर "wizzy" procedural programming language के एक control structure का अनुरूप होता है जैसे conditional block, loop, assignment operation या फिर function call. programmer program को visually बनाता है जिसको WizBang में ही रन किया जा सकता है, पर इससे भी अच्छा है program के flow को visually दिखाना जिससे program कैसे काम कर रहा है यह समझने में आसानी रहे, इसके अलावा आप program को अन्य procedural language (सी, सी++, जावा, python इत्यादि) के source code में भी बदल सकतें हैं|

WizBang का इतिहास

Lowa State University के एक project based software course के लिए WizBang को प्रारंभ किया गया, यह कोर्स Dr. Simanta Mitra के द्वारा पढ़ाया जा रहा था. मुख्य रूप से तीन छात्रो को इस प्रॉजेक्ट के लिए चुना गया (Alex Kharbush, Bao Nguyen, and Chad Bibler). इस प्रॉजेक्ट पर बहस के दौरान Alex ने एक Laguage Parser बनाने का सुझाव रखा जो किसी Source Code को Visually Represent कर सके, पर अंत में यह निर्णय लिया गया कि ऐसा program बनाना आसान नही है और यह दिए गये समय में नही हो पाएगा. तब उन्होने इसके विपरीत दिशा में सोचना प्रारंभ किया और एक ऐसा प्रोग्राम बनाने का निर्णय लिया जो visual representation को Source Code मे बदलने की क्षमता रखता हो और नतीज़ा आया "WizBang".

Development Details

Language: C++
Graphical User Interface: Nokia's Qt Toolkit
Developer: Chad Bibler

कैसे कार्य करें?


  1. जितने भी variable का प्रयोग आप करना चाहते हैं उनको बना Data Explorer तथा Property Inspector की सहायता से बना लें, (दोनों चित्र 1 में दिखाए गए हैं)
    property inspector & Data Explorer
  2. Wizzy की सहायता से एक फ्लोचार्ट बना लें, (चित्र 2)
    wizzy of wizbang
  3. लॉजिक के अनुसार आपस में Arrow की सहायता से जोड़ दें (चित्र 3)
    Flow Chart using wizbang
  4. Debug तथा Run करने के लिए, चित्र 4, में दिए गये Tools का प्रयोग करें
    debug & Run
  5. परिणाम (Result) आप नीचे दिए गये चित्र में देख सकते हैं
    wizbang
  6. उपयोग:


    • यदि आप अभिभावक हैं तो अपने बच्चों के तर्किक शक्ति के विकास में आप इस का उपयोग कर सकतें हैं
    • यदि आप विद्यार्थी हैं तो प्रोग्राम्मिंग को अच्छी तरह सीखने के लिए आप इसका प्रयोग कर सकतें हैं
    • हाइ स्कूल तथा इंटर मीडीएट के विद्यार्थी कलन (फ्लो चार्ट) सीखने के लिए इसका प्रयोग कर सकते हैं
    • B.TECH. / M.TECH. के विद्यार्थी WizBang के source code का प्रयोग कर के इसको और extend कर सकते हैं और इसको अपने final year के project की तरह प्रयोग कर सकते हैं

05 मार्च 2010

गूगल गो

जैसा की हम सभी जानते हैं की गूगल हमेशा कुछ न कुछ नया लाता ही रहता है, इस बार गूगल लाया है एक नयी प्रोग्रामिंग भाषा "गूगल गो". बहुत कम लोग इस बात को जानते होंगे की यह नयी प्रोग्रामिंग भाषा उस २०% समय में बनी है जो गूगल अपने सभी employee को कुछ नया करने के लिए देता है.
क्या है "GO"?
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 दोनों को फ़ायदा होना निश्चित है.
महत्त्वपूर्ण बदलाव
  • 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 कर सकते हैं
इसके अलावा भी कई बदलाव है जिनको समय-समय पर लिखता रहूँगा, अभी इतना ही

LinkWithin

Related Posts Plugin for WordPress, Blogger...