मेरी वर्तमान नौकरी में मैं पर्ल स्क्रिप्ट का एक सूट बना रहा हूं जो वस्तुओं पर भारी निर्भर करता है। (संभवतः ओओ के करीब होने के लिए हैश पर पर्ल के bless()
का उपयोग करके)एक बतख-टाइप की गई भाषा में स्थैतिक-टाइपिंग के पहलुओं को सिम्युलेट करना
अब, इसे डालने का बेहतर तरीका नहीं है, मेरी कंपनी के अधिकांश प्रोग्रामर बहुत स्मार्ट नहीं हैं। इससे भी बदतर, वे दस्तावेज पढ़ने को पसंद नहीं करते हैं और अन्य लोगों के कोड को समझने में कोई समस्या है। काउबॉय कोडिंग यहां गेम है। जब भी उन्हें कोई समस्या आती है और इसे ठीक करने का प्रयास करते हैं, तो वे एक भयानक समाधान के साथ आते हैं जो वास्तव में कुछ भी हल नहीं करता है और आमतौर पर इसे और भी खराब बनाता है।
यह परिणाम मुझे, स्पष्ट रूप से, बतख टाइप भाषा में लिखे गए कोड के साथ भरोसा नहीं करते हैं। एक उदाहरण के रूप में, मुझे उन समस्याओं के साथ बहुत सी समस्याएं दिखाई देती हैं जिन्हें वस्तुओं का दुरुपयोग करने के लिए स्पष्ट त्रुटि नहीं मिल रही है। उदाहरण के लिए, यदि A
में सदस्य foo
है, और वे instance->goo
जैसे कुछ करते हैं, तो वे तुरंत समस्या को नहीं देख पाएंगे। यह एक शून्य/अपरिभाषित मूल्य वापस कर देगा, और वे शायद कारण खोजने में एक घंटे बर्बाद कर देंगे। फिर कुछ और बदलना समाप्त करें क्योंकि उन्होंने मूल समस्या की उचित पहचान नहीं की है।
तो मैं अपनी स्क्रिप्टिंग भाषा रखने के लिए एक तरीके से समझ रहा हूं (इसका तीव्र विकास एक लाभ है) लेकिन एक ऑब्जेक्ट ठीक से उपयोग नहीं होने पर एक स्पष्ट त्रुटि संदेश दें। मुझे एहसास है कि चूंकि संकलन चरण या स्थैतिक टाइपिंग नहीं है, इसलिए त्रुटि को रन टाइम पर होना होगा। मैं इसके साथ ठीक हूं, जब तक उपयोगकर्ता को एक बहुत ही स्पष्ट नोटिस मिलता है कि "इस ऑब्जेक्ट में एक्स नहीं है"
मेरे समाधान के हिस्से के रूप में, मैं नहीं चाहता कि यह आवश्यक हो कि वे जांचें कि क्या इसका उपयोग करने से पहले एक विधि/चर मौजूद है।
भले ही मेरा काम पर्ल में है, मुझे लगता है कि यह भाषा अज्ञेयवादी हो सकती है।
यह देखते हुए कि आप इस माहौल में हैं, यह स्वीकार करते हुए कि आपके सहकर्मियों को यह समझ में नहीं आता है ... ऐसा लगता है कि आप समस्या का हिस्सा हैं! – Stephen
मैं पसंद से पर्ल का उपयोग नहीं कर रहा हूँ। यह या तो प्रबंधन के अनुसार यह या sh था। – Mike
मैं कुछ नेतृत्व की स्थिति में हूं, लेकिन नौकरशाह तकनीकी निर्णय लेते हैं। मैं इसे बदलने के लिए काम कर रहा हूं, लेकिन मुझे अभी भी उतना प्रभाव नहीं है जितना मुझे चाहिए। – Mike