क्या "सत्यता" एक वैध प्रोग्रामिंग शब्द है?


11

एसओ के पास "सत्यता" शब्द का उपयोग करने के लिए काफी कुछ प्रश्न हैं , जिसका अर्थ अभिव्यक्ति का सत्य मूल्य है, जब इसका मूल प्रकार की परवाह किए बिना, बूलियन के रूप में मूल्यांकन किया जाता है। यह गतिशील भाषाओं में बहुत उपयोगी है।

तो मेरा प्रश्न यह है कि क्या यह वास्तविक शब्द है, और यदि स्टीफन कोलबर्ट के लोकप्रिय होने से पहले हम इसका उपयोग कर रहे थे? या क्या हमने इसे बाद में अपनाया? उस मामले में, ऊपर दी गई परिभाषा के साथ सही शब्द क्या है?


2
en.wikipedia.org/wiki/Truthiness इसे आप क्या चाहते हैं। ; ->
जेफ ग्रिग

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

जवाबों:


4

सच्चाई पर बहुत बहस होती है

मरियम-वेबस्टर इसे परिभाषित करता है:

  1. सच्चाई (संज्ञा)
    1: "सत्य जो आंत से आता है, न कि किताबें" (स्टीफन कोलबर्ट, कॉमेडी सेंट्रल की "द कोलबर्ट रिपोर्ट," अक्टूबर 2005)
    2: "अवधारणाओं या तथ्यों को पसंद करने की गुणवत्ता एक इच्छा को पूरा करना है, बजाय अवधारणाएं या तथ्य जो सच माने जाते हैं "(अमेरिकी बोली सोसायटी, जनवरी 2006)

ऑक्सफोर्ड डिक्सर्स ऑनलाइन इसे परिभाषित करता है:

संज्ञा
[ जन संज्ञा ] प्रतीत होने या होने की गुणवत्ता को अनौपचारिक रूप
से सच होने के लिए, भले ही जरूरी न हो।

उत्पत्ति :
19 वीं शताब्दी की शुरुआत (अर्थ में 'सत्यता'): अमेरिकी हास्य अभिनेता स्टीफन कोलबर्ट द्वारा आधुनिक अर्थों में गढ़ा गया

स्टीफन कोलबर्ट से पहले इसका इस्तेमाल यूज़नेट पर थोड़ा सा किया गया था , लेकिन आमतौर पर जैसे ही इसका इस्तेमाल किया जाता है, जैसे "अवधारणाओं या तथ्यों को एक इच्छा या सच मानने की बजाय, अवधारणाओं या तथ्यों को सच माना जाता है" की गुणवत्ता।

वापस प्रोग्रामिंग के लिए। उत्पत्ति के बावजूद, यह आधुनिक अर्थ "आंत से सत्य, भले ही सच न हो" बूलियन तर्क और सत्य तालिकाओं पर चर्चा करते समय ज्यादातर स्पष्ट रूप से गलत है: यह ifकथन निश्चित रूप से सत्य है, और यह whileकथन तब तक गलत है (i > k)। मेरी आंत महसूस नहीं है।

आप उपयोग कर रहे हैं truthiness प्रोग्रामिंग में, सबसे अधिक संभावना है कि आप में से जिसका अर्थ है दुर्लभ 19 वीं सदी का उपयोग कर रहे सत्यवादिता , और यह दोनों स्पष्ट (और यकीनन अधिक सही) का उपयोग किया जाएगा सत्यवादिता या बस सच्चाई

Ngram :

Ngram

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


2
मैंने व्यक्तिगत रूप से हमेशा सत्यता शब्द का उपयोग किया है, जब मैं सच्चाई पढ़ता हूं, तो मैं इसे एक वास्तविक शब्द भी नहीं मानता।
Ramhound

@ रामहाउंड: "कोई वास्तविक शब्द नहीं" जैसी कोई चीज नहीं है। यदि किसी शब्द का मनुष्यों के बीच संचार के लिए उपयोग किया जा सकता है, तो यह एक वास्तविक शब्द है।
जैक्सबी

@ ह्यूगो: तकनीकी शब्दजाल की बात करें तो मरियम-वेबस्टर आधिकारिक नहीं है। आम भाषा की तुलना में सीएस में बहुत सारे शब्दों का एक अलग अर्थ है।
जैक्सबी

@JacquesB सवाल के बारे में कि क्या यह "एक वास्तविक शब्द" है, और क्या इसका उपयोग कॉल्बर्ट से पहले या बाद में इसे लोकप्रिय बनाने में किया गया था, इसलिए मानक शब्दकोशों से परिभाषाएं इनसे निपटने में मदद करती हैं।
ह्यूगो

@ ह्यूगो: आप बता रहे हैं कि तकनीकी शब्द का उपयोग आम (आईटी-विशिष्ट नहीं) शब्दकोश में इसकी परिभाषा के कारण "स्पष्ट रूप से गलत" है। और "सत्य" शब्द का उपयोग करने के लिए आपका सुझाव "सत्यता" शब्द के पूरे बिंदु को याद करता है, जो गैर-बूलियन मूल्यों पर लागू होता है।
जैकब बी

9

यह एक ऐसा शब्द है जो कुछ हलकों में जाना जाता है और स्वीकार्य है (उदाहरण के लिए जावास्क्रिप्ट बूलियन तुलना)। जैसे, यह एक "वास्तविक" शब्द है। पुण्य के उपयोग से यह वैध हो जाता है।

इस तरह के सभी शब्द कहीं से आते हैं - वे पूरी तरह से गठित दुनिया में और स्थापित अर्थों के साथ पॉप नहीं करते हैं (उदाहरण के लिए - सॉफ्टवेयर बग का मतलब अब उनके पास नहीं है जब इलेक्ट्रॉनिक कंप्यूटर अभी शुरू हुए हैं)।

चाहे वह अकादमिक रूप से स्वीकृत हो - यह एक अलग मामला है। जहां तक ​​मुझे पता है कि बुलियन मूल्यों के इस फजी अर्थ के लिए कोई औपचारिक शब्द नहीं है ..


@Downvoter - टिप्पणी करने के लिए परवाह है?
ओड

3
वास्तव में एक समस्या के रूप में "बग" शब्द आधुनिक कंप्यूटर से पहले उपयोग किया गया था। एडिसन ने एक पत्र 1787 में प्रयोग किया था। यह तब इंजीनियरिंग की समस्याओं के लिए सामान्य शब्द था। ग्रेस हॉपर की कहानी थोड़ी विडंबना के रूप में है कि उन्हें जो बग मिला वह वास्तव में एक बग था।
जिम सी

@JimC - काफी फेयर, लेकिन फिर भी, जब लोग आज "बग" कहते हैं, तो उनका मतलब वही नहीं होता है, जैसा एडिसन के दिनों में हुआ था।
Oded

4
एडिसन ने 1878 में लिखा था: It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that 'Bugs' — as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.मेरे लिए आधुनिक सॉफ्टवेयर बग के समान है।
ह्यूगो

8

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

से जावास्क्रिप्ट शैली के Crockford की द तत्वों

== ऑपरेटर को मूल्यों के साथ तुलना करने के लिए उपयोग नहीं किया जाना चाहिए क्योंकि यह टाइप ज़बरदस्ती करता है। यदि हमारा इरादा यह निर्धारित करना है कि क्या dwsv.checked बूलियन मूल्य सही है, तो हमें === ऑपरेटर का उपयोग करना चाहिए। यदि हम केवल इस बात की परवाह करते हैं कि एक मूल्य सत्य है (और मिथ्या नहीं है), तो एक समानता ऑपरेटर का उपयोग नहीं करना बेहतर है।

उदाहरण के लिए, टाइप जबरदस्ती के कारण।, 1 == सच सच है, लेकिन 1 === सच गलत है। == ऑपरेटर प्रकार की त्रुटियों को छिपा सकता है।

इस संदर्भ में यह शब्द वैध और उपयोगी दोनों है।

इस संदर्भ में सत्य और असत्य के एक और उदाहरण के रूप में ये मामले दृष्टांतपूर्ण हैं।

'' == '0' // false    
0 == '' // true
0 == '0' // true

false == 'false' // false
false == '0' // true

false == undefined // false
false == null // false
null == undefined // true

' \t\r\n ' == 0 // true

+1, और पायथन यही काम करते हैं। []जब एक बूलियन के रूप में इस्तेमाल किया जाता है तो झूठ का मूल्यांकन किया जाता है, आदि
इज़ाका

1
+1 यह उत्तर होना चाहिए। मैंने अक्सर अपने स्वयं को विभिन्न डेटा संरचनाओं की "सच्चाई" के बारे में बात करते हुए पाया है। या अधिक बार, मैं अपने आप को कह रही है "एक्स falsy कि" जहां एक्स विचारों की तरह है 0, None, [], और इतने पर।

2

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


समस्या यह है कि अब "कोलबर्ट" की परिभाषा लोकप्रिय हो गई है, पुराने कामों में अस्पष्ट संदर्भ खोजने के लिए यह बहुत कठिन होने जा रहा है :-)
डीन हार्डिंग

मैं 2006 से पहले ACM या IEEE से कोई भी नहीं पा सका ।
ह्यूगो

@ डीनहेयरिंग किसी दिए गए दिनांक से पहले शब्दों की खोज के तरीके हैं, उदाहरण के लिए Google पुस्तकें और यूज़नेट का उपयोग करना
ह्यूगो

2

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

तो नीचे दिए गए सशर्त फ़ंक्शन को केवल तभी कहा जाएगा यदि value"सत्य" है

  (if value
    (some-conditional-function))

केवल गैर-सत्य मूल्य हैं falseऔर nil, बाकी सब कुछ सत्य माना जाता है।

मेरा मानना ​​है कि इसके लिए दार्शनिक औचित्य यह है कि nilइसका मतलब "अस्तित्व में नहीं है" लिया जा सकता है, इसलिए सशर्त विवरण एक मूल्य के अस्तित्व के लिए परीक्षण करने में सक्षम है।

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


1

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

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

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


0

मुझे आपसे वापस पूछना चाहिए: "वास्तविक शब्द" क्या है?

किसी भी शब्द का उपयोग मनुष्य "वास्तविक" होता है जब कई लोगों द्वारा उपयोग किया जाता है जिसका अर्थ है (कम या ज्यादा) एक ही बात। सभी भाषाएँ लगातार विकसित हो रही हैं, और इसलिए प्रोग्रामर की भाषा है।

उदाहरण के लिए, रूबी में, आजकल rspec परीक्षण ढांचा पसंद xyz.should be_truthyकरता है xyz.should be_true। या के xyz.should be_falseyबजाय xyz.should be_false। बेशक, बाद के बजाय वे उठा सकते थे xyz.should be_wrong। लेकिन उन्होंने ऐसा नहीं किया, इसलिए हम यह भी पूछ सकते हैं कि क्या "फाल्सीनेस" एक शब्द है।

अब यह है। तरह का। कम से कम उन समुदायों में जो इन शब्दों का उपयोग करते हैं। अपने वकील या डॉक्टर से न पूछें। :)

यदि आप यह पूछना चाहते हैं कि "क्या आम जनता सहजता से जानती है कि सत्यता क्या है", तो इसका उत्तर शायद "नहीं" है।


1
जैसा (लगभग) सभी जानते हैं, कुछ वास्तविक है अगर और केवल अगर इसका काल्पनिक हिस्सा गलत है
बेन वोइगट

-3

मैंने एक प्रणाली लिखी है जो आंशिक विवरण देते हुए, बूलियन स्टेटमेंट के सही (गणितीय) होने की संभावना को निर्धारित करेगी। Ie हम यह निर्धारित कर सकते हैं कि Xसच होने का 73% मौका था, अगर हमारे पास पर्याप्त डेटा नहीं था जो दृढ़ता से स्थापित हो सके कि X सच था। "सत्यता" एक्स में इस तरह के प्रतिशत विश्वास का वर्णन करने के लिए एक पूरी तरह से वैध तरीका होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.