क्या प्रोग्रामिंग का विंडोज दर्शन है? [बन्द है]


30

मैं यूनिक्स और विंडोज वातावरण दोनों में प्रोग्रामिंग कर रहा हूं। अधिकतर मैंने यूनिक्स में काम किया है, जहाँ मैंने यूनिक्स दर्शनशास्त्र सीखा है , जिसे संक्षेप में प्रस्तुत किया जा सकता है

  • ऐसे कार्यक्रम लिखें जो एक काम करते हैं और इसे अच्छी तरह से करते हैं।
  • एक साथ काम करने के लिए कार्यक्रम लिखें।
  • पाठ धाराओं को संभालने के लिए प्रोग्राम लिखें, क्योंकि यह एक सार्वभौमिक इंटरफ़ेस है।

उदाहरण के लिए, यूनिक्स और विंडोज दुनिया के बीच प्रोग्रामिंग संस्कृतियों में स्पष्ट अंतर प्रतीत होता है:

  • जीयूआई बनाम सीएलआई
  • रजिस्ट्री बनाम विन्यास फाइल
  • किसी भी दिए गए जरूरत बनाम जेनरिक ऑर्थोगोनल टूल के समूह के लिए विशेषज्ञता वाले उपकरण जो संयुक्त हो सकते हैं

क्या विंडोज दुनिया में "यूनिक्स दर्शन" के बराबर है? यूनिक्स-प्रोग्रामर विंडोज से क्या सीख सकता है या विंडोज में प्रोग्रामिंग के लिए आगे बढ़ने के बारे में पता होना चाहिए?

मैं विंडोज प्रोग्रामिंग की सर्वोत्तम प्रथाओं पर ध्यान केंद्रित करने के लिए उत्तर (और विंडोज और यूनिक्स के बीच लड़ाई नहीं) चाहूंगा।


15
के बारे में पता होना चाहिए? "हालात चूसेंगे, खराब चूसेंगे।"
परिक्रमा

3
केवल एक दर्शन कि, कोई दर्शन नहीं है। ;)
मुदस्सिर

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

4
हम इसे तीसरी बार ठीक करेंगे।
5

7
विंडोज का दर्शन माइक्रोसॉफ्ट को राजस्व लाने के लिए है।
dan04

जवाबों:


28

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

इसका मत:

  • सरल और सहज उपयोगकर्ता इंटरफ़ेस
  • प्राकृतिक वर्कफ़्लो
  • बॉक्स से बाहर काम करना चाहिए
  • कोई तकनीकी ज्ञान की आवश्यकता नहीं है जहां यह आवश्यक नहीं है

यहाँ एक अच्छा पढ़ा है:

Biculturalism

विंडोज के प्रसार के साथ कोडिंग के लिए हैकर दृष्टिकोण प्रतिकूल होने लगा। पहले यह सबसे जटिल और अस्पष्ट तरीके से C / C ++ प्रोग्राम लिख रहा था, ताकि केवल सबसे कठिन दिमाग ही उन्हें समझ सके, जैसे कि एक संस्कार। विंडोज के तहत चीजें बदलने लगीं और "कोड स्टाइल" अब बहुत प्रतिकूल है। सुनिश्चित नहीं है कि इसका प्रत्यक्ष विंडोज प्रभाव या कोड गुणवत्ता की समझ का नया स्तर है, लेकिन कम से कम समय पर वे मेल खाते हैं।


7
मुझे नहीं लगता कि उन बुलेट बिंदुओं में से कोई भी विशेष रूप से विंडोज पर लागू होता है।
टॉम हॉकिन -

4
@ टॉम: यह एक दर्शन है; यह कुछ भी लागू करने की आवश्यकता नहीं है। फिर भी, मेरा मानना ​​है कि यह विंडोज़ की दुनिया की ज्यादातर चीजों पर लागू होता है।
एलन ग्रिल्नक

@ मैं कुछ और के साथ सहमत हूँ क्योंकि मेरे कारण ऐसा लगता है जैसे ओपी का प्रश्न अधिक कंसोल बनाम GUI प्रोग्रामिंग है।
गिदोन

6
क्या?!? अच्छे पुराने BSD और AT & T स्रोतों पर एक नज़र डालें। स्वच्छ, सरल, सुरुचिपूर्ण। और मैंने एक विशिष्ट फूला हुआ एमएफसी कोड की तुलना में कभी भी अधिक बाधित नहीं देखा है।
एसके-लॉजिक

कठिन भी एक भी सही उत्तर नहीं है, मुझे यह सबसे अच्छा लगा। जोएल का ब्लॉग पोस्ट बहुत अच्छा था।
मैग्लोब

8

मुझे लगता है कि आप अपने प्रश्न में जो अंतर करते हैं, वे इन प्रणालियों के उपयोगकर्ताओं के बारे में उनके डेवलपर्स की प्रोग्रामिंग शैलियों की तुलना में अधिक हैं। एक लंबे समय के लिए, * निक्स या तो प्रोग्रामर या कंप्यूटिंग उत्साही का क्षेत्र रहा है। "आकस्मिक" उपयोग के रास्ते में बहुत कम था। जहां विंडोज़ के पास [होम] उपयोगकर्ता संख्या अधिक है, परिमाण के आदेश।

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

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

आकस्मिक उपयोगकर्ता आमतौर पर कुछ का उपयोग तब तक करते हैं जब तक कि वे जो चाहते हैं, भले ही "बेहतर" उत्पाद उपलब्ध हों।

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

एक समान महत्व का हो सकता है: उपयोगकर्ता प्रलेखन लिखें।


7
उपयोगकर्ता प्रलेखन? सफल कार्यक्रमों के उपयोगकर्ताओं को कभी भी किसी भी दस्तावेज को छूने की जरूरत नहीं होगी।

@ डाइवर्टर आर्ट - यह एक बिंदु पर सच है, लेकिन जब आप कहने के लिए सॉफ़्टवेयर लिख रहे हैं, तो कण भौतिकी जिसे विभिन्न राष्ट्रीयताओं के लोगों द्वारा समझा जाना है, कहने की क्षमता "हम आपके डेटा के साथ क्या करते हैं, इसके विवरण के लिए यहां क्लिक करें" यहाँ "अगर एक टेलीपैथिक कंप्यूटर लिखने से ज्यादा आसान है जो उपयोगकर्ताओं को अपने मन से उम्मीद निकालने में सक्षम होगा।
TZHX

3
"उपयोगकर्ता को बकवास के साथ प्रदूषित न करें।" - काफी विडंबना है।
ओसोडो

1
तो कैसे, Slomojo?
TZHX


4

समझौता और अनुकूलित करें

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

उपयोगकर्ता के लिए शुरू करने के लिए काफी अच्छा है

बहुत कम चीजें बॉक्स के बाहर अभूतपूर्व हैं, लेकिन अधिकांश चीजें उपयोग करने योग्य हैं। यूनिक्स उस दिशा में जाता है जहां कुछ भी काम नहीं करता है जब तक आप इसे कॉन्फ़िगर नहीं करते हैं और Apple सब कुछ बहुत पॉलिश करता है, लेकिन कुछ विन्यास / लचीलेपन की कीमत पर।

एक लॉग समर्थन पूंछ की अपेक्षा करें

Windows उपयोगकर्ता केवल इसलिए अपग्रेड नहीं करते हैं क्योंकि एक नया संस्करण है। वे हमेशा एक भेद्यता या बगफिक्स के कारण उन्नयन नहीं करते हैं। विंडोज उपयोगकर्ताओं को अक्सर अपग्रेड करने के लिए मजबूर होना पड़ता है, लेकिन यदि आप उन्हें जल्दी से अपग्रेड करने के लिए मजबूर करते हैं तो वे वैकल्पिक उत्पादों की तलाश करेंगे

उपयोगकर्ताओं के पास कौशल स्तरों की एक विशाल श्रृंखला है

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


3

विंडोज़ को आईबीएम के कॉमन यूजर एक्सेस (सीयूए) मानक के लिए स्पष्ट समर्थन के साथ बनाया गया था ताकि अनुप्रयोग विकास को निर्देशित किया जा सके।

जो निश्चित रूप से, उपयोगकर्ता के लिए मैक जैसा अनुभव बनाने का एक प्रयास था।


2

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


1

मुझे यकीन नहीं है कि अगर यह एक दर्शन है, लेकिन IMHO विचार का घनत्व का एक प्रकार है जो विंडोज प्रोग्रामिंग के साथ जाता है। कभी-कभी चीजें कैसे काम करती हैं, इस पर भी आश्चर्य होता है।

यदि आप Windows के विकास को गले लगा रहे हैं, और अपनी मान्यताओं के बारे में थोड़ा और ध्यान रखते हुए मैं धैर्य रखने की सलाह दूंगा।

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