VisualWorks
विजुअलवर्क्स (पूर्व में ऑब्जेक्टवर्क्स, बाद में सिनकॉम स्मॉलटॉक) स्मॉलटॉक भाषा का एक क्रॉस-प्लेटफ़ॉर्म कार्यान्वयन है। इसे छवियों पर आधारित एक विकास प्रणाली के रूप में लागू किया जाता है, जो सॉफ्टवेयर वस्तुओं के गतिशील संग्रह हैं, जिनमें से प्रत्येक एक प्रणाली छवि में निहित है। विजुअलवर्क्स की वंशावली ज़ेरॉक्स पी. ए. आर. सी. द्वारा पहले स्मॉलटॉक-80 कार्यान्वयन में वापस जाती है। 1980 के दशक के अंत में, स्मॉलटॉक-80 डेवलपर्स के एक समूह ने एक वाणिज्यिक उत्पाद के रूप में स्मॉलटॉक-80 को और विकसित करने के लिए पार्क प्लेस सिस्टम को बंद कर दिया। वाणिज्यिक उत्पाद को शुरू में ऑब्जेक्टवर्क्स और फिर विजुअलवर्क्स नाम दिया गया था। 31 अगस्त, 1999 को विजुअलवर्क्स उत्पाद को सिनकॉम सिस्टम्स को बेच दिया गया था। विजुअलवर्क्स विंडोज, मैकओएस, लिनक्स और कई यूनिक्स संस्करणों सहित कई ऑपरेटिंग सिस्टम के तहत चलता है। विजुअलवर्क्स अपनी अंतर्निहित बहु-मंच सुविधाओं के कारण क्रॉस-प्लेटफ़ॉर्म विकास परियोजनाओं का समर्थन करता है। उदाहरण के लिए, एक ग्राफिकल यूजर इंटरफेस (जी. यू. आई.) अनुप्रयोग को केवल एक बार विकसित करने की आवश्यकता होती है, और फिर इसे विभिन्न विजेट शैलियों में बदला जा सकता है। विजुअलवर्क्स एप्लिकेशन को बिना किसी संशोधन के सभी समर्थित प्लेटफार्मों पर चलाया जा सकता है। केवल आभासी मशीन मंच पर निर्भर है। लाभ और कमियां विजुअलवर्क्स बहुत तेजी से अनुप्रयोग विकास की अनुमति देता है, क्योंकि व्यक्तिगत तरीकों को तब भी संकलित किया जा सकता है जब विकसित किया जाने वाला कार्यक्रम चल रहा हो। स्मॉलटॉक विधि को संकलित करने में आम तौर पर एक सेकंड से भी कम समय लगता है, जबकि सी + + परियोजना के लिए ऐसा करने में अक्सर एक मिनट या उससे अधिक समय लगता है, और प्रक्रिया को फिर से शुरू किए बिना आसानी से नहीं किया जा सकता है। विजुअलवर्क्स के विभिन्न कोड ब्राउज़र डेवलपर को जल्दी से किसी वर्ग या रुचि की विधि का पता लगाने में मदद करते हैं। स्मॉलटॉक प्रोग्रामों का प्रदर्शन और थ्रूपुट सी + +, फोरट्रान, पास्कल, या ए. डी. ए. जैसी स्थिर भाषाओं के प्रदर्शन तक पहुँच सकता है, जो अक्सर उपयोग किए जाने वाले प्रकारों के लिए विशेष मशीन कोड उत्पन्न करके एक जस्ट-इन-टाइम कंपाइलर का उपयोग करता है, लेकिन संख्यात्मक प्रसंस्करण और प्रोग्राम जो सटीक मेमोरी लेआउट से लाभान्वित होते हैं, वे अभी भी धीमी गति से चल सकते हैं। पीढ़ीगत कचरा संग्राहक अधिकांश संग्रह विरामों को कम करता है, लेकिन कठिन वास्तविक समय और निर्धारकता आवश्यकताओं के लिए उपयुक्त नहीं हो सकता है, जब तक कि पूर्ण संग्रह हो सकता है, जो दुनिया को दसियों से सैकड़ों मिलीसेकंड के लिए रोक सकता है, जो ढेर के आकार के समानुपाती है। हालांकि, एक वस्तु-उन्मुख भाषा में हाथ से स्मृति प्रबंधन की तुलना में कचरा संग्रह बेहतर है, और प्रोग्रामर यह नियंत्रित करने के लिए विभिन्न कार्रवाई कर सकता है कि कचरा संग्रह कब और कितने समय तक होता है; इसलिए अधिकांश परिस्थितियों में, कचरा संग्रह एक चिंता का विषय नहीं है। स्थापना विजुअलवर्क्स प्रणाली के सभी घटक विंडोज 7 या उसके बाद के प्रोग्राम फाइल्स\सिंकॉम निर्देशिका में स्थापित किए जाते हैं जिसका नाम स्थापित प्रणाली के संस्करण संख्या के नाम पर रखा जाता है-उदाहरण के लिए, vw7.5nc। इस निर्देशिका में बिन, डॉक, उदाहरण और कई अन्य सहित कई उप-निर्देशिकाएँ हैं। माउस बटन और मेनू विजुअलवर्क्स एक तीन-बटन वाले माउस को मानते हैं जिसमें बटनों के तार्किक नाम <चयन करें>, <संचालन करें>, और <विंडो> हैं। हालांकि, एक या दो बटन वाले माउस का उपयोग सी. टी. आर. एल., विकल्प या कमांड कुंजी के साथ किया जा सकता है। <सेलेक्ट> किसी भी इंटरफेस ऑब्जेक्ट का चयन करता है। <ऑपरेट> वर्तमान दृश्य/चयन के लिए संचालन का एक मेनू लाता है। <विंडो> विजुअलवर्क्स खिड़कियों पर क्रियाएँ (स्थानांतरित करें, बंद करें) शुरू करता है। फ़ाइल-इन प्रारूप पाठ फ़ाइलों के रूप में वर्गों का प्रतिनिधित्व करने के लिए मूल स्मॉलटॉक प्रारूप है। इन्हें विजुअलवर्क्स आई. डी. ई. में "दाखिल" किया जा सकता है ताकि कोई भी वर्ग उत्पन्न किया जा सके जो पहले से ही स्मॉलटॉक छवि में निहित नहीं है। प्रत्येक फाइल-इन दस्तावेज़ एक पाठ फ़ाइल में एक. प्रथम प्रत्यय के साथ एक स्मॉलटॉक वर्ग, या वर्गों का एक सरल पाठ्य प्रतिनिधित्व प्रदान करता है। यह अभी भी विजुअलवर्क्स में समर्थित है, लेकिन एक पार्सल तंत्र द्वारा प्रतिस्थापित किया गया है। उदाहरण उप-निर्देशिका में फाइल-इन प्रारूप में उदाहरण हैं। पार्सल पैकेज के बाहरी फ़ाइल प्रतिनिधित्व हैं। एक उदाहरण ब्राउज़र उदाहरण निर्देशिका में एक पार्सल के रूप में प्रदान किया गया है। इमेज स्टार्टअप पर पार्सल लोडिंग निर्दिष्ट करने के लिए कई इमेज स्तर के स्विच उपलब्ध हैं। पार्सल पथ उन निर्देशिकाओं की सूची है जहाँ विजुअलवर्क्स पार्सल की तलाश करता है। इसे सिस्टम सेटिंग टूल का उपयोग करके सेट किया जा सकता है। पार्सल विजुअलवर्क्स के लिए घटक प्रौद्योगिकी प्रदान करते हैं। पैकेज और बंडल कोड को व्यवस्थित करते हैं और पार्सल की सामग्री को मॉडल करते हैं। पार्सल पैकेजों/बंडलों को प्रकाशित करके बनाए जाते हैं। विजुअलवर्क्स क्षेत्र में घटक शब्द का उपयोग पार्सल, पैकेज और बंडलों को संदर्भित करने के लिए किया जाता है जब विशिष्ट होना आवश्यक नहीं होता है। लोडिंग पर पार्सल कोड का संगठन इसके निर्माण से निर्धारित होता है। यदि यह एक पैकेज प्रकाशित करके बनाया गया था, तो इसे उसी पैकेज में लोड किया जाता है। यदि एक बंडल से बनाया जाता है, तो इसे बंडल के रूप में या एक पैकेज के रूप में फिर से लोड किया जा सकता है। एक पैकेज के लिए भार अनुक्रम हैः किसी भी पूर्व-आवश्यक घटकों को लोड किया जाता है। कोई भी परिभाषित पूर्व-भार क्रिया की जाती है (जैसे। अघोषित चर आरंभीकृत)। पैकेज में वस्तुएँ स्थापित की जाती हैं। पार्सल में प्रत्येक वर्ग को लोडः पैकेज, और किसी भी कार्रवाई को निष्पादित करने के बाद संदेश भेजा जाता है। यह अक्सर एक अनुप्रयोग लॉन्च होता है। पार्सल प्रबंधक का उपयोग पार्सल पथ पर सभी पार्सल को लोड करने और उतारने के लिए किया जाता है। एक सुझाव दृश्य प्रमुख ऐड-इन पार्सल वाली श्रेणियों को सूचीबद्ध करता है-एक श्रेणी का चयन करके, आपको अनुशंसित पार्सल की एक सूची मिलती है। उदाहरण के लिए, यू. आई. पेंटर एसेन्शियल्स श्रेणी में स्थित है। सुझाव दृश्य के बाहर पार्सल खोजने के लिए, पार्सल पथ का एक निर्देशिका-वृक्ष दृश्य भी है। एक लोडेड दृश्य छवि में पहले से मौजूद सभी पार्सल को सूचीबद्ध करता है। केवल भरे हुए पार्सल ही देखे जा सकते हैं। एक समर्थित विजुअलवर्क्स उत्पाद पार्सल को एक आइकन द्वारा दर्शाया जाता है जो एक पार्सल की तरह दिखता है। अन्य विक्रेताओं के पार्सल खरीदारी के थैले की तरह दिखते हैं। स्मॉलटॉक वर्ग के विकास के जटिल इतिहास के कारण यह बहुत उपयोगी हो सकता है। उदाहरण के लिए, एक पार्सल आइकन इंगित करता है कि आर्बर हाइपरटेक्स्ट सिस्टम अब विजुअलवर्क्स समर्थित है। एप्लिकेशन से प्रोग्रामिक रूप से पार्सल भी लोड और अनलोड किया जा सकता है। पैकेज जब किसी पार्सल को लोड किया जाता है तो उसे पैकेज या पैकेज के बंडल के रूप में व्यवस्थित किया जाता है। जब किसी पार्सल से लोड किए गए कोड की तलाश की जाती है, तो सिस्टम ब्राउज़र में उसी नाम के बंडल या पैकेज का पता लगाया जा सकता है। पैकेज वे श्रेणियाँ हैं जो घटकों के अनुसार संबंधित समूहों में कक्षाओं को व्यवस्थित करती हैं। पैकेज को बंडलों में बांटा जा सकता है। पैकेज और बंडलों को पार्सल के रूप में सहेजा (प्रकाशित) जा सकता है, या स्रोत कोड भंडार में सहेजा जा सकता है। कोड पुस्तकालयों को लोड किया जा रहा है प्रारंभिक visual.im छवि में बुनियादी वर्ग पुस्तकालयों का उपयोग करके न्यूनतम विकास सुविधाएं हैं। अतिरिक्त वर्ग पुस्तकालयों को विजुअलवर्क्स या तीसरे पक्ष के विक्रेताओं द्वारा प्रदान किया जाता है, आमतौर पर पार्सल फ़ाइलों के रूप में। अधिकांश गैर-स्मॉलटॉक विकास वातावरणों के लिए, कोड पुस्तकालयों को संकलन समय पर आयात किया जाता है, जिसमें एक शामिल कमांड का उपयोग किया जाता है। स्मॉलटॉक में, कोड पुस्तकालयों को रनिंग सिस्टम में लोड किया जाता है, और वे पर्यावरण का हिस्सा बन जाते हैं। उदाहरण के लिए, यू. आई. पेंटर को एक पार्सल के रूप में लोड किया जाता है। विजुअलवर्क्स लॉन्चर विजुअलवर्क्स लॉन्चर, जिसे आमतौर पर केवल लॉन्चर कहा जाता है, विजुअलवर्क्स प्रणाली के लिए नियंत्रण केंद्र है। यह सभी प्रमुख उपकरणों के लिए लॉन्च पैड है। स्मॉलटॉक एक शुद्ध वस्तु उन्मुख प्रोग्रामिंग भाषा है, जिसका अर्थ है कि स्मॉलटॉक के भीतर कुछ होने का एकमात्र तरीका वस्तुओं को संदेश भेजना है। विजुअलवर्क्स मानक के रूप में स्मॉलटॉक-80 भाषा का उपयोग करता है, लेकिन अपने स्वयं के वर्गों और विधियों के साथ आता है। इसलिए बुनियादी वर्ग भी, जैसे ऑब्जेक्ट, अन्य स्मॉलटॉक-80 आई. डी. ई. जैसे स्क्वीक और डॉल्फिन स्मॉलटॉक से अलग हैं। यहाँ के सचित्र उदाहरण विजुअलवर्क्स स्मॉलटॉक में काम करते हैं, लेकिन अन्य स्मॉलटॉक्स में काम नहीं कर सकते हैं क्योंकि वर्ग और/या विधियाँ भिन्न हो सकती हैं। स्मॉलटॉक कोड ब्राउज़ करना और संपादित करना पारंपरिक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग वातावरण में एक डेवलपर सीधे वर्ग और विधि परिभाषाओं वाली एक सादे पाठ स्रोत कोड फ़ाइल का संपादन करता है। विजुअलवर्क्स में, सभी लघु कथाओं की तरह, सब कुछ एक निष्पादन वस्तु है, जिसमें वर्ग भी शामिल हैं। ब्राउज़िंग स्मॉलटॉक वर्गों में विकासकर्ता वस्तुओं को निष्पादित करने से परिभाषित करता है। विजुअलवर्क्स में मुख्य ब्राउज़र/संपादक सिस्टम ब्राउज़र है। यह डेवलपर को समग्र वर्ग पदानुक्रम में या उनके पैकेजों के माध्यम से कक्षाओं को ब्राउज़ करने की अनुमति देता है। इसे विजुअलवर्क्स लॉन्चर से लॉन्च किया गया है। सिस्टम ब्राउज़र में सूची फलक डेवलपर्स को वर्ग और विधि परिभाषाओं पर नेविगेट करने की अनुमति देते हैं। फिर उन्हें कोड दृश्य में देखा या संपादित किया जा सकता है, या नई परिभाषाओं के साथ संशोधित किया जा सकता है। अघोषित चर जब एक चर को हटा दिया जाता है जबकि उसके संदर्भ अभी भी मौजूद होते हैं, या एक पार्सल के माध्यम से लोड किया जाता है लेकिन कभी घोषित नहीं किया जाता है, तो इसका नाम अघोषित नाम स्थान में प्रवेश करता है। अघोषित चर कुछ प्रोग्राम त्रुटियों का कारण बन सकते हैं। विजुअलवर्क्स पर स्ट्रिंग और फाइल्स सिनकॉम का पहला ट्यूटोरियल बताता है कि सर्वर लॉग फ़ाइलों में हेरफेर करने के लिए विजुअलवर्क्स का उपयोग कैसे किया जा सकता है। यह दर्शाता है कि कैसे स्ट्रिंग्स और फाइलों जैसी चीजों को विजुअलवर्क्स के भीतर ऑब्जेक्ट संरचना में आसानी से शामिल किया जा सकता है। स्मॉलटॉक अभिव्यक्तिः 'ws000101.log' के रूप में फ़ाइलनाम संपादन पर विचार करें, ऑपरेट मेनू में एक कमांड का उपयोग करके विज़ुअलवर्क्स कार्यस्थल में इस अभिव्यक्ति का मूल्यांकन किया जा सकता है। यह बनाता हैः वर्ग बाइटस्ट्रिंग का एक ऑब्जेक्ट जिसमें स्ट्रिंग (बाइट्स के रूप में) और इसे हेरफेर करने के तरीके होते हैं; वर्ग एनटीएफएस फाइलनाम का एक ऑब्जेक्ट (विंडोज एक्सपी में); और एक संपादक ऑब्जेक्ट। बाद वाला एक साधारण नोटबुक जैसा संपादक है जिसमें फ़ाइल की सामग्री होती है। अर्थात्, मूल्यांकन ने फ़ाइल ws000101.log के प्रवेश द्वार के रूप में एक फ़ाइल नाम वस्तु बनाई और उस पर एक संपादक खोला। संपादक अपने आप में एक वस्तु है, जैसा कि इसके सभी घटक हैं (इसके मेनू में वर्णों को शामिल करते हुए)। स्रोत कोड इन सभी वस्तुओं के लिए उपलब्ध है, और विजुअलवर्क्स में स्थिर या गतिशील मोड में कोड का मूल्यांकन और निरीक्षण करने के लिए निरीक्षकों, ब्राउज़रों और अन्य उपकरणों की अधिकता है। ट्यूटोरियल अक्सर सिनकॉम स्मॉलटॉक के लिए तैयार किए जाते हैं, और एक सीसाइड ट्यूटोरियल मौजूद है। संदर्भ बाहरी लिंक, सिनकॉम विजुअलवर्क्स विकी यू. आई. यू. सी. पर संग्रहीत archive.org एकीकृत विकास वातावरण स्मॉलटॉक प्रोग्रामिंग भाषा परिवार