Ask Question in MZ User
11

What programming language should be learned first ?

Posted March 20th, 2010 in Knowledgebase and tagged , , by saturngod

အခုမွ programming ကို စသင္မယ္။ ဘာကို စေလ့လာသင့္လဲဆိုတဲ့ ေမးခြန္းကေတာ့ စလံုးေရစဖို႕ ျပင္ေနတဲ့သူေတြအတြက္က အသိခ်င္ဆံုးပါပဲ။ ကၽြန္ေတာ္ကေတာ့ C++ ကေန စသင္ေစခ်င္တယ္။ Why C++ !!! လို႕ ဆုိရင္ေတာ့ ရွင္းပါတယ္။ အေျခခံ အက်ဆံုးနဲ႕ သက္တမ္း အရွည္ဆံုး ျဖစ္ျပီး ယေန႕တိုင္ သံုးေနဆဲ language မုိ႕ပါပဲ။ programming စေလ့လာဖို႕ ျပင္တဲ့ သူေတြ ေမးတတ္တဲ့ ေမးခြန္းရိွတယ္။ ဘယ္ language က ျမန္မာႏိုင္ငံအေနနဲ႕ သင့္ေတာ္မလဲ။ ဘယ္ language က အလုပ္အကိုင္ အခြင့္အလမ္း ရိွမလဲ။ PHP တုိ႕ ASP.NET တုိ႕ကေကာ internet မရိွပဲ ေရးလို႕ရလား။ web server ေတြလိုတယ္လို႕ ၾကားတယ္။ စသည္... စသည္ျဖင့္ ေမးခြန္းေပါင္းေျမာက္ျမားစြာ ရိွတတ္ပါတယ္။ အရင္ဆံုး ဘာမွမစဥ္းစားနဲ႕။ စစဥ္းစားရမွာက ငါ တကယ္လုပ္ခ်င္ရဲ႕လားဆိုတာကိုပါ။ programming ဆိုတာ ဘာမွန္းမသိေသးခ်ိန္မွာ သူမ်ားေတြ အလုပ္အကိုင္ေကာင္းတယ္ ေနာက္ျပီး Programmer ၾကီး ဆိုျပီး အထင္ၾကီးစရာထင္တတ္ၾကပါတယ္။ Programmer နဲ႕ Developer ကြာပါတယ္။ Developing လုပ္တာနဲ႕ Progrmming လုပ္တာကလည္း ကြာပါတယ္။ ဒါေတြက ေနာက္ပိုင္း သိလာမွာပါ။

အရင္ဆံုး Programming စျပီး မေလ့လာခင္ အရင္ဆံုး programming ကို ဘယ္ေနရာမွာ သံုးလဲ။ programming သံုးျပီး ဘာေတြ လုပ္လုိ႕ရလဲ။ programming ဆိုတာက ဘာလဲ။ website ဆိုတာက ဘာလဲ။ စတာေတြကို ကြဲကြဲျပားျပား သိေအာင္ သိတဲ့ သူေတြကို အရင္စံုစမ္းေမးျမန္းၾကည့္ပါ။ ေမးၾကည့္လုိ႕မွ ဝါသနာပါတယ္ဆိုရင္ေတာ့ programming ကို စေလ့လာလို႕ရပါျပီ။ သိထားသင့္တာက programming မတတ္ပဲနဲ႕လည္း အသက္ရွင္ႏိုင္တယ္။ ေလာကမွာ program ေရးေနတာကမွ အလုပ္မဟုတ္ဘူးဆိုတာကိုေတာ့ နားလည္ဖို႕လိုပါတယ္။ ဘာလို႕ ဒီလိုေျပာရလဲဆိုေတာ့ programming စလုပ္ေတာ့မယ္ဆိုကတည္း ကိုယ့္ဘဝရဲ႕ အဖိုးတန္ဆံုး အခ်ိန္ေတြကို ေပးဆပ္ရေတာ့မယ္။ ဝါသနာမပါပဲနဲ႕ ၁ ႏွစ္ ၂ ႏွစ္ေလာက္ ေပးဆပ္လိုက္ျပီး programming ေလာကကေန ထြက္သြားတဲ့သူေတြ ရိွသလို စိတ္မပါပဲ အတင္းမလုပ္ခ်င္ လုပ္ခ်င္နဲ႕ လုပ္ေနတဲ့သူေတြလည္း ရိွပါတယ္။ ေနာက္တခ်က္က programming စေလ့လာမယ္ဆိုရင္ သိထားဖုိ႕က ေငြကုန္မယ္။ အခ်ိန္ကုန္မယ္။ အခ်ိန္တိုတိုအတြင္းမွာ ကိုယ္လိုခ်င္တဲ့ ေအာင္ျမင္မႈေတြ ရလာမွာမဟုတ္ဘူး။ ကိုယ့္ အိမ္မက္နန္းေတာ္ၾကီး တည္ေဆာက္လုိ႕ရမွာ မဟုတ္ဘူး။ တစ္ခ်ဳိ႕ မိသားစုေတြမွာ programming ေလ့လာခ်ိန္မွာ အခ်ိန္ေတြ ေငြေတြကုန္တယ္လို႕ ျမင္တဲ့ မိသားစုေတြလည္း ရိွပါတယ္။ ဟုတ္ပါတယ္။ သူတုိ႕ ထင္တာ မမွားပါဘူး။ သာမာန္လူတစ္ေယာက္အေနနဲ႕ programming တစ္ခုကို ေလ့လာျပီး ၃ လ ၄ လ ေလာက္နဲ႕ မတတ္ကၽြမ္းက်င္ပါဘူး။ language တစ္ခုကို ပိုင္ႏိုင္ဖို႕ အျမန္ဆံုး ၁ ႏွစ္ေလာက္ေတာ့ ၾကာပါတယ္။ ၁ႏွစ္ဆိုတဲ့ အခ်ိန္ေတာင္ သိရံုေလာက္ပဲ သိတဲ့ အခ်ိန္ပါ။ ဒါေတြကို နားလည္ထားဖို႕လိုတယ္။ ေနာက္ျပီး computer တကၠသိုလ္တက္တဲ့သူေတြကေတာ့ မျဖစ္မေန programming ကို ေလ့လာရမွာပါ။ programming မသင္ခ်င္ရင္ေတာ့ computer တကၠသိုလ္ကို မေရြးခ်ယ္သင့္ဘူး။

C++ ကို ဘာလို႕ စသင္သင့္လဲဆိုတာကို မေျပာခင္ Programming ဆိုတဲ့ သေဘာတရား အေၾကာင္းကို အရင္ ရွင္းျပခ်င္ပါတယ္။ ေလာကၾကီး တစ္ခုလုံုးရဲ႕ အျဖစ္အပ်က္ေတြကို ၾကည့္လုိက္ပါ။ တဆင့္ျပီးမွ တဆင့္ ျဖစ္ပ်က္ေနတာပါ။ အေၾကာင္းေၾကာင့္ အက်ဳိးေတြ ျဖစ္ေနတာကို အရင္ဆံုး ဂရုျပဳသင့္ပါတယ္။ ဥပမာ။။ ေက်ာက္ခဲ တစ္တံုးကို ေကာက္ကိုင္ျပီး ပစ္ေပါက္လိုက္တဲ့ အဆင့္ေလးကို အရင္စဥ္းစားၾကည့္ပါ။ ေက်ာက္ခဲတံုးက အလိုအေလ်ာက္ ေရြ႕သြားတာမဟုတ္ပါဘူး။ အရင္ဆံုး ေကာက္ကိုင္လိုက္တယ္။ ျပီးေတာ့ အားထည့္လိုက္ျပီး ပစ္လုိက္တယ္။ အဲဒီအခ်ိန္မွာ ေက်ာက္ခံတုံး ေရႊ႕သြားတယ္။

ဒါကို နားလည္ရင္ ေနာက္တဆင့္အေနနဲ႕ ထပ္စဥ္းစားၾကည့္ရေအာင္။ ေလာကၾကီးမွာ အဆင့္ ၃ ဆင့္ပံုမွန္လုပ္တယ္။ Input > Process > Output ဆိုျပီး ရိွေနပါတယ္။ သင္ အစာစားလုိက္တယ္။ စားလုိက္တဲ့ အစာကို အစာအိမ္က ေျခဖ်က္ျပီး မလိုအပ္တာေတြကို ျပန္စြန္႕ထုတ္တယ္။ ခုနက ေက်ာက္ခဲ ဥပမာ မွာလည္း Input အေနနဲ႕ ေက်ာက္ခဲကို ေကာက္ကိုင္လိုက္တယ္။ Process အေနနဲ႕ အားထည့္ပစ္လုိက္တယ္။ Output အေနနဲ႕ေက်ာက္ခဲ လႊင့္သြားတယ္။ ဒါဟာ အရိုးရွင္းဆံုး အပိုင္းေလးေတြပါ။

Programming ဆိုတာကလည္း အဲဒီ သေဘာတရားပါပဲ။ သူကေတာ့ Computer ခိုင္းေစဖုိ႕အတြက္ပါ။ Computer ကလည္း Input, Process,Output နဲ႕ အလုပ္လုပ္ေပးပါတယ္။ ကိုယ္လိုခ်င္တဲ့ output ရဖုိ႕အတြက္ input ထည့္ေပးရပါတယ္။ အဲဒါကို processing လုပ္ျပီး output ထြက္လာတာပါ။ Computer ခိုင္းဖို႕အတြက္လည္း တဆင့္ျပီး တဆင့္ခိုင္းရတာပါ။

ဥပမာ။။ user ဆီကေန ဂဏန္း တစ္လံုးေတာင္းတယ္။ ျပီးရင္ ၂ နဲ႕ ေျမွာက္ျပီး user ကို ျပန္ျပမယ္။ အဲဒီ အဆင့္ကို စဥ္းစားၾကည့္ပါ။ အရင္ဆံုး user ကို input ထည့္ခိုင္းမယ္။ ျပီး process အေနနဲ႕ ၂ နဲ႕ေျမွာက္လုိက္တယ္။ output အေနနဲ႕ ေျမွာက္ထားတဲ့ result ကိုထုတ္ေပးလိုက္တယ္။

user အေနနဲ႕ကေတာ့ ဂဏန္းတစ္လံုးထည့္လိုက္တယ္။ ၂ ဆ ျဖစ္တဲ့ result ထြက္လာတယ္။ ဒါပဲသိပါတယ္။ Programmer က process ေတြကို sequence အလုိက္ေရးေပးထားပါတယ္။ ဒါဆိုရင္ Computer ကို ဘယ္လိုခိုင္းမလဲ ဆိုတာ ေမးစရာျဖစ္လာပါတယ္။

Computer ကို ခိုင္းေစဖုိ႕ computer နားလည္တဲ့ ဘာသာစကားကို ကိုယ္က သိထားဖို႕လိုပါတယ္။ ဒါေၾကာင့္ ဘာသာစကား တစ္ခုကို ေလ့လာဖို႕ လိုပါတယ္။ ဘာသာစကားေတြက အမ်ားၾကီးရိွပါတယ္။ အေျခခံအေနနဲ႕ ပထမဆံုး စေလ့လာသင့္တာကေတာ့ C++ ပါ။ သူမ်ားေတြ ေအာ္ေအာ္ေနတဲ့ .NET ဆိုတာၾကီးက စေလ့လာရင္ေကာ မရဘူးလား။ မရဘူး မဟုတ္ပါဘူး။ ရပါတယ္။ သို႕ေသာ္ .NET ကေန စေလ့လာလိုက္တဲ့အခါ အျခား ဘာသာစကား ကူးဖုိ႕ ခက္သြားပါလိမ့္မယ္။ .NET ဟာ IDE base လို႕ ဆိုလုိ႕ရပါတယ္။ IDE မရိွရင္ ေရးတတ္ေတာ့မွာ မဟုတ္ဘူး ျဖစ္သြားပါလိမ့္မယ္။ ဘာလို႕C++ ကို စေလ့လာဖုိ႕ လိုလဲဆိုရင္ အားလံုးရဲ႕ အစ ... အားလံုးရဲ႕ အႏွစ္ခ်ဳပ္က C++ လုိ႕ဆိုလို႕ရပါတယ္။ ယခုတိုင္ သံုးစြဲေနဆဲပါ။ တျခားမၾကည့္ပါနဲ႕။ waitzar လည္း C++ ကို အသံုးျပဳထားသလို keymagic ကလည္း C++ ကို အသံုးျပဳထားပါတယ္။ ေနာက္ျပီး Game ေတြေရးတဲ့အပိုင္းမွာလည္း C++ ကို လက္ရိွ အခုတိုင္ သံုးစြဲေနဆဲပါ။ ေနာက္ျပီး Linux kernel ကလည္း C နဲ႕ပဲေရးထားတာပါ။ C++ ဆိုကေတာ့ C programming lanuage ရဲ႕ေနာက္ထပ္ version ေပါ့။

C++ ကုိေလ့လာျခင္းအားျဖင့္ Object Orient Programming ကိုနားလည္သေဘာေပါက္ေစပါတယ္။ Object Orient ဆိုတာ ဘာလဲဆိုေတာ့ object ေတြနဲ႕ ဖြဲ႕စည္းျပီး program code ေတြကို အလုပ္လုပ္ေစျခင္းပါပဲ။ တကယ္လုိ႕ vb6 ကိုသာ စသင္ေလ့လာခဲ့မယ္ဆုိရင္ OO ကို ေၾကာက္လွန္႕ေနရပါလိမ့္မယ္။ vb6 က ေရးရတာ အရမ္းကိုလြယ္ကူျပီးေတာ့ OO လံုးဝပါဝင္မႈမရိွပါဘူး။ .NET က စေလ့လာမယ္ဆိုျပန္ေတာ့လည္း IDE base ျဖစ္တာရယ္ OO ေတြက ခ်က္ျခင္း ထိေတြ႕ရမွာ ေၾကာင့္ရယ္ေၾကာင့္ စျပီး ေလ့လာသင့္တဲ့ language မဟုတ္ပါဘူး။ Ruby ကို စလို႕ မရဘူးလာဆိုရင္ေတာ့ ruby က အရာအားလံုးဟာ object ျဖစ္တယ္ဆိုတဲ့ အယူအစကို ခ်က္ျခင္း လက္ခံႏိုင္မွာမဟုတ္ပါဘူး။ java လည္း ထိုနည္းအတိုင္းပါပဲ။ java ကို စျပီဆိုတာနဲ႕ OO ကို အျမန္ဆံုး ထိေတြ႕ရပါေတာ့မယ္။ PHP , ASP.NET ေတြကေကာ ဆုိရင္ေတာ့ ခဏေလာက္ေစာင့္ပါ။ သိပ္မေလာပါနဲ႕။ PHP , ASP.NET စတာေတြက web development ပိုင္းေရာက္သြားပါျပီ။ အဲဒါေတြကို လုပ္ခ်င္ရင္ အရင္ဆံုး programming ကို စေလ့လာဖုိ႕ လိုပါတယ္။ C++ ကို ေလ့လာျပီးမွ စိတ္ၾကိဳက္ language ကို ကူးေျပာင္းႏိုင္ပါတယ္။ ကူးေျပာင္းရာမွာလည္း လြယ္ကူပါတယ္။ C++ အေျခခံပိုင္ခဲ့ရင္ အျခား proramming language ေတြမွာ အခက္အခဲမရိွ ျမန္ျမန္ဆန္ဆန္ လြယ္လြယ္ကူကူ သင္ႏိုင္ပါတယ္။ ေနာက္ျပီး C++ က windows,linux,mac မေရြးပဲ ေရးႏိုင္ပါတယ္။ C++ သေဘာတရား အနည္းငယ္ကို ျမန္မာလို ဒီမွာ ဖတ္ရႈႏိုင္ပါတယ္။

C++ ကိုေလ့လာဖို႕အတြက္ အေကာင္းဆံုးက သင္တန္းတက္လိုက္ပါ။ အေျခခံအဆင့္မွာေတာ့ ဆရာနဲ႕ စနစ္တက် သင္တာ အေကာင္းဆံုးပါပဲ။ ဒါမွမဟုတ္ ဟိုးအရင္တုန္းက ဦးေအာင္ျမင့္ C++ စာအုပ္ေရးဖူးတယ္နဲ႕တူပါတယ္။ ရွာဖို႕ေတာ့ ခက္လိမ့္မယ္။ ဒါမွမဟုတ္ 4shared.com ကေန ျဖစ္ျဖစ္ ebook ရွာျပီး ဖတ္ျပီး ေလ့လာႏိုင္ပါတယ္။


11 Responses so far.

  1. မင္း says:

    အရမ္းေက်းဇူးတင္ပါတယ္။ အခုလိုအသိညဏ္မ်ားကိုအျမဲတမ္းမွ်ေဝနဳိင္ပါေစ

  2. ကိုေဇ says:

    က်ြန္ေတာ္ က ကိုsaturngod ရဲ့ အၿမဲတမ္း ပရိတ္သတ္ပါ၊

  3. soe soe says:

    programing နဲ႔ developing က တူပါသလား။ မတူဘူးဆုိရင္ ဘာေတြကြာျခားသလဲ ဆုိတာလဲ အခ်ိန္ရရင္ ေရးျပေစခ်င္ပါတယ္။ဒါမွမဟုတ္ေရးျပီးသားရွိရင္လဲ ဖတ္လုိ႔၇မယ့္လင့္ခ္ေလးေပါ့..။

    System ဆုိတာကေရာ အေပၚက ၂ ခုနဲ႔ အတူတူပဲလား။

    ေလးစားခင္မင္စြာ

  4. mm says:

    download ->> C ++ (ဦးေအာင္ျမင့္) (Vol 1+2+3)
    http://www.yamc.info/forum/printthread.php?tid=56

  5. zaw aung says:

    thanks!i want to copy to my website!plx allow me!u may be happy!

  6. roman says:

    အကုိေရ .. ကြ်န္ေတာ္ အခု C ကုိ သင္ေနပါတယ္ .. C ကေနဆုိရင္ေရာ C++ ကုိ ကူးေျပာင္းဖုိ႕ လြယ္ရဲ႕လား .. သူတုိ႕ ႏွစ္ခုကေတာ့ အေျခခံကေလးေတြ ေတာ့တူမယ္ထင္တယ္ေနာ္ ..

    • saturngod says:

      C is sthe first version and C++ is next version. Don't worry about that. C doesn't have great OOP. C++ have it.

      • roman says:

        ဟုတ္ကဲ့ ကုိ ေစတန္ေရ .. အခုလုိ ေျဖၾကားေပးတဲ့အတြက္ေက်းဇူးတင္ပါတယ္ ...

  7. လာဖတ္သြားပါတယ္
    ေက်းဇူးတင္ပါတယ္
    လက္ေတြအေကာင္အထည္ေဖာ္ျပီး
    ေတာ္ေအာင္လုပ္ပါမယ္

    သံေယာဇဥ္မင္း
    သံေယာဇဥ္နန္းေတာ္

Leave a Reply