सर्वांना शुभेच्छा 🙂 या आठवड्यात मी प्रोग्रामिंगवर काही पुस्तके वाचण्याचे खूप मनोरंजन करीत आहे, खरं म्हणजे प्रोग्राम शिकण्याचा उत्तम मार्ग म्हणजे एखादा पुस्तक, कोणताही लेख, ट्यूटोरियल, एखादा शोधणारा मार्गदर्शक (माझ्यासह) नेहमी असतो या विषयावरील वास्तविक पुस्तकांशी तुलना करताना मानदंड. सर्व पुस्तके सहसा चांगली नसतात आणि त्यापैकी बर्याच जणांना खरोखरच किंमत नसल्यास आणि वेळ वाया घालविण्यापेक्षा कितीतरी अधिक किंमत मोजावी लागते कारण आता आपल्याला "वास्तविक" पुस्तक देखील काय आहे हे परिभाषित करायचे आहे.
या सर्व वर्षांमध्ये मी वाचलेल्या पुस्तकांची यादी आणि मी शिफारस करू शकू अशा पुस्तकांची यादी थोडीशी वळविली आहे, परंतु आमच्या काही आवडीनिवडी (कोणत्याही विशिष्ट क्रमाने नाही) यात काही शंका नाही:
- मॅट वॉकर यांनी सीईएच प्रमाणित नैतिक हॅकर.
- आरंभिक पायथनः नोव्हिसपासून प्रोफेशनल बाय मॅग्नस लाई हेटलँड.
- हॅकिंगः जॉन एरिकसन यांनी केलेल्या शोषणाची कला.
- मासीमो बांझी द्वारा आरडिनोसह प्रारंभ करणे.
- कॅमेरॉन न्यूबॅम आणि बिल रोझेनब्लाट द्वारे बॅश शेल शिकणे.
- अर्नाल्ड रॉबिन्स, एल्बर्ट हॅनाह आणि लिंडा लँब यांचेकडून vi आणि vim संपादकांचे शिक्षण घेणे.
- ग्रेग क्रोह-हार्टमॅन (एक जेंटू विकसक देखील) थोडक्यात लिनक्स कर्नल.
- जेन्स गुस्स्ट्ट यांनी मॉडर्न सी
- ख्रिस अॅले, जॉन हेसमॅन, फेलिक्स «एफएक्स» लिंडर अँड गेराआर्डो रिचर्ते यांचे शेलकोडर हँडबुक.
- ब्रायन डब्ल्यू. केर्निघन आणि डेनिस एम. रिची (सी चे निर्माते) यांनी सी प्रोग्रामिंग भाषा
- रिचर्ड स्टालमॅन, रोलँड पेश, स्टॅन शेब्स, इत्यादी यांनी जीडीबीसह डीबगिंग केले.
- हॅकिंग लिनक्स एक्सपोज्डः पीट हर्झोग, मार्गा बार्सिली, रिक टकर, अॅन्ड्रिया बारिसानी (आणखी एक माजी जेंटू विकसक), थॉमस बॅडर, सायमन बिल्स, कोल्बी क्लार्क, राऊल चिआ, पाब्लो एंड्रेस यासह आयएसईसीएम संशोधकांच्या मोठ्या गटाकडून लिनक्स सिक्युरिटी सिक्रेट्स अँड सोल्युशन्स , रिचर्ड फिस्ट, आंद्रिया घिरार्डिनी, ज्युलियन "हॅमरजॅमर" हो, मार्को इवाल्डी, ड्रू लाविग्ने, स्टीफन लो प्रेस्टी, क्रिस्टोफर लो, टाय मिलर, आर्मान्ड पुसेटी आणि इट अल.
- ऑपरेटिंग सिस्टीम: धनंजय एम. धमधेरे यांचा संकल्पना आधारित दृष्टीकोन
- स्कॉट चाकॉन आणि बेन स्ट्रॉब यांचे प्रो गिट
- तज्ञ सी प्रोग्रामिंगः पीटर व्हॅन डर लिन्डेन यांचे खोल रहस्ये.
मी या पुस्तकांपैकी प्रत्येक पुस्तकात बरेच बोलू शकतो, परंतु आज आम्ही यादीतील शेवटल्या काही उतारे घेणार आहोत, कारण यापैकी बरेचसे अॅनेक्टोड्सने मला मोहित केले आहे आणि सी आणि प्रोग्रामिंगच्या काही गुपित रहस्ये समजून घेण्यासाठी मला मदत केली आहे. सर्वसाधारणपणे. 🙂
युनिक्स आणि सी
जेव्हा आपण UNIX बद्दल बोलतो, तेव्हा इतिहास या प्रणालीच्या उत्पत्तीसह आणि भाषेच्या विकासासह गुंफलेला आहे जो आजपर्यंत त्याच्या आणि त्याच्या व्युत्पत्ती (लिनक्ससह) च्या विकासात सर्वात जास्त वापरला जातो. आणि उत्सुकतेने, हे दोघे "चुकून" जन्मले आहेत.
मल्ट्रिक्स ही एक मेगा प्रोजेक्ट होती ज्याने बेल लॅबोरेटरीज, जनरल इलेक्ट्रिक आणि एमआयटी स्वतः एक ऑपरेटिंग सिस्टम तयार करण्यासाठी एकत्र आणले या सिस्टमने बर्याच चुका सादर केल्या आणि सर्वात महत्वाच्या म्हणजे कामगिरीतील अपयशाला ज्यामुळे सिस्टम व्यावहारिकदृष्ट्या निरुपयोगी झाला. आम्ही सन १ 1969.. च्या वर्षाबद्दल बोलत आहोत, म्हणून त्यावेळचे हार्डवेअर सिस्टम चालविण्यासाठी आवश्यक असलेल्या सॉफ्टवेअरच्या प्रमाणात समर्थन देऊ शकत नव्हते.
हे १ 1970 until० पर्यंत नव्हते की दोन बेल अभियंत्यांनी पीडीपी-7 साठी साध्या, वेगवान आणि हलके ऑपरेटिंग सिस्टमवर काम करण्यास सुरवात केली. संपूर्ण सिस्टम मध्ये लिहिले गेले होते असेंबलर आणि बोलावण्यात आले होते युनिक्स च्या विडंबन म्हणून मल्ट्रिक्स कारण त्याला फक्त काही गोष्टी करायच्या आहेत, परंतु दुस was्या अभिप्रेत असलेल्या व्यर्थ कामांऐवजी त्या चांगल्या गोष्टी करायच्या आहेत. आता आपण हे समजू शकता की हे का आहे युरोप 1 जानेवारीपासून सुरू होते, 1970. For माझ्या दृष्टीने एक विलक्षण वस्तुस्थिती. त्यावेळेस अद्याप स्वतः सीविषयी चर्चा नव्हती, परंतु ए नवीन बी रिचीच्या कल्पना त्या काळाच्या आधीपासून वापरल्या जाणार्या बी भाषेमधून आल्या आहेत.
लवकर सी
ब language्याच वर्षांत (१ 1972 3२-)) नवीन शब्द आकारास येऊ लागताच सी हा शब्द वापरला जाऊ लागला आणि या काळात आणखी एक जिज्ञासू सत्य जन्माला आले, बर्याच प्रोग्रामर आणि प्रोग्रामर विनोद असे म्हणतात:
प्रोग्रामरना माहित आहे की आपण 0 ऐवजी 1 वरून मोजणे सुरू केले आहे.
बरं, हे पूर्णपणे खरं नाही - आजपर्यंत हे असे का मानले जाण्याचे खरे कारण आहे कारण ते तयार करताना, कंपाईलर लेखकांसाठी अॅरेची गणना करणे सोपे होते. ऑफसेट, हे मूळ बिंदूपासून इच्छित उद्दीष्टापर्यंत अस्तित्वाचे अंतर दर्शविते, म्हणूनचः
array[8]=2;
हे आपल्याला सांगते की घटक 9 अॅरेची व्याख्या 2 म्हणून केली गेली आहे कारण स्मृतीत जागा पोहोचण्यासाठी 8 घटकांची भर घातली गेली आहे जिथे घटक 2 संग्रहित केला जाईल सी च्या आधी बर्याच भाषा 1 पासून मोजल्या जाऊ लागल्या, C चे आभार, आता जवळजवळ सर्व 0 XNUMX ने सुरू होते. म्हणून प्रोग्रामरचा दोष नाही, परंतु संकलित करणार्या लेखकांचा दोष आहे की हे तसे आहे.
बॉर्न शेल
हा एक विषय आहे जो सीशी थेट संबंधित नसला तरी शेल प्रोग्रामिंग इतके विलक्षण का आहे हे एकापेक्षा जास्त लोकांना समजण्यास मदत करू शकते आणि हे जाणून घेणे नक्कीच उत्सुक आहे. स्टीव्ह बॉर्नने त्या हंगामात अल्गोल -68 साठी कंपाईलर लिहिले, ही एक भाषा आहे ज्यात की ( {}
) शब्दांद्वारे पुनर्स्थित केले गेले आहे, जेणेकरून आम्ही सी मध्ये खालीलप्रमाणे परिभाषित करू शकू:
#define IF if(
#define THEN ){
#define ELSE }else{
#define FI };
ही अल्गोलला काय समजते याची काही उदाहरणे आहेत, परंतु जर आम्ही आज ती शेल प्रोग्रामिंगवर लागू केली तर आपल्याला समजेल की शेलमध्ये आपल्या प्रोग्राम्सला का आवश्यक आहे. fi
प्रत्येकासाठी if
🙂 नक्कीच मनोरंजक.
वाचन सुरू करा
मी या पुस्तकाचे सर्व तपशील सांगू शकत नाही, विशेषत: यापैकी बर्याच गोष्टी आधीपासूनच प्रोग्रामिंग विषय आहेत ज्यांना पूर्वीची पार्श्वभूमी समजून घ्यावी लागेल, परंतु मला वाटले की मी वाटेत सापडलेल्या काही जिज्ञासू किस्से तुम्हाला सांगेन-मी करण्याच्या कामात असलेल्या काही वस्तूंवर काम करण्यास वेळ मिळाला नाही कारण या शेवटच्या काही पुस्तकांनी मला सहज पकडले आहे आणि मी दररोज त्यांचा आनंद घेत आहे आणि सर्वात महत्त्वाचे म्हणजे त्यांना समजून घेण्याचा प्रयत्न करीत आहे. शुभेच्छा आणि लवकरच मी आपल्यासह अधिक विषय, अभिवादन सामायिक करण्यास सक्षम आहे.
तुमचा लेख माझ्यासाठी खूप रंजक आहे. खूप खूप धन्यवाद.
नेहमीप्रमाणेच खूप मनोरंजक.
स्पष्टीकरण चांगले आहेत खूप मनोरंजक.
Excelente
मनोरंजक !!! खूप खूप धन्यवाद.
मल्ट्रिक्स? हे मल्टिक्स होणार नाही (https://en.wikipedia.org/wiki/Multics)
1 मधील अनुक्रमणिकांसह भाषा ही सैतानाचा शोध आहे ...
मनोरंजक टीप 🙂 मला असे वाटते की इतिहासाच्या काही वेळी दोन्ही संज्ञा वापरल्या गेल्या आहेत:
https://www.landley.net/history/mirror/collate/unix.htm
आणि साहजिकच तेच पुस्तक जे 90 ० च्या दशकात लिहिलेले आहे.
स्पष्टीकरणासाठी धन्यवाद - शुभेच्छा
व्वा, ही एक विचित्र गोष्ट आहे, आपण मला शंका दिली आहे, मी तज्ञ सी प्रोग्रामिंगची "खरेदी केलेली" प्रत पाहिली आहे: खोल रहस्ये आणि तेथे बरेच लोक येत आहेत, हे मी प्रथमच ऐकले आहे. किती कुतूहल आहे, हे ट्रायक्स ससाची थोडी आठवण करुन देते
हाहाहा नक्कीच कुतूहल आहे, मी माझ्या गूढ रहस्येची इंग्रजी प्रत तपासली, तेथे असे म्हटले आहे मल्ट्रिक्स (कारण तुम्ही मलाही शंका दिली होती) ... कदाचित ते त्यावेळचे अभिव्यक्ती होते 😛
कोट सह उत्तर द्या
मोठे योगदान
मनोरंजक, जरी निश्चितच, मल्ट्रिक्स चुकीच्या प्रिंटमुळे आहे, कारण त्या ऑपरेटिंग सिस्टमचे मूळ नाव मल्टिक्स आणि युनिक्स होते, ज्याचे मूळतः युनिक्स होते, त्या थोरपणे त्या महान ऑपरेटिंग सिस्टमचा उल्लेख होता, अखेरीस आणि ध्वन्यात्मक द्वारे, युनिक्स से आता युनिक्समध्ये रूपांतरित झाले , आपण फक्त युनिक्सचे लेखक कोण मानले जाते त्याचे नाव सांगावे लागेल; केन थॉम्पसन, दंतकथा अशी आहे की थॉम्पसन आणि रिची हे दोघेही बेल लॅबमधील त्यांच्या प्रकल्पांबद्दल बोलत होते आणि त्यांनी लिहिलेल्या भाषेत सी प्रोग्रामसह युनिक्सचे पुनर्लेखन करावे असे थॉम्पसनला सुचवले. विश्रांती, इतिहास आहे. 😉
तसे, पूर्वी सर्व प्रोग्राम्स मशीनच्या सूचनांसह लिहिले गेले होते, ज्यामुळे ते हार्डवेअरवर पूर्णपणे अवलंबून होते, प्रोग्राम्स लिहिणे सुलभ करण्याऐवजी सी ची नाविन्यपूर्ण भाषा भाषा कार्यरत हार्डवेअरपेक्षा स्वतंत्र होती कंपाइलर, एक तत्वज्ञान जे बर्याच वर्षांनंतर जावा घेईल, या अर्थाने की प्रोग्राम्स ऑपरेटिंग सिस्टमवर अवलंबून नाहीत, प्रसिद्ध जावा व्हर्च्युअल मशीन जोडून.
दंतकथांबद्दलची वाईट गोष्ट म्हणजे ते इतिहासाला विकृत करतात, एकापेक्षा अधिक मार्गांनी ... आणि ते आपल्याला असा विचार करायला लावतात की जेव्हा असे नसते तेव्हा काहीतरी होते ... थॉम्पसन आणि रिची यांच्यातील विद्यमान संभाषणाच्या (जसे मी वगळलेले) इच्छेनुसार) कारण यामुळे ऐतिहासिक आणि तांत्रिक त्रुटी (सी UNIX च्या आधी नव्हती) होते ...
आणि दुस for्या क्रमांकावर ... वास्तविकतेला विकृत करणारे आणखी एक आख्यायिका, सी आधी बी, ए, पास्कल, अडा, अल्गोल -60, पीएल / 1 आणि योग्यरित्या प्रोग्रामिंग भाषा करणार्या काही इतर भाषा (असेंब्लीपेक्षा खूपच वेगळी होती) आणि प्रोसेसरच्या हार्डवेअरवर अवलंबून असलेल्या आर्किटेक्चरद्वारे त्यातील बोली) म्हणून सी या अर्थाने "नवनिर्मिती" केली नाही, त्याने फक्त इतर भाषांमध्ये अस्तित्त्वात असलेल्या उपायांचा अवलंब केला आणि शेवटी ते यापेक्षा जलद आणि चांगले झाले. ... एकच भाग सत्य हे आहे की जावा पोर्टेबिलिटीच्या संकल्पनेवर नंतर आपले व्हर्च्युअल मशीन तयार केले होते, परंतु त्यासाठी त्याने केवळ सी वर अवलंबून नाही, परंतु इतर मॉडेल्सचे अनुसरण केले, अन्यथा आमच्याकडे ऑब्जेक्ट नाही- जावा मध्ये देणारं प्रोग्रामिंग प्रतिमान ...
मला वाटलं की मी परिस्थिती स्पष्ट करायला हवी कारण कमी जाणकार कोणीही हे सत्य म्हणून घेऊ शकेल आणि मग असा विश्वास वाटेल की असं घडलं… अभिवादन 🙂
नेहमीप्रमाणेच लेख खूपच रंजक आहे, योगदानाबद्दल धन्यवाद.