क्या आप स्मॉलटाक सीखना शुरू करेंगे? [बन्द है]


83

मेरे सवाल सरल है!

  1. यदि आपके पास समय होता तो क्या आप स्मालटाक सीखना शुरू करते? क्यों? क्यों नहीं?
  2. क्या आप पहले से ही स्मालटाक जानते हैं? आप स्मॉलटाक को क्यों सुझाएंगे? क्यों नहीं?

निजी तौर पर मैं रूम्स प्रोग्रामर पर रूबी हूं और मुझे यह बहुत पसंद है। हालाँकि, मैं स्मॉलटाक के बारे में सोच रहा हूं क्योंकि मैंने विभिन्न ब्लॉग पढ़े हैं और कुछ लोग रूबी को "स्मॉलटॉक लाइट" जैसा कुछ कह रहे हैं। स्मॉलटाकल में दिलचस्पी रखने वाला दूसरा कारण सीसाइड है

हो सकता है कि इससे पहले भी किसी ने संक्रमण किया हो?

संपादित करें: वास्तव में, जो मुझे स्मॉलटाक / सीसाइड के बारे में सबसे ज्यादा उत्साहित करता है, वह है वेबडेवेरियो के निम्नलिखित एपिसोड: एपिसोड 52: सीसाइड पर रैंडल श्वार्ट्ज (अन्य चीजों के अलावा)

जवाबों:


62

अगर आपको रूबी पसंद है तो आप शायद स्मॉलटाक को पसंद करेंगे। IIRC Seaside को Gemstone VM में रखा गया है , जो उनके Gemstone / S OODBMS का हिस्सा है। इसमें रूबी की तुलना में बेहतर थ्रेड समर्थन है, इसलिए यह उच्च-वॉल्यूम सिस्टम के लिए एक बेहतर बैक-एंड है। इस पर कड़ी नज़र रखने के लिए यह एक अच्छा कारण हो सकता है।

स्मॉलटाक सीखने के कारण:

  • यह वास्तव में अच्छा प्रोग्रामिंग वातावरण है। एक बार जब आप अपने सिर को इसके चारों ओर ले जाते हैं (यह C ++ या जावा के लिए उपयोग किए जाने वाले लोगों के लिए एक संस्कृति झटका होता है) तो आप इसे काम करने के लिए वास्तव में अच्छा वातावरण पाएंगे। पुराने डिजिटालक जिनका मैंने उपयोग किया, उपयोग करने के लिए एक उल्लेखनीय सुखद प्रणाली है। केंट बेक और मार्टिन फाउलर जैसे कई पुराने एक्सपी और ओओ गुरु प्रकार ने दिन में वापस स्मालटाक पर अपने दांत काट लिए और कभी-कभी सार्वजनिक रूप से अच्छे पुराने दिनों के लिए तड़प सुनी जा सकती है (प्रशस्ति पत्र के लिए फ्रैंक शीयर के लिए धन्यवाद): +1: - चंचल विकास इस मंच पर उत्पन्न हुआ।

  • यह इतिहास में सबसे अधिक उत्पादक विकास प्लेटफार्मों में से एक है।

  • कई परिपक्व कार्यान्वयन मौजूद हैं और वहाँ एक आश्चर्यजनक रूप से बड़े कोड का आधार है। एक समय पर यह वित्तीय बाजार हलकों में काफी चलन में आ गया जहां डेवलपर की उत्पादकता और समय-से-बाजार काफी बड़ी बात है। 1990 के मध्य तक यह शहर में कमोबेश एकमात्र खेल था (LISP के संभावित अपवाद के साथ) यदि आप व्यावसायिक रूप से समर्थित उच्च-स्तरीय भाषा चाहते थे, जो अनुप्रयोग विकास के लिए उपयुक्त हो।

  • तैनाती आसान है - बस छवि फ़ाइल को उचित निर्देशिका में छोड़ दें।

  • वास्तव में एक कारण नहीं है, लेकिन गैंग ऑफ फोर बुक उनके कुछ उदाहरणों के लिए स्मॉलटाक का उपयोग करता है।

स्मॉलटाक सीखने के कारण नहीं:

  • यह एक आला बाजार के कुछ है। आपको काम खोजने में परेशानी हो सकती है। हालाँकि, यदि आप किसी प्रकार का .com अनुप्रयोग का निर्माण कर रहे हैं जहाँ आप सर्वर के मालिक हैं तो यह एक समस्या नहीं हो सकती है।

  • इसे कई लोगों ने विरासत प्रणाली के रूप में देखा है। प्लेटफ़ॉर्म पर अपेक्षाकृत कम नया विकास हुआ है (हालांकि सीसाइड थोड़ा पुनर्जागरण का अनुभव करता है)।

  • यह पारंपरिक स्रोत नियंत्रण प्रणालियों के साथ अच्छी तरह से नहीं खेलने के लिए जाता है (कम से कम 90 के दशक के मध्य में जब मैंने इसका इस्तेमाल किया था)। यह अभी भी हो सकता है या नहीं भी हो सकता है।

  • यह कुछ समझदार है और खुद से खेलना पसंद करता है। पायथन या रूबी को जमीन से एकीकरण के लिए बनाया गया है और यह अधिक विश्वसनीय है और इस तरह से 3 पार्टी सॉफ्टवेयर के साथ एकीकृत करना आसान है। हालाँकि, विभिन्न अन्य अधिक मुख्यधारा प्रणालियाँ इस प्रकार की असंवेदनशीलता से अधिक या कम डिग्री से ग्रस्त हैं और इससे उनका उपयोग बहुत अधिक नहीं होता है।


1
रूबी को रत्न के रूप में भी चित्रित
brian d foy

"पारंपरिक स्रोत नियंत्रण प्रणालियों के साथ अच्छी तरह से नहीं खेलने के लिए जाता है" इसका क्या मतलब है?
det

5
जिस तरह से एक पारंपरिक स्मॉलटाक संग्रहीत स्रोत कोड का मतलब था कि यह छवि और संबंधित स्रोतों और परिवर्तन फ़ाइलों के भीतर एम्बेडेड था। आपको प्रोग्राम फ़ाइलों का एक अच्छा साफ सेट नहीं मिला, जैसे आपको (कहना) सी। स्मॉलटाक सिस्टम के लिए विशेष स्मालटाक-अवेयर सोर्स कंट्रोल सिस्टम की आवश्यकता होती है, जो कि (a) मालिकाना, (b) महंगा और ( ग) सब कुछ के साथ असंगत।
कंसर्नडऑफटुनब्रिजवेल्स

1
और उम्मीद है कि मॉन्टिको इन मुद्दों के (ए) और (बी) को संबोधित करेंगे। स्क्वीक पहले से ही इसका भारी उपयोग कर रहा है, और स्क्वीकसोर्स के पास इसका उपयोग करने वाली कई परियोजनाएं हैं। हालांकि यह अभी भी मौसा है। एक बार git-Monticello परियोजनाएं वास्तव में उपयोग में हैं, (c) उम्मीद है कि यह भी रास्ते से गिर जाएगी।
फ्रैंक शियरर

2
मुझे आम तौर पर जवाब पसंद है लेकिन स्मॉलटाक थर्ड पार्टी सॉफ्टवेयर के साथ ठीक है। तथ्य यह है कि आप कई एपीआई नहीं देखते हैं क्योंकि आप तकनीकी रूप से उन्हें एकीकृत नहीं कर सकते हैं, ऐसा इसलिए है क्योंकि यह एक आला है (इसलिए कम लोगों को बाहरी सॉफ़्टवेयर की आवश्यकता है)। इस आशय का एक गौण कारण (यह भी तकनीकी नहीं है) यह है कि स्मॉलटक्कर अन्य कम-मस्ती वाली तकनीकों के बजाय स्मॉलटाक में समस्याओं से निपटना पसंद करेंगे।
सेबस्टियन सस्त्रे

46

ठीक है, चूंकि आपने मुझे नाम से उल्लेख किया है, मुझे लगता है कि मुझे इसमें झंकार करना चाहिए।

जैसा कि मैंने उस पॉडकास्ट साक्षात्कार में कहा था, और जैसा कि मैंने http://MethodsAndMessages.vox.com/ पर अपने ब्लॉग में बार-बार प्रदर्शन किया है , यह " स्मॉलटॉक का वर्ष " है। और अब पिछले दस महीनों से स्मालटाक वकालत कर रहा हूं, मैं देख सकता हूं कि यह वास्तव में हो रहा है। अधिक ग्राहक स्मॉलटाक और सीसाइड की ओर रुख कर रहे हैं, और स्मॉलटॉक विक्रेता ध्यान की इस नई आमद को पकड़ने के लिए कड़ी मेहनत कर रहे हैं। छोटे बड़े छोटे सम्मेलनों की योजना बनाई जा रही है। अधिक जॉब पोस्टिंग की जा रही हैं। अधिक ब्लॉग पोस्टिंग बनाई जा रही हैं।

यदि आप आज स्मालटाक की ओर रुख करते हैं, तो आप अकेले नहीं हैं। कई अन्य लोग भी हैं जो वहां से बाहर हैं।

संपादित करें

खैर, कई साल बाद, मैं अब डार्ट की सिफारिश कर रहा हूं । यह Google द्वारा उत्पन्न एक महान भाषा है लेकिन अब ECMA समिति के स्वामित्व में है। यह नोड.जेएस शैली में सर्वरसाइड चलाता है, लेकिन आधुनिक ब्राउज़रों में भी जावास्क्रिप्ट को ट्रांसप्लिंग करके क्लाइंटसाइड करता है। बहुत सारी अच्छी किताबें, ब्लॉग, सहायता चैनल, IDE समर्थन, सार्वजनिक लाइव पास्टबीन । मुझे लगता है कि यह निश्चित रूप से पैर मिल गया है ... इतना है कि मैं इसे या ऑनलाइन सिखाने के लिए courseware लिख रहा हूं, और मुझे पूरा यकीन है कि मेरी ओर से एक किताब या दो काम हैं। और गिल्ड ब्राचा, एक पुराने समय के स्माल्टल्कर डिजाइन में एक प्रमुख योगदानकर्ता है, इसलिए डार्ट में बहुत सारे स्मॉलटॉक हैं।


2
यही कारण है कि स्टैक ओवरफ्लो शांत है! आपके उत्तर के लिए धन्यवाद!
बजे क्रिस्टोफ शिसेल

जिज्ञासा से बाहर, क्या आप ध्यान की आमद पर विस्तृत कर सकते हैं - कोई विचार जहां से माइंडशेयर आ रहा है?
कंसर्नडऑफटुनब्रिजवेल्स

रूबी ने निश्चित रूप से मदद की, मुझे लगता है कि जावास्क्रिप्ट और ऑब्जेक्टिव-सी भी। उन लोगों के लिए जो शुद्ध OO चीज़ नहीं प्राप्त करते हैं, वे भाषाएँ एक परिचित शुरुआती बिंदु प्रदान करती हैं जिससे कोई व्यक्ति स्मालटॉक को कैसे चमका सकता है।
डेमियन पोललेट

तब सीसाइड के लोगों ने कुछ अच्छे PR, Avi Bryant के साथ DabbleDB और मेगलेप तख्तापलट रेल पर किया, और रान्डल भी काफी मुखर है :) इसके अलावा Google V8 के लार्स बक सेल्फ से आता है ... उस पर कई छोटे संकेत थे, सभी संकेत स्मालटाक और लिस्प में, भविष्य के अतीत से अजीब भाषाएं :)
डेमियन पोललेट

31

स्मालटाक सीखने के लिए एक अच्छी भाषा है, और बड़ी बात यह है कि इसे करने में केवल एक दिन लगता है। यह सिर्फ एक अकादमिक भाषा से बहुत अधिक है। लोग अरबों डॉलर से निपटने के लिए विशाल, स्केलेबल, नकल योग्य अनुप्रयोगों का निर्माण कर रहे हैं। वे सिर्फ इसके बारे में ज्यादा बात नहीं करते हैं। उदाहरण के लिए, जेमस्टोन और ओरिएंट ओवरसीज कंटेनर लाइन्स: ए शिपिंग इंडस्ट्री केस स्टडी

स्मॉलटाक सीखने के लिए सीसाइड एक अच्छा कारण है, लेकिन मुझे नहीं लगता कि आप इसे परिमाण के आदेशों से बेहतर पाएंगे।

जिस चीज ने मुझे यकीन दिलाया वह जेमस्टोन था। मुझे वास्तव में जेमस्टोन का ग्लास (जेमस्टोन, लिनक्स, अपाचे, स्मॉलटाक, सीसाइड) पसंद है। उस का हत्यारा भाग जेमस्टोन है, जो आपके बारे में बिना सोचे-समझे अधिकतर आपके लिए सभी वस्तु दृढ़ता को संभालता है। उनके कुछ प्रदर्शनों को देखकर और सुनने के बारे में कि लोग जेमस्टोन के साथ क्या कर रहे हैं, ने मेरे विचार को "बड़े अनुप्रयोग" के रूप में रीसेट कर दिया।

रेल के बारे में मुझे सबसे ज्यादा परेशान करने वाला हिस्सा ऑब्जेक्ट-रिलेशनल मैपिंग है। यह रूबी के खिलाफ कुछ भी नहीं है क्योंकि यह GLORP (जो कि स्मॉलक्रेक के लिए ActiveRecord को संभालती है), या पर्ल, या कुछ और के रूप में मुश्किल से बेकार है। डेटाबेस तालिकाओं के लिए वस्तुओं को मैप करना सिर्फ दर्दनाक है। जेमस्टोन के साथ, डेटाबेस के बारे में सोच गायब हो जाती है, इसलिए डेटाबेस के साथ काम भी गायब हो जाता है। यह एक विशाल पत्थर की तरह है (या बंदरों की एक टुकड़ी) मेरी पीठ से छीन लिया जाता है।


1
काश मैं दो बार मतदान कर पाता ... मैं पूरी तरह से सहमत हूं।
सेबास्टियन रोक्कासेरा

1
ORM पर ODB की श्रेष्ठता दिखाने के लिए +1। एक से दूसरे में जा रहा है निश्चित रूप से कुछ आप महसूस
ryan0

16

> एक ऐसा स्मॉलटॉक डेवलपमेंट एनवायरनमेंट नहीं मिल सका, जिसमें हथियार और पैर दोनों का खर्च न हो

गूगल - मुक्त छोटे

सिनकॉम स्मॉलटॉक, स्क्वीक, जीएनयू स्मॉलटॉक


चीख़ वाकई बहुत अच्छी है! शुद्ध OOP, पूरी तरह से ग्राफिक, प्यारा यूजर इंटरफेस, खुला स्रोत (इस पर कुछ असहमत), कम या ज्यादा पोर्टेबल ...
जो Pineda

1
स्क्वीक के लिए +1, और इसमें शुरुआती लोगों के लिए एक अच्छी मेलिंग सूची के साथ एक महान समुदाय है।
सेबास्टियन रोक्कासेरा

+1 स्क्वीक के लिए, ऑब्जेक्ट एक्सप्लोरर (या जो भी इसे कहा जाता है) सीखने के लिए अमूल्य है कि ऑब्जेक्ट मॉडल कैसे काम करता है।
मौरिसियो शेफ़र

4
फेरो मुफ्त है और सभी आधुनिक उपकरण हैं ..
डैफिड रीस

15

लर्निंग स्मालटाक आपको ओओ (एलन के) का आविष्कार करने वाले व्यक्ति के दृष्टिकोण से ऑब्जेक्ट ओरिएंटेड सॉफ़्टवेयर डेवलपमेंट में ग्राउंडिंग देगा। ओवरलैपिंग खिड़की के वातावरण का विचार स्मालटाक से आया था।

स्मॉलटाक सीखने के लिए एक अड़चन ब्लॉक यह है कि यह प्रवाह नियंत्रण के लिए एक अजीब सिंटैक्स के साथ एक संदेश पासिंग सिस्टम है:

i < 60
   ifTrue: [ self walk ]

इसकी एक बहुत ही परिपक्व श्रेणी की लाइब्रेरी है जिसमें एक स्थिरता है मैंने बहुत सारे स्थान नहीं देखे हैं। सभी वातावरणों में वर्ग पुस्तकालय (यहां तक ​​कि वाणिज्यिक स्मालटैक्स) के पास उपलब्ध स्रोत है जो आपको भाषा के स्वामी से सीखने की अनुमति देता है। स्मालटॉक की प्रोग्रामिंग करते समय, मैं हमेशा सवाल पूछता हूं कि यह पर्यावरण में कैसे किया जाता है।

स्मालटाक आमतौर पर एक छवि में लागू किया जाता है जो आपके सिस्टम में सभी वस्तुओं के लिए एक जीवित वातावरण है।

इंटरएक्टिव डिबगर वास्तव में रूबी से स्मॉलटाक को अलग करता है।

सीसाइड वेब डेवलपमेंट फ्रेमवर्क है और इसने स्मॉलटाक को एक नया स्पॉटलाइट दिया है। यह एक निरंतरता आधारित वातावरण है जो इंट्रा-हिट डीबगिंग और एक चिकनी रिच क्लाइंट प्रकार के विकास के अनुभव के लिए अनुमति देता है (शीर्ष अनुप्रयोग प्रवाह को एकल विधि में डिज़ाइन किया जा सकता है)। यह script.aculo.us के साथ एकीकरण है इस तरह से किया गया है कि इसे स्मॉलटाक के भीतर से आसानी से कहा जाता है।


1
वाक्यविन्यास अजीब नहीं है - इसका वास्तव में बहुत सुंदर है। इसे इस रूप में पढ़ा जाना चाहिए: हे, जो भी आप "i <60" के परिणाम हैं, यहां एक कोड ऑफ कोड (कोड-ऑब्जेक्ट को तर्क के रूप में पारित किया गया है) का मूल्यांकन किया जाए, अगर आपको लगता है कि आप सच्चे हैं। मजेदार बात यह है कि, यह भी काम करता है, अगर "i <60" एक फजी, सांख्यिकीय चीज़ देता है।
blabla999

... और वह फ़र्ज़ी, सांख्यिकीय चीज़ फिर तय कर सकती है (एक विधि के रूप में) कि इससे कैसे निपटा जाए। एक भी निर्मित ऑपरेटर या नियंत्रण संरचना नहीं है जिसे इस तरह से फिर से परिभाषित नहीं किया जा सकता है।
blabla999

10

निगेल, एक उद्धरण मेरे पास है:

हालाँकि अब यह एक लंबा समय है क्योंकि मैंने इसके साथ कुछ भी किया है, मैं स्मॉलटाक को नामांकित करता हूं, मैं अभी भी कुछ भी ऐसा नहीं कर पाया हूं, जो कंप्यूटर कोड में विचारों को स्थानांतरित करने में सक्षम हो। यह सिर्फ भाषा नहीं है: यह अद्भुत ब्राउज़र वातावरण है, पुस्तकालयों, और स्पष्ट लिखने की संस्कृति, अच्छी तरह से डिजाइन कोड के रूप में जल्दी से कुछ भी स्पेगेटी बाहर क्रैंक कर सकते हैं। जब JavaOne के प्रतिभागी यह बता रहे थे कि जावा किसी भी चीज़ की तुलना में कितना अधिक उत्पादक है, तो मुझे भूरे रंग के पेपर बैग की आवश्यकता थी। ओह ठीक है, मेरे क्लासपैथ को छाँटने के लिए ... - मार्टिन फाउलर (सॉफ्टवेयर डेवलपमेंट मैगज़ीन, जनवरी 2001)

मैंने इसे यहां पाया ।


10

उस पोस्टर से असहमत होंगे जो आपको लगता है कि आप स्मॉलटाक को बड़े ऐप के लिए इस्तेमाल नहीं करेंगे - ठीक यही वह जगह है जहां यह चमकता है। लेकिन मैंने एक हफ्ते से भी कम समय में काफी ग्रूवी (नोट लोअरकेस) प्रोटोटाइप ऐप्स बनाए हैं।

मैंने एसटी में ओओ सीखा 92 में शुरू, अविश्वसनीय रूप से खुशी है कि मैंने ऐसा किया। इसने मुझे OO में एक वास्तविक पृष्ठभूमि दी। कक्षाओं में सोच रहा था। कोई प्रकार नहीं। ST का संदेश देने पर वास्तविक जोर है। यदि आप कुछ जानना चाहते हैं तो एक वस्तु एक संदेश भेजें और एक उत्तर प्राप्त करें। IMHO, लोकाचार और IDE वास्तव में आपको अपने युग्मन और सामंजस्य के साथ सही काम करने के लिए प्रोत्साहित करते हैं।

अपने जावा डे जॉब में, मैं फाइल, जेनेरिक, आईडीई के ग्रहण के साथ फंस गया हूं, जो कि परिमाण कम उत्पादक कि किसी भी एसटी आईडीई के आदेश हैं। मैं एसटी का उपयोग कर रहा था, जब मैंने शेड्यूल से पहले एक विकास पूरा किया। वास्तव में यह इतना उत्पादक था, और हमें इतना पुन: उपयोग मिला कि मुझे किसी अन्य परियोजना में स्थानांतरित होना पड़ा, क्योंकि मेरे पास करने के लिए कुछ भी नहीं था! (ठीक है, शायद मैं अनुमान लगाने के लिए सीखने में समय बिता सकता था ...)

स्क्वीक डाउनलोड करें, एक अच्छी किताब ढूंढें और खेलें। केवल नकारात्मक पक्ष यह है कि यदि आपका दिन गिग जावा या सी # का उपयोग कर रहा है, तो आप इच्छा करेंगे कि आप एसटी का उपयोग कर सकें। तुम जल्दी ही घर पहुँच जाओगे।

क्रिस ब्रूक्स


9

मैं हर किसी को लिस्प (योजना) या स्मालटाक सीखने की सलाह देता हूं।

Smalltalks में अद्भुत IDE होते हैं, जिन्हें आप एक बार संस्कृति के झटके के बाद याद नहीं करना चाहते हैं। और हाँ, एक से अधिक मुक्त हैं: स्क्वीक, डॉल्फिन, स्मॉलटाक / एक्स, और विजुअल्सवर्क्स (गैर-कामरेडियल)।

लिस्प अपने गणित की नींव में भी साफ-सुथरा हो सकता है।

सादर

पुनश्च: वास्तव में मैं दोनों को सीखने की सलाह देता हूं!


8

मैं रूबी को नहीं जानता ।।

स्मालटाक एक शुद्ध OO भाषा है। यदि आपको ओओ को वास्तव में समझने की आवश्यकता महसूस होती है, और न केवल सबसे लोकप्रिय 'ओओ' भाषाओं (जैसे सी ++, जावा, आदि) के नकली ओओ, तो मैं आपको सलाह दूंगा कि आप स्मालटाक के साथ खेलें।

स्मालटाक में सब कुछ एक वस्तु है, जिसमें गुण, व्यवहार और मेटा है। सिमुलेशन में आपके पास डेटा प्रकार हैं जो आप अपनी वस्तुओं में उपयोग करते हैं।

मैं कहूंगा कि इसके साथ खेलें, आपको केवल फायदा होगा।


1
SmallTalk में, यहां तक ​​कि "कक्षाएं" ऑब्जेक्ट हैं, क्लास क्लास के उदाहरण! यह मुझे पागल हो गया जब तक कि मैंने इसे नहीं उखाड़ा!
जो पाइदा

1
रूबी इस मायने में भी एक शुद्ध OO भाषा है कि क्लास भी ऑब्जेक्ट हैं। तो ब्लॉक, विधियाँ और अशक्त सूचक के संदर्भ हैं।
एलन

4
रूबी लेती है (Matz स्वतंत्र रूप से यह बताएगी) स्मॉलटाक के कई विचार कई मायनों में इसे 'प्रैग्मैटिक' (हंट्स एंड थॉमस के लिए माफी) स्मालटाक जैसी भाषा में देखा जा सकता है।
ConcernedOfTunbridgeWells

7

मैं पूरी तरह से आपके जूते में हूं। Im RoR का उपयोग कर और Smalltalk भूमि में देख रहा हूँ। यहाँ कुछ पेशेवरों और विपक्ष मैं महत्वपूर्ण लगता है:

पेशेवरों:

  • परिपक्व और स्थिर वातावरण
  • तेजी से विकास चक्र
  • लगता है कि आप अधिक सोचते हैं और कम लिखते हैं

विपक्ष:

  • अलग सोच की आवश्यकता है
  • अभी भी यह समझ नहीं आया

यह काफी मजेदार है कि मुझे स्मालटाक के बारे में कैसे पता चला। यह एक ऐसी चीज थी जो लिस्प और एर्लैंग सामान की खोज करते समय Google परिणामों में पॉप अप होती है। एक दिन मैंने इसकी जाँच की और अच्छी खिड़कियों के वातावरण से चकित था। कुछ क्षण बाद मुझे आइडा / वेब फ्रेमवर्क मिला है। मैं आच्छादित था और इस ढांचे के साथ वेब विकास के माध्यम से स्मालटाक सीखना शुरू किया।

अभी भी काफी नहीं है, लेकिन यह बहुत दिलचस्प है कि मैं अभी भी बैठ नहीं सकता ... :-) मुझे फिर से मज़ा आ रहा है।


5

अगर मेरे पास समय होता तो मैं इसे सीखना शुरू नहीं करता। क्यों नहीं? क्योंकि यह C # या Java सीखने के लिए आर्थिक रूप से अधिक उत्पादक और आकर्षक होगा।

दूसरी ओर यदि आपका एक शौक़ीन व्यक्ति है, और पुरातत्व खुदाई पर जाना चाहता है, तो मैं एलन काय पर शोध करके कुछ समय बिताना चाहूंगा, जब, कब, क्यों और कैसे छोटे से छोटे को देख रहा हूं। आकर्षक कहानी और एक अविश्वसनीय व्यक्ति (आखिरकार, उन्होंने टर्निंग अवार्ड अर्जित किया)। फिर शायद भाषा के लिए एक भावना पाने के लिए थोड़ा चीख़ के साथ खेलते हैं। इसके बाद आपके पास ब्लॉक, क्लोजर और ऑब्जेक्ट ओरिएंटेड सिद्धांतों का एक नया पाया गया सम्मान / समझ हो सकती है।

मैं स्मॉलटॉक को जानता हूं और उसका उपयोग करता हूं, करीब 15 साल से, अभी भी इसे बनाए हुए है, और एक दोस्त को स्मॉलटॉक की सिफारिश नहीं करेगा। क्यों नहीं? रोजगार प्राप्त करना और प्राप्त करना अच्छी बात है। हालाँकि आप स्मालटाक से बहुत कुछ सीख सकते हैं लेकिन आप आसानी से इसे इस दिन और उम्र में नियोजित नहीं कर सकते।

इसके अलावा, आप सीसाइड पर उत्साहित दिखे और मैं सीसाइड / जेमस्टोन साझेदारी को मानूंगा। मैंने काफी समय से GemStone का उपयोग किया है और दोनों एक साथ बहुत आकर्षक हैं। मुझे आशा है कि उन्हें सफल होने के लिए आवश्यक बाजार हिस्सेदारी और गति मिल सकती है।


5

नहीं! यदि आप वास्तव में इसे सीखना शुरू करते हैं, तो आप अब और कभी किसी और चीज़ में प्रोग्राम नहीं करना चाहेंगे।

यह सच नहीं हो सकता है, यदि आप एक लिस्प प्रोग्रामर हैं।


4

बिल्कुल, स्मालटाक सीखो! यह 2015 है और स्मालटाक फिर से बढ़ रहा है, फिरो के लिए धन्यवाद । फ़ारो आज़ाद है। फेरो एक शक्तिशाली उद्यम उपकरण में तेजी से विकसित हो रहा है। संस्करण 4.0 पर, और जल्द ही 5.0 होने के लिए, यह सिर्फ चार वर्षों में एक महान सौदा है!

फिर एम्बर है , जो वेब के लिए स्मॉलटॉक है। यह भी मुफ़्त है और जल्दी से विकसित हो रहा है।

स्मॉलटाक की प्रतिष्ठा के बावजूद , यह आपके पिता का स्मॉलटॉक नहीं है। आधुनिक स्मालटाक रोमांचक और होनहार है।

यह सच है कि स्मॉलटाक जॉब (अभी तक) भरपूर नहीं है। लेकिन अगर आप में से काफी लोग स्माल्टालकर्स की एक नई लहर के लिए एकत्र होते हैं, तो उद्योग इसके लिए अनुकूल होगा और हम व्यवसाय में स्मॉलटाक के व्यापक रूप से अपनाएंगे। सवाल यह है कि क्या आपके पास दृष्टि है?


3

मुझे पहले स्नातक कॉलेज स्तर के ऑब्जेक्ट-ओरिएंट प्रोग्रामिंग पाठ्यक्रम (1988) में स्मॉलटॉक में पढ़ाया गया था। शिक्षक ने शुरू करना सबसे अच्छा समझा, एक "शुद्ध" ओओ लैंगगेज था, इससे पहले कि हम एक और अधिक ट्रेंडी (हम सेमेस्टर के अंत में सी ++ का थोड़ा सा काम करते हैं) पर आगे बढ़ें।

उस उपाय से, शुद्ध OO के साथ शुरू करना अभी भी सबसे अच्छा है, हालांकि इन दिनों हमारे पास जावा और C # है, जो दोनों "लगभग-शुद्ध" OO हैं - काफी करीब हैं कि आप उनमें से गैर-OO विशेषताओं को अनदेखा करके प्राप्त कर सकते हैं, और अपने आप को शुद्ध-ओओ के सबसेट तक सीमित कर दिया।


3

यदि आप एक्सट्रीम प्रोग्रामिंग (और यहां तक ​​कि स्क्रैम) की बेहतर समझ चाहते हैं तो मैं हां कहूंगा ।

क्यों अधीर जावा प्रोग्रामर को स्मालटाक सीखने की जरूरत है:

http://www.dafydd.net/archive/2010/why-smalltalk-isnt-just-another-language/


3

मैं काफी सालों से एक सॉफ्टवेयर इंजीनियर हूं। मैंने सुना है कि लोगों ने स्मॉलटाक को कुछ समय के लिए लाया है, और निश्चित रूप से स्मॉलटॉक लगभग 1980 के बाद से है, लेकिन यह उन भाषाओं में से एक है जो इसे सॉफ्टवेयर मुख्यधारा में बनाने के लिए कभी नहीं लगता है। ऑब्जेक्टिव C, CLIPS, PL / I, आदि जैसे - कुछ ऐसा जो आपने शायद ही सुना हो, लेकिन कुछ ऐसा जो ज्यादातर लोगों ने कभी भी प्रोग्राम में नहीं किया है।

जब तक मुझे किसी विशेष कार्य के लिए आवश्यकता नहीं होती, मैं शायद स्मालटाक सीखने का समय नहीं निकालूंगा। मैंने कुछ साल पहले कुछ स्मॉलटाक ट्यूटोरियल और उदाहरणों को देखा था, और ऐसा लगता है कि इसमें ओओ प्रोग्रामिंग के कुछ पहलुओं के लिए कुछ स्पष्ट फायदे हैं (जैसे संदेश की अवधारणा शांत लगती है)। लेकिन दुख की बात है कि यह मुख्यधारा नहीं है, और यह बहुत गति प्राप्त नहीं करता है।


3
उद्देश्य-सी ... यह न सोचें कि यह कथन अभी भी 2012 तक जारी है। :)
sjas

@sjas कितना सच! सभी स्मॉलटॉक की जरूरत अब एक प्रमुख डेवलपर के लिए एक नया डिवाइस आला बाजार बनाने के लिए है, और डिवाइस के लिए एप्लिकेशन लिखने के लिए डिफैक्टो भाषा के रूप में स्मॉलटॉक को निर्दिष्ट करें!
Ogre Psalm33

2

यह धागा मेरे लिए बहुत वास्तविक बन गया है। मैं एक वेब अनुप्रयोग के लिए एक सॉफ्टवेयर प्रवास की योजना बना रहा हूँ। यह एक डेटाबेस आधारित सॉफ्टवेयर है। मैं विशेष रूप से विकल्प 1) रेल 2) सीसाइड की जांच कर रहा हूं

अगर मुझे डेटाबेस के रूप में जेमस्टोन / एस के आंकड़े मिल सकते हैं, तो मैं उस पर भी विचार करूंगा। तो मेरे लिए इसका मतलब है कि मुझे पहले की तुलना में स्मालटाक (बेहतर) सीखना होगा। क्योंकि यह हो सकता है कि यह अगले 15 वर्षों के लिए मेरा काम होगा। आपको उस सॉफ्टवेयर के साथ काम करना चाहिए (और नहीं करना चाहिए) जो आपको लंबे समय तक पसंद नहीं है;; मुझे आभास है रत्न / एस "हत्यारा" अनुप्रयोगों में से एक है। लेकिन वस्तुओं की दृढ़ता अभी भी बहुत कठिन क्षेत्र है ...।


2

1) हाँ! भाषा सीखना हमेशा अच्छा होता है। यदि आप एक भाषा सीखने जा रहे हैं, तो इसे एक शक्तिशाली, प्रभावशाली भाषा बनाएं जिसे आसानी से और जल्दी से सीखा जा सकता है।

ओओटी अवधारणाओं को सीखने के लिए स्मालटाक एक पूर्व-प्रचलित भाषा और वातावरण बना हुआ है।

यह सभी वस्तुओं, सभी तरह से नीचे है। यह काम करने के लिए वास्तव में सुसंगत दृष्टिकोण के लिए बनाता है।

इंटेगर क्लास इंटेगर के उदाहरण हैं। स्ट्रिंग्स चरित्र वस्तुओं का एक संग्रह है। वर्ग जिस वर्ग को परिभाषित करते हैं, उसके लिए एकल श्रेणी की वस्तुएं हैं।

नियंत्रण संरचनाएँ कक्षा बूलियन के उदाहरणों को संदेश भेजकर काम करती हैं।

यहां तक ​​कि अनाम तरीके (कोड के ब्लॉक, उर्फ ​​ब्लॉक) ऑब्जेक्ट हैं।

किसी वस्तु को संदेश भेजकर सब कुछ किया जाता है। सिंटैक्स को पोस्टकार्ड पर फिट किया जा सकता है।

स्मॉलटाकल में अवधारणाओं और उनके कार्यान्वयन की स्पष्टता का मतलब है कि आप विचार के तरीके विकसित कर सकते हैं जो सीधे जावा, रूबी और सी # में स्थानांतरित होते हैं। मुझे उम्मीद है कि यह पायथन के लिए भी सच है।

यह अवधारणाओं को स्पष्ट करने के लिए बहुत अच्छा है कि यूके के एक प्रमुख विश्वविद्यालय ने स्मॉलटाकल का उपयोग ऑब्जेक्ट ओरिएंटेड कंप्यूटिंग में प्रति वर्ष 5,000 लोगों को प्रशिक्षित करने के लिए किया।

स्क्वीक 5, अभी जारी किया गया है। इसे अपने नए कॉग / स्पर वीएम से प्रमुख प्रदर्शन में वृद्धि हुई है, जिसमें प्रगतिशील कचरा-संग्रह है।

Pharo 4 में एक साफ-सुथरा दिखने वाला डेस्कटॉप थीम है। अगला संस्करण, चरण 5, जल्द ही जारी किया जाएगा। यह कॉग / स्पर वीएम का उपयोग करने के लिए आगे बढ़ेगा, इसमें रिलीज़ में लगभग 5,000 कक्षाएं होंगी, और कॉन्फ़िगरेशन ब्राउज़र टूल के माध्यम से नेट से कक्षाओं के अतिरिक्त पैकेज आसानी से उपलब्ध हैं।

स्क्वीक 5 फर्स्ट-जीन रास्पबेरी पिस पर भी अच्छा प्रदर्शन कर रहा है, और नए $ 5 रास्पबेरी पाई शून्य पर लगभग 50% तेज है। $ 99 आपको रास्पबेरी पाई 2, स्क्रीन और केस खरीदता है - एक परिपक्व, पूरी तरह से सुविधा पूर्ण आईडीई चल रहा है।

लीडिंग एज रिसर्च कोऑर्डिनेटेड, वितरित ओओ सिस्टम स्मॉलटॉक (जैसे नैड और स्पून) में किया जा रहा है।

दुनिया के कुछ सबसे बड़े कॉर्पोरेट डेटाबेस स्मॉलटाक पर चलाए जाते हैं - जिसमें दुनिया के 60% शिपिंग कंटेनर और दुनिया के सबसे बड़े बैंक में ट्रेडिंग सिस्टम शामिल हैं।

आप स्मॉलटाक को सुपर-पावर्ड कॉफीस्क्रिप्ट के रूप में उपयोग कर सकते हैं, एम्बर स्मॉलटॉक में लिख रहे हैं और ब्राउज़र में चल रहे जावास्क्रिप्ट को ट्रांसप्लिंग कर रहे हैं।

स्क्वीक, फेरो और एम्बर सभी नि: शुल्क, ओपन-सोर्स, ओपन-लाइसेंस प्राप्त भाषा और वातावरण हैं।

स्क्वीक और फेरो राइट-एक बार प्रदान करते हैं, मैकओएस, विंडोज और लिनक्स के लिए कहीं भी सुविधाएं चलाते हैं। (संभवतः RiscOS, भी)।

डॉल्फिन स्मॉलटाक को देशी विंडोज लुक-एंड-फील पर दृढ़ता से लक्षित किया जाता है, और आपको अंतिम उपयोगकर्ताओं को वितरण के लिए अपने समाप्त काम के बंद .exes को संकलित करने देता है। विक्रेता द्वारा डॉल्फिन के आगे के विकास को रोक दिया गया है, लेकिन यह पूरी तरह से कार्यात्मक है, और, सभी स्मॉलटैक्स की तरह, बड़े पैमाने पर विलुप्त होने के लिए डिज़ाइन किया गया है। (क्या मैंने उल्लेख किया है कि फेक की अब 5,000 कक्षाएं हैं, जबकि स्क्वेक के 3,000 की तुलना में; फारो स्क्वैक 2.9 का एक कांटा है)

** स्क्वीक, एम्बर, फेरो, कून और डॉल्फिन को स्थापित करने और शुरू करने के लिए एक गाइड है: ** http://beginningtosmalltalk.blogspot.co.uk/2015/11/how-to-get-smalltalk- अप-एंड-रनिंग। html

सीसाइड वेब ढांचा स्क्वीक और फारो पर चलता है। यह एक अद्भुत परिपक्व उपकरण है, जैसा कि अधिक पारंपरिक AidaWeb फ्रेमवर्क है।

VisualAge, VisualWorks और Gemstone सभी एंटरप्राइज़-ग्रेड मजबूत सिस्टम प्रदान करते हैं। रत्न लेनदेन और दृढ़ता के साथ एक असीम रूप से स्केलेबल ऑब्जेक्ट डेटाबेस प्रदान करता है।

2) हां - मैं पहले से ही इसका इस्तेमाल करता हूं।

मैंने इसे ओपन यूनिवर्सिटी के माध्यम से सीखा था, और रूबी में तुरंत उत्पादक था (मेरी तरफ से पिकैक्स पुस्तक और पुस्तकालय संदर्भ की एक प्रति)। इसने जावा के साथ, और ज़ेरॉक्स मू-कोड के साथ मुझे बहुत मदद की।

मैं बस इसे वापस लिखने के लिए प्रबंधन को नियंत्रित करने और संवेदनशील, व्यापक रूप से बहु-मंच मोबाइल एप्लिकेशन वितरित करने के लिए एप्लिकेशन लिख रहा हूं।

मुझे उम्मीद है कि जल्द ही मैं अंबर का उपयोग करके अपने जावास्क्रिप्ट मोबाइल एप्लिकेशन को फिर से लिखूंगा।


1

मैं वास्तव में नहीं जानता कि आप क्या देख रहे हैं।

यदि आप लिखने के लिए एक अलग भाषा की तलाश में हैं, तो मुझे लगता है कि उपलब्ध पुस्तकालयों पर बहुत अधिक निर्भर करेगा। मुझे पता है कि न तो रूबी और न ही स्मालटाक, लेकिन यह संभावना है कि रूबी को रेल-प्रकार के अनुप्रयोगों पर लिखने का सबसे कुशल तरीका स्मॉलटॉक नहीं हो सकता है।

यदि आप रूबी के पीछे के विचारों को सीखना चाहते हैं, तो यह एक बहुत अच्छा कदम हो सकता है। मेरे पास मात्रात्मक कुछ भी नहीं है, लेकिन मैं हमेशा टूल (जैसे भाषा प्रणाली) का उपयोग करने के बारे में बेहतर महसूस करता था अगर मुझे सिर्फ औजारों से अधिक पता था, अगर मैं उनके पीछे के विचारों को किमीवेट करता हूं या उन्होंने कैसे काम किया है।

यदि आप विभिन्न प्रकार की वस्तु-उन्मुख भाषाएं सीखना चाहते हैं, तो आप स्मॉलटॉक (यदि यह रूबी से काफी अलग है), कुछ जावा या सी ++ की तरह सीखना चाहते हैं, और शायद कॉमन लिस्प ऑब्जेक्ट सिस्टम भी सीखना चाहते हैं।

यदि आप बस कुछ अलग सीखना चाहते हैं, तो स्मालटाक एक अच्छा विकल्प हो सकता है। मैं आम लिस्प का सुझाव भी दूंगा, और अन्य लोग निस्संदेह अन्य सुझाव देंगे (क्या आप आजकल एक अच्छा फोर्थ सिस्टम प्राप्त कर सकते हैं?)।


यह स्पष्ट है कि आपने सीसाइड का अवलोकन नहीं किया। रूबी-ऑन-रेल्स प्रकार के अनुप्रयोगों को लिखने का सबसे कुशल तरीका स्पष्ट रूप से सीसाइड के साथ है।
स्टीफन एगरमोंट

Seaside पर एक नज़र नहीं डाली, और रूबी या स्मॉलटाक का इस्तेमाल नहीं किया है, इसलिए यह सामान्य सलाह है। सीसाइड को इंगित करने के लिए धन्यवाद।
डेविड थॉर्नले

-5

हां, मुझे इसमें दिलचस्पी है। एक बार पहले ही शुरू करने की कोशिश की, लेकिन एक Smalltalk विकास वातावरण नहीं मिल सका है जिसमें दोनों हाथ और एक पैर की लागत नहीं थी।


1
स्क्वीक ( squeak.org से ) मूल स्मॉलटॉक -80 छवि पर आधारित एक मुक्त खुला स्रोत कार्यान्वयन है।
बजे केविन ड्रेजर

विजुअलवर्क्स अब एक फ्रीबिट के रूप में भी उपलब्ध है। आप इसे cincomsmalltalk.com
ConcernedOfTunbridgeWells
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.