1 Programming စတင္ေလ့လာ မလုိ႔လား? [Guideline] 4th February 2011, 12:22 am
sHa92
Founder
“Programming ကို ခုမွစၿပီး ေလ့လာမလို႔ပါ။ ဘယ္ကစေလ့လာသင့္သလဲ ၊ ဘယ္လိုေလ့လာရမလဲ။”
ဒီလိုေမးခြန္းမ်ိဳးနဲ႔ ရင္းႏွီးခဲ့တာေတာ့ အေတာ္ၾကာၿပီ.... ဒီလို Guideline မ်ိဳး ေရးခ်င္ေနတာလည္း အေတာ္ၾကာၿပီ...
အစကေတာ့ Comment အေနနဲ႔ဘဲ ၿပန္မလို႔ ၊ ေရးရင္းေရးရင္း ၊ အေတာ္ရွည္သြားတာနဲ႔ ေနာက္ၿပီး Programming စတင္ေလ့လာခ်င္တဲ့သူ အားလုံးကို ဖတ္ေစခ်င္လို႔ Article တစ္ခုအေနနဲ႔ သက္သက္ခြဲထုတ္လိုက္ပါတယ္...
(Forum ေပၚမွာရိွတဲ့ အရင္က ကြ်န္ေတာ့္ Comment ေတြ လုိက္ၾကည့္မယ္ ဆုိရင္ေတာ့ အေၿဖကတစ္မ်ိဳးၿဖစ္ေနႏိုင္တယ္။ ခုလည္း ဒီအေၿဖက လက္တေလာ အမ်ားဆုံး ေၿဖေပးၿဖစ္ၿပီး ၊ အသင့္ေတာ္ဆုံးလုိ႔ ထင္တဲ့ အေၿဖမ်ိဳးလို႔ သတ္မွတ္ထားပါတယ္။)..
----------------
-တစ္စံုတစ္ေယာက္က သင့္ကို ဘယ္ Programming Language ကို ေလ့လာပါဆုိၿပီး ၊ အၾကံေပးလိုက္မယ္။
-သင္ကလည္း အဲဒီ့ Language နဲ႔ ပတ္သက္ၿပီး လိုခ်င္တဲ့ Resource ကို Forum မွာ လာေတာင္းတယ္။
-Forum ေပၚကသူေတြက နီးစပ္ရာကေန ရွာၿပီး ၊ ဟုတ္ေသာ္ရိွ ၊ မဟုတ္ေသာ္ရိွ ၊ ကိုယ္တုိင္မဖတ္ဖူးတဲ့ စာအုပ္တစ္ခုကို ေကာင္းမယ္ထင္ၿပီး ၊ ေစတနာနဲ႔ ေပးလိုက္မယ္။
-သင္က အဲဒီ့စာအုပ္ကို အိမ္ယူသြားမယ္။ မာတိကာ ကစၿပီး ဖတ္မယ္... စာမ်က္ႏွာအေရအတြက္ကို ၾကည့္ၿပီး လန္႔ေနမယ္.
-ဒါေပမယ့္လည္း ကိုယ္ကသိခ်င္ေနတဲ့သူကိုး။ ၾကိဳးစာဖတ္တယ္...
-အဲဒီ့ Language နဲ႔ ပတ္သက္လို႔ Array ဘာညာ ၊ Syntax နဲ႔ Structure နဲ႔ ပတ္သက္ၿပီးအထိ အိုေကတုန္း၊
-Looping လား? ေအးေဆးဗ်ာ... သူ Run ခိုင္းသလို Run ၾကည့္ ၊ အေၿဖထြက္ ၊ ေပ်ာ္ေနတာေပ့ါ..
-တစ္ၿဖည္းၿဖည္းနဲ႔ ေၿမၾကီးနဲ႔ ေၿခေထာက္က နည္းနည္းလြတ္လာမယ္... စာအုပ္ထဲကအတုိင္းရေနေတာ့ Programmer ေပါက္စၿဖစ္ၿပီထင္တာကိုးဗ်...
-အဲလိုနဲ႔ ၁ ပတ္ ၊ ၂ ပတ္ ။ အိုေကေသးတယ္။ အဲ ၊ ၃ ပတ္ေၿမာက္လည္းေရာက္ေရာ ၊ စာမ်က္ႏွာကလည္း ၁၀၀ ေက်ာ္ဖတ္ၿပီးၿပီ။ အေနာက္မယ္က ၅၀၀ ေလာက္က်န္ေသးတယ္။ ဖတ္ဖို႔လည္း ပ်င္းလာၿပီ။ စာအုပ္ေလး ခဏ ပိတ္လိုက္ပါဦးမယ္....
-ေနာက္ေန႔ေတြက် Looping ေလးေတြ ၊ Conditional Statement ေလးေတြနဲ႔ သူငယ္ခ်င္း ၊ အိမ္ေခၚ ၊ ထမင္းေကြ်း ၊ ၾကြား...
-ေဟာ... Online ေလးကိုတက္ ၊ ဖိုရမ္ေတြ ပတ္ ၊ ႏိုင္ငံၿခားက Source Code share တဲ့ site ေတြဆီသြား... Download ဆြဲ.
-ရလာတဲ့ ဖိုင္ထဲက Code ကိုၾကည့္ၾကည့္။ ကိုယ္နားမလည္တာေတြက အမ်ားသား... ဒါေပမယ့္ အဲဒီ့ Download ဆြဲလာတဲ့ Code ရဲ႕ Result ကိုက ၾကည့္ခ်င္ေနၿပီ.. အဲဒီ့ေတာ့ မရရေအာင္ Compile လုပ္။ GUI ကိုၿပင္ ၊ ၿမန္မာဗားရွင္း ထုတ္....
-ေနာက္ေတာ့ ဖတ္လက္စ စာအုပ္ကိုလဲ ေမ့ေတ့ေတ့ ၊ ဖိုရမ္ပတ္ၿပီး Code ေမႊရတာ ၊ သူ႔ Code ကို ဖတ္မၾကည့္ဘဲ ၊ နားလည္တဲ့ အပိုင္းေလာက္ဘဲ ၿပင္ရတာမွာ ေပ်ာ္ေမြ႕ၿပီး ၊ ႏုိင္ငံၿခားက အလုံးလုိက္ရလာတဲ့ Code ကို ၊ ေဖာက္စြပ္လုပ္တဲ့ ၊ ကိုကို ေဖာက္စြပ္ ၿဖစ္သြားေကာ...
-နဂိုကေတာ့ ၀တၳဳေတြ ဖတ္ ၊ နားစြန္နားၿဖား ၾကားတာေလးေတြကို မွတ္ ၊ Microsoft နဲ႔ တန္းတူအဆင့္ရိွ Software ထုတ္တဲ့ Company ေထာင္မယ္လို႔ၿပင္လာတဲ့ ၊ Programmer. တကယ္ၿဖစ္သြားတာက ေဖာက္စြပ္...
-------------------
အေပၚကေတာ့ Starter ေလးေတြ ၿဖစ္တတ္တဲ့သေဘာေလးေတြပါ... (ဒီစာကို ဖတ္ေနတဲ့သူနဲ႔ တုိက္ဆုိင္မႈရိွသြားရင္ေတာ့ ခြင့္လႊတ္ေပးပါေနာ့္။ ဘယ္သူ႔အေၾကာင္းမွ ေရးထားတာမဟုတ္ဘူး ၊ ကြ်န္ေတာ့္အေၾကာင္းေရးထားတာ လို႔သာ မွတ္ေပး...)
(သင္တန္းတက္မိတဲ့ သူေတြအေၾကာင္းလည္း ၊ နားေထာင္ခ်င္ရင္ ေရးေပးမယ္ေနာ္... ေတာင္းဆုိလိုက္။)
မင္းသားကို အေၿဖေပးမယ့္ မင္းသမီးက ခုမွစေၿပာမွာ ခုနက အေပအေတ နန္းတြင္းသန္႔ရွင္းေရးသမား ေလရွည္သြားတာ -- ;D
--------
အဟင့္..... အဲ.အဲ... အဟမ္း ။ အဟမ္း..
အဲဒီ့ေတာ့... သင္က အရမ္းကို ရည္ရြယ္ခ်က္ ၾကီးမားတဲ့ Programmer တစ္ေယာက္ေပါ့...
အဲဒါေၾကာင့္လည္း ဒီစာကို ဖတ္ေနတာ.... ဟုတ္တယ္ဟုတ္...
ဒါေပမယ့္လည္း ဘယ္ကစလုိ႔ ဘာလုပ္ရမယ္မွန္းမသိေသးဘူး... မပူပါနဲ႔... ဆက္ဖတ္ၾကည့္လိုက္ပါ...
ေဖာက္စြပ္ဘ၀ေတာ့ မေရာက္ခ်င္ဘူးမွလား... ေၿပာတုိင္းေတာ့လည္း မယံုနဲ႔ ၊ ခ်င့္ယံု... သေဘာထားကြဲလြဲရင္ ၊ ဒီ့ထက္ေကာင္းမယ္ထင္တာ ရိွရင္ ၊ ၿပန္မွ်ေပး... အုိေက?
ကဲကဲ စၿပီ...
အဆင့္ ၀ ။ ။ REPEAT step1 THROUGH 3 WHILE yourSkill NOT EQUAL Intermediate
အဆင့္ ၁ ။ ။ Project တစ္ခုကို ေရြးပါ... ကမာၻလူသားအားလုံး အသံုးၿပဳမယ့္ သင့္ရဲ႕ စိတ္ကူးအိပ္မက္ အၾကီးၾကီးထဲက Project ကို ေၿပာတာမဟုတ္ပါ။ ဘယ္သူမွ အသံုးမၿပဳမယ့္ Calculator လိုမ်ိဳး ၊ ဂိမ္းေရးတဲ့ ဆရာၿဖစ္ခ်င္တာ ဆုိရင္လည္း ၊ အပ်င္းေၿပေဆာ့လို႔ရမယ့္ ၊ Tic-Tac-Toe လိုဂိမ္းမ်ိဳးတစ္ခုေလာက္။ တကယ့္ကို ေသးေသးေလးမွ ၊ ေသးေသးေလးကို ေရြးပါ။
အဆင့္ ၂ ။ ။ Programming Language တစ္ခုကိုေရြးပါ။ ကြ်န္ေတာ့္ထက္ ၀ါရင့္ သမာၻရင့္ ၊ Myanmar IT Pro (Forum နာမည္မဟုတ္ပါ။) မ်ားကေတာ့ Community ေတြမွာ C/C++ ကို Programming စေလ့လာမယ့္သူေတြ ေရြးသင့္တဲ့ Language တစ္ခုအေနနဲ႔ ညႊန္းၾကပါတယ္။ ကြ်န္ေတာ္ကိုယ္တုိင္လည္း အရင္က အဲလို ညႊန္းဖူးတယ္လို႔ ထင္ပါတယ္။ ဒီတစ္ခါေတာ့ ေနာက္တစ္မ်ိဳးညႊန္းခ်င္ပါတယ္... အဲဒါကေတာ့ "Python" ၿဖစ္ပါတယ္။ Beginner ေတြအတြက္ အရမ္းကိုမွ ေကာင္းပါတယ္...
ကြ်န္ေတာ္ ညႊန္းတာကိုမွ ေရြးလို႔ေၿပာတာမဟုတ္ပါဘူး။ ၾကိဳက္တဲ့ Language ကို ေရြးလို႔ရပါတယ္။ သင္တန္းက ေရြးေပးတာ ၊ နီးစပ္ရာ ေဆြမ်ိဳး ၊ သူငယ္ခ်င္း ကေရြးေပးတာ ၊ ၾကိဳက္တာ သံုးပါ... အဓိကက တတ္ဖို႔ဘဲမွလား...
အကယ္လို႔ ဘာေရြးရမွန္းမသိဘူးဆုိရင္ေတာ့ Python ကိုသာေရြးလိုက္ပါ... သင့္အတြက္ အေၿခခံခိုင္ေစပါလိမ့္မယ္..
မွတ္ခ်က္။ ။ ကြ်န္ေတာ့္တုန္းက ပထမဆုံး Language ေရြးတာမွာ ၊ လမ္းညႊန္မယ့္သူမရိွ ၊ သူငယ္ခ်င္းမရိွနဲ႔ ၊ သင္တန္းသြားတက္တာၿဖစ္ၿပီး ၊ အေရြးမွားခဲ့တဲ့ အတြက္ ၊ လမ္းမွားခဲ့ဖူးပါတယ္...
အဆင့္ ၃ ။ ။ Language ေရြးၿပီးၿပီလား... ဒါဆုိရင္ေတာ့ Step 1 က ေရြးခဲ့တဲ့ Project ကို အေကာင္အထည္ ေဖာ္ရပါေတာ့မယ္... အဲဒီ့ေတာ့ စာဖတ္ပါ... စာဖတ္ပါ... စာဖတ္ပါ...
သင္ေရြးထားတဲ့ Language ကို ၊ သင္ေရြးထားတဲ့ Project အတြက္သာလွ်င္ဖတ္ပါ... မလုိတာေတြ ေက်ာ္လို႔ရပါတယ္... လိုတာေလာက္ဘဲ ဖတ္ပါ...
အဓိကက သင္ေရြးထားတဲ့ Project ၿပီးဖို႔ဆုိတာကိုဘဲ ေခါင္းထဲထည့္ထားပါ... (Language မွာ ငါမသိေသးတာေတြ မ်ားတယ္။ ငါ ေက်ာ္ထားတာေတြ မ်ားတယ္ဆုိတာ ေခါင္းထဲမထည့္ပါနဲ႔) အဓိကက Project ကို မွန္မွန္ကန္ကန္နဲ႔ ၿပီးဖို႔ၿဖစ္ပါတယ္...
ဥပမာ။ ။ Calculator ဆုိပါေတာ့.. အေပါင္း ၊ အႏႈတ္ ဘယ္လိုအလုပ္လုပ္တယ္ဆုိတာ သိေအာင္လုပ္ၾကည့္ပါ. ထို႔ေနာက္ ေပါင္းၾကည့္ပါ။ ထို႔ေနာက္ User ထံမွ Input ေတာင္းၾကည့္ပါ.. အေၿမွာက္ ၊ အစား ထပ္တုိးၾကည့္ပါ... Function ခြဲေရးတာ ၊ ဘာညာ ၊ OOP သံုးတာ လုပ္ၾကည့္ပါ...
Project ၾကီးရင္ ၾကီးလာသေလာက္ ၊ သင္ေလ့လာရမယ့္ လိုအပ္ခ်က္ မ်ားလာသလို ၊ သင္ေလ့လာၿပီးတာလည္း မ်ားလာပါလိမ့္မယ္..
မိမိရဲ႕ Project တစ္ခုၿပီးဖို႔အတြက္ စိတ္အားထက္သန္မႈ အၿပည့္ ၊ သိလုိစိတ္ အၿပည့္နဲ႔ ၾကိဳးၾကိဳးစားစား ေလ့လာလာတဲ့ အခါ ၊ ေနာက္ဆုံးမွာေတာ့ Programming ဆုိတာနဲ႔ ပတ္သက္ၿပီး Programming ဆုိတာ ဂ်ိဳပါလား ၊ မပါလား ၊ သင္သိလာပါလိမ့္မယ္။ သင့္မွာသာ ရည္ရြယ္ခ်က္တစ္ခု ခ်မွတ္ၿပီးေတာ့ ၊ အကြက္က်က်ေရႊ႕မယ္ဆုိရင္ Programming ဆုိတာ တကယ္ေတာ့ စားရလြယ္တဲ့ စစ္တုရင္ခုံေပၚက နယ္ရုပ္ တစ္ခုပါဘဲ (သင့္အေနနဲ႔ သတိမမူ ၊ အာရံုမစူးစိုက္ ၊ အရူးကြက္ မေရႊ႕သည့္အခ်ိန္အထိသာ)။
--------------------------
ကြ်န္ေတာ့္အေနနဲ႔ အေပၚမွာ ေၿပာခဲ့သလို Project တစ္ခုထားၿပီး Programming Language တစ္ခုကို ေလ့လာတဲ့ နည္းလမ္းကို ေတြ႔ရိွတာ သိပ္မၾကာေသးပါဘူး... ကြ်န္ေတာ့္ရဲ႕ Development Team ေလးမွာ အဲဒီ့နည္းလမ္း က်င့္သံုးၾကည့္တာ ၊ အေတာ္ေလးထိေရာက္တာ သတိၿပဳမိတဲ့အတြက္ ၊ ေနာက္ထပ္ ေလ့လာမယ့္သူေတြကို ၿပန္ၿပီး လမ္းညႊန္ေပးတာပါ... သူ႔ထက္ေကာင္းတဲ့ ေလ့လာနည္းမ်ိဳးကိုေတာ့ ၊ ကြ်န္ေတာ္လည္း မစဥ္းစားမိေသးဘူး... ရိွခဲ့ရင္လည္း ၿပန္လည္မွ်ေ၀ေပးဖို႔ ေတာင္းဆုိပါတယ္..
----
ကြ်န္ေတာ္ Programming ကို စစဆုံးေလ့လာမိတာ ၊ တကယ္ေတာ့ Cartoon ဇာတ္လမ္းေလးေတြကို ေရးခ်င္လို႔ပါ..(တစ္နည္းေၿပာရရင္ Animator ေပါ့)။ ဒါေပမယ့္ အဲဒါက ဘယ္လိုလုပ္တယ္ဆုိတာလည္း မသိခဲ့ဘူး. ဘယ္က စလုပ္ရလဲဆုိတာလဲ မသိခဲ့ဘူး... လမ္းညႊန္မယ့္သူမရိွတဲ့ Computer ထဲက PowerPoint ထဲမွာ Animation ေလးလုပ္ရင္း ေပ်ာ္ေနခဲ့တာေပါ့... ေနာက္ေတာ့ တစ္ၿဖည္းၿဖည္းမွ ကိုယ္လုပ္ခ်င္တာက ဘာဆုိတာ သိေပမယ့္ ၊ ဘယ္ကစရမယ္ဆုိတာ မသိခဲ့ရင္း ၊ Software Engineering ဆုိတာကို စိတ္၀င္စားၿပီးလုပ္မိသြားတာ..
ေၿပာခ်င္တာကေတာ့ ၊ ကြ်န္ေတာ့္တုန္းက ဘာလုပ္ရမယ္ဆုိတာ မသိခဲ့ဘူး... ကိုယ့္လမ္းကိုယ္ ေဖာက္လာရတာ... Internet ေပၚမွာ နည္းပညာနဲ႔ ပတ္သက္လို႔ Forum မွာ ေလ့လာလုိ႔ရတယ္ ၊ ေမးလို႔ရတယ္ ဆုိတာေတာင္ မသိခဲ့ဘူး... ရိွတယ္လို႔လည္း မသိခ့ဲဘူး... အဲဒီ့ေလာက္ မသိခဲ့တာ... အဲဒါေၾကာင့္လည္း ကြ်န္ေတာ့္လို လူေတြအတြက္ ဒီ Myanmar IT Resource ကို စလုပ္တယ္... ဒီ Forum ကြ်န္ေတာ္ ပထမဆုံး၀င္တဲ့ နည္းပညာနဲ႔ ပတ္သက္တဲ့ ဖိုရမ္..
အဲဒီ့ေတာ့ အခု ဒီ Forum ထဲက သူေတြရဲ႕ စတင္မယ့္ အေၿခအေနက အနည္းဆုံးေတာ့ ကြ်န္ေတာ့္ထက္ သာတယ္.. ၾကိဳးစားရင္ ၊ ၾကိဳးစားသေလာက္ ၊ ၿမန္ၿမန္နဲ႔ ကိုယ္ေရာက္ခ်င္တဲ့ လမ္းေပၚေရာက္လိမ့္မယ္... အဓိကကေတာ့ စိတ္ရင္းမွန္ရမယ္. ကိုယ့္ကိုယ္ကို မလိမ္ရဘူး... ၀ါသနာကို မလိမ္ရဘူး... အဲဒါဆုိရၿပီ... တစ္ရက္ကို ၃ နာရီေလာက္ ၾကိဳးစား... တကယ္ေကာင္းတဲ့ IT Professional ၿဖစ္လာလိမ့္မယ္...
-------EXTRA PLUS------
ကြ်န္ေတာ္တုိ႔ Local ထဲမွာ Language ကို အရမ္းအားထားေနၾကတယ္...
တကယ္က Language က ေနာက္ဆုံးဦးစားေပးၿဖစ္သင့္တာ..
Design ကိုသာလွ်င္ ဦးစားေပးသင့္တာ. (ေက်ာင္းသား အေခၚအရေတာ့ သီအိုရီ ေပါ့)
Language ဆုိတာ ကိုယ့္ Apps အတြက္ အၿဖည့္ခံသက္သက္ဘဲ... (ေၿပာရရင္ အေရးမၾကီးဆုံးဘဲ)
Memory ဘယ္ေလာက္သံုးမယ္.. Website ဆုိရင္ User Access ၿမန္ၿမန္ရေအာင္ ဘယ္လို နည္းပညာသံုးမယ္. Cache ကို ဘယ္လိုလုပ္မယ္...
Database စနစ္တစ္ခု ဘယ္လို Design ထုတ္မယ္... စသည္ စသည္ အမ်ားၾကီးရိွပါတယ္...
အဲဒီ့ Design ေတြ ထြက္ၿပီဆုိမွ... ကိုယ္လိုခ်င္တဲ့ Requirement က ဘာ... ကိုယ့္ Requirement ကို ေၿဖရွင္းေပးႏိုင္တဲ့ Solution က ဘာ. ဆုိတာ ဆုံးၿဖတ္လို႔ရပါမယ္..
အဲဒါကိုေတာ့ ႏုိင္ငံတကာမွာ Project တစ္ခုကို Language ေပါင္းမ်ားစြာနဲ႔ ေရးေနၾကတာကို ၾကည့္ရင္သိႏုိင္ပါတယ္... မတူညီတဲ့ Requirement ေတြအတြက္ သင့္ေလ်ာ္တဲ့ ေၿဖရွင္းနည္းေတြသံုးၾကတာပါ...
ဒါေပမယ့္လည္း ဟိုမွာက ဟိုမွာ ၊ ဒီမွာက ဒီမွာေပါ့ေလ... Language ဦးစားေပးၾကားထဲဆုိေတာ့ မေၿပာသာေသးပါဘူး... တစ္ေန႔ေတာ့ သီအိုရီသက္သက္ စာမ်ား ေရးသားႏုိင္ေအာင္ ၾကိဳးစားပါဥိးမယ္....
ၿဖစ္ေစခ်င္တာကေတာ့ Language အၿပင္ သက္ဆုိင္တဲ့ သီအုိရီေလးေတြ ၊ Concept ေလးေတြ ရသြားေအာင္ ၊ ေလ့လာေစခ်င္တယ္... ဥပမာ မိမိ Program က Memory ဘယ္ေလာက္ ၿဖဳန္းတီးပစ္လဲ ဆုိတာေလာက္ေပါ့... ကြ်န္ေတာ္လည္း ဘာမွေတာ့ မဟုတ္ေသးပါဘူး... Language လုပ္ေနရာကေန ခုမွ Data Structure (Graph) ကို အရမ္းစိတ္၀င္စားၿပီး လုပ္ေနတာ... ခုဆုိ Language အားလုံးေတာင္ ေမ့ခ်င္သလိုလုိရိွေနၿပီ... Maths ပိုင္းေတာင္ ၿပန္ေရာက္သြားၿပီ...
အေရးၾကီးမယ္ထင္လို႔ ဒါေလးက BONUS ထပ္ၿဖည့္လိုက္တာပါ...
Language က အေရးၾကီးမၾကီး ဆုံးၿဖတ္ၾကည့္ဖို႔ [You must be registered and logged in to see this link.] ကို သြားၾကည့္လိုက္ပါ... အဓိကကေတာ့ Logic ပါဘဲ....
ဒီလိုေမးခြန္းမ်ိဳးနဲ႔ ရင္းႏွီးခဲ့တာေတာ့ အေတာ္ၾကာၿပီ.... ဒီလို Guideline မ်ိဳး ေရးခ်င္ေနတာလည္း အေတာ္ၾကာၿပီ...
အစကေတာ့ Comment အေနနဲ႔ဘဲ ၿပန္မလို႔ ၊ ေရးရင္းေရးရင္း ၊ အေတာ္ရွည္သြားတာနဲ႔ ေနာက္ၿပီး Programming စတင္ေလ့လာခ်င္တဲ့သူ အားလုံးကို ဖတ္ေစခ်င္လို႔ Article တစ္ခုအေနနဲ႔ သက္သက္ခြဲထုတ္လိုက္ပါတယ္...
(Forum ေပၚမွာရိွတဲ့ အရင္က ကြ်န္ေတာ့္ Comment ေတြ လုိက္ၾကည့္မယ္ ဆုိရင္ေတာ့ အေၿဖကတစ္မ်ိဳးၿဖစ္ေနႏိုင္တယ္။ ခုလည္း ဒီအေၿဖက လက္တေလာ အမ်ားဆုံး ေၿဖေပးၿဖစ္ၿပီး ၊ အသင့္ေတာ္ဆုံးလုိ႔ ထင္တဲ့ အေၿဖမ်ိဳးလို႔ သတ္မွတ္ထားပါတယ္။)..
----------------
-တစ္စံုတစ္ေယာက္က သင့္ကို ဘယ္ Programming Language ကို ေလ့လာပါဆုိၿပီး ၊ အၾကံေပးလိုက္မယ္။
-သင္ကလည္း အဲဒီ့ Language နဲ႔ ပတ္သက္ၿပီး လိုခ်င္တဲ့ Resource ကို Forum မွာ လာေတာင္းတယ္။
-Forum ေပၚကသူေတြက နီးစပ္ရာကေန ရွာၿပီး ၊ ဟုတ္ေသာ္ရိွ ၊ မဟုတ္ေသာ္ရိွ ၊ ကိုယ္တုိင္မဖတ္ဖူးတဲ့ စာအုပ္တစ္ခုကို ေကာင္းမယ္ထင္ၿပီး ၊ ေစတနာနဲ႔ ေပးလိုက္မယ္။
-သင္က အဲဒီ့စာအုပ္ကို အိမ္ယူသြားမယ္။ မာတိကာ ကစၿပီး ဖတ္မယ္... စာမ်က္ႏွာအေရအတြက္ကို ၾကည့္ၿပီး လန္႔ေနမယ္.
-ဒါေပမယ့္လည္း ကိုယ္ကသိခ်င္ေနတဲ့သူကိုး။ ၾကိဳးစာဖတ္တယ္...
-အဲဒီ့ Language နဲ႔ ပတ္သက္လို႔ Array ဘာညာ ၊ Syntax နဲ႔ Structure နဲ႔ ပတ္သက္ၿပီးအထိ အိုေကတုန္း၊
-Looping လား? ေအးေဆးဗ်ာ... သူ Run ခိုင္းသလို Run ၾကည့္ ၊ အေၿဖထြက္ ၊ ေပ်ာ္ေနတာေပ့ါ..
-တစ္ၿဖည္းၿဖည္းနဲ႔ ေၿမၾကီးနဲ႔ ေၿခေထာက္က နည္းနည္းလြတ္လာမယ္... စာအုပ္ထဲကအတုိင္းရေနေတာ့ Programmer ေပါက္စၿဖစ္ၿပီထင္တာကိုးဗ်...
-အဲလိုနဲ႔ ၁ ပတ္ ၊ ၂ ပတ္ ။ အိုေကေသးတယ္။ အဲ ၊ ၃ ပတ္ေၿမာက္လည္းေရာက္ေရာ ၊ စာမ်က္ႏွာကလည္း ၁၀၀ ေက်ာ္ဖတ္ၿပီးၿပီ။ အေနာက္မယ္က ၅၀၀ ေလာက္က်န္ေသးတယ္။ ဖတ္ဖို႔လည္း ပ်င္းလာၿပီ။ စာအုပ္ေလး ခဏ ပိတ္လိုက္ပါဦးမယ္....
-ေနာက္ေန႔ေတြက် Looping ေလးေတြ ၊ Conditional Statement ေလးေတြနဲ႔ သူငယ္ခ်င္း ၊ အိမ္ေခၚ ၊ ထမင္းေကြ်း ၊ ၾကြား...
-ေဟာ... Online ေလးကိုတက္ ၊ ဖိုရမ္ေတြ ပတ္ ၊ ႏိုင္ငံၿခားက Source Code share တဲ့ site ေတြဆီသြား... Download ဆြဲ.
-ရလာတဲ့ ဖိုင္ထဲက Code ကိုၾကည့္ၾကည့္။ ကိုယ္နားမလည္တာေတြက အမ်ားသား... ဒါေပမယ့္ အဲဒီ့ Download ဆြဲလာတဲ့ Code ရဲ႕ Result ကိုက ၾကည့္ခ်င္ေနၿပီ.. အဲဒီ့ေတာ့ မရရေအာင္ Compile လုပ္။ GUI ကိုၿပင္ ၊ ၿမန္မာဗားရွင္း ထုတ္....
-ေနာက္ေတာ့ ဖတ္လက္စ စာအုပ္ကိုလဲ ေမ့ေတ့ေတ့ ၊ ဖိုရမ္ပတ္ၿပီး Code ေမႊရတာ ၊ သူ႔ Code ကို ဖတ္မၾကည့္ဘဲ ၊ နားလည္တဲ့ အပိုင္းေလာက္ဘဲ ၿပင္ရတာမွာ ေပ်ာ္ေမြ႕ၿပီး ၊ ႏုိင္ငံၿခားက အလုံးလုိက္ရလာတဲ့ Code ကို ၊ ေဖာက္စြပ္လုပ္တဲ့ ၊ ကိုကို ေဖာက္စြပ္ ၿဖစ္သြားေကာ...
-နဂိုကေတာ့ ၀တၳဳေတြ ဖတ္ ၊ နားစြန္နားၿဖား ၾကားတာေလးေတြကို မွတ္ ၊ Microsoft နဲ႔ တန္းတူအဆင့္ရိွ Software ထုတ္တဲ့ Company ေထာင္မယ္လို႔ၿပင္လာတဲ့ ၊ Programmer. တကယ္ၿဖစ္သြားတာက ေဖာက္စြပ္...
-------------------
အေပၚကေတာ့ Starter ေလးေတြ ၿဖစ္တတ္တဲ့သေဘာေလးေတြပါ... (ဒီစာကို ဖတ္ေနတဲ့သူနဲ႔ တုိက္ဆုိင္မႈရိွသြားရင္ေတာ့ ခြင့္လႊတ္ေပးပါေနာ့္။ ဘယ္သူ႔အေၾကာင္းမွ ေရးထားတာမဟုတ္ဘူး ၊ ကြ်န္ေတာ့္အေၾကာင္းေရးထားတာ လို႔သာ မွတ္ေပး...)
(သင္တန္းတက္မိတဲ့ သူေတြအေၾကာင္းလည္း ၊ နားေထာင္ခ်င္ရင္ ေရးေပးမယ္ေနာ္... ေတာင္းဆုိလိုက္။)
မင္းသားကို အေၿဖေပးမယ့္ မင္းသမီးက ခုမွစေၿပာမွာ ခုနက အေပအေတ နန္းတြင္းသန္႔ရွင္းေရးသမား ေလရွည္သြားတာ -- ;D
--------
အဟင့္..... အဲ.အဲ... အဟမ္း ။ အဟမ္း..
အဲဒီ့ေတာ့... သင္က အရမ္းကို ရည္ရြယ္ခ်က္ ၾကီးမားတဲ့ Programmer တစ္ေယာက္ေပါ့...
အဲဒါေၾကာင့္လည္း ဒီစာကို ဖတ္ေနတာ.... ဟုတ္တယ္ဟုတ္...
ဒါေပမယ့္လည္း ဘယ္ကစလုိ႔ ဘာလုပ္ရမယ္မွန္းမသိေသးဘူး... မပူပါနဲ႔... ဆက္ဖတ္ၾကည့္လိုက္ပါ...
ေဖာက္စြပ္ဘ၀ေတာ့ မေရာက္ခ်င္ဘူးမွလား... ေၿပာတုိင္းေတာ့လည္း မယံုနဲ႔ ၊ ခ်င့္ယံု... သေဘာထားကြဲလြဲရင္ ၊ ဒီ့ထက္ေကာင္းမယ္ထင္တာ ရိွရင္ ၊ ၿပန္မွ်ေပး... အုိေက?
ကဲကဲ စၿပီ...
အဆင့္ ၀ ။ ။ REPEAT step1 THROUGH 3 WHILE yourSkill NOT EQUAL Intermediate
အဆင့္ ၁ ။ ။ Project တစ္ခုကို ေရြးပါ... ကမာၻလူသားအားလုံး အသံုးၿပဳမယ့္ သင့္ရဲ႕ စိတ္ကူးအိပ္မက္ အၾကီးၾကီးထဲက Project ကို ေၿပာတာမဟုတ္ပါ။ ဘယ္သူမွ အသံုးမၿပဳမယ့္ Calculator လိုမ်ိဳး ၊ ဂိမ္းေရးတဲ့ ဆရာၿဖစ္ခ်င္တာ ဆုိရင္လည္း ၊ အပ်င္းေၿပေဆာ့လို႔ရမယ့္ ၊ Tic-Tac-Toe လိုဂိမ္းမ်ိဳးတစ္ခုေလာက္။ တကယ့္ကို ေသးေသးေလးမွ ၊ ေသးေသးေလးကို ေရြးပါ။
အဆင့္ ၂ ။ ။ Programming Language တစ္ခုကိုေရြးပါ။ ကြ်န္ေတာ့္ထက္ ၀ါရင့္ သမာၻရင့္ ၊ Myanmar IT Pro (Forum နာမည္မဟုတ္ပါ။) မ်ားကေတာ့ Community ေတြမွာ C/C++ ကို Programming စေလ့လာမယ့္သူေတြ ေရြးသင့္တဲ့ Language တစ္ခုအေနနဲ႔ ညႊန္းၾကပါတယ္။ ကြ်န္ေတာ္ကိုယ္တုိင္လည္း အရင္က အဲလို ညႊန္းဖူးတယ္လို႔ ထင္ပါတယ္။ ဒီတစ္ခါေတာ့ ေနာက္တစ္မ်ိဳးညႊန္းခ်င္ပါတယ္... အဲဒါကေတာ့ "Python" ၿဖစ္ပါတယ္။ Beginner ေတြအတြက္ အရမ္းကိုမွ ေကာင္းပါတယ္...
ကြ်န္ေတာ္ ညႊန္းတာကိုမွ ေရြးလို႔ေၿပာတာမဟုတ္ပါဘူး။ ၾကိဳက္တဲ့ Language ကို ေရြးလို႔ရပါတယ္။ သင္တန္းက ေရြးေပးတာ ၊ နီးစပ္ရာ ေဆြမ်ိဳး ၊ သူငယ္ခ်င္း ကေရြးေပးတာ ၊ ၾကိဳက္တာ သံုးပါ... အဓိကက တတ္ဖို႔ဘဲမွလား...
အကယ္လို႔ ဘာေရြးရမွန္းမသိဘူးဆုိရင္ေတာ့ Python ကိုသာေရြးလိုက္ပါ... သင့္အတြက္ အေၿခခံခိုင္ေစပါလိမ့္မယ္..
မွတ္ခ်က္။ ။ ကြ်န္ေတာ့္တုန္းက ပထမဆုံး Language ေရြးတာမွာ ၊ လမ္းညႊန္မယ့္သူမရိွ ၊ သူငယ္ခ်င္းမရိွနဲ႔ ၊ သင္တန္းသြားတက္တာၿဖစ္ၿပီး ၊ အေရြးမွားခဲ့တဲ့ အတြက္ ၊ လမ္းမွားခဲ့ဖူးပါတယ္...
အဆင့္ ၃ ။ ။ Language ေရြးၿပီးၿပီလား... ဒါဆုိရင္ေတာ့ Step 1 က ေရြးခဲ့တဲ့ Project ကို အေကာင္အထည္ ေဖာ္ရပါေတာ့မယ္... အဲဒီ့ေတာ့ စာဖတ္ပါ... စာဖတ္ပါ... စာဖတ္ပါ...
သင္ေရြးထားတဲ့ Language ကို ၊ သင္ေရြးထားတဲ့ Project အတြက္သာလွ်င္ဖတ္ပါ... မလုိတာေတြ ေက်ာ္လို႔ရပါတယ္... လိုတာေလာက္ဘဲ ဖတ္ပါ...
အဓိကက သင္ေရြးထားတဲ့ Project ၿပီးဖို႔ဆုိတာကိုဘဲ ေခါင္းထဲထည့္ထားပါ... (Language မွာ ငါမသိေသးတာေတြ မ်ားတယ္။ ငါ ေက်ာ္ထားတာေတြ မ်ားတယ္ဆုိတာ ေခါင္းထဲမထည့္ပါနဲ႔) အဓိကက Project ကို မွန္မွန္ကန္ကန္နဲ႔ ၿပီးဖို႔ၿဖစ္ပါတယ္...
ဥပမာ။ ။ Calculator ဆုိပါေတာ့.. အေပါင္း ၊ အႏႈတ္ ဘယ္လိုအလုပ္လုပ္တယ္ဆုိတာ သိေအာင္လုပ္ၾကည့္ပါ. ထို႔ေနာက္ ေပါင္းၾကည့္ပါ။ ထို႔ေနာက္ User ထံမွ Input ေတာင္းၾကည့္ပါ.. အေၿမွာက္ ၊ အစား ထပ္တုိးၾကည့္ပါ... Function ခြဲေရးတာ ၊ ဘာညာ ၊ OOP သံုးတာ လုပ္ၾကည့္ပါ...
Project ၾကီးရင္ ၾကီးလာသေလာက္ ၊ သင္ေလ့လာရမယ့္ လိုအပ္ခ်က္ မ်ားလာသလို ၊ သင္ေလ့လာၿပီးတာလည္း မ်ားလာပါလိမ့္မယ္..
မိမိရဲ႕ Project တစ္ခုၿပီးဖို႔အတြက္ စိတ္အားထက္သန္မႈ အၿပည့္ ၊ သိလုိစိတ္ အၿပည့္နဲ႔ ၾကိဳးၾကိဳးစားစား ေလ့လာလာတဲ့ အခါ ၊ ေနာက္ဆုံးမွာေတာ့ Programming ဆုိတာနဲ႔ ပတ္သက္ၿပီး Programming ဆုိတာ ဂ်ိဳပါလား ၊ မပါလား ၊ သင္သိလာပါလိမ့္မယ္။ သင့္မွာသာ ရည္ရြယ္ခ်က္တစ္ခု ခ်မွတ္ၿပီးေတာ့ ၊ အကြက္က်က်ေရႊ႕မယ္ဆုိရင္ Programming ဆုိတာ တကယ္ေတာ့ စားရလြယ္တဲ့ စစ္တုရင္ခုံေပၚက နယ္ရုပ္ တစ္ခုပါဘဲ (သင့္အေနနဲ႔ သတိမမူ ၊ အာရံုမစူးစိုက္ ၊ အရူးကြက္ မေရႊ႕သည့္အခ်ိန္အထိသာ)။
--------------------------
ကြ်န္ေတာ့္အေနနဲ႔ အေပၚမွာ ေၿပာခဲ့သလို Project တစ္ခုထားၿပီး Programming Language တစ္ခုကို ေလ့လာတဲ့ နည္းလမ္းကို ေတြ႔ရိွတာ သိပ္မၾကာေသးပါဘူး... ကြ်န္ေတာ့္ရဲ႕ Development Team ေလးမွာ အဲဒီ့နည္းလမ္း က်င့္သံုးၾကည့္တာ ၊ အေတာ္ေလးထိေရာက္တာ သတိၿပဳမိတဲ့အတြက္ ၊ ေနာက္ထပ္ ေလ့လာမယ့္သူေတြကို ၿပန္ၿပီး လမ္းညႊန္ေပးတာပါ... သူ႔ထက္ေကာင္းတဲ့ ေလ့လာနည္းမ်ိဳးကိုေတာ့ ၊ ကြ်န္ေတာ္လည္း မစဥ္းစားမိေသးဘူး... ရိွခဲ့ရင္လည္း ၿပန္လည္မွ်ေ၀ေပးဖို႔ ေတာင္းဆုိပါတယ္..
----
ကြ်န္ေတာ္ Programming ကို စစဆုံးေလ့လာမိတာ ၊ တကယ္ေတာ့ Cartoon ဇာတ္လမ္းေလးေတြကို ေရးခ်င္လို႔ပါ..(တစ္နည္းေၿပာရရင္ Animator ေပါ့)။ ဒါေပမယ့္ အဲဒါက ဘယ္လိုလုပ္တယ္ဆုိတာလည္း မသိခဲ့ဘူး. ဘယ္က စလုပ္ရလဲဆုိတာလဲ မသိခဲ့ဘူး... လမ္းညႊန္မယ့္သူမရိွတဲ့ Computer ထဲက PowerPoint ထဲမွာ Animation ေလးလုပ္ရင္း ေပ်ာ္ေနခဲ့တာေပါ့... ေနာက္ေတာ့ တစ္ၿဖည္းၿဖည္းမွ ကိုယ္လုပ္ခ်င္တာက ဘာဆုိတာ သိေပမယ့္ ၊ ဘယ္ကစရမယ္ဆုိတာ မသိခဲ့ရင္း ၊ Software Engineering ဆုိတာကို စိတ္၀င္စားၿပီးလုပ္မိသြားတာ..
ေၿပာခ်င္တာကေတာ့ ၊ ကြ်န္ေတာ့္တုန္းက ဘာလုပ္ရမယ္ဆုိတာ မသိခဲ့ဘူး... ကိုယ့္လမ္းကိုယ္ ေဖာက္လာရတာ... Internet ေပၚမွာ နည္းပညာနဲ႔ ပတ္သက္လို႔ Forum မွာ ေလ့လာလုိ႔ရတယ္ ၊ ေမးလို႔ရတယ္ ဆုိတာေတာင္ မသိခဲ့ဘူး... ရိွတယ္လို႔လည္း မသိခ့ဲဘူး... အဲဒီ့ေလာက္ မသိခဲ့တာ... အဲဒါေၾကာင့္လည္း ကြ်န္ေတာ့္လို လူေတြအတြက္ ဒီ Myanmar IT Resource ကို စလုပ္တယ္... ဒီ Forum ကြ်န္ေတာ္ ပထမဆုံး၀င္တဲ့ နည္းပညာနဲ႔ ပတ္သက္တဲ့ ဖိုရမ္..
အဲဒီ့ေတာ့ အခု ဒီ Forum ထဲက သူေတြရဲ႕ စတင္မယ့္ အေၿခအေနက အနည္းဆုံးေတာ့ ကြ်န္ေတာ့္ထက္ သာတယ္.. ၾကိဳးစားရင္ ၊ ၾကိဳးစားသေလာက္ ၊ ၿမန္ၿမန္နဲ႔ ကိုယ္ေရာက္ခ်င္တဲ့ လမ္းေပၚေရာက္လိမ့္မယ္... အဓိကကေတာ့ စိတ္ရင္းမွန္ရမယ္. ကိုယ့္ကိုယ္ကို မလိမ္ရဘူး... ၀ါသနာကို မလိမ္ရဘူး... အဲဒါဆုိရၿပီ... တစ္ရက္ကို ၃ နာရီေလာက္ ၾကိဳးစား... တကယ္ေကာင္းတဲ့ IT Professional ၿဖစ္လာလိမ့္မယ္...
-------EXTRA PLUS------
ကြ်န္ေတာ္တုိ႔ Local ထဲမွာ Language ကို အရမ္းအားထားေနၾကတယ္...
တကယ္က Language က ေနာက္ဆုံးဦးစားေပးၿဖစ္သင့္တာ..
Design ကိုသာလွ်င္ ဦးစားေပးသင့္တာ. (ေက်ာင္းသား အေခၚအရေတာ့ သီအိုရီ ေပါ့)
Language ဆုိတာ ကိုယ့္ Apps အတြက္ အၿဖည့္ခံသက္သက္ဘဲ... (ေၿပာရရင္ အေရးမၾကီးဆုံးဘဲ)
Memory ဘယ္ေလာက္သံုးမယ္.. Website ဆုိရင္ User Access ၿမန္ၿမန္ရေအာင္ ဘယ္လို နည္းပညာသံုးမယ္. Cache ကို ဘယ္လိုလုပ္မယ္...
Database စနစ္တစ္ခု ဘယ္လို Design ထုတ္မယ္... စသည္ စသည္ အမ်ားၾကီးရိွပါတယ္...
အဲဒီ့ Design ေတြ ထြက္ၿပီဆုိမွ... ကိုယ္လိုခ်င္တဲ့ Requirement က ဘာ... ကိုယ့္ Requirement ကို ေၿဖရွင္းေပးႏိုင္တဲ့ Solution က ဘာ. ဆုိတာ ဆုံးၿဖတ္လို႔ရပါမယ္..
အဲဒါကိုေတာ့ ႏုိင္ငံတကာမွာ Project တစ္ခုကို Language ေပါင္းမ်ားစြာနဲ႔ ေရးေနၾကတာကို ၾကည့္ရင္သိႏုိင္ပါတယ္... မတူညီတဲ့ Requirement ေတြအတြက္ သင့္ေလ်ာ္တဲ့ ေၿဖရွင္းနည္းေတြသံုးၾကတာပါ...
ဒါေပမယ့္လည္း ဟိုမွာက ဟိုမွာ ၊ ဒီမွာက ဒီမွာေပါ့ေလ... Language ဦးစားေပးၾကားထဲဆုိေတာ့ မေၿပာသာေသးပါဘူး... တစ္ေန႔ေတာ့ သီအိုရီသက္သက္ စာမ်ား ေရးသားႏုိင္ေအာင္ ၾကိဳးစားပါဥိးမယ္....
ၿဖစ္ေစခ်င္တာကေတာ့ Language အၿပင္ သက္ဆုိင္တဲ့ သီအုိရီေလးေတြ ၊ Concept ေလးေတြ ရသြားေအာင္ ၊ ေလ့လာေစခ်င္တယ္... ဥပမာ မိမိ Program က Memory ဘယ္ေလာက္ ၿဖဳန္းတီးပစ္လဲ ဆုိတာေလာက္ေပါ့... ကြ်န္ေတာ္လည္း ဘာမွေတာ့ မဟုတ္ေသးပါဘူး... Language လုပ္ေနရာကေန ခုမွ Data Structure (Graph) ကို အရမ္းစိတ္၀င္စားၿပီး လုပ္ေနတာ... ခုဆုိ Language အားလုံးေတာင္ ေမ့ခ်င္သလိုလုိရိွေနၿပီ... Maths ပိုင္းေတာင္ ၿပန္ေရာက္သြားၿပီ...
အေရးၾကီးမယ္ထင္လို႔ ဒါေလးက BONUS ထပ္ၿဖည့္လိုက္တာပါ...
Language က အေရးၾကီးမၾကီး ဆုံးၿဖတ္ၾကည့္ဖို႔ [You must be registered and logged in to see this link.] ကို သြားၾကည့္လိုက္ပါ... အဓိကကေတာ့ Logic ပါဘဲ....
Last edited by sHa92 on 4th February 2011, 1:24 am; edited 2 times in total