ပရိုဂရမ်မာ တစ်ယောက်ဖြစ်ချင်ရင်
ပရိုဂရမ်မာ တစ်ယောက်အတွက် မရှိမဖြစ်လိုအပ်သော အခြေခံအချက်များ
ဝါသနာအရသော်လည်းကောင်း၊ စီးပွားရေးအရသော်လည်းကောင်း ကွန်ပျုတာသိပ္ပံနယ်ပယ်မှာအခြေချတော့မယ်ဆို မရှိမဖြစ်လိုအပ်တဲ့အချက်လေးတွေကို ဖော်ပြပေးသွားပါမယ်။ (ခေါက်ဆွဲပြုတ်နဲ့ ကော်ဖီထုပ်တွေလိုပါတယ် :P ) ပထမဆုံး programming language တစ်ခုခုကို စမလုပ်ခင် logic programming ကို အရင်လုပ်သင့်ပါတယ်၊ Programmer တစ်ယောက်အတွက် language syntax တွေပိုင်နိုင်နေတာထက် logic ပိုင်နိုင်ကျွမ်းကျင်တာက ပိုအရေးကြီးပါတယ်။ နောက်တစ်ချက်က English langauge ကို အခြေခံ မဖြစ်မနေတတ်ထားဖို့လိုပါမယ်။
Logic Programming
Logic programming ကိုသာ ပိုင်နိုင်မယ်ဆို language အသစ်လေ့လာတဲ့အခါ syntax နဲ့ အခြားလိုအပ်ချက်လောက်ပဲ အားစိုက်ရမှာပါ။ ကွန်ပျုတာသိပ္ပံနယ်ပယ်ထဲကို ခုမှ စပြီးဝင်ရောက်မယ့်သူဆိုရင် ပထမဆုံးအကြံပေးချင်တာကတော့ Web foundation (HTML, CSS, JavaScript) ကိုအရင်လေ့လာပါ၊ ကိုယ်က mobile app development ပဲလုပ်မှာ၊ Cybersecurity and forensics (CSF) ပဲလုပ်မှာ၊ UI/UX design ပဲလုပ်မှာမို့ဆိုပြီး မလေ့လာဘဲ မနေပါနဲ့၊ Programmer တစ်ယောက်က အခြေခံ web foundation လောက်တော့မကျွမ်းကျင်တောင် အပေါ်ယံအလုပ်လုပ်ပုံ သိထားသင့်ပါတယ် (တစ်လမ်းသွားလဲ မလုပ်သင့်သလို၊ မျောက်သစ်ကိုင်းလွှတ်နေတာမျိုးလဲ မဖြစ်သင့်ပါ)။ Web foundation နဲ့ logic programming တို့အား လေ့လာပြီးမှသာ OOP language တွေဖြစ်တဲ့ C++ or Java တို့လို အခြေခံလွယ်ကူတဲ့ language မျိုးကိုစလေ့လာသင့်ပါတယ်။ ဒီနေရာမှာ (စာရေးသူ အတွေ့အကြုံအရ) scripting language တွေကို စမလေ့လာစေချင်ပါဘူး။ လူအများစုက progamming စလုပ်ပြီဆိုတာနဲ့ hot ဖြစ်တဲ့ python ကိုစလုပ်ဖို့ အားသန်ကြပါတယ် အကြံပေးချင်တာကတော့ Python စမလေ့လာခင် JavaScript ကို အရင်လေ့လာကြည့်ပါ။ Logical programming ဆိုတာ ဘာလဲ၊ ခုနောက်ပိုင်း ၂၀၁၈၊၂၀၁၉ မှာစတက်ကြတဲ့ တချို့သော ကွန်ပျုတာကျောင်းသား/သူတွေတောင် သေချာမသိကြတာမျိုး စိတ်မကောင်းစွာတွေ့မြင်ခဲ့ရဖူးပါတယ်။ Logic programming ဆိုတာ program တစ်ခုကို စမရေးခင် လုပ်ဆောင်ချက်အဆင့်ဆင့်ကို pseudocode or flowchart နဲ့ ကြိုတင်အစီအစဉ်ချတာမျိုးလို့ အလွယ်ယူဆလို့ရပါတယ်။ အဲ့တာဆို program တစ်ခု မရေးခင်တိုင် pseudocode or flowchart ကြီးထိုင်ရေးဆွဲနေရမှာလား ဆိုတော့လဲ မဟုတ်သေးပြန်ပါ။ ကိုယ်ရေးမယ့် program ရဲ့ function and complexity တွေအပေါ်မူတည်ပြီး လုပ်ဆောင်ရမယ့်အချက်ဖြစ်ပါတယ်။ ကျွန်တော်ဆို program တစ်ခုကို လက်တွေ့ချမရေးခင် အမြဲစိတ်ထဲမှာ logic နဲ့ ကြိုရေးပါတယ်၊ အဲ့လို logic နဲ့ ကြိုတွေးပြီးမှ လက်တွေ့ချရေးတဲ့အခါ language syntax မှန်ဖို့ နဲ့ runtime error ကင်းဖို့ကိုပဲ လုပ်ဆောင်ရတော့မှာဖြစ်ပါတယ်။ Logic progamming ဆိုတာကို နောက်ပိုင်းအသေးစိတ် blog တွေရေးသားသွားမှာမို့ ဆက်လက်ဖတ်ရှုပေးကြပါ။
English Language
ဘာကြောင့် ဘိလပ်စာကို အခြေခံလောက် တတ်ထားသင့်တာလဲ၊ Application level program တွေအကုန်လုံးကို (သိရသလောက်) English လိုရေးကြတယ်ဆိုတာကို မေ့လို့မဖြစ်ပါဘူး၊ ကျွန်တော်တို့ ခု program တွေကို English စာနဲ့ရေးသားကြတာက application level ပါ (အသေးစိတ် သိချင်ရင် Fundamentals of Programming စာအုပ်တွေမှာ ဖတ်ရှုကြည့်ပါ)။ ကိုယ်က coding နေတုန်း error တက်မယ် ဘာကြောင့်တက်တာလဲ၊ ဘယ်လိုဖြေရှင်းရမလဲ ဆိုတာတွေကို search engine မှာရှာတဲ့အခါ English လိုပဲ ရှာရမှာပါ ၊ အကယ်၍ solution ရှာမတွေ့လို့ forum တွေမှာ ပို့စ်တင်မေးမယ်ဆိုလဲ English လိုပဲရေးရမှာမို့ပါ (Myanmar forum များရှိသော်လဲ စာရေးသူအမြင်အရ active မဖြစ်ကြပါ)။ ပြီးတော့ ကိုယ်က logic ပိုင်နိုင်လို့ language အသစ်ကို self-study လုပ်တဲ့အခါမှာလဲ မြန်မာလို tutorial တွေကို လိုက်ရှာတာထက် language documentation ကိုဖတ်ပြီး တစ်ဆင့်ချင်းလိုက်လုပ်တာက ပိုကောင်းပါတယ်၊ သူများပြောပြမှာ လုပ်တတ်တာထက် ကိုယ့်ဘာသာ ခေါင်းမီးတောက်ပြီးမှ လုပ်တတ်တာက ပို၍သာလွန်ကောင်းမွန်ပါတယ် (တချို့အရာတွေကတော့ ဆရာမပြ နည်းမကျဖြစ်တတ်သော်လဲ ရအောင်လေ့လာလုပ်ကြည့်ပါ အချိန်အတိုင်းအတာတစ်ခုတော့ လိုအပ်ပါလိမ့်မယ်)။ ယခုအခါ မြန်မာလိုရေးသားထားတဲ့ programming စာအုပ်တွေများစွာရှိတာပဲ English စာက လိုသေးလို့လား ဆိုပြီး မတွေးပါနဲ့၊ တိုးတက်ချင်ရင် တတ်သိနိုင်မယ့်နည်းလမ်း အကုန်နဲ့ ကြိုးစားအားထုတ်သင့်ပါတယ်။ Programming ကို မလေ့လာခင် English စာကို အခြေခံအရင်လေ့လာပါ။ နောက်ပိုင်း ဤဘလော့်ခ်မှာ ဆက်လက်ရေးသားမယ့် computer science, programming and coding (tag type) များကိုလဲ English လိုပဲ ရေးသားသွားမှာဖြစ်ပါတယ် (နားလည်နိုင်ရန် မလွယ်ကူတဲ့အခါမှသာ မြန်မာလို ရေးသားချက်များနှင့် ရှင်းပြသွားမှာပါ)။
ဤဘလော့်ခ်အား ဖတ်ရှုပေးတဲ့အတွက် ကျေးဇူးတင်ရှိပြီး၊ စာရေးသူ၏ အရေးအသားနှင့် အတွေးအခေါ် မှားယွင်းမှုများရှိပါကလဲ ဆက်သွယ်၍ အကြံပြုဝေဖန်နိုင်ပါသည်။ နောက်ပိုင်းဘလော့်ခ် အသစ်များတင်ပါက သိရှိနိုင်စေရန် fb.com/altocs page ကိုလဲ like and follow လုပ်ထားပါ။