2010-04-09 9 views
8

यह प्रत्येक कंप्यूटर विज्ञान कक्षा में पढ़ाया जाता है और कई पुस्तकों में लिखा जाता है कि प्रोग्रामर को गोटो का उपयोग नहीं करना चाहिए। इसके बारे में xkcd कॉमिक भी है। मेरा सवाल यह है कि क्या हम उस बिंदु पर पहुंचे हैं जहां इवल के बारे में भी यही कहा जा सकता है?Eval का उपयोग करना चाहिए GoTo के रूप में एक ही कलंक?

जहां GoTo प्रोग्राम प्रवाह और पठनीयता के लिए प्रवाहकीय नहीं है, इवल डिबगिंग, और प्रोग्राम निष्पादन और डिज़ाइन के लिए समान है।

ईवल का उपयोग करना चाहिए गोटो के समान ही कलंक, और एक्सकेसीडी कॉमिक के समान परिणाम?

+0

खैर, मुझे निश्चित रूप से कॉमिक के समान परिणाम होने की उम्मीद नहीं है ... अब तक मुझे कुछ बार खाया गया होगा। – Tesserex

+1

यह एक स्पर्शक है, लेकिन गोटो विवाद एक फारस है। गोटो केवल तभी बुरा होता है जब लोग इसे बेवकूफ तरीके से इस्तेमाल करते हैं। Eval के साथ ही। इवल गलत हाथों में बहुत शक्तिशाली, लचीला और खतरनाक है। –

उत्तर

7

यदि कुछ भी है, तो इसे और अधिक कलंक लेनी चाहिए।

GoTo अक्सर कोड बनाता है जो बनाए रखना मुश्किल है। Eval अक्सर सुरक्षा भेद्यता के साथ कोड बनाता है - यह बदतर है।

1

ईवैल हो सकता है कि गोटो पहुंचे आलोचना के स्तर तक नहीं पहुंच पाई है, लेकिन निश्चित रूप से इसे हटा दिया गया है!

1

किसी व्यक्ति ने "इवल माना जाता है" लेख प्रकाशित करने से पहले ही समय की बात है!

+1

के बाद "इवल को एविल माना जाता है 'एविल माना जाता है" लेख। – bryanjonker

+0

http://diveintomark.org/archives/2002/01/04/eval_is_evil – dan04

2

इवल में कुछ गंभीर सुरक्षा चिंताएं हैं; यदि कोई मौका है तो अविश्वसनीय या उपयोगकर्ता द्वारा आपूर्ति इनपुट एक eval में समाप्त हो सकता है, यह कमजोर है।

जेस्लिंट जेएस कोड में eval() के उपयोग के बारे में चेतावनी देगा।

0

अप्रत्यक्ष रूप से एक माँ का विस्फोट "अप्रत्यक्ष रूप से कवर करता है - उचित जांच की कमी के कारण सिस्टम द्वारा दुर्भावनापूर्ण कोड चलाया जाता है।

संबंधित मुद्दे