পাইপগুলির আগে শিল্পের অবস্থা কী ছিল তা জানার জন্য আমি পিডিপি -10 / টপস -10 ম্যানুয়াল অনুসন্ধান করে এটি নিয়ে কিছুটা গবেষণা করার চেষ্টা করেছি। আমি দেখেছি এই , কিন্তু সমাজের সারাংশ -10 সাতিশয় google করা কঠিন। আছে: পাইপের উদ্ভাবন উপর কয়েক ভাল রেফারেন্স McIlroy সঙ্গে একটি সাক্ষাত্কারে , ইতিহাস এবং ইউনিক্স এর প্রভাব ।
আপনাকে এটি historicalতিহাসিক প্রসঙ্গে রাখতে হবে। আমরা গৃহীত আধুনিক সরঞ্জাম এবং সুবিধার জন্য অল্প কিছু বিদ্যমান of
"শুরুতে, থম্পসন নিজেই পিডিপি-তে প্রোগ্রাম করেননি, পরিবর্তে জিইএএমএপ এসেম্বলিংয়ের জন্য জিই -635 মেশিনে ম্যাক্রোগুলির একটি সেট ব্যবহার করেছিলেন।" (29) জিই 635 তে একটি কাগজের টেপ তৈরি করা হয়েছিল এবং তারপরে পরীক্ষা করা হয়েছিল পিডিপি -7 অবধি রিচির মতে, "আদিম ইউনিক্স কার্নেল, একটি সম্পাদক, একত্রিতকারী, একটি সাধারণ শেল (কমান্ড ইন্টারপ্রেটার) এবং কয়েকটি ইউটিলিটি (যেমন ইউনিক্স আরএম, বিড়াল, সিপি কমান্ড) সমাপ্ত হয়। এটিতে পয়েন্ট, অপারেটিং সিস্টেমটি স্বনির্ভর ছিল, প্রোগ্রামগুলি কাগজের টেপ অবলম্বন না করেই লেখা ও পরীক্ষা করা যেতে পারে, এবং নিজেই পিডিপি -7 এ বিকাশ অব্যাহত রেখেছে। "
একটি পিডিপি -7 এর মতো দেখাচ্ছে । একটি ইন্টারেক্টিভ ডিসপ্লে বা হার্ড ডিস্কের অভাব নোট করুন। "ফাইল সিস্টেম" চৌম্বকীয় টেপে সংরক্ষণ করা হবে। প্রোগ্রাম এবং ডেটা জন্য 64kB আপ মেমরি ছিল।
সেই পরিবেশে প্রোগ্রামাররা হার্ডওয়্যারকে সরাসরি সম্বোধন করার প্রবণতা রাখে যেমন টেপ স্পিন করার জন্য কমান্ড জারি করে এবং একবারে টেপ ইন্টারফেস থেকে সরাসরি পড়ার জন্য অক্ষরগুলি প্রক্রিয়া করে। ইউএনআইএক্স এটির উপর বিমূর্ততা সরবরাহ করেছিল, যাতে "টেলি টাইপ থেকে পড়া" এবং "টেপ থেকে পড়া" পৃথক ইন্টারফেস হিসাবে একত্রিত করা হয়, "ডিস্কে অস্থায়ী অনুলিপি সংরক্ষণ না করেই অন্য প্রোগ্রামের আউটপুট থেকে পঠন" এর গুরুতর পাইপ সংযোজন বা টেপ "।
এখানে আবিষ্কারের বিষয়ে ম্যাকিলরোয় grep
। আমি মনে করি প্রাক-ইউনিক্স পরিবেশে প্রয়োজনীয় কাজের পরিমাণের সংক্ষিপ্তকরণের এটি একটি ভাল কাজ করে।
"গ্রেপ আমার জন্য উদ্ভাবিত হয়েছিল। আমি একটি ভয়েস সিন্থেসাইজারের মাধ্যমে জোরে জোরে পাঠের জন্য একটি প্রোগ্রাম তৈরি করছিলাম। আমি ফোনটিক নিয়মগুলি আবিষ্কার করতে গিয়ে ওয়েবস্টারের ডিকশনারিটি যে শব্দগুলিতে ব্যর্থ হতে পারে তার জন্য পরীক্ষা করতাম। উদাহরণস্বরূপ, আপনি কীভাবে ডিজিট্রাফটি মোকাবেলা করবেন? ' ইউআই ', যা বিভিন্ন উপায়ে উচ্চারণ করা হয়:' ফল ',' ছলনা ',' দোষী ',' যন্ত্রণা ',' অন্তর্দৃষ্টি ',' বেইগুইন '? আমি অভিধানটি টুকরো টুকরো করে ফেলব যা এডের সীমিত বাফারের সাথে খাপ খায় এবং ব্যবহার করতে পারে একটি তালিকা নির্বাচন করার জন্য একটি বিশ্বব্যাপী কমান্ড each প্রতিটি প্রস্তাবিত নিয়ম কীভাবে কাজ করে তা দেখার জন্য আমি এ তালিকাটি বার বার স্ক্যানিংয়ের মাধ্যমে নীচে হিট করব would "
"প্রক্রিয়াটি ক্লান্তিকর এবং মারাত্মকভাবে অপ্রয়োজনীয়, যেহেতু অভিধানটি বিভক্ত করতে হয়েছিল (লাইনে একটি বিভাজন অনুলিপি রাখার পক্ষে কেউই সক্ষম ছিল না)। তারপরে এড প্রতিটি অংশকে / tmp এ অনুলিপি করে, g কমান্ডটি সম্পাদন করার জন্য এটি দুটি বার স্ক্যান করে, এবং অবশেষে এটিকে ছুঁড়ে ফেলেছে, এতে সময়ও লাগে "
"একদিন বিকেলে আমি কেন থম্পসনকে জিজ্ঞাসা করলাম যে তিনি সম্পাদক থেকে নিয়মিত এক্সপ্রেশন সনাক্তকারীকে তুলে ধরতে পারেন এবং এটি করার জন্য একটি পাসের প্রোগ্রাম তৈরি করতে পারেন। তিনি হ্যাঁ বলেছিলেন। পরের দিন সকালে আমি আমার মেইলে একটি গ্রেপ্তার নামক একটি প্রোগ্রাম ঘোষণা করে একটি নোট পেয়েছি। এটি একটি কবজির মতো কাজ করেছিল। যখন এই মজাদার নামটির অর্থ জিজ্ঞাসা করা হয়েছিল, কেন বলেছিলেন এটি সুস্পষ্ট।
এর প্রথম অংশটির cat names.txt | awk '{print $2 ", " $1}' | sort | uniq | column -c 100
উদাহরণের সাথে তুলনা করুন । যদি আপনার বিকল্পগুলি "কমান্ড লাইন তৈরি করুন" বনাম "উদ্দেশ্যে উদ্দেশ্যে একটি প্রোগ্রাম লিখুন, হাতে হাতে, এসেম্বলারের ক্ষেত্রে", তবে কমান্ড লাইনটি তৈরি করার পক্ষে এটি মূল্যবান। এমনকি এটি করতে (কাগজ) ম্যানুয়ালগুলি পড়তে কয়েক ঘন্টা সময় লাগলেও। তারপরে আপনি এটি ভবিষ্যতের রেফারেন্সের জন্য লিখতে পারেন।