What programming language should be learned first ?

အခုမှ 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 ရှာပြီး ဖတ်ပြီး လေ့လာနိုင်ပါတယ်။

15 Comments

  1. မင်း says:

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

  2. ကိုဇေ says:

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

  3. soe soe says:

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

    System ဆိုတာကရော အပေါ်က ၂ ခုနဲ့ အတူတူပဲလား။

    လေးစားခင်မင်စွာ

    1. saturngod says:

      http://www.saturngod.net/knowledgebase/developer-vs-programmer

      အဲမှာ ရေးထားပြီးသားပါ။ ဖတ်ကြည့်လိုက်ပါ။ အဲဒီမှာ ပေးထားတဲ့ link မှာ အကျယ်တဝင့် ဆွေးနွေးထားတာတွေ ရှိပါတယ်။

  4. mm says:

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

    1. winbalamin says:

      ဦးအောင်မြင့် ရဲ့စာအုပ်ထဲကအတိုင်းပဲလုပ်တာ compline လုပ်လို့မရဘူး windows 7 မှာဘယ်လို complier သုံးရမလဲဆိုတာကို ပြောပြပေးပါဦး။

      1. saturngod says:

        i don’t know … why you don’t give me some error message ? Recommend to ask in http://www.mysteryzillion.org. it have some C++ leaner and master

  5. zaw aung says:

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

    1. saturngod says:

      Please, give a credit link.

  6. roman says:

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

    1. 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.

      1. roman says:

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

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

    သံယောဇဉ်မင်း
    သံယောဇဉ်နန်းတော်

  8. Thura Aung says:

    အစ်က်ုရေ ကျွန်တော်ကနယ်မြို့ရဲ့ရွာလေးတစ်ရွာမှာနေတော့သင်တန်းတက်ဖို့အဆင်မပြေဘူးဖြစ်နေတယ်ဖြစ်နိုင်ရင်C++ကိုမြန်မာလိုအကျယ်တဝင့်ရေးထားတဲ့စာအုပ်လေးရှိရင်တင်ပေးပါလား
    အခုမှစပြီးလေ့လာမှာမို့လို့ပါ

    1. saturngod says:

      ကျွန်တော်တို့ ငယ်ငယ်တုန်းကတော့ C++ မြန်မာလို ရေးထားတဲ့ စာအုပ်တွေ ရှိတယ်ဗျ။ အခုနောက်ပိုင်းတော့ ရှိသေးလားတော့ မပြောတတ်ဘူး။ http://books.saturngod.net/programming_basic/ မှာ programming အကြောင်းကို ကျွန်တော် ရေးထားတာလေးတော့ ရှိပါတယ်။ Python နဲ့ပါ။

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.