အခု ရေးမယ့် ဆောင်းပါးတွေကို
ကျွန်တော်အပါအဝင် Myanmar Links Working Group အဖွဲ့သားများ အားလုံးစုပြီး
ရေးကြမှာ ဖြစ်ပါတယ်။ PHP, CodeIgniter စတာတွေကို သင်နေရင်း Language ကို
တစ်ခုတည်း အသေမှတ်သွားမှာစိုးတဲ့အတွက် နောက်ထပ် Language တစ်ခု အနေနဲ့
Python ကိုတွဲပြီး Django Framework ကို သင်ပေးမယ်ဆိုတော့ ထုံးစံအတိုင်း
Python Language ကို ကိုယ်တိုင်လေ့လာကြရပြီး ကျွန်တော်ကတော့ Django
Framework ကို သင်ပေးဖြစ်ပါတယ်။ အဲဒီလို သင်နေရင်း အားလုံးလဲ လေ့လာလို့
ရအောင် စာအုပ်တစ်အုပ်ပေါ် အခြေခံပြီး ရေးကြမယ်ဆိုတော့ Mark Lutz ရေးတဲ့
Learning Python ဆိုတဲ့ စာအုပ်ကို အခြေခံပြီး ရေးဖြစ်ကြပါတယ်။ အားလုံး
တစ်ယောက် တစ်ပိုင်းစီ တာဝန်ယူပြီး ရေးလိုက်တော့ ဘယ်လောက်မှ မကြာတဲ့
အချိန်အတွင်းမှာ အားလုံးပြီးသွားပါတယ်။ လေ့လာတဲ့သူတွေအဆင်ပြေအော
င်တစ်ပိုင်းခြင်းစီ တင်သွားမှာ ဖြစ်ပါတယ်။ နောက်ဆုံး အားလုံးပြီးသွားတဲ့
အခါမှာ E-Book အဖြစ် ပြန်တင်ဖို့ အစီအစဉ်ရှိပါတယ်။ အားလုံးပဲ
ရွှင်လန်းချမ်းမြေ့ကြပါစေ။ (အပိုင်းတွေ ဆက်တိုက်တင်သွားဖို့ ရှိပြီး
ဖြစ်တဲ့အတွက် အရင်လို မပြီးမှာ ပူစရာ မလိုတော့ပါဘူးခင်ဗျာ)
သီဟ (Myanmar Links)
ဘာကြောင့် Python ကိုသုံးကြရတာလဲ?
အခုအချိန်မှာ Programming Language
ပေါင်းများစွာရှိနေပြီဖြစ်တဲ့အတွက်ကြောင့် မျက်နှာသစ်တွေအတွက် ကတော့
ပထမဆုံးအနေနဲ့ မေးခွန်းတွေ ဖြစ်နေကျပါပဲ။ စဉ်းစားကြည့်မယ်ဆိုရင် 1 million
ပမာဏရှိတဲ့ Python User တွေဟာ တိုတောင်းတဲ့ ကာလအတွင်းမှာပဲ အမြောက်အများ
ထွက်ပေါ်လာခဲ့ပေမဲ့ အဲ့ဒီမေးခွန်းအတွက် တိကျမှန်ကန်တဲ့ အဖြေကတော့
ရှိမလာခဲ့ပါဘူး။ Development Tools တွေကိုရွေးချယ်တော့မယ်ဆိုရင်
တစ်ခါတစ်ရံမှာတော့ တိကျတဲ့ကန့်သတ်မှုပေါ်မှာပဲဖြစ်ဖြစ် ကိုယ်နှစ်သက်တဲ့
အပေါ်မှာပဲဖြစ်ဖြစ် အခြေခံ ရွေးချယ်တာကောင်းပါတယ်။
ဒါပေမယ့်လည်း ၁၀နှစ်ကျော်ကာလအတွင်း
အဖွဲ့ပေါင်း ၂၀၀ နဲ့ ကျောင်းသားစုစုပေါင်း အယောက် ၃၀၀၀ ကို Python
သင်ကြားပေးပြီးတဲ့နောက်မှာတော့ အဓိကကျတဲ့ ဆိုလိုရင်းအချို့
ထွက်ပေါ်လာခဲ့ပါတယ်။ Python user အများစု ရည်ညွှန်းတဲ့
အခြေခံအကြောင်းရင်းကတော့ -
Software quality (ဆော့(ပ်)ဝဲ အရည်အသွေး)
အများစုအတွက် Python ရဲ့အလေးသာမှုက
readability (ဖတ်ရှုနားလည် နိုင်ရန် လွယ်ကူမှု) ဖြစ်ပါတယ်။
အဆက်အစပ်ရှိပြီးတော့ အထွေထွေ အစိတ်အပိုင်းတွေမှာပါတဲ့ software quality
ကတော့ scripting world ထဲမှာရှိတဲ့ တခြား tools တွေနဲ့ တသီးတသန့်
ပုံစံမျိုးဖြစ်နေတာပါပဲ။ တခြား ပုံမှန် scripting language တွေနဲ့ယှဉ်ရင်
Python code တွေဟာ ဖတ်လွယ်အောင် ပုံစံပြုလုပ်ထားတဲ့ အတွက်ကြောင့်
နောက်တစ်ခေါက် ပြန်သုံးဖို့ အဆင်ပြေသလို ထိန်းသိမ်းရတာလဲ လွယ်ကူပါတယ်။
Python code တွေရဲ့ တူညီနေမှုက အကယ်၍ သင်ဟာ Python ကို မရေးတတ်ဘူး
ဆိုရင်တောင်မှ လွယ်လွယ်လေးနဲ့ နားလည်လွယ်အောင် ပြုလုပ်ပေးပါတယ်။
ထပ်ပြီးတော့ Python က object-oriented programming (OOP) လိုမျိုး Advanced
software reuse mechanisms တွေအတွက် အရမ်း အထောက်အကူ ပြုပါတယ်။
Developer productivity (Developer တွေအတွက် ထုတ်လုပ်ဖန်တီးနိုင်စွမ်း)
Python ကိုအသုံးပြုခြင်းကနေ C, C++, နဲ့
Java လိုမျိုး statically typed languages တွေထက် Developer Productivity
မြင့်တက် လာနိုင်ပါတယ်။ Python code က C++, Java code တွေရဲ့ သုံးပုံတစ်ပုံ
ငါးပုံတစ်ပုံ ပမာဏပဲရှိပါတယ်။ အဲ့ဒါကြောင့် စာရိုက်ရတာ နည်းလာမယ်၊ Debug
(အမှားစစ် ပြုပြင်) လုပ်ရတာ နည်းလာသလို maintain (ထိန်းသိမ်း) လုပ်ရတာလည်း
နည်းလာပါမယ်။ Python programs တွေက ချက်ချင်းကောက် run နိုင်သလို compile
လုပ်တဲ့အချိန် နဲ့ တခြား tools တွေအသုံးပြုတဲ့အဆင့် တွေမပါတဲ့အတွက်
programmer speed (Program ရေးသားရာမှာ အမြန်နှုန်း)
ကိုမြှင့်တင်ပေးနိုင်ပါတယ်။
Program portability (ရွေ့ရပြောင်းရ လွယ်ကူမှု)
Python programs အများစုဟာ အဓိကကျတဲ့
computer platforms အများစုမှာတော့ မပြောင်းလဲပဲ run ပါတယ်။ ဥပမာပြောရရင် –
Linux နဲ့ Windows ကြား Python code ကူးချင်ရင် ဒီတိုင်း script code
လေးကို စက်တစ်လုံးနဲ့ တစ်လုံးကြား ကူးလိုက်ရုံပါပဲ။ ထပ်ပြီးတော့ Python
ကနေပြီးတော့ coding portable graphical user interfaces, database access
programs, web-based systems အပြင် တခြား အရာတွေအတွက် ရွေးချယ်စရာများစွာ
ပြုလုပ်ပေးထားပါတယ်။ Program launches နဲ့ directory processing တွေပါတဲ့
operating system interfaces အထိတောင် Python မှာလွယ်လွယ်ပင်
ကူးပြောင်းနိုင်ပါတယ်။
Support libraries (အထောက်အပံ့ပေးနိုင်သော Library များ)
Python မှာ လာကတည်းက standard library
လို့ခေါ်တဲ့ အလွန်ကြီးမားတဲ့ တည်ဆောက်ပြီးသား ကူးပြောင်းလွယ်တဲ့
functionality တွေပါဝင်ပါတယ်။ အဲ့ဒီ Library က text pattern matching
တွေကနေ network scripting တွေအထိ application-level programming tasks
တွေကို array အနေနဲ့ ထောက်ပံ့ပေးပါတယ်။ ထပ်ပြီးတော့ Python ကို homegrown
libraries နဲ့ third-party application support software တွေနဲ့လည်း
ထပ်ချဲ့လို့ရပါသေးတယ်။ Python ရဲ့ third-party domain တွေဟာ web site
construction, numeric programming, serial port access, game development
အပြင် တခြားအရာတွေအတွက် tools တွေကိုလည်း ကမ်းလှမ်း ပေးထားပါတယ်။ NumPy
extension ကို Free ရပြီး Matlab numeric programming system လောက်ကို
စွမ်းဆောင်နိုင်တယ်လို့ ထုတ်ဖော်ပြောဆိုထားပါတယ်။
Component integration (အစိတ်အပိုင်းများ ပေါင်းစပ် ထည့်သွင်းခြင်း)
Python scripts ဟာ integration mechanisms
တွေကိုကိုအသုံးပြုပြီးတော့ application တစ်ခုရဲ့ တခြား အစိတ်အပိုင်းတွေနဲ့
လွယ်လွယ်ကူကူ ပင်ချိတ်ဆက်နိုင်ပါတယ်။ အဲ့ဒီလို ပေါင်းစပ်ခြင်းက Python ကို
product customization နဲ့ extension tool အဖြစ်အသုံးပြုစေနိုင်ပါတယ်။
ယနေ့မှာတော့ Python code ကို C နဲ့ C++ programs တွေကခေါ်ယူသုံးတဲ့ C နဲ့
C++ libraries တွေ၊ Java components တွေနဲ့ ပေါင်းစပ်နိုင်သလို၊ COM နဲ့
.NET လိုမျိုး frameworks တွေနဲ့လည်း ဆက်သွယ်လို့ရပါသေးတယ်။ နောက် SOAP,
XML-RPC နဲ့ COBRA လိုမျိုး interfaces တွေပါတဲ့ networks တွေမှာလည်း
တုံ့ပြန်နိုင်ပါတယ်။ Python ဟာ သီးခြားတည်ရှိနေတဲ့ tool တစ်ခုမဟုတ်ပါဘူး။
Enjoyment (စိတ်ချမ်းသာပျော်ရွှင်မှု)
အသုံးပြုရတာလွယ်ကူတဲ့အပြင် built-in
toolset တွေကြောင့် Python က programming ကို ငြီးငွေ့ဖွယ်ကောင်းတဲ့
အလုပ်ဆိုတာထက် ပိုပြီး ပျော်ရွှင်ဖို့ကောင်းတဲ့ အသွင်ပြုလုပ်နိုင်ပါတယ်။
အဲ့ဒါလို အခြေအနေက ထိတွေ့ကိုင်တွယ်လို့မရတဲ့ အကျိုးအမြတ်ကြောင့် သူ့ရဲ့
productivity အပေါ်သက်ရောက်မှုက အရေးကြီးတဲ့ အရာတစ်ခုပါပဲ။
အဲ့ဒီလိုမျိုးအချက်တွေရှိနေပေမယ့်
ပထမဆုံးနှစ်ချက်ဖြစ်တဲ့ quality နဲ့ productivity ကတော့ Python users
အများစုကို အကျိုးအမြတ်အဖြစ်နိုင်ဆုံးပါပဲ။
ဆက်ပါဦးမယ် … (မရှင်းလင်းသည်များ ရှိရင် ကွန်မင့်ပေးပြီး မေးနိုင်ပါတယ်ခင်ဗျာ)
K (Myanmar Links)