Aug 14, 2007

သခ်ၤာ၊ ပ႐ိုဂရမ္းမင္းႏွင့္ အေတြးဆန္႔ၾကည့္ျခင္း

တခ်ဳိ႕က ေျပာၾကတယ္။ သခ်ၤာကို စိတ္၀င္စားရင္ ပ႐ိုဂရမ္းမင္းလုပ္တဲ့အခါ အခက္အခဲမ႐ွိဘူးတဲ့။ မွန္သင့္သေလာက္ မွန္ပါတယ္။ ဒါေပမယ့္ သခ်ၤာဘာသာရပ္ကို ငယ္ငယ္ကတည္းက စိတ္၀င္စားသူ တစ္ေယာက္အေနနဲ႔ ပ႐ိုဂရမ္းမင္း စၿပီး လုပ္ခါစက အေတာ္ေလး ကသိကေအာက္ ျဖစ္ေစတဲ့ ကိစၥေလးတခ်ဳိ႕ကို ေ၀မွ်ခ်င္ပါတယ္။


၁) ငါဟာ “NULL”

သခ်ၤာဘာသာရပ္မွာ ဘာမွ မ႐ွိတဲ့ တန္ဖိုးတစ္ခုကို ေဖာ္ျပခ်င္ရင္ သုညလို႔ ေရးပါတယ္။ ပ႐ိုဂရမ္းမင္းမွာေတာ့ ဘာမွ မ႐ွိဘူးဆိုရင္ အဲဒါကို “NULL” လို႔ သံုးပါတယ္။ အျခားေသာ ကိန္းဂဏန္းေတြလိုပဲ သုညမွာ တန္ဖိုး႐ွိပါတယ္။ “NULL” မွာေတာ့ ဘာဆိုဘာမွ မ႐ွိပါဘူး။

ဒါေၾကာင့္ ကဗ်ာေတြ စာေတြေရးတဲ့အခါ “ငါဟာ သုညတစ္လံုး” လို႔ ေျပာမယ့္အစား “ငါဟာ NULL” လို႔ ေရးရင္ ပိုမွန္မယ္ ထင္ပါရဲ႕။

၂) i = i + 1

သခ်ၤာဘာသာရပ္ ႐ႈေထာင့္ကၾကည့္ရင္ ဒီညီမွ်ျခင္းဟာ ဘယ္လိုမွ မျဖစ္ႏိုင္ပါဘူး။ ဒါေပမယ့္ ပ႐ိုဂရမ္းမင္းမွာေတာ့ ညီမွ်ျခင္းရဲ႕ ညာဖက္က တန္ဖိုးေတြကို ညီမွ်ျခင္းရဲ႕ ဘယ္ဖက္ကို ထည့္ေပါင္းခ်င္တဲ့အခါမွာ သံုးပါတယ္။ အေတာ္ေလးအသံုးမ်ားတဲ့ ညီမွ်ျခင္းတစ္ခုပါ။

ကက = ကက + ၁
ဒီညီမွ်ျခင္းအရဆိုရင္ “ကကတစ္” လို႔ အေျဖထြက္မယ္ထင္ပါတယ္။

၃) ကြန္ပ်ဴတာေတြက မႏႈတ္တတ္ဘူး။

ကၽြန္ေတာ္တို႔ မူႀကိဳတက္ခါစကတည္းက အေပါင္းအႏႈတ္အေျခခံကို သင္ရတာပါ။ ဒါေပမယ့္ အတြက္အခ်က္ အင္မတန္ျမန္လြန္းပါတယ္ဆိုတဲ့ ကြန္ပ်ဴတာက မႏႈတ္တတ္ပါဘူး။ ကြန္ပ်ဴတာက ေပါင္းပဲ ေပါင္းတတ္ပါတယ္။ ဒါဆို ဘယ္လို အႏႈတ္ကို ဘယ္လိုတြက္ခ်က္သလဲ။ လြယ္ပါတယ္။ အႏႈတ္ကို ေပါင္းထည့္လိုက္ပါတယ္။

1-1 = 0 အစား ကြန္ပ်ဴတာက 1 + (-1) = 0 လို႔ တြက္ၿပီး အေျဖ႐ွာပါတယ္။

ျမင္ေနက်အရာေတြကို မတူညီတဲ့ ႐ႈေထာင့္ေတြကေန ၾကည့္တဲ့အခါ အေတြးအျမင္အသစ္ေတြကို ရပါတယ္။ ဒီေတာ့ ကၽြန္ေတာ္တို႔ေတြ အေတြးအေခၚအေဟာင္းေတြကို ၿငီးေငြ႕လာတဲ့အခါ အရာရာကို ပံုေသမေတြးဘဲ ေဖာက္ထြက္ေတြးဖို႔ လိုပါလိမ့္မယ္။

3 comments:

Andy Myint said...

ေရးထားတာ သေဘာက်ပါတယ္… ေနာက္ကလိုက္ေရးတဲ့ သေဘာပါ။
Programming မွာ ဘာမွာ မ႐ွိရင္ ဘာမွ မဟုတ္ရင္ `void´ လို႔လည္းဆိုၿပီး ဘာမွ မသတ္မွတ္ရေသးရင္ (undefined) ဆိုရင္ `NULL´ ပါ။ NULL value ႐ွိတဲ့ reference တစ္ခုရဲ႕ Memory Space ကို ၾကည့္ရင္ 0000 ေတြ ျဖစ္ဖို႔ အေတာ္အတန္ ခဲယဥ္းပါတယ္။ Value တစ္ခုခု ျဖစ္ေနႏိုင္ပါတယ္။ Zero Value ႐ွိတဲ့ reference တစ္ခုရဲ႕ Memory Space မွာေတာ့ ေသခ်ာေပါက္ 0000 ေတြခ်ည္းပါပဲ။
ဟုတ္တယ္… NULL က သုညနဲ႔ မတူပါဘူး.. NULL နဲ႔ NULL ေတာင္ မတူပါဘူး။
တကယ္ေတာ့ NULL က သခၤ်ာပညာက ယူထားၿပီး (null vector တို႔ ဘာတို႔) void ကေတာ့ English က ယူထားတာပါ။

ညီညီ(သံလြင္) said...

Andy Myint >> အစ္ကိုေရ.. အခုလို ျဖည့္စြက္ၿပီး ႐ွင္းလင္းေပးတဲ့အတြက္ ေက်းဇူးပါပဲဗ်ာ

shin said...

Like the idea.... :P