সফটওয়্যার ডেভেলপমেন্টের কিছু বিখ্যাত সূত্র - মনে রাখার সহজ উপায়


সফটওয়্যার ডেভেলপমেন্টের কিছু বিখ্যাত সূত্র - মনে রাখার সহজ উপায়
"আজ রবিবার" - মার্চ ১০, ২০১৯: [উত্তর: ১৫-২১-৩৩-৪১১-৫২-৬৪-৭৮-৮১০-৯৯-১০৭-১১৬]

কিছুদিন আগে হটাৎ করেই একটা ওয়েবসাইটের খোঁজ পেলাম। টিম সোমার (Tim Sommer) নামের এক ভদ্রলোকের লেখা ব্লগ - Famous Laws of Software Development, অর্থাৎ: সফটওয়্যার ডেভেলপমেন্টের কিছু বিখ্যাত সূত্র। পড়লাম, তারপর অতি উৎসাহে ফেসবুকে শেয়ার করলাম। কিন্তু দুইদিন পরে ভেবে দেখি একটা সূত্রও মনে নাই। এমন কি সূত্র গুলোর লিস্ট যখন আবার দেখলাম, কোন সূত্র যে কী - সেটাও মনে করতে পারলাম না। ভাবছিলাম মনে রাখার উপায় কী? মুখস্থ করে ফেলবো?


চমক হাসানের একটা ভিডিওতে দেখেছিলাম যে কোনো কিছু মনে রাখার জন্য আসলে একটা কানেকশন দরকার। তাহলেই ব্রেন ব্যাপারটা স্টোর করে রাখে। একই রকম একটা আইডিয়া শুনে ছিলাম Understand Quran Academy -র ভিডিও থেকে। কল্পনাশক্তি ব্যবহার করে কোনো জিনিসের সাথে (যেটা মনে রাখার চেষ্টা করা হচ্ছে, সেটার সাথে) যত বেশি ব্রেনের নিউরনে কানেকশন তৈরি করা যায়, সেটা মনে রাখা ততই সহজ হয়। যেমন নিজের নামের সাথে, ঘটে যাওয়া কোনো ঘটনা কিংবা জীবনের অভিজ্ঞতার সাথে মিলিয়ে কোনো জিনিস মনে রাখার চেষ্টা করলে কাজ হয়। আর এই আইডিয়া ব্যবহার করে, একটু মজা করে চলেন চেষ্টা করে দেখি সূত্র গুলো মনে রাখা যায় কিনা। বলে নেই, সূত্র গুলো ব্যাখ্যা করার চেষ্টা আমি করছি না, শুধু কোন সূত্র যে কোনটা, সেটা মনে রাখার (আমার একান্ত নিজের) কিছু উপায় শেয়ার করছি মাত্র ...

মার্ফির ল - মরবি তো!

অর্থাৎ, কোনো কিছু ঝামেলা হওয়ার হলে তা হবেই! অন্য ভাবে বললে: কোনো কিছু মরার হলে তা মরবেই।  ঠিক মতো কোড না করলে, টেস্ট না করলে সফটওয়্যার-এ ঝামেলা অবশ্যম্ভাবী !

ব্রুকের ল - কফি ব্রু (brew) করার সময়  কফি-দুধ-চিনি আগেই হিসাব করে না দিলে, পরে যতই দেয়া হোক না কেন, মজা হবে না  
ইংরেজিতে কফি বা চা বানানোকে ব্রু (brew) করা বলে। আপনাদের কথা জানি না, আমার বেলায় এটা সব সময় সত্যি - চা কিংবা কফি- যেটাই বানাতে চাই না কেন, আগে থেকে পানি, চা/কফি, দুধ-চিনি হিসাব মতো না দিলে পরে যতই মেশাই না কেন, ঠিক মজা হয় না। একই ভাবে দেরি হয়ে যাওয়া সফটওয়্যার প্রজেক্টে পরে যতই ডেভেলপার এড করা হোক না কেন, তাড়াতাড়ি তো হবেই না - বরং আরো দেরি হবে।

কোনওয়ে-র ল - কোনWay - যে যে রাস্তায় চলে, তার ফল সে সে রাস্তার শেষেই পায় ! 
Way - বা রাস্তাই ঠিক করে গন্তব্য কী হবে, ঠিক না? কোনো কোম্পানির সফটওয়্যার সেই কোম্পানি কোন 'Way' -তে স্ট্রাকচার্ড তার উপর নির্ভর করবে।

পোস্টেল ল - Post-Tel ল - কম কথার চিঠি পোস্ট, তো বেশি কথার টেলি(ফোন) 

আগের দিনে বিদেশে চিঠি পোস্ট করার সময় কম কথায়, কনসারভেটিভ চিঠি পোস্ট করা হতো কারণ বেশি ওজনের চিঠির চার্জ বেশি। টেলিফোনের যুগে এখন কথা বলা ও শোনা দুটোই বেহিসেবি হয়ে গেছে।

পারেটো ল - পরোটা ল - তাওয়া একবার গরম হয়ে গেলে বাকি পরোটা ভাজতে সময় লাগে না 
পরোটা ভেজেছেন কখনো, ৪-৫ টা? শুরুতে, প্রথম পরোটা ভাজতে তাওয়া গরম হতেই যত সময় লাগে। একবার তাওয়া গরম হয়ে গেলে কিন্তু বাকি পরোটা ভাজতে বেশি সময় লাগে না। কোনো প্রজেক্টের  ৮০% কাজ (প্রথম) ২০% লোকজন করে, বাকি ২০% কাজ বাকি ৮০% জন মিলে করে।

পিটার ল - পার্ট ল(স)?
বন্ধু-বান্ধবদের মধ্যে 'পার্ট' বা ভাব - নেয়াটা নতুন কিছু না। 'পার্ট' থেকে 'পার্টটার', আর 'পার্টটার' থেকে 'পিটার' - আমাদের ক্লাসেই একজনের নাম হয়ে গিয়েছিলো। এই এক্সট্রা 'ভাব' নেয়াটা আর কোনোকিছুতে খামাখাই ঝামেলা পাকানো সম্ভবত একটা কমন ব্যাপার।

কার্শফের ল - শুনলেই ভোল্টেজ, রেজিস্টর ইত্যাদির কথা মনে হয় না?

স্কুল-কলেজে পড়ার সময়, বিদ্যুৎ বা ইলেক্ট্রিসিটি চ্যাপ্টারে প্রথম কার্শফের ল পড়েছিলাম। আজকে তার আর কিছুই মনে নাই।  শুধু মনে আছে, খুব সুন্দর করে সার্কিটের ছবি দিয়ে সবকিছু পরিস্কার করে ব্যাখ্যা করা থাকলেও মাথায় ঢুকতো না। সবকিছু বলা আছে, কিন্তু তাও বোঝা যায় না - ক্রিপ্টোগ্রাফিতে এইটাই কার্শফের ল। নোট: এই কার্শফ কিন্তু সেই কার্শফ না।

লাইনাস বা লিনাসের ল - লিনাক্সের জনকের ল - লিনাস থেকে (চোখের) লেন্স?!

লাইনাস থেকে লেন্স, আর লেন্স  শুনলেই কেমন যেন চোখের চশমার বা ক্যামেরার লেন্সের কথা মনে পড়ে, ঠিক না? যত বেশি চোখ কোনো কোডে যোগ করা যায় (রিভিউয়ার যত বেশি), ততই তার বাগ ধরা পড়বে।

মুরের ল - মোর (More) ল?

More বা বেশি বেশি  - প্রতি দুই বছরে (বা তার কিছু কমে) কম্পিউটারের ক্ষমতা দ্বিগুন হবে!? আজও কি সত্যি?


৯০-৯০ ল আর নুথ-এর ল : নামে পরিচয়
নাইন্টি - নাইন্টি ল মনে রাখা বিশেষ কঠিন না। এর নামেই এটা মনে থাকে। কোডের  ৯০% কাজ করতে ১০% সময়, আর শেষ ১০% করতে বাকি ৯০% সময় লাগে।

ডোনাল্ড নুথ চরম একজন কম্পিউটার বিজ্ঞানী।  উনার আবিষ্কার করা Tex টাইপিং সিস্টেমের (আমি LaTex ব্যবহার করেছি, করছি)  কল্যানে কত হাজার, লক্ষ রিসার্চ পেপার, জার্নাল, থিসিস যে অপ্টিমাইজড উপায়ে লেখা হচ্ছে, তার হিসাব নাই। কেউ নিজে ব্যবহার না করলে এর মাহাত্ম বুঝবে না। সেই নুথ-এর একটা অপটিমাইজেশনের উপর ল থাকবে না - তা কি হয়? সোজা কথায় - কাজ শুরুর আগেই বেশি অপটিমাইজেশনের চিন্তা করলে ধরা খেতে হবে, কাজ করা আর হবে না।

আচ্ছা অনেকগুলো সূত্রই তো হলো। এবার দেখা যাক আপনাদের মনে আছে কিনা, একটা কাগজে নিচের সূত্রের সাথে এর জনকের নাম মেলান দেখি? যেমন ধরা যাক : উপরের অংশের (সূত্রের) ১-এর সাথে যদি নিচের ৫ মেলে, তাহলে লিখুন ১৫।  এভাবে একটা সংখ্যার সিরিজ লিখে ফেলুন, তারপর উত্তর মেলান একদম শুরুতে দেয়া সিরিজের সাথে।

সূত্র:
১. For many phenomena, 80% of consequences stem from 20% of the causes.
২. If something can go wrong, it will.
৩. Any piece of software reflects the organizational structure that produced it.
৪. Premature optimization is the root of all evil.
৫. Adding manpower to a late software project makes it later.
৬. Be conservative in what you send, be liberal in what you accept
৭. Given enough eyeballs, all bugs are shallow.
৮. The first 90% of the code takes 10% of the time. Remaining 10% takes the other 90% 
৯. The processing speed of computers will double every two years!
১০. In cryptography, a system should be secure even if everything about the system, except for a small piece of information - the key - is public knowledge.
১১. In a hierarchy, every employee tends to rise to his level of incompetence.

সূত্রের জনক/নাম: 
১. Murphy's Law
২. Brook's Law
৩. Conway's Law
৪. Postel's Law
৫. Pareto Principle
৬. The Peter Principle
৭. Kerchkhoff's Principle
৮. Linus's Law
৯. Moore's Law
১০. Ninety-Ninety Rule 
১১. Knuth's Optimization Principle


 কয়টা পারলেন?  :)














1 comment:

  1. Thank you so much for letting me express my feelings about your post. You write every blog post so well. Keep the hard work going and good luck. Hope to see such a beneficial post ahead too.Thanks again for sharing this with us and stay blessed

    ReplyDelete

কাজের জায়গায় ভুল থেকে শেখা: regex 'র একটা খুব কমন বিষয় যেটা এতদিন ভুল জানতাম

কাজের জায়গায় ভুল থেকে শেখা: regex 'র একটা খুব কমন বিষয় যেটা এতদিন ভুল জানতাম  ৩ ফেব্রুয়ারি, শনিবার, ২০২৪ রেগুলার এক্সপ্রেশন (Regular Exp...