Wednesday, January 7, 2015

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


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)

No comments:

Post a Comment