प्रोग्रामिंग के पुजारी

हाल ही में, मुझे एहसास हुआ कि PHP का उपयोग करने वाले कई प्रोग्रामर प्रोग्रामर से अलग हैं "सामान्य रूप से।" मेरी समझ का आधार रुस्लान कोशोलोव के शब्द थे: “यह PHP है। यह समझना असंभव है, केवल याद रखना। " लेकिन वास्तव में, यह है। मैं समझाऊंगा क्यों।

लगभग हर कोई जो PHP के साथ मिलकर काम करता है, सहमत है कि भाषा सीखना आसान नहीं है: यदि अधिकांश भाषाओं में आपको भाषा में निर्धारित सिद्धांतों को समझने की आवश्यकता है, और फिर आवश्यक रूप से दस्तावेज़ीकरण देखें, तो फ़ोकस काम नहीं करता है: आपको व्यावहारिक रूप से प्रलेखन को देखना होगा हर समय - क्योंकि तर्क काम नहीं कर रहा है। तथ्य यह है कि PHP के पास एक विशाल, अविश्वसनीय संख्या में कार्य हैं, वैश्विक दायरे में फैल गए हैं। इन कार्यों को अलग-अलग समय पर, अलग-अलग लोगों द्वारा, बिना स्पष्ट समझौतों के, उन्हें कैसे कॉल किया जाए, मापदंडों के रिसेप्शन को कैसे व्यवस्थित किया जाए, और परिणामों को कैसे लौटाया जाए, इस पर लिखा गया था। बहुत, बहुत कुछ अनायास हुआ, ऐतिहासिक रूप से, और अगर ऐसा हुआ, तो इसे अब दोबारा नहीं किया जा सकता है। प्रत्येक विस्तार के भीतर - अपनी शैली और अपना तर्क। जिस क्षेत्र में एक्सटेंशन से फ़ंक्शंस आयात किए जाते हैं, वह वैश्विक है, लेकिन कोई वैश्विक मानक नहीं था, नहीं, और यह पहले से ही स्पष्ट है कि यह नहीं होगा: इसके लिए आवश्यक कार्य की मात्रा बहुत बड़ी है।
PHP इतिहास के साथ एक भाषा है, इसमें परतें हैं - एक प्राचीन शहर की तरह। यह होम पेज बनाने के लिए पर्ल स्क्रिप्ट के एक सेट के साथ शुरू हुआ, फिर सी (कई बार) में फिर से लिखा गया। इंजन ने पत्राचार किया, और अनायास जोड़े गए कार्य पिछड़े संगतता के कारणों के लिए लगभग अपरिवर्तित रहे, सिवाय इसके कि उन्होंने मापदंडों की संख्या में वृद्धि की। लेकिन इतना है कि मापदंडों की सूची कम हो जाती है, या, कहें, फ़ंक्शन समाप्त हो गया है - यह मेरी स्मृति में नहीं है (यह 1998 से है)। वैसे, फ़ंक्शन तर्कों का क्रम याद रखना चाहिए। एक सरल उदाहरण: यदि खोज कार्य preg_match () और ereg () को पहले "हम क्या देख रहे हैं" पास करना चाहिए, तो "क्या", और तीसरे, वैकल्पिक पैरामीटर के साथ, आप फ़ाउंड को बचाने के लिए एक चर पास कर सकते हैं, फिर फ़ंक्शन स्ट्रैप () - इसके विपरीत; मूल्यांकन, वैसे, कार्यों के नामों की विविधता और असंगति जैसे)। फ़ंक्शन क्या देता है, और किस स्थिति में - यह भी याद रखना चाहिए। यदि कुछ नहीं मिला तो वही स्टॉपपोज़ () झूठा वापस आ जाएगा, और दस्तावेज़ीकरण इस बात पर जोर देता है कि फ़ंक्शन 0 पर वापस आ सकता है, अर्थात, रिटर्न वैल्यू की तुलना करना और झूठे प्रकार को ध्यान में रखना आवश्यक है, क्योंकि बिना प्रकार की जाँच के, पूर्णांक शून्य को परिवर्तित किया जाएगा। झूठी।

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

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

हाल ही में मैंने लाइवजर्नल में एक पोस्ट पढ़ी, जिसमें विंडोज एनाइकिस्की और डी एंड डी पुजारियों की तुलना करने का विचार टिप्पणियों के माध्यम से चला गया। मैं उद्धृत करता हूं: “डी एंड डी गेम प्रणाली में, इस तरह के एक दिलचस्प विभाजन का आविष्कार पूर्व निर्धारित की मानसिक क्षमताओं की विशेषताओं के लिए किया गया है: INT (बुद्धि) और WIS (ज्ञान)। एक जादूगर के लिए, INT एक पुजारी के लिए अधिक महत्वपूर्ण है - WIS, हालांकि खेल सार एक ही है - जादू का उपयोग (जो कि, औसत आदमी के दृष्टिकोण से "कंप्यूटर मैन" के काम का प्रक्षेपण नहीं है)। हालांकि, हमारे लिए गेम मैकेनिक्स यहां आवश्यक नहीं है, लेकिन दुनिया को समझने के तरीकों के लिए वर्गीकरण स्वयं बहुत ही दिलचस्प है - स्वतंत्र रूप से तार्किक निर्माण (INT) या ज्ञान (WIS) जमा करके। ”

यह वह चीज है जिसके लिए मैं सामान्य रूप से विकसित, "पंप किया हुआ" सोच वाला तंत्र प्रोग्रामर के लिए विविध, असंबंधित तथ्यों को याद रखने से ज्यादा महत्वपूर्ण है। लेकिन एक PHP प्रोग्रामर के लिए, स्थिति बिल्कुल विपरीत बदलती है: तथ्यों को समझने की कोशिश किए बिना याद रखना महत्वपूर्ण है। लेकिन मुझे अभी भी आश्चर्य नहीं है कि प्रोग्रामर के बीच एक परियोजना में एक पवित्र युद्ध इस तथ्य के कारण टूट सकता है कि एक को याद है कि विभिन्न प्रकारों के उद्धरण चिह्नों को अलग-अलग गति से संसाधित किया जाता है (अंतर नगण्य है, लेकिन वास्तविक जीवन में असंभव होने वाले विशाल हवा पर ध्यान देने योग्य हो जाता है) , और दूसरा इंगित करता है कि वास्तव में इस तरह के चक्र को व्यावहारिक रूप से कहीं भी और कभी भी करने की आवश्यकता नहीं है। पहले के लिए, यह एक तथ्य है, और इसे लगातार ध्यान में रखा जाना चाहिए। उसी समय, वह यह नहीं समझता है कि एक ही चक्र में अनिश्चित चर की जाँच करना संसाधनों की बर्बादी है; कि त्रुटि को परिरक्षित किया जा सकता है, लेकिन त्रुटि इस से गायब नहीं होगी; समझ में नहीं आता है कि लेनदेन की स्वतंत्रता की आवश्यकता क्यों है। ऐसा नहीं है कि उनमें से एक चालाक है, और दूसरा डम्बर है, नहीं। यह सिर्फ एक अलग प्रकार की सोच है, याद रखने पर केंद्रित है, न कि डेटा एकत्र करने और विभिन्न कोणों से स्थिति का विश्लेषण करने की इच्छा पर। और PHP खुद - एक उपकरण के रूप में, एक साधन के रूप में, संचार के एक विषय के रूप में - मुख्य रूप से "यादगार" लोगों को आकर्षित करता है, और विश्लेषणात्मक प्रकार नहीं।
प्रोग्रामिंग को पुरस्कृत करता है।

Source: https://habr.com/ru/post/In110767/


All Articles