Skip to main content

ကွန်ပြူတာ ပရိုဂရမ်းမင်း အကြောင်း တစေ့တစောင်း

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

ပရိုဂရမ်းမင်း ဆိုတာဘာလဲ
လူတယောက်၏ ခန္ဓာကိုယ် အစိတ်အပိုင်းကို လေ့လာကြည့်ပါ။ ဦးနှောက့်၊ မှတ်ညဏ်၊ နား၊ မျက်လုံး၊ ပါစပ်၊ မျက်နာ၊ ခြေ၊ လက် စသဖြင့်ရှိသည်။ ဒီလိုအစိတ်အပိုင်းတွေကို ပေါင်းစည်းကာ "လူ" ဟူ၍ဖြစ်ပေါ်လာခြင်းဖြစ်သည်။
ကွန်ပြုတာဆိုသည်မှာလည်း ထိုးနည်းတူဖြစ်သည်။ အီလက်ထရောနစ်  အစိတ်အပိုင်းတွေ ပေါင်းစည်းကာ ကွန်ပြုတာ ဖြစ်ပေါ်လာသည်။ ဦးနှောက့် နှင့်တူသော CPU (Central Processing Unit)၊ မှတ်ညဏ်နှင့်တူသော မန်မိုရီ၊ နား နှင့်တူသော ဆားကစ်လမ်းကြောင်း၊ ကေဘယ်တွေ ရှိသည်။ (ဥပမာ ကီးဘုတ်မှ 'A' ကိုနှိပ်တဲ့အခါ ကီးဘုတ်ကေဘယ်လ်မှ တဆင့်ခြင်းဖြတ်ကျော်ကာ CPU သို့ရောက်သည်ဟု အလွယ်မှတ်ပါ )။
မျက်လုံးနှင့်တူသော ကင်မရာ၊ ပါစပ်နှင့်တူသော စပီကာ၊ မျက်နှာနှင့်တူသော မော်နီတာ ဖုန်းစခရင် ဆိုတာရှိသည်။ ခြေ၊ လက်နှင့်တူသော အစိတ်အပိုင်းများလည်း အပိုတပ်ပေးလို့ရသည်။ လူ့ခန္ဓာကိုယ် တွင် ခြေနှစ်ခြောင်း၊ လက်နှစ်ခြောင်း သာအများဆုံးပါသည်။ ကွန်ပြူတာကတော့ ကိုယ်လိုအပ်ရင်လိုအပ်သလို အစိတ်အပိုင်းတွေတပ်ပေးလို့ရသည်။ မိုဘိုင်းဖုန်းသည်လည်း ထိုနည်းတူပင်။ မိုဘိုင်းဖုန်းသည် ကွန်ပြုတာအငယ်စားဖြစ်သည်။
မြန်မာနှစ်ယောက် ဘယ်လို ပြောဆိုဆက်ဆံလေ့ရှိသလဲ? တယောက်က "ရေတခွက်ခပ်ပေးပါ" လို့ပြောရင် တခြားတယောက်က နားလည်သည်။ နှစ်ယောက်လုံး မြန်မာဘာသာစကားကို နားလည်သောကြောင့်ဖြစ်သည်။ ကွန်ပြူတာကို လည်ပတ်ပေးနေသော အစိတ်အပိုင်းများသည် အီလက်ထရောနစ်ပစ္စည်းများ ဖြစ်သည့်အတွက် ကွန်ပြုတာသည် လျှပ်စစ်စီးနေခြင်း မစီးနေခြင်း၊ ဗို့အားသက်မှတ်ထားသည့်အောက် ရောက်သလား မရာက်သလား စသော အခြေအနေ ၂ ရပ်ကိုသာနားလည်နိုင်သည်။ အလွယ်ပြောရသော် ကွန်ပြုတာသည် အဖွင့် အပိတ် အခြေအနေ ၂ ရပ် ကိုသာနားလည်သည်။ အဖွင့်ကို "1"၊ အပိတ်ကို "0" သက်မှတ်သော် ကွန်ပြုတာသည် "0" နဲ့ "1" သာနားလည်းသည်ဆိုရမည်။  ဒီ နှစ်ခု ကို ဘိုင်နရီ ကိန်းဂဏန်းများ ဟုခေါ်သည်။ 1 နဲ့ 0 သာနားလည်သော ကွန်ပြူတာသည် ဘာကြောင့် လူတွေထက် စမတ် ဖြစ်သည်ဟု သတ်မှတ်ခံရသနည်း။ အသုံးဝင်နေသနည်း။
အဓိကမှာ ရှေ့လူတွေရှာဖွေခဲ့သော စံသက်မှတ်ချက်၊ နည်းစနစ်များ နှင့် ပရိုဂရမ်မင်း နည်းပညာကြောင့်ဖြစ်သည်။ သက်ဆိုင်ရာ ပရိုဂရမ်းမင်း နည်းစနစ်များကိုသုံးကာ ဖန်းတီးထားသော Firmware, Software, Application များကြောင့်သာဖြစ်သည်။ ဖုန်းကင်မရာကနေ ဓတ်ပုံရိုက်လိုက်တယ်။ ဒါကိုလုပ်ဆောင်ပေးတဲ့ Firmware ဆိုတာရှိရမယ်။ ရလာတဲ့ပုံကို ဖေ့ဘုတ် application သုံးပြီး လိုင်းပါ်တင်တယ်။ ကွန်ပြူတာမှာ Photoshop လို Software မျိုးသုံးပြီး ဖြတ် ညှပ် ကပ် လုပ်ချင်ရင်လုပ်မယ်။
ဒါဆိုရင် ပရိုဂရမ်းမင်း ကိုသုံးပြီး 0 နဲ့ 1 သာနားလည်သော ကွန်ပြုတာရဲ့ ဦးနှောက့် CPU ကိုဘယ်လိုခိုင်းမလဲ။ သူ့ကို တိုက်ရိုက် ခိုင်းလို့ရတယ်။ ဒါကို machine code တွေနဲ့ခိုင်းတာလို့ခေါ်တယ်။ ဒီလိုခိုင်းတတ်ဖို့က မလွယ်ပါ။ CPU၊ မန်မိုရီ အလုပ်လုပ်ပုံ အကြောင်းသေခြာသိရှိ နားလည်တဲ့ ကျွမ်းကျင်သူတွေမှ သာရသည်။ ဒီနည်းကို သုံးပြီး software တွေဖန်တီးလို့ အလုပ်မတွင်ပါ။ ဒါက လူ့ခန္ဓာကိုယ် ဆလ်ထဲက DNA code တွေလိုပဲ။ နားလည် မှတ်သားဖို့ သိပ်မလွယ်။ လက်တွေလုပ်ငန်းခွင်အတွက် မထိရောက်။ ဒါဆိုဘယ်လိုလုပ်မလဲ? ဒီနည်းနဲ့ဆို ဂဏန်းပေါင်းစက် လိုမျိုး software ဖန်တီးဖို့ တောင် အနိုင်နိုင်။

လူနှစ်ယောက် ရေခပ်ခိုင်းတဲ့ အကြောင်းပြန်တွေးကြည့်ရအောင်။ ဆိုပါတော့ ခပ်ပေးမဲ့သူက အင်္ဂလိပ်လိုပဲ နားလည်တယ်။ ခပ်ဖို့  ညွှန်ကြားသူက မြန်မာလိုပဲသိတယ်။ သူတို့နှစ်ယောက် ဆက်ဆံလို့မရ။ ဆက်ဆံဖို့ ကြားခံ ဘာသာပြန်ဆရာ လိုအပ်လာတယ်။ ဒီသဘောတရားအတိုင်းပဲ။ CPU ကိုတိုက်ရိုက် မခိုင်းတတ်သော်လည်း ကြားခံ ဘာသာပြန်ပေးတဲ့သူကိုသုံးပြီး ခိုင်းလို့ရတယ်။ ကြားခံဘာသာပြန်ပေးတာလည်း ကျွမ်းကျင်သူတွေ ဖန်တီးထားတဲ့ software ပရိုဂရမ် တွေပဲ။ ဒီတော့ ခိုင်းသူက ဘာသာပြန်သူနဲ့ ဆက်ဆံရုံပဲ။ ဒါပေမယ့် ထင်သလောက် မရိုးရှင်းသေးဘူး။ ခိုင်းသူနဲ့ ဘာသာပြန်သူ ကြားမှာလည်း ဘာသာစကားအမျိုးမျိုးရှိပြန်တယ်။ ဒါတွေကို ပရိုဂရမ်းမင်းဘာသာစကားတွေလို့ခေါ်တယ်။ ဘာသာစကားပေါ်မူတည်ပြီး ဘာသာပြန်တာလည်း ကွာနိုင်ပြန်တယ်။ ရေခပ်ပေးပါလို့ ညွှန်ကြားတာကို ရေခွပ်ယူပေးပါလို့ ဘာသာပြန်ရင် အဆင်မပြေဘူး။ ဒီလိုနဲ့ ကြားခံဘာသာပြန်ပုံနည်းစနစ်တွေ၊ ပရိုဂရမ်းမင်းဘာသာစကားတွေ အသီးသီးထွတ်လာပြီး ပရိုဂရမ်းမင်းနယ်ပယ်ဟာ တဖြည်းဖြည့်း ကြွယ်ဝလာသလို ရှုပ်ထွေးလာပါတယ်။
နောက်ပိုင်း ကွန်ပြုတာသည် စီးပွားရေးလုပ်ငန်းတွေမှာ မဖြစ်မနေပါဝင်လာပြီး စီးပွားရေးနဲ့ပတ်သက်တဲ့ Software တွေဖန်တီးလာကြတယ်။ အဲဒီအခါ ပရိုဂရမ်ရေးသားခြင်းသည် ညွှန်ကြားသူ၊ ဘာသာပြန်သူ နဲ့ CPU ကြားတင်မဟုတ်တော့။ ဖန်တီးသူ developer, Project Manager နဲ့ အသုံးပြူသူ User တွေကြား စနစ်တကျနဲ့ Software ပရောဂျတ် တခုကိုအောင်မြင်အောင် တည်ဆောက်ဖို့ စီမန်ခံခွဲမူ့ နည်းလမ်းတွေ အများအပြားပေါ်လာကာ နယ်ပယ် အရမ်းကျယ်ပြန့်လာပါတယ်။
အခုအခါမှာတော့ CPU အကြောင်း၊ မန်မိုရီအကြောင်း၊ ဘိုင်နရီ 0 1 အကြောင်း အထူးတလည် စဥ်စားစရာမလိုပဲ Software တွေဖန်းတီးလို့ ရလာကြပါတယ်။ သို့သော် အသစ်တွေအမြဲပေါ်လာတဲ့အတွက် အမြဲသင်ကြားနေဖို့လိုပါတယ်။
ပရိုဂရမ်မာတွေက ကြားခံဘာသာပြန်လိုမျိုး ပရိုဂရမ်တွေသုံးပြီး  application တွေ website တွေဖန်တီးတယ်။ အသုံးပြုသူတွေက ဒါတွေကို မိမိရဲ့ ဖုန်း၊ ကွန်ပြုတာကနေသုံးတယ်။ တကယ်တော့ 0 နဲ့ 1 ကိုပဲနားလည်တဲ့ ကွန်ပြူတာကို သတ်မှတ်ထားတဲ့ စံစနစ် ပရိုတိုကော တွေအောက်မှာ ဘာသာစကားပေါင်းစုံနဲ့ အဆင့်ဆင့်ခိုင်းပြီး ဖန်းတီးထားတဲ့ virtual ကမ္ဘာတခုပါပဲ။ 

နမူနာ ဘာသာစကားတခုကိုသုံးပြီး ပရိုဂရမ်တခု ရေးတဲ့အကြောင်း ဆက်ကြည့်ရအောင်။
ရေခပ်တဲ့ ဥပမာ ပဲပြန်သွားမယ်။ အနီးစပ်ဆုံး ဥပမာပေးရင် တယောက်နဲ့တယောက် နှုတ်နဲ့ မဆက်ဆံဘူး။ညွှန်ကြားသူက "ရေတခွတ်ခပ်ပြီး အိမ်ရှေ့ခုံမှာထားပေးပါ" လို့စာရေးပြီး ဘာသာပြန်သူကိုပေးလိုက်တယ်။
ဘာသာပြန်သူက ဘာသာပြန်ပြီး( သူက ပွဲစားဖြစ်တဲ့အတွက် နောက်ထပ် ဘာသာပြန်သူကို ထပ်ဘာသာပြန်ခိုင်းရင်လည်းခိုင်းမယ်။ ဘာသာပြန်သူပေါ်မူတည်တယ်) ခပ်ပေးမဲ့သူကို ခိုင်းတယ်။ နောက်ဆုံးခပ်ပေးသူဆီ ရောက်တယ်။ ခိုင်းတဲ့အတိုင်း ခပ်ပြီး ခုံပေါ်တင်ပေးလိုယ်တယ်။ ဒါဆိုရင် ညွှန်ကြားချက် တခုကို လုပ်ဆောင်ပြီးသွားတာ။
Python ဆိုတဲ့ ပရိုဂရမ်းမင်းဘာသာစကားကိုသုံးပြီး ကွန်ပြူတာ မန်မိုရီရဲ့ name ဆိုတဲ့နေရာမှာ James ဆိုတာကို သိမ်းပေးဖို့ညွှန်ကြားမယ်။
ညွန်ကြားချက်ရေးဖို့ စာရွယ်လိုမယ်။ ဒါကို Editor လို့ခေါ်တယ်။ Editor အမျိုးမျိုးကို သုံးလို့ရနိုင်ပါတယ်။
ပရိုဂရမ်မာတွေ အချိန်ကုန်သက်သာပြီး မြန်မြန်ဆန်ဆန် Software တွေဖန်းတီးလို့ရအာင် အရမ်းကောင်းမွန်တဲ့ IDE (Integrated development environment) မျိုးတွေထုတ်လုပ်ပေးလေ့ရှိကြတယ်။
Editor ပေါ်မှာ ညွှန်ကြားချက် ကုဒ်ကို ရေးမယ်။ CPU နဲ့နီးစပ်တဲ့ ဘာသာစကားနဲ့ဆိုရင် အများကြီး ရေးရနိုင်တယ်။ ဒါပေမဲ့ High level ပရိုဂရမ်းမင်းဘာသာစကားနဲ့ဆိုရင် တကြောင်းဆို ရပြီ။
ဒီလိုဖြစ်လာအောင်ဖန်းတီးပေးသူတွေကို ကျေးဇူးတင်ရမယ်။

ဒါက ညွှန်ကြားချက်ကုဒ်။
name = "James"


ပြီးရင် ဒီညွန်ကြားချက်ကို Python ဘာသာပြန်သူကို ပေးလိုက်မယ်။ သူက CPU နဲ့ဆက်ဆံဖို့ နောက်ကွယ်မှာ လုပ်စရာရှိတာတွေအများကြီးလုပ်ရမယ်။ လူအချင်းချင်းခိုင်းသလောက် မရိုးရှင်းဘူးပေါ့။ ပြီးရင် မန်မိုရီရဲ့ name ဆိုတဲ့ နေရာမှာ James ဆိုတာရှိသွားပြီး။ အထက်မှဆိုခဲ့သလို တကယ်တမ်း မန်မိုရီမှာ သိမ်းထားတာက သူနာလည်သော "0" နဲ့ "1" အခြေအနေ ၂ ရပ်ပါပဲ။ name လဲ မရှိဘူး James လဲမရှိဘူး။ Python နဲ့ တခြား ကွန်ပြူတာ စံသတ်မှတ်ချက်တွေကြောင့်သာ ရှိတာပါ။  ဒါက အလွယ်ဆုံး အရိုးရှင်းဆုံး ညွှန်ကြားချက်လေး တခုပဲရှိသေးတယ်။ တကယ် Software ပရိုဂရမ် တွေဖန်တီးတဲ့အခါ လိုအပ်ချက်ပေါ်မူတည်းပြီး တခြားလော့ဂျစ်တွေနဲ့ ညွန်းကြားချက်ပေါင်း ထောင် သောင်း ရှိနိုင်ပါတယ်။ ကိုယ်ရေးတဲ့ ညွှန်ကြားချက် တွေကြား အလုပ်မလုပ်လို့ တိုင်ပတ်တာတွေလဲရှိနိုင်တယ်။


စိုးအောင်
14-June-2020





Comments

Post a Comment

Popular posts from this blog

Native app လုပ်ရတာကလည်း Android ဆိုတမျိုး iOS ဆိုတဖုံနဲ့ လုပ်ရတာ အချိန်ကုန်လက်ဝင်တယ်။ တခါတည်းနဲ့ ၂ ခုလုံးမှာသုံးလို့ရအောင်လုပ်မယ်။ Webview သုံးတဲ့ Cordova တို့ Ionic တို့ထွက်လာတယ်။ Facebook: WebView ကြီးနဲ့ မမိုက်ပါဘူးကွာ။ ပိုပြီး native ဆန်သွားအောင် React ကိုအခြေခံပြီး Reactive native လုပ်လိုက်တယ်။ တခါပဲရေး Android ရော iOS ရော ၂ ခုထွက်။ Google: မင်းတို့ဘယ်လိုပဲ native လုပ်လုပ် အစစ်မဟုတ်ပါဘူးကွာ။ native နဲ့ပိုပြီး နီးစပ်အောင်လုပ်ပြမယ်။ React စတိုင်ကို အခြေခံပြီး Flutter ထွက်လာတယ်။ Dart language သုံးတယ်။ လေ့လာရတာလွယ်ပါတယ်။ Apple: လွယ်လွယ်ကူကူလုပ်လို့ရအောင် ငါလည်းဖန်တီးတက်ပါတယ်။ ဒါပေမဲ့ Apple ရဲ့ထုံးစံအတိုင်း cross platform မလုပ်ဘူးလေ။ iOS အတွက်ပဲ declarative ပုံစံနဲ့ SwiftUI ထွက်လာတယ်။ React, Flutter ပုံစံအတိုင်းပါပဲ။ Google: မင်းတို့မှ native သီးသန့်အတွက် လွယ်လွယ်ကူကူ App ဖန်တီးလို့ရတဲ့ ပုံစံမျိုး လုပ်တက်တာမဟုတ်ပါဘူး။ ငါလည်းလုပ်တတ်တယ်ဆိုပြီး Jetpack compose ထွတ်လာပြန်တယ်။ Microsoft: IE သိပ်ခါပြန်ဆယ်ဖို့ Visual Studio ...

Privacy policy of Photo Hidden Data

  NAING SOE AUNG built the Photo Hidden Data app as a Freemium app. This SERVICE is provided by NAING SOE AUNG at no cost and is intended for use as is. This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy. The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Photo Hidden Data unless otherwise defined in this Privacy Policy. Information Collection and Use ...