Learning or Betting on Technology

ဘဝမှာ computer development နဲ့ ပတ်သက်ပြီးတော့ စပြီး ထိတွေ့ခဲ့ရတာ HTML ပဲ။ ငယ်ငယ်ကတည်းက computer ကို ဖွင့်ပြီး ဟိုနှိပ် ဒီနှိပ်။ ဟို click ဒီ click လုပ်ရင်း လေ့လာခဲ့တယ်။ ၁၀ တန်းလောက်မှာမှ Microsoft Office မှာ ပါလာတဲ့ FrontPage ဆိုတာကို စပြီး တွေ့ဖူးခဲ့တယ်။ အဲဒီတုန်းကလည်း internet ဆိုတာ ဘာမှန်း တကယ် ကို မသိခဲ့တာ။ နောက်ပြီး connection က dial up လောက်ပဲ ရှိပြီးတော့ ဘာ website မှ ထွေထွေထူးထူး ကြည့်လို့ မရတာ ကြောင့်လည်း စိတ်မဝင်စားတာ ပါတယ်။

FrontPage ကနေ ပြီးတော့ HTML အကြောင်း အနည်းငယ် သိခဲ့တယ်။ HTML ဆိုတာ ဘာလဲ ဆိုတာကို သိချင်စိတ် စဖြစ်ခဲ့ပြီး ဘဝမှာ developer တစ်ယောက် ဖြစ်လာဖို့ ပထမဆုံး ချပေးခဲ့တဲ့ မျိုးစေ့ ပဲ။ FrontPage နဲ့ website တွေ ကို လုပ်ကြည့် ၊ HTML code တွေကို လေ့လာကြည့်နဲ့ အဲဒီတုန်းက ကိုယ့်ကိုယ်ကို တော်တော် ဟုတ်လှပြီ ထင်နေတာ။ နောက်ပြီးတော့ code ကို copy ကူးပြီး text editor နဲ့ စမ်းတော့ တချို့ code တွေက အလုပ်မလုပ်တော့ဘူး။ အဲဒီတုန်းက HTML code နဲ့ FrontPage က component တွေ မတူဘူးဆိုတာ မသိဘူး။ HTML က FrontPage နဲ့ပဲ ရတယ်ဆိုတဲ့ အထင် ဖြစ်ခဲ့ဖူးတယ်။

၁၀ တန်းပြီးတော့ ဗိုလ်တထောင် ကျောင်းမှာ diploma သွားတက်ဖြစ်တယ်။ ကျောင်းလည်း မဖွင့်သေးချိန်မှာ အားနေတာနဲ့ သွားတက်ဖြစ်တယ်။ ပုံမှန် သင်တန်းတွေ ထက် programming အခြေခံတွေ ကို အဲဒီမှာ ကောင်းတယ်ဆိုပြီး computer ပြင်နေကျ အစ်ကိုတွေက ပြောတာနဲ့ တက်ဖြစ်ပါတယ်။

အခြေခံနဲ့စပြီး အကောင်းဆုံး နဲ့ မကောင်းတာ နှစ်ခု ကို စပြီး ကြုံရတယ်။ အကောင်းဆုံးကတော့ ဗိုလ်တထောင် ကောလိပ်မှာ pesudo, flowchart တွေ သင်တာ အတော်ကို ကောင်းတယ်။ သင်သည့် ဆရာမ ကောင်းတယ် ဆိုရမယ်။ မကောင်းတာကတော့ VB 6 နဲ့ Access ကို programming အခြေခံ အနေနဲ့ သင်လိုက်ရတာပဲ။

နည်းပညာတစ်ခုကို လေ့လာတော့မယ်ဆိုရင် နောင်တချိန်မှာ ဒီနည်းပညာဟာ အောင်မြင်နိုင်မလား ဒါမှမဟုတ် ပျောက်သွားနိုင်မလား ဆိုတာကို မသိဘူး။ ကျွန်တော်တို့ အနေနဲ့ လောင်းကစား လုပ်ပြီးတော့ ရှိသည့် အချိန်တွေ အကုန် ဒီ lanuage တစ်ခုကို ထည့်လောင်းမလား ဒါမှမဟုတ် ခွဲခွဲပြီး အကုန်လေ့လာမလား စသည်ဖြစ် ပုံမှန် ကြုံရတာပဲ။ VB နဲ့ Access စသင်လိုက်တော့ ကျွန်တော့် အနေနဲ့ OOP ဟာ မလိုအပ်ဘူး။ UI အတွက် Visual Studio နဲ့ ချလိုက်ရင် ရပြီ။ ဘာလို့ code တွေနဲ့ တည်ဆောက်မှာလဲ စသည့် အတွေးတွေ ဝင်ခဲ့မိတယ်။ ပထမဆုံး language ဖြစ်ပြီးတော့ အများကြီးလည်း မသိသေးတာကြောင့် C++ , Java တွေထက်စာရင် VB 6 ဟာ development လုပ်ရတာ လွယ်တယ်ထင်ပြီး အဲဒီ အပေါ်ပုံအော လောင်းမိပြီး အချိန်တွေ ပေးပြီး လေ့လာဖြစ်တယ်။

ပထမဆုံး language ဖြစ်သည့် VB 6 ဟာ .NET လည်း ပေါ်လာကော အကုန်လုံး ပြောင်းလဲသွားတယ်။ VB.NET ဟာ OOP ကို မဖြစ်မနေ သုံးဖို့ လိုအပ်လာပြီး ကျွန်တော့် အနေနဲ့ လုံးဝကို မလိုက်နိုင်သည့် language တစ်ခု ဖြစ်သွားတယ်။ ကျွန်တော် အရင်တုန်းက ထင်ထား သလို VB 6 ဟာ လူသုံးများသည့် အတွက် ဒီ အတိုင်းပဲ ဆက်ရှိနေမယ်ဆိုတဲ့ အတွေးဟာ လုံးလုံးမှားသွားခဲ့တယ်။ VB.NET ကို မလေ့လာတော့ပဲ C# ကို ပြောင်းပြီး လေ့လာခဲ့တယ်။ သို့ပေမယ့် အချိန်တွေ အကုန် C# ကို မပေးခဲ့ဘူး။ ကျွန်တော် C# ဟာ နောင်တချိန်မှာ အသုံးများတဲ့ language ဖြစ်မယ်လို့ မယုံကြည်ခဲ့ဘူး။

UCSY ကို တက်တော့ C++ ကို သင်ရတယ်။ VB 6 အခြေခံကြောင့် C++ ဟာ ဘာမှ လုပ်လို့ မရဘူး။ ပုံမှန် code တွေ လောက်ပဲ ရေးလို့ ရမယ် ထင်ခဲ့တယ်။ နည်းနည်းပဲ သိတာဟာ အတော့်ကို အန္တရာယ်များမှန်း အဲဒီ တုန်းက သဘောမပေါက်ခဲ့ဘူး။ အဲဒီ အတွေးဟာ အတော့်ကို အန္တရာယ်များပြီတော့ ကိုယ့် ပတ်ဝန်းကျင်ကိုပါ အတွေးမှားတွေ ဝင်စေတယ်။ C++ အသုံးဝင်ပုံကို နောက်ပိုင်း cocos2d ကို သုံးမှပဲ သဘောပေါက်တော့တယ်။

ကျောင်းတက်နေတုန်းမှာ language တွေ tool တွေ အများကြီးကို လေ့လာမိတယ်။ Flash, Flash action script , HTML , CSS , Javascript , Java , PHP , python, scriptaculous, prototype, Jquery စတာတွေ အပြင် Photoshop , 3dsmax အပြင် အခြား video editing , sound editing အကုန်လုံးကို ဟို စပ်စပ်ဒီစပ်စပ် လေ့လာဖြစ်ခဲ့တယ်။

တကယ်တန်းက ဘယ်ဟာကို အသုံးပြုမလဲ။ လေ့လာမလဲ ဆိုတာ အဲဒီ အချိန်တုန်းကတော့ တကယ့်ကို လောင်းကစား တစ်ခုပဲ။ ကျောင်းတက်နေတုန်းက လေ့လာထားပြီး ကျောင်းပြီးသည့် အချိန်မှာ အဲဒီ language လူ မသုံးတော့ရင် ဘယ်လို လုပ်မလဲ ဆိုသည့် အတွေးက ရှိနေတယ်။ အဲဒါက အတော့်ကို ခက်တယ်။ အထူးသဖြင့် jquery နာမည် မကြီးခင်က javascript library တွေ အများကြီးပဲ။ prototype , jquery , scriptaculous , dojo စသည်ဖြင့် အများကြီးပဲ။ အခုအချိန်မှာတော့ jquery သာ အောင်မြင်ပြီး ကျန်တာတွေကတော့ လူ အနည်းအကျဉ်းပဲ ရှိတော့တယ် ဆိုရမယ်။ သို့ပေမယ့် အဲဒီ အချိန်မှာ ဘယ်ဟာကို လေ့လာသင့် သလဲ ဆိုတာ တကယ့်ကို စိန်ခေါ်မှုပဲ။ library တစ်ခု မအောင်မြင်ခင်မှာ လေ့လာပြီးတော့ အောင်မြင်သွားသည့် အခါမှာ ကိုယ်က အခြားလူတွေထက် ပိုသိနေပြီ။ သို့ပေမယ့် ကိုယ် လေ့လာထားသည့် library က လူမသုံးတော့သည့်အတွက် အောင်မြင်သည့် library ကို ပြန်လေ့လာမယ်ဆိုရင် တခြားလူတွေက ကိုယ့်ထက် စာရင် အကုန်သိနေပြီးတော့ ကိုယ်ကနောက်ကနေ အတော့်ကို ပြန်လိုက်ရလိမ့်မယ်။

နည်းပညာလောကမှာ လေ့လာဖို့ နည်းပညာ အသစ် တစ်ခုကို သုံးဖို့ဆိုတာက တကယ့်ကို စိန်ခေါ်မှု လောင်းကစား တစ်ခုနဲ့ တူတယ်။ ကျောင်းတုန်းက ကျွန်တော် ဖြစ်ချင်ရာဖြစ်ကွာ ဆိုပြီး သဘောကျလို့ တစ်စိုက်မတ်မတ် လေ့လာဖြစ်တာကတော့ HTML , CSS , Javascript , PHP နဲ့ prototype javascript framework ပဲ။ Web ပိုင်းကို desktop ပိုင်းထက် ပုံအော်ပြီးတော့ လောင်းခဲ့တယ် ဆိုရမယ်။ C#, Java , Python တွေကို ဖတ်ရင် နားလည်သည့် အဆင့်ကနေ မတက်တော့ပဲ ထားဖြစ်ခဲ့ လိုက်တယ်။ အချိန်တွေ အကုန် web ပဲ လေ့လာဖြစ်တယ်။ Desktop app ကို မရေးဖြစ်သလောက်ပဲ။ ကျောင်းပြီးသွားသည့်အခါမှာ prototype ကို လူမသုံးတော့ပဲ jquery အောင်မြင်လာတာနဲ့ jquery ကို အစကနေ ပြန်လေ့လာဖြစ်ခဲ့တယ်။

စင်္ကာပူရောက်တော့ PHP နဲ့ အလုပ်ရတယ်။ အဲဒီ အချိန်မှာ iPhone app တွေက စပြီး ခေတ်စားလာတယ်။ သိပ်မကြာခင်မှာ Android ကလည်း ပေါ်လာတယ်။ Android နဲ့ iOS ၂ ခုမှာ Apple ကို သဘောကျပြီး Java ကို အကြောင်းပြချက်မရှိပဲ သဘောမကျသည့် ကျွန်တော့် အနေနဲ့ Objective-C ကို ရွေးဖြစ်ခဲ့တယ်။ Java ဆို ထိတောင် မထိဘူးလို့ ဆုံးဖြတ်ပြီးတော့ Objective-C ကို လေ့လာဖြစ်ခဲ့တယ်။ Objective-C ကို လေ့လာသည့် အခါမှာ OOP ပိုင်းကို အခြေမခိုင်ခဲ့သည့် အပြင် VB 6 , PHP စတာတွေက OOP logic တွေ မပါပဲ function တွေကြီး အသုံးပြုပြီး code တွေ ရေးလို့ရခဲ့တော့ Objective-C ကို လေ့လာသည့် အခါမှာ အတော်လေးကို ဒုက္ခရောက်ခဲ့တယ်။ နောက်ပြီးတော့ Cocos2d ကို သုံးတော့ အတော်လေးကို စိတ်ဒုက္ခရောက် မိတယ်။ တချို့အပိုင်းတွေက C++ အပိုင်းလေးတွေ ပါလာတော့ ရေးရတာဟာ စိတ်တိုင်း မကျဘူး။ Objective-C မှာ by reference , by value တွေကို သေသေချာချာ သဘောမပေါက်ပဲ ရေးခဲ့တဲ့ code တွေ နောက်ပြီးတော့ အဲဒီတုန်းက ARC မရှိသေးပဲ manual retain , release တွေ လုပ်ခဲ့တာကြောင့် အဆင်မပြေပဲ မနည်းကြီး လုပ်ခဲ့ရတာ အမှန်ပဲ။

Objective-C ကို ၂ နှစ်လောက် လုပ်ပြီးတော့ နည်းနည်းသဘောပေါက်လာတယ်။ Objective-C ရဲ့ အကျိုးကျေးဇူးကြောင့် OOP ကို သဘောပေါက်သွားတယ်။ By refrene , by value တွေ သုံးတတ်လာတယ်။ Java ကို လွယ်လင့်တကူ လေ့လာလို့ ရသွားတယ်။ C++ ကို နည်းနည်းပါးပါး ဖတ်တတ် ရေးတတ်သွားတယ်။ Objective-C အပေါ်မှာ ပုံအောပြီး လောင်းခဲ့တာ မမှားဘူးဆိုရမယ်။ သို့ပေမယ့်လည်း Apple က Swift ကို ကြေငြာခဲ့ပြီး Swift က အခု အချိန်မှာ version 3 တောင် ရောက်သွားခဲ့ပါပြီ။ Swift version တစ်ခု နဲ့ တစ်ခု အကူးအပြောင်းမှာ လေ့လာခဲ့တာတွေ သိတာတွေ တော်တော်များများ သုံးမရ ဖြစ်ကုန်တာတွေ ရှိနေပေမယ့် Swift ဟာ အောင်မြင်မယ့် language လို့ ယုံကြည်ဆဲပဲ။

Ornagai.com ကို version 3 လုပ်တော့ Javascript framework တစ်ခုနဲ့ လုပ်မယ်လို့ ဆုံးဖြတ်ခဲ့တယ်။ Javascript framework တွေ အများကြီးထဲက Angular ကို ရွေးခဲ့တယ်။ သို့ပေမယ့် ကျွန်တော် မှားသွားပြန်ပြီလို့ ဆိုရမယ်။ Angular 2 ဟာ Angular 1 နဲ့ တခြားစီပဲ။ Angualr 1 ကနေ Angular 2 ကို ပြောင်းဖို့ဟာ အတော့်ကို မလွယ်တာ။ နောင်တချိန်မှာ ornagai.com ကို အခြား framework တစ်ခုနဲ့ အစကနေ ပြန်ရေးရမယ့် ပုံပဲ။

အခုအချိန်မှာ ဘယ် javascript language ကို လေ့လာသင့်သလဲ မေးရင်တော့ တကယ့်ကို စိန်ခေါ်မှု တစ်ရပ်ပါပဲ။ ဘယ်ဟာ အောင်မြင်မလဲ။ Facebook ရဲ့ react လား ၊ Google ရဲ့ Angular 2 လား Vue.js လား ဒါမှမဟုတ် aurelia လား။ တကယ် ဘာမှကို မသိနိုင်သေးဘူး။ React ကတော့ အခုအချိန်မှာ လူအသုံးများဆုံးပဲ။ သို့ပေမယ့် ကျွန်တော့် အနေနဲ့ react ဟာ web technology လို့ မခံစားရဘူး။ Javascript ကို အားပြုပြီးတော့ UI ကို တည်ဆောက်သည့် အတွက်ကြောင့် မူရင်း web အရသာဟာ ပျောက်ဆုံးသွားတယ်လို့ ခံစားမိတယ်။ Vue.js ကိုတော့ သဘောကျတယ်။ web development ရဲ့ အရသာကို ခံစားလို့ ရတယ်။ Angualr ကိုတော့ ကျွန်တော် ယုံကြည်မှု မရှိလှဘူး။ Aurelia ကတော့ ES 6 ကြောင့် တကယ့်ကို စိန်ခေါ်မှု တစ်ခုပဲ။

Mobile development လုပ်တော့ database ပိုင်းကို ရွေးချယ်ရတာတွေ ရှိတယ်။ NoSQL ကို သဘောကျသည့် ကျွန်တော့်အတွက် NoSQL မှာ Mongodb ကို ရွေးဖြစ်ခဲ့တယ်။ ကျွန်တော် စလေ့လာတုန်းက NoSQL မှာ ရွေးချယ်စရာတွေ အများကြီးပဲ။ facebook က cassandra သုံးတယ်ဆိုပြီး နာမည်ကြီးပြီး အခြားသူတွေက လေ့လာကြတယ်။ ဒါ့အပြင် couchdb က လွယ်တယ်ဆိုပြီး ပြောနေကြသည့် အချိန်။ Mongodb ကတော့ marketing တွေ အရမ်းလုပ်သည့် အချိန်မှာ foursquare က mongodb ကို သုံးတယ်ဆိုတာနဲ့ Mongodb ကို သုံးဖို့ ဆုံးဖြတ်ခဲ့တာပဲ။ အခုနောက်ပိုင်းမှာ realtime ရပြီးတော့ query ရေးရတာ လွယ်သည့် rethinkdb ကို သုံးဖြစ်တယ်။ အခုအချိန်မှာ mongodb က လူအသုံးများဆုံးဖြစ်နေပြီးတော့ လေ့လာဖို့ resource တွေ အများဆုံးပါပဲ။

နည်းပညာတစ်ခုကို လေ့လာမယ်လို့ ဆုံးဖြတ်လိုက်တာနဲ့ အဲဒီ နည်းပညာပေါ်မှာ လောင်းကြေးထပ်လိုက်တာပဲ။ နောင် အနာဂတ်အတွက် ဘယ် lanuage ကို လေ့လာသင့်သလဲ ဘယ် technology ကို လေ့လာသင့်သလဲ ဆိုရင် အခုအချိန်မှာ အတော့်ကို စဉ်းစားရတယ်။ လူ အတော်များများက အလုပ်အကိုင် အခွင့်အရေးများသည့် နည်းပညာကို အားပေးကြတယ်။ ကျွန်တော်ကတော့ ကိုယ်တိုင် သဘောကျပြီး နောင်တချိန်မှာ အောင်မြင်လာမယ်လို့ ထင်သည့် နည်းပညာကို လေ့လာတာ များတယ်။ သို့ပေမယ့် အဲဒါဟာ စွန့်စားရာကျပါတယ်။

4 Comments

  1. Yethike Phyo says:

    really..I think everybody who want to learn for programming should learn C programming first. Because C is the mother of almost computer programming. After learning C, they should choose other main programming they like.

  2. revtimo says:

    let me share sir,

  3. Hlaing Bwar says:

    you are totally right bro

  4. walker sai says:

    Thank a lot

Leave a Reply to Hlaing Bwar Cancel reply

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.