स्मालटाक के बजाय रूबी का उपयोग क्यों करें? [बन्द है]


121

रूबी लोकप्रिय हो रही है , मोटे तौर पर रूबी ऑन रेल्स के प्रभाव से, लेकिन ऐसा लगता है कि यह वर्तमान में अपने किशोरावस्था से संघर्ष कर रही है। रूबी और स्मालटाक के बीच बहुत सारी समानताएं हैं - मैग्लेव इसका एक वसीयतनामा है। अधिक असामान्य वाक्य रचना होने के बावजूद, स्मॉलटाक में रूबी के ऑब्जेक्ट-ओरिएंटेड ब्यूटी के सभी (यदि अधिक नहीं) हैं।

मैंने जो पढ़ा है, उससे लगता है कि छोटेलाल रूबी को हरा रहा है:

ऐसा लगता है जैसे रूबी सिर्फ पहिये को फिर से लगा रही है। तो, रूबी डेवलपर्स स्मॉलटॉक का उपयोग क्यों नहीं करते हैं? रूबी के पास स्मालटाक क्या नहीं है?

रिकॉर्ड के लिए: मैं स्मालटाक में कोई अनुभव नहीं के साथ एक रूबी आदमी हूं, लेकिन मुझे आश्चर्य हो रहा है कि क्यों।


संपादित करें: मुझे लगता है कि GNU स्मॉलटाक द्वारा आसानी से स्क्रिप्टिंग मुद्दे को संबोधित किया गया है । जैसा कि मैं इसे समझता हूं, यह आपको नियमित रूप से पुरानी पाठ फ़ाइलों में स्मालटाक लिखने की अनुमति देता है, और अब आपको स्मॉलटीडी आईडीई में रहने की आवश्यकता नहीं है। इसके बाद आप अपनी स्क्रिप्ट चला सकते हैं :

gst smalltalk_file

47
क्योंकि सभी को अभी भी "स्मॉलटाक ऑन स्नेल्स" का इंतजार है?
मार्क रूसकॉफ

10
तकनीकी रूप से यह 'सीसाइड' (www.seaside.st) कहलाता है और जेमस्टोन वीएम पर काफी जल्दी चलता है जिसमें एक जॉय कंपाइलर है। मैगलेव नाम के जेमस्टोन वीएम के लिए रूबी का एक बंदरगाह भी है।
कंसर्नडऑफटुनब्रिजवल्स 15

3
नीचे इन सभी टिप्पणियों के माध्यम से जाने के बाद, पिछले 5 वर्षों से एक माणिक प्रशंसक होने के नाते, अब मुझे छोटे छोटे आसन सीखने के लिए लुभाया जाता है
अमोल पुजारी

1
GNU स्मॉलटॉक लगभग एकमात्र मुफ्त कार्यान्वयन है जो GUI के साथ हार्ड-कपल्ड नहीं है। मुझे लगता है कि यह अभी भी महत्वपूर्ण है।
२०:०२ पर eonil

"वितरित स्रोत नियंत्रण" लिंक टूट गया है।
पाइवेज़न

जवाबों:


88

मैं रूबी उपयोगकर्ता की तुलना में पाइथोनिस्टा से अधिक हूं, हालांकि वही चीजें रूबी के लिए समान कारणों से रखती हैं।

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

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

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

    कुल मिलाकर प्रभाव यह है कि स्मॉलटाक को सीखने में मुश्किल होने के लिए (कुछ हद तक योग्य) प्रतिष्ठा मिली; यह वास्तव में प्रवीण Smalltalk प्रोग्रामर बनने के लिए काफी समय और प्रयास लेता है। रूबी और पायथन सीखना बहुत आसान है और नए प्रोग्रामर को गति प्रदान करना है।

  • ऐतिहासिक रूप से, मुख्यधारा के स्मॉलटॉक कार्यान्वयन काफी महंगे थे और इसे चलाने के लिए विदेशी हार्डवेयर की आवश्यकता थी, जैसा कि 1983 से इस net.lang.st80 पोस्टिंग को देखा जा सकता है । विंडोज 3.1, एनटी और '95 और ओएस / 2 मुख्यधारा के हार्डवेयर पर पहला बड़े पैमाने पर बाजार ऑपरेटिंग सिस्टम थे जो सभ्य देशी सिस्टम एकीकरण के साथ एक स्मॉलटाक कार्यान्वयन का समर्थन करने में सक्षम थे। इससे पहले, मैक या वर्कस्टेशन हार्डवेयर स्मॉलटाक को प्रभावी ढंग से चलाने में सक्षम सबसे सस्ते प्लेटफॉर्म थे। कुछ कार्यान्वयन (विशेष रूप से डिजिटालक) ने पीसी ऑपरेटिंग सिस्टम का काफी समर्थन किया और कुछ कर्षण प्राप्त करने में सफल रहे।

    हालाँकि, OS / 2 कभी भी सफल नहीं रहा और Windows ने 1990 के दशक के मध्य तक मुख्यधारा की स्वीकृति हासिल नहीं की। दुर्भाग्य से यह एक मंच के रूप में वेब के उदय और जावा के पीछे एक बड़े विपणन धक्का के साथ मेल खाता है। जावा ने 1990 के दशक के उत्तरार्ध में अधिकांश माइंडशेयर को हड़प लिया, स्मॉलटाक को थोड़ा-सा भाग दिया।

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

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

  • स्मालटाक को वेब एप्लिकेशन पार्टी में आने में कुछ देर हो गई। विज़ुअलवेव जैसे शुरुआती प्रयास कभी भी बहुत सफल नहीं थे और यह तब तक नहीं था जब तक सीसाइड बाहर नहीं आया कि स्मालटाक सर्कल में एक सभ्य वेब फ्रेमवर्क को स्वीकृति मिली। इस बीच, जावा ईई की पूरी स्वीकृति जीवन चक्र था, जो फैनबॉय रगड़ते हुए इसे बढ़ावा देने के साथ शुरू हुआ और अंत में ऊब और रूबी में आगे बढ़ रहा था; -}

    विडंबना यह है कि सीसाइड को कॉग्नोसेन्ट्री के बीच माइंडशेयर का एक सा मिलना शुरू हो रहा है ताकि हम पा सकें कि स्मॉलटाक की सवारी लोकप्रियता में वापस।

कहा जाता है कि, स्मालटाक एक बहुत अच्छी प्रणाली है, जब आप इसे चलाने के लिए काम करते हैं।


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

2
वर्ग पुस्तकालयों के आकार के कारण वीडब्ल्यू और वीए स्मॉलटाक दोनों के पास एक मजबूत सीखने की अवस्था के लिए एक प्रतिष्ठा थी। यह उस समय काफी व्यापक रूप से पहचाना गया था। मैंने डिजिटाल स्मालटाक / वी के एक पुराने डॉस संस्करण से स्मॉलटाक को सीखा, जिसमें एक बहुत छोटा वर्ग पुस्तकालय था। उस के लिए मैनुअल पीपी रूबी किताब के आकार के समान था, और उस पुस्तक की तरह वर्ग पुस्तकालय संदर्भ कुल पृष्ठ संख्या का लगभग आधा था। हालांकि, वीडब्ल्यू और वीए के लिए कक्षा पुस्तकालय बहुत बड़े हैं।
कंसर्नडऑफटुनब्रिजवेल्स

79

जब मैं काम पर जाने के लिए सुबह अपने घर से निकलता हूं, तो मैं अक्सर अपने ड्राइव के रास्ते से बाएं या दाएं मुड़ने के निर्णय के साथ संघर्ष करता हूं (मैं एक सड़क के बीच में रहता हूं)। किसी भी तरह मुझे मेरी मंजिल तक पहुँचा देगा। एक रास्ता मुझे राजमार्ग की ओर ले जाता है, जो ट्रैफिक पर निर्भर करता है, शायद मुझे सबसे तेज कार्यालय तक ले जाएगा। मुझे रास्ते के कम से कम भाग के लिए बहुत तेजी से ड्राइव करने के लिए मिलता है और मेरे पास एक सुंदर लड़की या दो को काम करने का एक अच्छा मौका है :-)

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

न तो रास्ता दूसरे से बेहतर है। उनमें से प्रत्येक के अपने लाभ और जोखिम हैं, और प्रत्येक मुझे मेरे लक्ष्य तक पहुंचाएगा।


5
कौन सा एक अंतरराज्यीय है, और कौन सा पेड़ के कवर के साथ घुमावदार सड़क है? योग्य
चार्ली फूल

9
चार्ली: जो कि इसे ज़ेन बनाता है :)
xofz

32
और किस भाषा में प्रीटियर लड़कियां हैं?
टिन मैन

25

मुझे लगता है कि आपका सवाल कुछ हद तक याद आ रहा है। आपको नहीं चुनना चाहिए, आपको उन दोनों को सीखना चाहिए !

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

मैंने स्मॉलटाक (इसे प्यार करता हूं) और रूबी (इसे प्यार करता हूं) का इस्तेमाल किया है।

घर पर या ओपन सोर्स प्रोजेक्ट के लिए मैं अपनी पसंद की हर भाषा का उपयोग कर सकता हूं, लेकिन जब काम करना हो तो मुझे अपनाना होगा।

मैंने माणिक (काम पर) का उपयोग करना शुरू कर दिया क्योंकि हमें कुछ स्क्रिप्टिंग भाषा की आवश्यकता थी जो सोलारिस, लिनक्स और विंडोज़ (98,2000, xp) के तहत अधिक-या-समान व्यवहार करती थी। रूबी उस समय औसत-जो के लिए अज्ञात थी और कोई रेल मौजूद नहीं थी। लेकिन इसमें शामिल सभी लोगों को बेचना आसान था।

(अजगर क्यों नहीं? सच? मैं एक बार एक बग के शिकार के लिए एक सप्ताह का समय बिताता हूं जो तब हुआ जब एक टर्मिनल ने मेरी जगह को एक टैब में बदल दिया और इरादा गड़बड़ हो गया)।

इसलिए लोगों ने रूबी में अधिक से अधिक कोड करना शुरू कर दिया क्योंकि यह बहुत आराम, आनंद और आकाश पर बादल नहीं था।

पॉल ग्राहम ने इसे गाया है

यह सच है, निश्चित रूप से, कि ज्यादातर लोग प्रोग्रामिंग भाषाओं का चयन केवल उनकी योग्यता के आधार पर नहीं करते हैं। अधिकांश प्रोग्रामर को बताया जाता है कि किसी और को किस भाषा का उपयोग करना है।

तथा

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

और जब लिस्प भूमि पर थे, तो LISP को स्मालटाक से बदलने की कोशिश की

रूबी के पुस्तकालय, समुदाय और गति अच्छी हैं

तो अगर LISP रूबी से अधिक शक्तिशाली है, तो LISP का उपयोग क्यों नहीं किया जाता है? LISP में प्रोग्रामिंग के लिए विशिष्ट आपत्तियां हैं:

  1. पर्याप्त पुस्तकालय नहीं हैं।
  2. हम LISP प्रोग्रामर को नहीं रख सकते।
  3. पिछले 20 वर्षों में LISP कहीं नहीं गया है।

ये आपत्तियाँ नहीं हैं, लेकिन वे निश्चित रूप से विचार करने लायक हैं।

तथा

अब, एक शक्तिशाली भाषा और लोकप्रिय भाषा के बीच एक विकल्प दिया गया है, यह शक्तिशाली को चुनने के लिए उत्कृष्ट समझ दे सकता है। लेकिन अगर सत्ता में अंतर मामूली है, तो लोकप्रिय होने के सभी प्रकार के अच्छे फायदे हैं। 2005 में, मैं रूबी के ऊपर LISP चुनने से पहले लंबा और कठिन सोचता हूँ। मैं शायद यह केवल तभी करूँगा जब मुझे अनुकूलित कोड, या मैक्रोज़ की आवश्यकता होगी जो पूर्ण-संकलक के रूप में काम करता है।


4
अहम, "पिछले 20 साल"?!? मुझे लगता है कि आपका मतलब है, "पिछले 51 साल"। :-)
डिजिटलरोस

1
@DigitalRoss - मैं 20 के साथ जाऊंगा; LISP वास्तव में एक बिंदु पर कुछ हलकों में काफी बड़ा था, लेकिन (ViaWeb के बावजूद) कोई भी नया 'किलर ऐप' 1980 के दशक से वास्तव में नहीं देखा गया है। हालाँकि, LISP आधारित प्रौद्योगिकियाँ वास्तव में '60 के दशक, 70 और 80 के दशक में बहुत अधिक धन प्राप्त करती थीं; लोगों को वास्तव में लगा कि LISP काफी समय से स्थानों पर जा रहा है।
कंसर्नडऑफटुनब्रिजवेल्स

2
@DigitalRoss हाँ, यदि आप मेरे सिर के ऊपर से निरंतरता, मल्टीमिथोड्स, मैक्रोज़, टेल कॉल ऑप्टिमाइज़ेशन जैसी चीजों को अनदेखा करते हैं।
फ्रैंक शीयर

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

22

मैं इसके विपरीत कहूंगा: स्मॉलटाकल सिंटैक्स सबसे सरल और शक्तिशाली प्रोग्रामिंग भाषा सिंटैक्स में से एक है।


7
सिर्फ आमीन कहना चाहता हूँ!
श्पेंकोडर

19

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

जाइल्स बॉकेट


17

अंदाज लगाओ कि यह किसने कहा? (उद्धरण करीब है, शायद सटीक नहीं): "मैंने हमेशा सोचा था कि स्मॉलटाक जावा को हरा देगा। मुझे नहीं पता था कि ऐसा होने पर 'रूबी' कहा जाएगा।"

ड्रम रोल ....

...

जवाब है ... केंट बेक


15

स्टीफन डुकासे के पास कुछ महान स्मॉलटॉक किताबें उपलब्ध हैं:

http://stephane.ducasse.free.fr/FreeBooks.html

इसलिए हालांकि स्मॉलटॉक समुदाय रूबी और रेल समुदायों के रूप में विपुल नहीं है, फिर भी वहाँ कुछ बड़ी मदद है।


1
यह अधिक उत्थान के योग्य है!
मेंढकवास

15

रूबी के पास क्या है कि स्मॉलटाक नहीं है?

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

मुझे लगता है कि आपकी बात को अच्छी तरह से लिया गया है। एक बार एक दोस्त के रूप में, रूबी "स्मॉलकॉल एक नई बोतल में पुरानी शराब" हो सकती है। लेकिन कभी-कभी नई बोतल मायने रखती है। एक शराब को सही समय पर सही जगह पर होना चाहिए।


आपका पहला बुलेट पॉइंट बंद है। जेवीएम और .NET वीएम सपोर्ट का मतलब स्मॉलटाक के लिए बकवास है क्योंकि प्रत्येक कार्यान्वयन पहले से ही एक वीएम पर चलता है (वे कैसे कई ऑपरेटिंग सिस्टम पर इतना अच्छा चला सकते हैं, ठीक है?) रूबी का सिंटैक्स, स्मॉलटॉक की तुलना में अधिक जटिल है। यह पिन करना कठिन है जो इसके साथ समस्या का हिस्सा है;)

1
हाँ इस कारण से कि कुछ लोग jruny / ironruby का उपयोग क्यों कर सकते हैं रूबी vm की सापेक्ष अपरिपक्वता है, लेकिन .net / jvm के लिए कुछ वास्तव में अच्छी लाइब्रेरियाँ उपलब्ध हैं जो वे उपयोग कर सकते हैं जो कि कहीं और समतुल्य नहीं हैं। कुछ व्यापार के लिए अपने जावा / सी # कोड ठिकानों के साथ जाल करने के लिए बहुत आसान है।
रोमन ए। टेचर

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

14

मुझे पता नहीं। मैंने एक वर्ष रूबी की जाँच करने और कुछ लघु परियोजनाओं को देखने के लिए बिताया, जो मुझे अच्छा लगा। मुझे लगता है कि मैं एक स्मालटॉक बिगोट हूं क्योंकि हर बार मैं रूबी के साथ काम करने के लिए बैठूंगा और मुझे लगता है कि "मैं वास्तव में स्मॉलटॉक में ऐसा कर रहा हूं"। अंत में मैंने दिया और स्मालटाक में वापस चला गया। अब मैं खुश हूं। हापियर अच्छा है।

बेशक, "क्यों?" किसी विशेष क्रम में नहीं:

  1. क्योंकि आईडीई ने मेरे साथ काम करने वाले किसी और चीज को उड़ा दिया। इसमें आईबीएम मेनफ्रेम पर आईएसपीएफ से माइक्रोसॉफ्ट के विज़ुअल (। *) तक प्लेटफार्मों का एक गुच्छा शामिल है, जिसमें विज़ुअल बेसिक 4-6, विज़ुअल सी ++ (विभिन्न अवतार), बोरलैंड के टर्बो पास्कल और वंशज (जैसे डेल्फी), और डीईसी पर सामान शामिल हैं। दोनों चरित्र मोड में और एक्स-विंडोज के तहत मशीनें।
  2. क्योंकि छवि रहने के लिए एक सुंदर जगह है। मैं वहां जो चाहता हूं वह पा सकता हूं। अगर मैं यह नहीं जान सकता कि मैं कुछ ऐसा कैसे कर सकता हूं, जो मुझे पता है कि कहीं न कहीं छवि इस बात का उदाहरण है कि मैं क्या करने की कोशिश कर रहा हूं - मुझे यह सब तब तक करना है जब तक कि मैं इसे ढूंढ नहीं लेता। और यह स्व-दस्तावेजीकरण है - यदि आप इस बात का विवरण देखना चाहते हैं कि कोई चीज कैसे काम करती है तो आप जिस वर्ग में रुचि रखते हैं उस पर एक ब्राउज़र खोलें, विधि को देखें, और वह यह है कि यह कैसे काम करता है। (ठीक है, आखिरकार आप एक ऐसी चीज को मारेंगे जो एक आदिम कहलाती है, और फिर यह "यहां ड्रेगन हो सकता है", लेकिन यह आमतौर पर संदर्भ से समझ में आता है)। रूबी / सी ++ / सी में इसी तरह की चीजें करना संभव है, लेकिन यह उतना आसान नहीं है। आसान बेहतर है।
  3. भाषा न्यूनतम और सुसंगत है। तीन प्रकार के संदेश - यूनीरी, बाइनरी और कीवर्ड। यह निष्पादन की प्राथमिकता का वर्णन करता है, साथ ही - पहले संदेश, फिर बाइनरी संदेश, फिर कीवर्ड संदेश। चीजों की मदद करने के लिए कोष्ठक का उपयोग करें। डांग थोड़ा वाक्यविन्यास, वास्तव में - यह सब संदेश भेजता है। (ठीक है, असाइनमेंट कोई संदेश नहीं है, यह एक ऑपरेटर है। इसलिए 'रिटर्न' ऑपरेटर है (^)। ब्लॉक ब्रेस जोड़े ([]) द्वारा संलग्न हैं। वहां एक या दो अन्य 'मैजिक' बिट्स हो सकते हैं। लेकिन थोड़ा सा ...)।
  4. ब्लाकों। हाँ, मुझे पता है, वे वहाँ रूबी (और अन्य) में हैं, लेकिन यह खतरे में है, आप सचमुच उनका उपयोग किए बिना स्मालटाक में कार्यक्रम नहीं कर सकते। आप उनका उपयोग करने का तरीका जानने के लिए मजबूर हैं। कभी-कभी मजबूर होना अच्छा होता है।
  5. वस्तु-उन्मुख प्रोग्रामिंग बिना किसी समझौता - या विकल्प के, उस बात के लिए। आप यह दिखावा नहीं कर सकते कि आप वही पुरानी चीज़ करते हुए "ऑब्जेक्ट्स" कर रहे हैं।
  6. क्योंकि यह आपके दिमाग को स्ट्रेच करेगा। हमारे द्वारा उपयोग किए जाने वाले आरामदायक निर्माण (अगर-तब-तब, के लिए, जबकि, (;); आदि) के लिए उपयोग नहीं किए जाते हैं, तो अब आपको कुछ नया सीखने की जरूरत नहीं है। उपरोक्त सभी (और अधिक) के समतुल्य हैं, लेकिन आपको अलग तरीके से सोचना सीखना होगा। अलग-अलग अच्छा है।

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


1
मैंने सोचा था कि सवाल यह है कि रूबी के पास स्मालटाक क्या नहीं है?
मौरिसियो

1
@ मौरिसियो, और @ याकूब ने उत्तर दिया: "मुझे धड़कता है।"
systemovich

1
शानदार ढंग से रखो, इसे प्यार करो! कम लोकप्रिय होने के बावजूद कुछ बेहतर क्यों नहीं हो सकता है ? यदि आप सहमत नहीं हैं, तो मैं आपको स्मालटाक नहीं मिला ;-)
अमोस एम। बढ़ई

@ आमोस - शुक्रिया। मुझे संदेह है कि स्मालटाक लोकप्रिय नहीं है क्योंकि यह # 6 की वजह से है, और कुछ हद तक # 5 है। स्मालटाक आपके मामा के "उसी-पुराने-वाक्य-विन्यास" की तरह नहीं है - यह अलग है। उदाहरण के लिए, यदि आप C जानते हैं तो C ++, Java, और C # सभी बहुत सहज महसूस करते हैं। और स्मालटाक व्यवहार का "कैसे" और "क्यों" कुछ हद तक दिमाग घुमा सकता है। "मुझे लगता है कि अगर एक नया स्मॉलटाकलर ऐसा महसूस नहीं करता है कि उनका सिर मुड़ रहा है, या तो वे इतने शानदार हैं कि उन्होंने इसे तुरंत दबा दिया, या वे इसे प्राप्त नहीं कर रहे हैं। हाँ, मुझे आश्चर्य है कि कैसे शानदार"। "बात महसूस होगी :-)।
बॉब जार्विस -

क्या आपने pry (और प्लगइन्स) के साथ डिबगिंग की कोशिश की है, और सहेजी गई फ़ाइलों के हॉट रीलोड के साथ लाइव कोडिंग है? यह मेरे द्वारा अनुभव की गई सर्वश्रेष्ठ प्रोग्रामिंग थी।
रिवलफॉल

11

स्मॉलटाकल: लोग फॉरवर्ड ifTrue: [थिंक] इफल्स: [नहीं सोच]

रूबी: लोग तब तक आगे के लिए सोचते हैं जब तक कि पीछे की ओर सोचना नहीं पड़ता

1) स्मालटाक के RPN- जैसे संदेशों द्वारा नियंत्रण प्रवाह लिस्प की तरह है - यह नियमित और ठंडा है लेकिन लोगों को बाहर निकालता है।

2) रूबी लोगों को मुहावरेदार तरीके से लोगों को बोलने के लिए कोड लिखने देती है - जब तक कोई कारण नहीं है तब तक ब्ला करें।

अद्यतन स्मालटाक नमूने को वास्तव में अधिक कानूनी कोड होने के लिए फिर से लिखा गया है।


4
अंग्रेजी शायद प्रोग्रामिंग निर्देशों को व्यक्त करने के सबसे बुरे तरीकों में से एक है। मेरा मतलब है कि यह लोगों के बीच पर्याप्त भ्रम पैदा करता है, अकेले कंप्यूटर दें। ब्लाह करते हैं? किसे करना चाहिए ब्ला? किस पर? इसके अलावा आपका रूबी कोड कोई मतलब नहीं है और मान्य नहीं है। होना चाहिए: रूबी: People.think_forwards जब तक लोग। और स्मॉलटॉक होना चाहिए: स्मॉलटाक: (लोग think_forwards?) ifTrue: [लोग सोचते हैं_फोर्वर्ड])
donalbain

2
आप तब तक एक विधि भी जोड़ सकते हैं जब तक कि: कर्नल-मेथड्स श्रेणी से ब्लॉकक्लोजर क्लास के लिए एब्लॉक न हो जो एब्लॉक और आईफ्री का मूल्यांकन करेगा: कॉलिंग ब्लॉक का मूल्यांकन करें।
रिकार्डो डी सिल्लो

3
@donalbain, मैं सुझाव नहीं दे रहा था ये शाब्दिक प्रोग्रामिंग स्टेटमेंट थे लेकिन स्टेटमेंट ऑर्डर के संकेत थे। मुझे लगा कि जब मैंने अपनी प्रतिक्रिया लिखी थी तो यह काफी स्पष्ट था।
एंडी डेंट

1
@donalbain बहुत सच है, वास्तव में यह मौजूद है। अधिक रूबी जैसा नियंत्रण प्रवाह github.com/randycoulman/SuffixConditionals पर रहता है । एंडी, आपके कोड में एक बग है - पिछड़े लोगों को नहीं लगता, इसलिए आपको #ifFalse भेजा जाना चाहिए:;
सीन डेनिग्रिस

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

8

रूबी वर्तमान चर्चा भाषा है। 70 के दशक में विकसित की गई भाषा की तुलना में अभी इसके साथ निर्मित सॉफ्टवेयर को बनाना आसान है।


तथ्य यह है कि यह "70 के दशक में विकसित किया गया था" इससे कोई लेना-देना नहीं है कि इसे विकसित करने के लिए कितना कठिन है।
ग्रा।

3
और मेरी टिप्पणी का विकास से कोई लेना-देना नहीं है।
कोडर

3
क्षमा करें, जब मैं थका हुआ होता हूं, तो मैं गलतफहमी करता हूं, इसलिए मुझे अपनी छुट्टी का समय उन लोगों से माफी मांगते हुए बिताना पड़ता है जिन्हें मैंने तंग किया है।
ग्रा।

8

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


7

आपने अपनी पहली पंक्ति में सवाल का जवाब दिया: "रूबी लोकप्रिय हो रही है"

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

मैं कहूंगा कि एक भाषा दूसरी भाषा से बेहतर है, अप्रासंगिक है .. एक उदाहरण के रूप में, PHP "सबसे अच्छी" भाषा कभी नहीं हो सकती है, लेकिन मैं अभी भी रूबी ऑन रेल्स (इसे बनाने के लिए एक "बेहतर" टूल का उपयोग करने पर विचार करूंगा) वेबसाइटों) क्योंकि यह बहुत व्यापक है।

मूल रूप से, किसी भाषा के विशिष्ट पेशेवरों और विपक्ष उसके आसपास की चीज़ों की तुलना में कहीं कम महत्वपूर्ण हैं - अर्थात् समुदाय।


7

रूबी (या कोई अन्य भाषा) स्मालटाक (या किसी अन्य भाषा) की तुलना में अधिक लोकप्रिय है क्योंकि हम एक अराजक ब्रह्मांड में रहते हैं। अर्थात:

  • डेव थॉमस खुद से, "[दस मिनट में एक ब्लॉग बनाने के लिए" पर] वीडियो के बाद ... रूबी एक अच्छी छोटी आला भाषा होने से चली गई, 'आप जिस भाषा में रेल एप्लिकेशन लिखी हैं' '( रूबी सम्मेलन) 2010 मुख्य वक्ता )।
  • प्रारंभिक स्मालटाक विक्रेताओं ने निषेधात्मक रूप से शुल्क लिया
  • स्मालटाक, क्योंकि यह 30 साल पहले (अपने समय से आगे) का आविष्कार किया गया था, कई लोगों के लिए एक पुरानी, ​​"मृत" भाषा (फोरट्रान की तरह) होती है
  • निगम स्मालटाक को इस तरह के एक प्रतिस्पर्धात्मक लाभ मानते हैं कि वे इसके उपयोग को छिपाते हैं

जबकि ओओ विशेषताओं में भाषाएं समान हैं, लिटिलटॉक का हत्यारा लाभ लाइव, खुला वातावरण (बहुत गलत समझा 'छवि') है। स्मॉलटाकल में प्रोग्रामिंग के इस उदाहरण को देखने के बाद , बहस खत्म हो गई है।


5

मेरे लिए रूबी के पास इतना मामला नहीं है, लेकिन रूबी के पास ऐसा नहीं है। और जो चीज उसके पास नहीं है वह एक वीएम और पूर्ण वातावरण की आवश्यकता है।

स्मॉलटाक महान है - इसके जहां मैंने ओओ अवधारणाओं को सीखा, लेकिन उपयोग में आसानी के लिए मैं रूबी के लिए जाता हूं। मैं अपने पसंदीदा संपादक में रूबी कोड लिख सकता हूं और इसे कमांड लाइन बना सकता हूं।

तो, मेरे लिए, कि मैं क्या Smalltalk पर रूबी का चयन करें।


लेकिन आगे बढ़ो और स्मालटाक भी सीखो।
साइमन नाइट्स

मेरे संपादन के अनुसार: जीएनयू स्मालटाक आपको अपने पसंदीदा संपादक का उपयोग करने और कमांड लाइन से चलाने की अनुमति देता है।
दो बिट-मूर्ख

हाँ - धन्यवाद - बस एक नज़र थी और एक प्रति डाउनलोड की!
साइमन नाइट्स

2
खैर, यह भी एक महान वेब फ्रेमवर्क नहीं है। रेल ठीक है, लेकिन यह कोई सीसाइड नहीं है
Stephan Eggermont

3
कोई भी छोटा प्लेटफॉर्म आपको अपने पसंदीदा संपादक में छोटे कोड लिखने की अनुमति देता है। लेकिन अगर आपको लाइव दुनिया से अलग होना पसंद है, तो यह आपकी पसंद है। बस पता है कि आप इसे करके लगभग 90% उत्पादकता खो रहे हैं।
इगोर स्टैसेंको

5

मुझे लगता है कि हर कोई जो रूबी के साथ कुछ समय से काम कर रहा है, वह स्मॉलटाक को अपने गहरे कर्ज को पहचानता है। इन लोगों में से एक के रूप में, मुझे स्मॉलटाक पर रूबी के बारे में क्या पसंद है? मुझे लगता है कि कड़ाई से भाषा के दृष्टिकोण से, यह चीनी है। रूबी जानबूझकर एक बहुत ही वाक्यविन्यास-शर्करा भाषा है, जबकि स्मालटाक एक बहुत ही वाक्यविन्यास-न्यूनतम भाषा है। रूबी मूल रूप से पेरीलियल सिंटैक्स चीनी के साथ स्मॉलटाक ऑब्जेक्ट मॉडल है। मुझे चीनी पसंद है और यह प्रोग्रामिंग को और अधिक मजेदार बनाता है।


1
रूबी के पास हालांकि स्मॉलटाक का एक अलग ऑब्जेक्ट मॉडल है। मैं कहता हूँ "प्रभावित" लेकिन ऐसा नहीं है। आप नई कक्षाओं को बनाने की आवश्यकता से बचने के लिए एक प्रोटोटाइप-आधारित तरीके से रूबी कार्यक्रम लिख सकते हैं। जबकि यह असामान्य है, स्मॉलटाक बस इसका समर्थन नहीं करता है।
डेफिड रीस

2
मुझे स्मॉलटाक पसंद है, क्योंकि जब भी मुझे इसकी आवश्यकता होती है मैं स्वयं सिंटैक्स शुगर का आविष्कार और उपयोग कर सकता हूं। यदि आपको पहले से ही न्यूनतम सिंटैक्स के साथ सब कुछ कर सकते हैं तो चीनी की कोई आवश्यकता नहीं है।
इगोर स्टैसेंको

5

आप बहुत आसानी से रूबी की नौकरी पा सकते हैं। हालांकि मैं वास्तव में स्मॉलटाक से प्यार करता हूं, लेकिन स्मॉलटाक के आला में आना लगभग असंभव है। इसमें चारों ओर काम है, लेकिन अगर आप लोकप्रिय नहीं थे तो यह अब लगभग असंभव है।

अन्य सभी कारण तुच्छता में तब्दील हो जाते हैं क्योंकि आपको बहुत समय बिताने की ज़रूरत होती है, एक भाषा को ठीक से सीखने के लिए असली काम पर ध्यान केंद्रित किया जाता है। यदि आप स्वतंत्र रूप से धनी नहीं हैं, तो ऐसा करने का सबसे अच्छा तरीका काम पर इसका जोखिम है।


4

क्योंकि स्मॉलटाक वितरण का मूल्य $ 1000USD के गुणकों में था, जबकि रूबी मुक्त है।


4

रूबी स्मॉलटाक को है क्योंकि अरबी अंक रोमन अंकों के हैं। एक ही गणित, आसान वाक्यविन्यास।


3
यह गलत तरीका है। स्मालटाक में बहुत आसान सिंटैक्स है।
Stephan Eggermont

1
केवल अगर आप rpn में सोचते हैं। ज्यादातर लोग नहीं करते हैं। मैं वास्तव में इस तथ्य पर गर्व करता हूं कि यह पद वोटों के ऊपर और नीचे रहता है।
साल

12
आरपीएन? जावा: foo.bar () पर्ल: foo-> बार () पायथन: foo.bar () स्मॉलटाक: फू बार तो एक सरल वाक्यविन्यास होने के अलावा, यदि आप दावा करते हैं कि स्मॉलटॉक RPN है, तो आपको कहना होगा कि सभी प्रमुख OO भाषाएँ "आरपीएन" हैं।
रैंडल श्वार्ट्ज

2
स्मॉलटाक कीवर्ड की मात्रा की तुलना में बस रूबी कीवर्ड की मात्रा की तुलना करें। और यह सिर्फ शुरुआत है! स्मॉलटाक का सिंटैक्स नैपकिन पर फिट बैठता है, रूबी के साथ ऐसा करने की कोशिश करें और आपके पास एक कठिन समय होगा।
मेंढकवास

3

मैंने थोड़ा स्मालटाक किया है - आईडीई एक बात है जो मुझे याद है - क्या रूबी के पास अच्छा आईडीई समर्थन है?


हाँ। TextMate बढ़िया है, ग्रहण समर्थन अच्छा है, और Emacs के पास इसके लिए एक तरीका है जो सभ्य है।
पीट

6
अगर आपको लगता है कि "TextMate / Eclipse / Emacs" स्मालटाक के बिल्ट-इन IDE के बराबर है, तो आपने एक वास्तविक स्मॉलटॉक नहीं देखा है!
रैंडल श्वार्ट्ज

मैं अभी भी चुनिंदा याद करता हूं - IDE से 'मैं इसे दिखाता हूं' जो कि मैं आज के साथ बनाता हूं - एक अपवाद के साथ: SQL सर्वर के SQL विकास उपकरण आपको एक चयन को उजागर करने और इसे क्वेरी के रूप में निष्पादित करने देंगे। अगर कुछ नहीं है तो स्मालटाक प्रभावशाली है!
ConcernedOfTunbridgeWells

आईडीई स्मॉलटाक के पास हो रही है यह IMHO ArachnoRuby है। यह किसी भी Emacs / TextMate आदि की तुलना में बेहतर एकीकृत है। हालांकि ऐसा लगता है कि लोग कुछ खिड़कियों को खोलने के साथ बहुत खुश हैं विविध उपकरण चला रहे हैं सादर
फ्रेडरिक

@Friedrich Re "लोग कुछ विंडो खोलने से काफी खुश हैं जो विविध उपकरण चला रहे हैं" ... "प्रोग्रामिंग भाषाएँ आपको यह सिखाना चाहती हैं कि जो वे प्रदान नहीं कर सकते हैं। आपको एक भाषा में सोचना होगा ..." - पॉल ग्राहम
सीन डेनिग्रिस

3

रूबी का उपयोग करें क्योंकि इसमें व्यावसायिक पैर हो सकते हैं, स्मॉलटाक नहीं है।

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


स्मॉलटाकल के "व्यावसायिक पैर हैं" - यदि आपके पास पहले से ही सही पृष्ठभूमि है और सही अवसर पा सकते हैं ...
डेफिड रीड

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

2

मैं स्मॉलटाक और रूबी दोनों से प्यार करता हूं - लेकिन मैंने पाया है कि रूबी रोजाना जो कुछ भी करता है, उस पर अधिक लागू होता है और मेरे दिल के करीब है (व्यावहारिक रूप से बोल रहा है)। रूबी क्या पेशकश करती है कि स्मॉलटाक नहीं करता है?

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

कुछ ने gst (GNU Smalltalk) का उल्लेख किया है; अभी भी समस्याएं हैं।


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

FreeBSD और OpenBSD के बारे में कैसे? (नहीं, मुझे जवाब नहीं पता ...) सोलारिस और एचपी-यूएक्स और ओपनवीएमएस के बारे में कैसे? मैं एंड्रॉइड या आईओएस पर रूबी या स्मॉलटाक का भी उपयोग नहीं करना चाहूंगा। सबसे बड़ी समस्या ओएस नहीं है, लेकिन मेमोरी: रूबी स्मालटाक की तुलना में काफी कम मेमोरी में चलेगी।
मेई

जाहिरा तौर पर, एक FreeBSD VM है ( मंच पर ओपी की आखिरी गोली देखें ।world.st / SOB-minutes-3-6-12-td4453817.html )। मुझे दूसरों पर यकीन नहीं है। एंड्रॉइड और आईओएस के लिए, क्या आप स्मॉलटाक का उपयोग करना चाहते हैं, क्या यह उपलब्ध है, की तुलना में एक अलग सवाल है ;-) लोग उन प्लेटफार्मों पर सफल प्रयोगों के बारे में पोस्ट कर रहे हैं, जिनमें से मैंने कुछ होनहार स्क्रैनास्ट को देखा है।
सीन डेनिग्रिस

यह भी मुझे याद दिलाता है - मुझे पाम के लिए एक स्मॉलटॉक याद है।
मारी

2

अपनी चुनौती को हरा देने के लिए जो कुछ भी आपको अधिक शक्तिशाली और तेज़ बनाता है उसका उपयोग करें।

हमारे लिए , घर के ढांचे में थोड़ा, हमने समुद्र के ऊपर बनाया है वास्तव में हमारी महाशक्ति है।

मुझे RoR समुदाय से प्यार है, इसका सही रवैया है। वह बहुत मूल्यवान है। लेकिन एक ही समय में, तकनीकी रूप से, समुद्र तटीय आपको अधिक जटिल समस्याओं के खिलाफ मजबूत बनाता है।

आप ओपन-सोर्स सामान का उपयोग करके शानदार समुद्र तटीय वेब एप्लिकेशन कर सकते हैं।

dabbledb समुद्रतट पर स्थित एक सरूप था और, हे! एवी ने इस साल जून में ट्विटर को बेच दिया!

मैं कहता हूं कि आपको अपनी पहल को स्वीकार करने के लिए दूसरों की प्रतीक्षा करने की आवश्यकता नहीं है।

बस इसके लिए जाओ। बनवा लो। हमें दिखाओ कि काम करता है।

तुम अकेले नहीं हो। हम एक ही नाव पर हैं।


2

रॉबर्ट मार्टिन से दिलचस्प परिप्रेक्ष्य (RailsConf 2009 से): "व्हाट किल्ड स्मॉलटॉक रूबी को मार सकता है, बहुत"


2
वह बात मान लेता है कि स्मॉलटॉक मर चुका है (यह नहीं है) और यह माणिक अंतरिक्ष और समय में स्मॉलटॉक के समान पर्याप्त है कि यह समान (गैर) भाग्य को नुकसान पहुंचा सकता है। यह नहीं है।
रैंडल श्वार्ट्ज

0

मुझे लगता है कि समस्या का एक हिस्सा विकास-पर्यावरण-ए-रनटाइम है। यह बहुत शक्ति देता है, लेकिन यह एक बड़ा सीखने की अवस्था भी प्रस्तुत करता है।

यहाँ एक हैलो वर्ल्ड ट्यूटोरियल है।

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

निश्चित रूप से अधिकांश अन्य भाषाओं की तुलना में केवल चीजों को प्राप्त करने की उच्च लागत है।

अधिकांश भाषाओं में कुछ अच्छे आई-कैचिंग कोड होते हैं जिन्हें वे दिखा सकते हैं। मैंने स्मॉलटाक के साथ ऐसा नहीं देखा है। मुझे यह भी लगता है कि स्मॉलटाक के लिए कुछ कलंक है क्योंकि यह इतने लंबे समय से है और यह अभी भी अपेक्षाकृत अस्पष्ट है।


पृष्ठ के निचले भाग में: स्वयं सूचित करें: 'हैलो, वर्ल्ड!'। मैं मानता हूं कि सीखने की अवस्था स्थिर है, लेकिन प्रमाण के रूप में "हैलो, वर्ल्ड" का उपयोग करना, मुझे लगता है, बहुत अधिक है। :)
जॉप

मेरी बात यह देखने की थी कि हेलो वर्कल्ड की तरह कुछ सरल कैसे लिखा जाता है, ट्यूटोरियल को आपको यह बताना है कि आपको कौन सी विंडो खोलने की आवश्यकता है। खिड़कियों के नाम और उपयोग कुछ ऐसा नहीं है जिस पर मैं अनुमान लगा सकता हूं। यह मुझे थोड़ा सा क्लिक करने के लिए चारों ओर ले गया खिड़कियों के बारे में बात कर रहा था।
स्टीव जी

1
मेरे संपादन के अनुसार: जीएनयू स्मालटाक आपको अपने पसंदीदा संपादक का उपयोग करने और कमांड लाइन से चलाने की अनुमति देता है।
दो बिट-मूर्ख

माणिक-'' "हैलो वर्ल्ड" डालता है
मार्सेल वाल्डेज़ ओरोज़्को

1
फ़ारो [छवि फ़ाइल नाम] -e "स्वयं सूचित करें: 'हैलो दुनिया'"
शॉन डेनिग्रिस

0

मुझे लगता है कि सबसे बड़ा अंतर यह है कि रूबी USEAGE के मामले में पर्ल के समान है। स्मॉलटाक को कभी "स्क्रिप्टिंग" भाषाओं में पैर नहीं मिला।

वीएम वास्तव में अच्छा है और मुझे उम्मीद है कि माणिक के पास कुछ ऐसा ही होगा इसलिए हम अपने ओएस पर हर चीज का इलाज कर सकते हैं जो रूबी में मेमोरी स्पेस में ऑब्जेक्ट के रूप में लिखा गया है, हालांकि तब तक मैं बस रूबी की कविता, लघु वाक्यविन्यास, बस की क्षमता का आनंद लेता हूं एक छोटी स्क्रिप्ट लिखें और बाद में इसका पुन: उपयोग करें। रूबी को पर्ल के सभी फायदे मिलते हैं और OOP, पर्ल के OOP हैक की तुलना में बहुत छोटे से समान है।


0

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

किसी भाषा की मूल बातें सीखना आसान है, लेकिन वास्तव में इसका प्रभावी ढंग से उपयोग करने के लिए आपको मंच और उपकरण, साथ ही साथ वाक्यविन्यास और मुहावरों को सीखने के लिए पर्याप्त समय का निवेश करने की आवश्यकता है। IIRC, मैककोनेल का दावा है कि वास्तव में कुशल बनने में लगभग तीन साल लगते हैं।

उन चीजों को देखते हुए, LISP और स्मालटाक जैसी भाषाओं पर बहुत समय बिताने को सही ठहराना मुश्किल है, हालांकि वे देखने में दिलचस्प और शायद शैक्षिक हैं।


0

चर्चा में देर से आने वाले के रूप में, स्मॉलटाक और लिस्प के साथ मुख्य समस्या यह है कि आप साझा होस्टिंग पर उन्हें CGI या FastCGI के साथ नहीं चला सकते हैं।

यदि उन्हें उपयोग करने के लिए वीपीएस या समर्पित सर्वरों की आवश्यकता होती है, तो अनचाही जनता कभी भी उनका उपयोग नहीं करने वाली है। IMHO सीसाइड लगभग किसी भी उपचार के लिए बेहतर है, लेकिन क्या यह ड्रीमहोस्ट या वेबफिकेशन पर चलेगा?


मुझे आश्चर्य है कि अगर यह अभी भी एक बाधा है कि उदाहरण के लिए डिजिटल महासागर $ 0.007 / hr के लिए VPS की पेशकश कर रहा है
सीन DeNigris
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.