Friday, October 14, 2011

Python လေ့လာကြမယ် အပိုင်း (၂)

by | posted: September 20, 2011
Software Quality (ဆော့ဖ်ဝဲ အရည်အသွေး)
Design အနေနဲ့ ဆိုရင် Python ကရည်ရွယ်ချက် ကောင်းကောင်းနဲ့ အရိုးရှင်းဆုံး၊ ဖတ်လို့ အလွယ်ဆုံး syntax နဲ့ highly coherent programming model (အဆင့်မြင့်မြင့် အဆင့်ဆင့် ချိတ်ဆက် ဆက်စပ်နေတဲ့ Programing Model) တစ်ခု လို့ ပြောလို့ ရအောင် မွမ်းမံ ထားပါတယ်။ ပြီးခဲ့တဲ့ Python conference မှာ အားလုံး သဘောတူ ချမှတ်လိုက်တဲ့ ဆောင်ပုဒ်ကတော့ “Fit Your Brain” သင်စဉ်းစားတဲ့အတိုင်း ကွက်တိ လုပ်နိုင်တာ Python လို့ ဆိုပါတယ်။ Core Concept အနည်းငယ်ကို ပုံမှန်အတိုင်းလိုက်နာပြီး Python ရဲ့ Features တွေကို သတ်မှတ်လိုက်တဲ့အတွက် python language ကိုလေ့လာရာမှာ သင်ရလွယ်၊ နားလည်ရလွယ် ပြီး မှတ်မိလည်းလွယ်ပါတယ်။ လက်တွေ့မှာလည်း Python programmers တွေဟာ codeတွေကို ရေးတဲ့ဖတ်တဲ့ အခါမှာ ပုံသေ manuals ပုံစံမျိုး မှတ်ထားဖို့ မလိုတဲ့အပြင် ပုံမှန်မြင်နေကြ Code တွေကို အံ့သြဖွယ် ကောင်းလောက်စွာ ပြန်လည်ထုတ်ပေးနိုင်တဲ့ consistently designed system (အရာအားလုံး ညီညွတ်မျှတစွာ ပုံစံချထားတဲ့ စနစ်) တစ်ခုလည်း ဖြစ်ပါတယ်။

အတွေးအခေါ်ပိုင်း အရဆိုရင် Python က minimalist approach (လိုအပ်ချက်နဲ့ ကွက်တိ အနည်းဆုံး သုံးတဲ့ ချဉ်းကပ်နည်း) ကို မွေးစားထားတယ်လို့ ဆိုနိုင်ပါတယ်။ Coding task တစ်ခုကို ပြီးမြောက်အောင်လုပ်ဖို့ နည်းလမ်းတွေ အများကြီးရှိပေမယ့် အသိသာအထင်ရှားဆုံး၊ ကွဲပြားခြားနားမှု အနည်းဆုံးနဲ့ coherent interactions အစုတွေရှိနိုင်တာက minimalist approach တစ်ခုတည်းပါပဲ။
အဲ့ဒီအပြင် Python က interactions တွေရှုပ်ထွေးနေရင်တောင်မှ arbitrary decisions (လိုရာဆွဲတွေးလို့ရတဲ့ ဆုံးဖြတ်ချက်) တွေကို မပေးပါဘူး။ Python ရဲ့ လမ်းအတိုင်း စဉ်းစားမယ် ဆိုရင် အထဲမှာ ဝှက်ထားပြီး ဘာမှန်းမသိ လုပ်သွားတာမျိုး မဟုတ်ပဲ အားလုံး ရှင်းရှင်းလင်းလင်း သိနိုင်ရမယ်။ ရှုပ်ရှုပ်ထွေးထွေးဖြစ်နေတာထက် ရှင်းနေတာက ပိုကောင်းတယ်လို့ စဉ်းစားရမှာ ဖြစ်ပါတယ်။
ဒီလို design themes တွေအပြင် Python မှာ ပုံမှန်အားဖြင့် code တွေကို ပြန်လည်အသုံးပြုနိုင်တဲ့ modules၊ OOP အစရှိတဲ့ tools တွေလည်းပါ ပါတယ်။ အဲဒီ tools တွေက code reusability (Code တွေ ပြန်သုံးလို့ရအောင်) ဖြစ်အောင်လုပ်ပေးပါတယ်။ Python ဟာ အရည်အသွေး ဦးစားပေး ဖြစ်တဲ့အတွက် Python programmers တွေလည်း အလားတူပါဘဲ။
Developer Productivity (Developer များ၏ ဖန်တီးနိုင်စွမ်း)
Internet အလွန်အမင်း အသုံးပြုလာတဲ့ ၁၉၉ဝခုနှစ် အလယ်နှောင်းပိုင်းကာလက Software Projects တွေကို implement လုပ်ဖို့အတွက် programmers တွေအလုံအလောက် မရှိတဲ့ အခက်အခဲတွေ ရှိခဲ့ပါတယ်။ Internet ပြောင်းလဲနေမှုက မြန်ဆန်သလောက် System တွေကို Implement လုပ်ဖို့အတွက် Developer တွေက တာဝန်ယူ ဆောင်ရွက်ရပါတယ်။ ယနေ့ အလုပ်လက်မဲ့တွေနဲ့ စီးပွားရေး ရုတ်သိမ်းခံရမှုတွေရှိတဲ့ Post-boom (အင်တာနက် ဆန်းပွင့်မှု ကာလအလွန် လုပ်ငန်းများ ပျက်သုန်းကြသည့် အချိန်) ခေတ်ကြီးမှာတော့ အဲ့ဒီဖြစ်စဉ်က အသွင်သဏ္ဍာန် ပြောင်းလဲ လာခဲ့ပါတယ်။ အဲဒီလို ပြောင်းလဲလာတဲ့ အနေအထားအရ Programmer တွေကို နည်းနည်းနဲ့ ကျဲကျဲဝိုင်းဖို့ အကြောင်းဖန်လာစေပါတယ်။ ပုံစံတူ အလုပ်တွေအတွက် လူနည်းနည်းနဲ့ မရဘူးလား။ မလုပ်နိုင်ဘူးလားလို့ မေးခွန်းထုတ်တာတွေ ခံလာရပါတယ်။
ဒီဖြစ်စဉ်တွေထဲမှာတော့ Python က Programmers တွေအတွက် နည်းနည်းနဲ့ ကျဲကျဲဝိုင်းဖို့ Tools တစ်ခုဖြစ်လာပါတယ်။။ နောက်ပြီး သူ့မှာ development speed အကောင်းဆုံး ဖြစ်အောင် ရည်ရွယ် ထားတဲ့ အတွက် simple syntax , dynamic typing ,lack of compile steps နဲ့ built-in ပါတဲ့ toolset တွေက အခြား tools တွေကို သုံးတာထက်စာရင် programmers တွေကို အချိန် တိုတိုလေး အတွင်းမှာ programs တွေကို develop လုပ်လို့ ရစေပါတယ်။ တခြား languages တွေနဲ့ ယှဉ်ရင်တော့ Python ကို အသုံးပြုတာက developer productivity ကို အများကြီးမြှင်တင်နိုင်စွမ်း ရှိတာ တွေ့ရပါတယ်။
ဆုနှင်းဝေ (Myanmar Links)