resources what प्रत्येक प्रोग्रामर को पढ़ने वाली सबसे प्रभावशाली पुस्तक क्या है?




what is natural resources (24)

यदि आप समय पर वापस जा सकते हैं और डेवलपर के रूप में अपने करियर की शुरुआत में एक विशिष्ट पुस्तक को पढ़ने के लिए कह सकते हैं, तो यह पुस्तक कौन होगी?

मैं उम्मीद करता हूं कि यह सूची अलग-अलग हो और चीजों की एक विस्तृत श्रृंखला को कवर करे।

खोजने के लिए: ऊपरी-दाएं कोने में खोज बॉक्स का उपयोग करें। वर्तमान प्रश्न के उत्तर खोजने के लिए, जांच का प्रयोग inquestion:this । उदाहरण के लिए:

inquestion:this "Code Complete"

@ पीटर कॉल्टन - आप Knuth नहीं पढ़ते हैं, आप इसका अध्ययन करते हैं।

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



K&R

@ जुआन: मुझे जुआन पता है, मुझे पता है - लेकिन कुछ चीजें हैं जिन्हें वास्तव में हाथ में काम करने से ही सीखा जा सकता है। अमूर्त आदर्शों में बोलते हुए पूरे दिन आपको अकादमिक बना देता है। यह सार के आवेदन में है कि हम वास्तव में उनके अस्तित्व के कारण को समझते हैं। : पी

@ केथ: एलन कूपर द्वारा "द इमेट्स रनिंग द एसिमल" का उल्लेख है - निश्चित रूप से एक आंख खोलने वाले, किसी भी डेवलपर ने मेरे साथ काम किया है क्योंकि मैंने पढ़ा है कि किताब ने मुझे इस विचारों का जिक्र सुना है। +1


आर्टिफिशियल इंटेलिजेंस प्रोग्रामिंग के पैराडिग्म्स : पीटर नॉरविग द्वारा केस लिस्प में सामान्य अध्ययन

मैंने इसे पढ़ना शुरू कर दिया क्योंकि मैं आम लिस्प सीखना चाहता था। जब मैं आधे रास्ते में था, मुझे एहसास हुआ कि यह प्रोग्रामिंग के बारे में सबसे बड़ी किताब थी जिसे मैंने अभी तक पढ़ा था।


मेरे व्यक्तिगत पसंदीदा में से एक हैकर का डिलाइट है , क्योंकि यह पढ़ना बहुत मजेदार था क्योंकि यह शैक्षिक था।

मुझे उम्मीद है कि दूसरा संस्करण जल्द ही रिलीज हो जाएगा!



मुझे लगता है कि "आर्ट ऑफ यूनिक्स प्रोग्रामिंग" एक उत्कृष्ट हैकर / एरिक एस रेमंड के रूप में एक शानदार हैकर / शानदार दिमाग है, जो हमें सॉफ्टवेयर डिजाइन (सादगी मुख्य रूप से) के कुछ सिद्धांतों को समझने की कोशिश करता है। यूनिक्स मंच के तहत एक परियोजना शुरू करने वाले हर प्रोग्रामिंग के लिए यह पुस्तक जरूरी है।


स्टीवन लेवी द्वारा हैकर्स।

जीवन का व्यक्तित्व और तरीका पहले आना चाहिए। बाकी सब कुछ सीखा जा सकता है।


चरम प्रोग्रामिंग समझाया गया: केंट बेक द्वारा परिवर्तन गले लगाओ । जबकि मैं एक कट्टर एक्सपी-या-द-हाईवे सॉफ़्टवेयर विकास पर नहीं लेता हूं, मेरी इच्छा है कि मैं इस पुस्तक में अपने करियर में बहुत पहले सिद्धांतों के साथ पेश किया गया था। यूनिट परीक्षण, रिफैक्टरिंग, सादगी, निरंतर एकीकरण, लागत / समय / गुणवत्ता / गुंजाइश - मैंने विकास को देखा जिस तरह से मैंने बदल दिया। Agile से पहले, यह डीबगर और परिवर्तन अनुरोधों के डर के बारे में सब कुछ था। Agile के बाद, उन राक्षसों के रूप में बड़ा नहीं था।


पिछले साल मैंने कई कक्षाएं लीं। मैंने पढ़ा

इनोवेटर की दुविधा (विघटनकारी तकनीक)
मिथिकल मैन महीना (प्रबंधन सॉफ्टवेयर)
चस्म को पार करना (स्टार्टअप)
डेटाबेस प्रबंधन प्रणाली, गाय पुस्तक
प्रोग्रामिंग सी #, ओस्ट्रिक बुक
आईफोन डेवलपर्स की शुरुआत, द ग्रैपफ्रूट बुक

प्रत्येक पुस्तक अद्भुत थी लेकिन क्लेटन क्रिस्टेंसेन (1 99 7 !!!) द्वारा इनोवेटर की दुविधा वास्तव में एक शानदार किताब है, और यह मुझे आधुनिक सॉफ्टवेयर दुनिया के बारे में सोचने में सचमुच समझ गई। संबोधित चुनौती विघटनकारी तकनीक है, और कैसे डिस्क ड्राइव कंपनियां और गैर-तकनीकी कंपनियां हमेशा नई, गेम बदलती तकनीक से बाधित होती हैं। Google, शायद सबसे बड़ी 'वेब' कंपनी के बारे में सोचते समय यह एक नया परिप्रेक्ष्य देता है। उनके पास सब कुछ क्यों है? ऐसा इसलिए है क्योंकि वे अपनी स्थिति को कुछ नया बाधित नहीं करना चाहते हैं। Google पर पूर्वावलोकन विचार पाने के लिए बहुत कुछ है। इसे पढ़ें!


विनाश के परास्नातक। जहां तक ​​आपके पेशे के लिए प्रेरणा और प्यार है: यह इस पुस्तक में वर्णित चीज़ों की तुलना में बेहतर नहीं होगा, सचमुच प्रेरणादायक कहानी!


यहां एक उत्कृष्ट पुस्तक है जिसे व्यापक रूप से सराहना नहीं की जाती है, लेकिन गहरी अंतर्दृष्टि से भरा है: एग्इल सॉफ्टवेयर डेवलपमेंट: सहकारी गेम , एलिस्टेयर कॉकबर्न द्वारा।

इसके बारे में इतना खास क्या है? खैर, स्पष्ट रूप से सभी ने "Agile" शब्द सुना है, और ऐसा लगता है कि आजकल ज्यादातर विश्वासियों हैं। चाहे आप विश्वास करते हों या नहीं, हालांकि, कुछ गहरे सिद्धांत हैं कि फुर्तीली आंदोलन क्यों मौजूद है। यह पुस्तक इन सिद्धांतों को एक सटीक, वैज्ञानिक तरीके से अनवरत और स्पष्ट करती है। कुछ सिद्धांत हैं (बीटीडब्ल्यू, ये मेरे शब्द हैं, एलिस्टेयर नहीं):

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

वहां भी बहुत कुछ है। मैं अब चुप रहूंगा, लेकिन मैं इस पुस्तक की अत्यधिक सिफारिश करता हूं!


सिस्टमेंटिक्स: सिस्टम कैसे काम करते हैं और विशेष रूप से वे कैसे विफल होते हैं । इसे सस्ता इस्तेमाल करें। लेकिन जब तक आप कुछ असफल परियोजनाओं पर काम नहीं कर लेते हैं तब तक आपको विनोद नहीं मिल सकता है।

पुस्तक की सुंदरता कॉपीराइट वर्ष है।

शायद पुस्तक में प्रस्तुत सबसे गहन टेकवे "कानून":

मौलिक विफलता-मोड प्रमेय (एफएफटी): जटिल प्रणाली आमतौर पर विफलता मोड में काम करती है।

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


मार्टिन फाउलर का रिफैक्टरिंग: मौजूदा कोड के डिजाइन में सुधार पहले ही सूचीबद्ध हो चुका है। लेकिन मैं विस्तार से बताऊंगा कि उसने मुझे क्यों प्रभावित किया है।

पूरी किताब का सार कोड बनाने के बारे में है ताकि मनुष्यों द्वारा इसे पढ़ने और समझना आसान हो। यह मुझे दृढ़ता से सिखाता है कि जो कोड मैं लिखता हूं वह मेरे सहयोगियों और उत्तराधिकारीओं के लिए है और संभवतः इससे कुछ अच्छा सीखने के लिए है। यह मुझे जागरूक तरीके से प्रोग्राम करने के लिए प्रेरित करता है जो लोगों को मेरे नाम की प्रशंसा करता है, और मुझे अनंत काल तक विनाश के लिए शाप नहीं देता है



द न्यू ट्यूरिंग ऑम्निबस http://ecx.images-amazon.com/images/I/51HlYd-%2BRwL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg

वास्तव में अच्छी किताब। कंप्यूटर विज्ञान के सबसे महत्वपूर्ण क्षेत्रों का एक उच्च स्तरीय स्वाद है। हाँ, सीएस! = प्रोग्रामिंग, लेकिन यह अभी भी हर प्रोग्रामर के लिए उपयोगी है।


जमीन से प्रोग्रामिंग। यह इंटरनेट पर मुफ़्त है। इस पुस्तक ने मुझे एटी एंड टी एएसएम सिखाया। इसे पढ़ना बहुत आसान है।


  • स्टीव मैककनेल द्वारा कोड पूर्ण (द्वितीय संस्करण)
  • व्यावहारिक प्रोग्रामर
  • कंप्यूटर प्रोग्राम की संरचना और व्याख्या
  • केर्नघान और रिची द्वारा सी प्रोग्रामिंग भाषा
  • कॉर्मन, लीसरसन, रिवेस्ट और स्टेन द्वारा एल्गोरिदम का परिचय
  • चार की गिरोह द्वारा डिजाइन पैटर्न
  • रिफैक्टरिंग: मौजूदा कोड के डिजाइन में सुधार
  • द मिथिकल मैन महीना
  • डोनाल्ड Knuth द्वारा कंप्यूटर प्रोग्रामिंग की कला
  • कंपाइलर्स: अल्फ्रेड वी अहो, रवि सेठी और जेफरी डी उलमैन द्वारा सिद्धांत, तकनीक और उपकरण
  • डगलस होफास्ट्टर द्वारा गोडेल, एस्चर, बाच
  • स्वच्छ संहिता: रॉबर्ट सी मार्टिन द्वारा एग्इल सॉफ्टवेयर सॉफ्टवेयर शिल्प कौशल की एक पुस्तिका
  • प्रभावी सी ++
  • अधिक प्रभावी सी ++
  • चार्ल्स पेटज़ोल्ड द्वारा कोड
  • जॉन बेंटले द्वारा प्रोग्रामिंग मोती
  • माइकल सी फेदर द्वारा लीगेसी कोड के साथ प्रभावी ढंग से काम करना
  • डेमारको और लिस्टर द्वारा लोग
  • पीटर सेबेल द्वारा काम पर कोडर
  • निश्चित रूप से आप मजाक कर रहे हैं, श्रीमान फेनमैन!
  • प्रभावी जावा 2 संस्करण
  • मार्टिन फाउलर द्वारा एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर के पैटर्न
  • लिटिल शेमर
  • मौसमी Schemer
  • रूबी के लिए गाइड (Poignant) क्यों है
  • कैदी आश्रय चला रहे हैं: क्यों उच्च तकनीक उत्पाद हमें पागल ड्राइव करते हैं और कैसे स्वच्छता बहाल करते हैं
  • यूनिक्स प्रोग्रामिंग की कला
  • टेस्ट-ड्राइव डेवलपमेंट: केंट बेक द्वारा उदाहरण के द्वारा
  • एक Agile डेवलपर के व्यवहार
  • मुझे मत सोचो
  • रॉबर्ट सी मार्टिन द्वारा Agile सॉफ्टवेयर विकास, सिद्धांत, पैटर्न, और प्रथाओं
  • एरिक इवांस द्वारा डोमेन संचालित डिजाइन
  • डोनाल्ड नॉर्मन द्वारा रोज़मर्रा की चीजें डिजाइन
  • आंद्रेई अलेक्जेंड्रेसकू द्वारा आधुनिक सी ++ डिजाइन
  • जोएल स्पॉस्की द्वारा सर्वश्रेष्ठ सॉफ्टवेयर लेखन I
  • केर्निगन और पाइक द्वारा प्रोग्रामिंग का अभ्यास
  • व्यावहारिक सोच और सीखना: एंडी हंट द्वारा अपने Wetware रिफैक्टर
  • सॉफ्टवेयर अनुमान: स्टीव मैककोनेल द्वारा ब्लैक आर्ट डिमस्टिफाइंग
  • चाड फाउलर द्वारा पैशनियो प्रोग्रामर (माई जॉब वेंट टू इंडिया)
  • हैकर्स: कंप्यूटर क्रांति के नायकों
  • एल्गोरिदम + डेटा संरचनाएं = कार्यक्रम
  • लेखन ठोस कोड
  • जावास्क्रिप्ट - गुड पार्ट्स
  • 37 संकेतों से वास्तविक हो रही है
  • कार्ल सेगुइन द्वारा प्रोग्रामिंग की नींव
  • कंप्यूटर ग्राफिक्स: सी में सिद्धांत और अभ्यास (द्वितीय संस्करण)
  • ब्रूस एकल द्वारा जावा में सोच रहा है
  • कंप्यूटिंग सिस्टम के तत्व
  • जोशुआ Kerievsky द्वारा पैटर्न के लिए refactoring
  • एंड्रयू एस तनेंबाम द्वारा आधुनिक ऑपरेटिंग सिस्टम
  • एनोटेटेड ट्यूरिंग
  • चीजें जो हमें डोनाल्ड नॉर्मन द्वारा स्मार्ट बनाती हैं
  • क्रिस्टोफर अलेक्जेंडर द्वारा बिल्डिंग का कालातीत तरीका
  • द डेडलाइन: टॉम डीमारको द्वारा प्रोजेक्ट मैनेजमेंट के बारे में एक उपन्यास
  • Stroustrup द्वारा सी ++ प्रोग्रामिंग भाषा (तीसरा संस्करण)
  • एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर के पैटर्न
  • कंप्यूटर सिस्टम - एक प्रोग्रामर का परिप्रेक्ष्य
  • रॉबर्ट सी मार्टिन द्वारा सी # में Agile सिद्धांत, पैटर्न, और प्रथाओं
  • बढ़ते ऑब्जेक्ट-ओरिएंटेड सॉफ्टवेयर, टेस्ट द्वारा निर्देशित
  • ब्रैड अब्राम द्वारा फ्रेमवर्क डिजाइन दिशानिर्देश
  • डॉ डेविड वेस्ट द्वारा ऑब्जेक्ट सोच
  • डब्ल्यू रिचर्ड स्टीवंस द्वारा यूनिक्स पर्यावरण में उन्नत प्रोग्रामिंग
  • हैकर्स और पेंटर्स: कंप्यूटर युग से बड़े विचार
  • ट्रेसी किडर द्वारा एक नई मशीन की आत्मा
  • जेफरी रिक्टर द्वारा सी # के माध्यम से सीएलआर
  • क्रिस्टोफर अलेक्जेंडर द्वारा बिल्डिंग का कालातीत तरीका
  • स्टीव Metsker द्वारा सी # में डिजाइन पैटर्न
  • लुईस कैरोल द्वारा एलिस इन वंडरलैंड
  • रॉबर्ट एम Pirsig द्वारा जेन और मोटरसाइकिल रखरखाव की कला
  • फेस के बारे में - इंटरैक्शन डिजाइन की अनिवार्यताएं
  • यहां सब लोग आते हैं: क्ले शर्की द्वारा संगठनों के बिना आयोजन की शक्ति
  • प्रोग्रामिंग के ताओ
  • प्रकृति की कम्प्यूटेशनल सौंदर्य
  • स्टीव Maguire द्वारा ठोस कोड लेखन
  • फिलिप और एलेक्स गाइड टू वेब पब्लिशिंग
  • ग्रेडी बूच द्वारा अनुप्रयोगों के साथ ऑब्जेक्ट ओरिएंटेड विश्लेषण और डिजाइन
  • जोशुआ ब्लोच द्वारा प्रभावी जावा
  • एनजे कटलैंड द्वारा कम्प्यूटेबिलिटी
  • प्रोग्रामिंग के मास्टरमाइंड्स
  • ताओ ते चिंग
  • उत्पादक प्रोग्रामर
  • केविन मिटनिक द्वारा धोखाधड़ी की कला
  • कैरियर प्रोग्रामर: क्रिस्टोफर डंकन द्वारा एक प्रभावशाली दुनिया के लिए गुरिल्ला रणनीति
  • आर्टिफिशियल इंटेलिजेंस प्रोग्रामिंग के प्रतिमान: सामान्य लिस्प में केस स्टडीज
  • डूम के परास्नातक
  • एंडी हंट और मैट हिपेलट के साथ डेव थॉमस द्वारा एनयूनीट के साथ सी # में व्यावहारिक यूनिट परीक्षण
  • जॉर्ज पोलिया द्वारा इसे कैसे हल करें
  • पाउलो Coelho द्वारा एल्केमिस्ट
  • स्मॉलटॉक -80: भाषा और इसके कार्यान्वयन
  • माइकल हावर्ड द्वारा सिक्योर कोड (द्वितीय संस्करण) लिखना
  • फिलिप वाडलर और रिचर्ड बर्ड द्वारा कार्यात्मक प्रोग्रामिंग का परिचय
  • कोई बग नहीं! डेविड थीलन द्वारा
  • जेसन फ्रीड और डीएचएच द्वारा रिवार्क
  • कार्रवाई में जुनीट

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


प्रोग्रामिंग का अभ्यास। ब्रायन डब्ल्यू। केर्निघान, रोब पाइक द्वारा।

यहां दिखाया गया शैली उत्कृष्ट है - कोड सिर्फ अपने लिए बोलता है, और पूरी पुस्तक KISS सिद्धांत का पालन करती है। व्यक्तिगत रूप से पसंद की मेरी भाषा नहीं, लेकिन अभी भी मेरे लिए प्रभावशाली है।





हालांकि मैं मानता हूं कि उपरोक्त कई पुस्तकों को पढ़ना होगा (व्यावहारिक प्रोग्रामर, मिथिकल मैन-महीन, कंप्यूटर प्रोग्रामिंग की कला, और एसआईसीपी तुरंत दिमाग में आते हैं), मैं थोड़ा अलग दिशा में जाना चाहता हूं और एक अनुशासन की सिफारिश करना चाहता हूं Edsger Dijkstra द्वारा प्रोग्रामिंग का । हालांकि यह 32 वर्ष का है, "सत्यापन के लिए डिजाइन" पर जोर अत्यधिक प्रासंगिक है (भले ही "सत्यापन" का अर्थ "यूनिट परीक्षण" के बजाय "सबूत" है)।