সবাইকে শুভেচ্ছা এই সপ্তাহগুলিতে আমি প্রোগ্রামিং সম্পর্কে কিছু বই পড়ে বেশ বিনোদন পেয়েছি, সত্য হল প্রোগ্রাম শেখার সর্বোত্তম উপায় হল একটি বই, যে কোনও নিবন্ধ, টিউটোরিয়াল, গাইড যা কেউ খুঁজে পেতে পারে (আমার সহ) নিছক রেফারেন্স পয়েন্ট যখন বিষয় একটি বাস্তব বই সঙ্গে তাদের তুলনা. এখন, আমাদেরকে একটি "বাস্তব" বই কী তাও সংজ্ঞায়িত করতে হবে, যেহেতু সব বই সাধারণত ভালো হয় না, এবং তাদের অনেকেরই মূল্যের চেয়ে বেশি খরচ হতে পারে এবং আমাদের সময় নষ্ট করে।
এই বছরগুলিতে আমি যে বইগুলি পড়েছি তার তালিকা এবং আমি সুপারিশ করতে পারি এমন বইগুলির তালিকা বেশ কিছুটা সরিয়ে নিয়েছে, তবে আমাদের পছন্দের কয়েকটি পছন্দের মধ্যে (কোনও নির্দিষ্ট ক্রমে নয়) সন্দেহ ছাড়াই:
- ম্যাট ওয়াকারের সিইএইচ সার্টিফাইড এথিকাল হ্যাকার
- অজগর পাইথন: নভিস থেকে প্রফেশনাল ম্যাগনাস লাই হিটল্যান্ড।
- হ্যাকিং: জোন এরিকসন দ্বারা শোষণের শিল্প।
- ম্যাসিমো বানজি দ্বারা আরডুইনো দিয়ে শুরু করা।
- ক্যামেরন নিউবাম এবং বিল রোজেনব্ল্যাট দ্বারা বাশ শেল শিখছেন।
- আর্নল্ড রবিনস, এলবার্ট হান্না এবং লিন্ডা ল্যাম্বের দ্বারাই ভিআইএম এবং উইম সম্পাদকগুলি শিখছেন।
- গ্রেগ ক্রোয়া-হার্টম্যান (খুব জেন্টো বিকাশকারী) দ্বারা সংক্ষেপে লিনাক্স কার্নেল।
- জেনস গুস্ট্ট দ্বারা আধুনিক সি
- ক্রিস অ্যানি, জন হিজম্যান, ফেলিক্স «এফএক্স» লিন্ডার এবং জেরার্ডো রিচার্টের শেলকডারস হ্যান্ডবুক।
- ব্রায়ান ডাব্লু কার্নিগান এবং ডেনিস এম রিচি (সি এর নির্মাতারা) সি প্রোগ্রামিংয়ের ভাষা
- রিচার্ড স্টলম্যান, রোল্যান্ড পেশ, স্টান শেবস, এবং অন্যান্য দ্বারা জিডিবি দিয়ে ডিবাগিং।
- হ্যাকিং লিনাক্স এক্সপোজড: পিট হার্জোগ, মার্গা বার্সেলো, রিক টাকার, আন্ড্রেয়া বারিসানী (আরেক প্রাক্তন জেন্টু বিকাশকারী), টমাস বদর, সাইমন বিলেস, কলবি ক্লার্ক, রাউল চিয়াসহ ইস্কোম গবেষকদের একটি বৃহত গ্রুপের লিনাক্স সুরক্ষা গোপনীয়তা এবং সমাধান , পাবলো এন্ড্রেস, রিচার্ড ফিস্ট, আন্দ্রেয়া ঘিরার্ডিনী, জুলিয়ান "হামারজ্যামার" হো, মার্কো ইভালদি, দ্রু লাভিগেন, স্টিফেন লো প্রেস্টি, ক্রিস্টোফার লো, টাই মিলার, আরমান্ড প্যাকেটি এবং এট আল।
- অপারেটিং সিস্টেমস: ধনঞ্জয় এম ধামধেয়ের একটি ধারণা-ভিত্তিক পদ্ধতি
- স্কট চকন এবং বেন স্ট্রাবের প্রো গিট
- বিশেষজ্ঞ সি প্রোগ্রামিং: পিটার ভ্যান ডের লিন্ডেনের গভীর রহস্য।
আমি এই বইগুলির প্রত্যেকটি সম্পর্কে উচ্ছ্বসিত হতে পারি, কিন্তু আজকের জন্য আমরা তালিকার শেষ একটি থেকে কিছু অনুচ্ছেদ নেব, যেহেতু এই উপাখ্যানগুলির মধ্যে অনেকগুলি আমাকে বিমোহিত করেছে এবং সি এবং প্রোগ্রামিং এর কিছু জটিল গোপনীয়তা আরও ভালভাবে বুঝতে সাহায্য করেছে। সাধারণ
ইউনিক্স এবং সি
যখন আমরা ইউএনআইএক্স সম্পর্কে কথা বলি, ইতিহাস এই সিস্টেমের উত্স এবং ভাষার বিকাশের সাথে জড়িত যে এটি এবং এর ডেরাইভেটিভগুলির (লিনাক্স সহ) বিকাশের ক্ষেত্রে আজ অবধি সবচেয়ে বেশি ব্যবহৃত হয়। এবং কৌতূহলজনকভাবে, এই দুটি একটি "ভুল" থেকে জন্মগ্রহণ করেছে।
মাল্ট্রিক্স এটি একটি মেগা প্রকল্প যা বেল ল্যাবরেটরিজ, জেনারেল ইলেকট্রিক এবং এমআইটি নিজেই একটি অপারেটিং সিস্টেম তৈরি করার জন্য নিয়ে এসেছিল, বলেছিল যে সিস্টেমটি অনেক ত্রুটি উপস্থাপন করেছে এবং একটি অন্যতম গুরুত্বপূর্ণ, পারফরম্যান্স ব্যর্থতা যা সিস্টেমকে ব্যবহারিকভাবে অকেজো করে তুলেছে। আমরা ১৯1969৯ সালের কথা বলছি, সুতরাং সেই সময়ের হার্ডওয়ারগুলি সিস্টেম চালানোর জন্য প্রয়োজনীয় পরিমাণ সফ্টওয়্যার সমর্থন করতে পারেনি।
এটি 1970 সালের আগেই হয়নি যে কয়েকজন বেল ইঞ্জিনিয়ার পিডিপি -7 এর জন্য একটি সাধারণ, দ্রুত এবং হালকা ওজনের অপারেটিং সিস্টেমের উপর কাজ শুরু করেছিলেন। পুরো সিস্টেমটি লেখা ছিল অ্যাসেম্বলার এবং বলা হয়েছিল ইউনিক্স এর প্যারোডি হিসাবে মাল্ট্রিক্স যেহেতু তিনি কেবল কয়েকটি কিছু করতে চেয়েছিলেন, তবে দ্বিতীয়টির অর্থ প্রচণ্ড অপচয়কর্মের পরিবর্তে সেগুলি ভালভাবে করা। এখন আপনি বুঝতে পারবেন কেন কাল জানুয়ারী 1, 1970. আমার জন্য একটি বরং কৌতূহলী তথ্য. তখনও একটা কথা ছিল না C নিজেই, কিন্তু একটা কথা নতুন বি যেহেতু রিচির ধারণাগুলি সেই সময়ের ইতিমধ্যে ব্যবহৃত বি ভাষা থেকেই এসেছে।
প্রথম দিকে সি
বছরের পর বছর ধরে (1972-3) নতুন শব্দটি রূপ নিতে শুরু করার সাথে সাথে সি শব্দটি ব্যবহার করা শুরু হয়েছিল এবং এই সময়েই আরও একটি কৌতূহলী সত্যের জন্ম হয়েছিল, অনেক প্রোগ্রামার এবং প্রোগ্রামার রসিকতা বলেছেন:
প্রোগ্রামাররা জানেন যে আপনি 0 এর পরিবর্তে 1 থেকে গণনা শুরু করেন।
ঠিক আছে এটি সম্পূর্ণ সত্য নয় আজ পর্যন্ত এটিকে যেভাবে বিবেচনা করা হয় তার আসল কারণ হল এটি তৈরি করার সময়, কম্পাইলার লেখকদের জন্য একটি অ্যারে ব্যবহার করে গণনা করা সহজ ছিল অফসেট, এগুলি সূচনা করে যে কাঙ্ক্ষিত উদ্দেশ্য থেকে মূল বিন্দু থেকে বিদ্যমান দূরত্ব নির্দেশ করে:
array[8]=2;
এটি আমাদের বলে যে উপাদান 9 অ্যারেকে 2 হিসাবে সংজ্ঞায়িত করা হয়েছে, কারণ মেমরি স্পেসটিতে পৌঁছানোর জন্য 8 টি ইউনিট যোগ করা হয়েছে যেখানে C এর আগে উপাদান 2 সংরক্ষিত হবে, অনেক ভাষা 1 থেকে গণনা শুরু করেছিল, C এর জন্য ধন্যবাদ, এখন তাদের প্রায় সবগুলিই শুরু হয় 0 তাই এটা প্রোগ্রামারদের দোষ নয়, বরং কম্পাইলার লেখকদের দোষ যে এটি তাই।
বোর্ন শেল
এটি এমন একটি বিষয় যা সরাসরি সি এর সাথে সম্পর্কিত না হলেও শেল প্রোগ্রামিংটি কেন এত অদ্ভুত, তা বুঝতে একাধিককে সহায়তা করতে পারে এবং এটি অবশ্যই জানতে আগ্রহী। স্টিভ বোর্ন সেই মৌসুমে আলগোল -68 এর জন্য একটি সংকলক লিখেছিলেন, এটি এমন একটি ভাষা যেখানে কীগুলি ( {} ) শব্দ দ্বারা প্রতিস্থাপিত হয়, তাই আমরা সি হিসাবে নিম্নলিখিত হিসাবে এটি সংজ্ঞায়িত করতে পারে:
#define IF if(
#define THEN ){
#define ELSE }else{
#define FI };
এগুলি আলগল কী বোঝে তার কয়েকটি উদাহরণ, তবে আমরা যদি আজ এটি শেল প্রোগ্রামিংয়ে প্রয়োগ করি তবে আপনি বুঝতে পারবেন কেন আপনার প্রোগ্রামগুলিতে শেল প্রয়োজন হয় fi প্রত্যেকের জন্য if অবশ্যই আকর্ষণীয়।
পড়া শুরু করুন
আমি আপনাকে বইটির সমস্ত বিবরণ বলতে পারব না, বিশেষ করে যেহেতু এর মধ্যে অনেকগুলি ইতিমধ্যেই প্রোগ্রামিং বিষয় যা বোঝার জন্য পূর্বের পটভূমি প্রয়োজন, তবে আমি ভেবেছিলাম যে আমি পথের মধ্যে যে কৌতূহলী উপাখ্যানগুলি পেয়েছি সেগুলি আমি আপনার সাথে শেয়ার করব করণীয় তালিকায় থাকা কিছু নিবন্ধে আমার কাজ করার সময় নেই কারণ এই সাম্প্রতিক বইগুলি আমাকে সহজভাবে ধরেছে এবং আমি প্রতিদিন সেগুলি উপভোগ করছি এবং সর্বোপরি যতটা সম্ভব সেগুলি বোঝার চেষ্টা করছি৷ শুভেচ্ছা এবং শীঘ্রই আমি আপনার সাথে আরো বিষয় শেয়ার করতে সক্ষম হবে, শুভেচ্ছা.