Calm Hill My Random Thoughts

ဘယ်သူ့ကိန်းဂဏန်းမှမယ့်ရ

ဒီရက်အတွင်း OS ပေါင်းစုံ Command Line နဲ့ Terminal ပေါင်းစုံ သုံးလိုက်ရလို့ Black Screen, White Screen ရယ် အစိမ်းရောင်စာလုံးရယ် အဖြူရောင်စာလုံးတွေရယ်ပဲ မြင်နေရလို့ အထာကျသွားအောင် ကိုယ့်ဘလော့ကိုလည်း Terminal ပုံစံ ပြောင်းထားလိုက်တယ်လေ။ ၄ ရက်အတွင်းကို ကြုံလိုက်ရတဲ့ အတွေ့အကြုံတွေ ရေးလိုက်ရ ပြင်လိုက်ရတဲ့ Code တွေဘယ် Language နဲ့ရေးနေလဲတောင် မသိတော့လောက်အောင်ပဲ။

မတစ်ထောင်သားသမီး ရေးထားတဲ့ Documentation ဘုရားစူးမိုးကြိုးပစ် လုံးဝမပါတဲ့ Code တွေကို စမ်းလိုက်ရတာ လူလည်းရူးမသွားတာကံကောင်းတယ်။ ရေးတဲ့လူများကလည်း တစ်ယောက်တစ်ပေါက် ရေးချင်တဲ့ Language နဲ့ရေးထားခဲ့တယ်ဗျာ။ Unix ပေါ်မှာ C နဲ့ တစ်ယောက်ကရေးတယ်။ နောက်တစ်ယောက်က Linux ပေါ်မှာ PostgreSQL ကို Function ကို C နဲ့ Library ရေးပြီးတော့ Library ထုတ်ထားတယ်ဗျာ။ တစ်ယောက်က Window ပေါ်မှာ Java နဲ့ရေးထားတယ်။ သူတို့ Compile လုပ်ပြီး တစ်စစီပေါင်းတော့ ဘယ်လိုလုပ်သလဲတော့ မသိဘူးဗျာ။

ကိုယ်ကတော့ တစ်ယောက်တည်း သူတို့လုပ်ချင်သလို လုပ်ထားတဲ့ Experiment ကိုမှန်မမှန်ပြန်တိုင်းတာဆိုတော့ အကုန်လုံး ပြန်ပြီး Compile လုပ်ရတာပဲ။ Java ကတော့ Netbeans ကိုအားကိုးပြီး တစ်စဆီပြန်ပြီး သူတို့ရေးထားသမျ ဖတ်လိုက်တော့ အဆင်ပြေပြေ ဖြစ်သွားရော။ ပြဿနာကတော့ Unix ပေါ်ရေးထားတဲ့ အကောင်ကသိပ်မပေးဘူး သူကတော့ စနစ်တကျလေး ရေးထားတယ် Make File တွေဘာတွေ အသေအချာရေးထားတော့ သူရေးထားတာလည်း သိပ်ဖတ်စရာမလိုလိုက်ဘူး။

PostgreSQL သမားက စပြီးဒုက္ခပေးတာပဲ ရေးထားက PostgreSQL Function ကို C နဲ့ရေးထားတော့ Compile လုပ်ရတယ်။ Visual C++ နဲ့ ဘယ်လို့မှ လုပ်မရဘူး။ သူ့ဟာတွေ သေအချာဖတ်လိုက်တော့ Preprocessor တွေက Compiler အမျိုးအစား OS အမျိုးအစားပါစစ်ထားတော့ တစ်ချို့နေရာတွေက ပြင်မရတော့ဘူး။ ဒါနဲ့ Cygwin တော့ ကူနိုင်ကောင်းပါရဲ့ဆိုတော့ gcc နဲ့နည်းမျိုးစုံ Compile လုပ်လိုက်မှပဲ Object ဖိုင်လေးထွက်လာတယ်။ ဘာပြောကောင်းမလဲ ပျော်လိုက်တာနော်။ အပျော်ကကြာကြာမခံပါဘူး DLL ဖိုင်ထုတ်တာ Symbol တွေအကုန်လုံး Library တွေကနေ ထုတ်မရတာတွေရော Library လိုနေတာတွေရော။ လိုနေတဲ့ဟာတွေ ပြန်ရှာရတယ် ပြီးတော့ ပြန်လုပ်တော့လည်း မရဘူး Symbol နှစ်ခုက Library ကနေ Extract လုပ်မရဘူးပဲ ပြောနေပြန်ရော။ ဒီတစ်ခါတော့ဘယ်ရမလဲ လာခဲ့ဆိုပြီး Googling လုပ်လိုက်တော့မှ ကိုယ်လို Error တက်တဲ့လူတွေ အများကြီးပဲကိုး သူတို့လည်း မရှင်းတတ်ဘူး Cygwin က Support မလုပ်တာတဲ့။ ကိစ္စကိုပြတ်ကရောပဲ။

နောက်ဆုံးတော့ Fedora ကိုဆွဲချပြီးတော့မှ ကိုယ်စက်မှာတင်။ ကိုယ်ကလည်း ကိုယ့်အစွဲနဲ့ကိုယ် Ubuntu ကိုသူများဘယ်လောက် ကောင်းပါတယ် ပြောပြောသိပ်မသုံးဘူး အကြောင်းပြချက်ကအင်မတန်ခိုင်လုံပါတယ် လိမ္မော်ရောင်ကြီးကို မကြိုက်လို့။ PostgreSQL လိုနေသေးတော့ Source ကနေ Binary အထိအကုန်ပြန်ဆွဲချ ပြန်ထည့်ပြီးမှ နောက်ဆုံးအကြိမ်ကြိုးစားချင်း ဆိုပြီး gcc အစစ်ကနေ လုပ်ထည့်လိုက်မှပဲ စိတ်ချမ်းသာစရာ ကောင်းလောက်အောင် DLL ဖိုင်လေးထွက်လာတော့တယ်။ ဒီတော့မှ PostgreSQL မှာ သွားထည့်ပြီး Experiment ကိုစမ်းခဲ့ပြီး စက်ကိုမပိတ်ပဲ Lock ချပြီးအိမ်ပြန်လာခဲ့ရတယ်။

မနက်ကတော့မှ ကြည့်လိုက်တော့ ထွက်လာသမျ Result တွေက အကုန်လုံးသူတို့ ပြောထားတဲ့ အဖြေတွေနဲ့လွဲနေတယ်။ သူတို့ကောင်းပါတယ်ဆိုတာတွေက ကိုယ်ဆီမှာက သူတို့ပြောသလောက် သိပ်မကောင်းဘူးဖြစ်နေတယ်။ မသင်္ကာလို့ ပြန်စမ်းကြည့်တော့လည်း အတူတူပဲ။ ဒီတော့မှပဲ သဘောပေါက်သွားတော့တယ်။ သြော် …. ဒင်းတို့က အဖြေတွေကို နည်းနည်းပြုပြင်ထားတာကိုး။ ဒါကြောင့် သူများတွေ ဘယ်လိုပဲ Result တွေ ကိန်းဂဏန်းတွေ လာပြပြ မယ့်နဲ့ အနည်းနဲ့အများတော့ ကိုယ့်နည်းစနစ်ကောင်းတယ်လို့ ဖြစ်အောင်တော့ သာသာထိုးထိုး ပြောထားကြတာတွေပဲလို့ သင်ခန်းစာရလိုက်တာ အမြတ်ကျန်တယ်ပဲ မှတ်လိုက်ပါတယ်။