Sunday, January 3, 2016

Programming Language Level ေတြ


အားလံုး မဂၤလာပါခင္ဗ်ာ။
ကၽြန္ေတာ့္အေနနဲ႔ ဒီ Programming Language (PL) နဲ႔ပတ္သက္တဲ့
Level ေလးတစ္ခ်ိဳ႕ကို ေလ့လာထားသေလာက္ေလးတင္ျပခ်င္ပါတယ္။
ေလ့လာဆဲေက်ာင္းသားတစ္ေယာက္အေနနဲ႔ ေရးတာျဖစ္တဲ့အတြက္
အမွားပါခဲ့ပါက အားမနာတမ္းေဝဖန္ေထာက္ျပႏိုင္ပါတယ္လို႔ ေျပာထားပါရေစ။

ဒီကေန႔ေခတ္မွာ PL ေတြက အမ်ားၾကီးမွအမ်ားၾကီးပါ။
အဲ… မယံုရင္ ဒီမွာသြားၾကည့္လိုက္ပါ။
https://en.wikipedia.org/wiki/List_of_programming_languages

ဒီေနရာမွာ ကၽြန္ေတာ္တို႔ EC ေက်ာင္းသားေတြအတြက္ Programming လို႔ေျပာလိုက္တာနဲ႔
C/C++, BASIC နဲ႔ Assembly ကို အမ်ားဆံုးေျပးျမင္ၾကပါတယ္။
Java တို႔ C# တို႔လို PL ေတြကေတာ့ EC နဲ႔ မဆိုင္သလိုေပါ့ေလ။
ဒါနဲ႔ပတ္သက္ျပီး အျမင္လြယ္ေအာင္ level ေလးေတြခြဲျပီး ေျပာခ်င္ပါတယ္။

အဓိက PL ေတြမွာLow Level နဲ႔ High Level Language ဆိုျပီးရိွပါတယ္။
ေျပာရရင္ Computer တစ္လံုးကို ခိုင္းေစတာက လူပါ။
တကယ္အလုပ္လုပ္တာက စက္ပါ။ Machine ပါ။
လူကလူလိုပဲ နားလည္ျပီး၊ စက္ကစက္လိုပဲ နားလည္ပါတယ္။
စက္နားလည္တာက 1001 binary code ေတြပါ။
အဲဒီေတာ့ လူေတြနားလည္ႏိုင္ဖို႔နီးစပ္တဲ့ language ကို High Level Language လို႔ဆိုလိုက္ျပီး
စက္ေတြ Machine ေတြ နားလည္တာကိုေတာ့ လူေတြက ခပ္တည္တည္ပဲ Low Level ဇာတ္ထဲ သြတ္သြင္းလိုက္ပါတယ္။

ေနာက္ျပီး Low Level ကို တစ္နည္းအားျဖင့္ Machine Language လို႔လည္းေခၚပါတယ္။
Machine Language မွာ သံုးရတာက 0010101 လိုမ်ိဳး numeric codes ေတြပါ။
Low Level ကေန တစ္ဆင့္တက္ရင္ Assembly Language ပါ။
သူကလည္း Machine Oriented ပါ။
ဒါေပမယ့္ သူက numeric codes ေတြသံုးတာမဟုတ္ဘဲ
MOV ၊ ADD စတဲ့ mnemonic code ေတြကို သံုးပါတယ္။
Numeric code ေတြထက္ေတာ့ နားလည္ရလြယ္သြားပါတယ္။

ေနာက္တစ္ခုက ကၽြန္ေတာ္တို႔ဆိုခဲ့ျပီးတဲ့ High Level Language ပါ။
သူကေတာ့ လူေတြသံုးတဲ့ ဘာသာစကားနဲ႔ အေတာ္နီးစပ္သြားပါျပီ။
C++ မွာဆို cin, cout, <<, {,) စသည္ျဖင့္
English Language နဲ႔ ဆင္တူတဲ့ အသံုးအႏွဳန္းေတြ ပါပါတယ္။
Java, Python, C#, VB.Net စတာေတြဟာ High Level ထဲမွာပါပါတယ္။
သူတို႔ကိုေတာ့ Game ေရးတာတို႔၊ Multism လို၊ Office Word လို
Computer Software ေတြေရးတာတို႔မွာ အသံုးျပဳပါတယ္။

ေနာက္ထပ္ဆက္ေျပာရရင္
လူေတြနားလည္တဲ့ High Level တစ္ခု(ဥပမာ- Java ဆိုပါေတာ့)
နဲ႔ေရးလိုက္တဲ့အခါ Source Code ကို ရပါတယ္။
အဲဒီ Source Code က Machine ကို တိုက္ရိုက္ခိုင္းေစလို႔မရပါဘူး။
(ကုလားစကားပဲတတ္တဲ့သူကို ျမန္မာလိုေျပာျပီးခိုင္းလို႔မရသလိုေပါ့ေလ။)
အဲဒီ့အတြက္ Source Code ကို Translator ေတြျဖစ္တဲ့
Compiler ၊ Interpreter ေတြသံုးျပီး
စက္နားလည္ေစမယ့္ Machine code ကို ေျပာင္းလဲေပးလိုက္ပါတယ္။
အဲဒီေတာ့မွသာ စက္ကနားလည္ျပီး ခိုင္းတဲ့အတိုင္းလုပ္တာပါ။
ဒီသေဘာတရားေလးကို ပံုနဲ႔ျပရရင္
Source Code ====[Translator]=== Machine code or Object code

Ref : Introduction to Computer System (McE – 1015)
Soe Thiha
Programming Language Level တွေ
အားလုံး မင်္ဂလာပါခင်ဗျာ။
ကျွန်တော့်အနေနဲ့ ဒီ Programming Language (PL) နဲ့ပတ်သက်တဲ့
Level လေးတစ်ချို့ကို လေ့လာထားသလောက်လေးတင်ပြချင်ပါတယ်။
လေ့လာဆဲကျောင်းသားတစ်ယောက်အနေနဲ့ ရေးတာဖြစ်တဲ့အတွက်
အမှားပါခဲ့ပါက အားမနာတမ်းဝေဖန်ထောက်ပြနိုင်ပါတယ်လို့ ပြောထားပါရစေ။

ဒီကနေ့ခေတ်မှာ PL တွေက အများကြီးမှအများကြီးပါ။
အဲ… မယုံရင် ဒီမှာသွားကြည့်လိုက်ပါ။
https://en.wikipedia.org/wiki/List_of_programming_languages

ဒီနေရာမှာ ကျွန်တော်တို့ EC ကျောင်းသားတွေအတွက် Programming လို့ပြောလိုက်တာနဲ့
C/C++, BASIC နဲ့ Assembly ကို အများဆုံးပြေးမြင်ကြပါတယ်။
Java တို့ C# တို့လို PL တွေကတော့ EC နဲ့ မဆိုင်သလိုပေါ့လေ။
ဒါနဲ့ပတ်သက်ပြီး အမြင်လွယ်အောင် level လေးတွေခွဲပြီး ပြောချင်ပါတယ်။

အဓိက PL တွေမှာLow Level နဲ့ High Level Language ဆိုပြီးရှိပါတယ်။
ပြောရရင် Computer တစ်လုံးကို ခိုင်းစေတာက လူပါ။
တကယ်အလုပ်လုပ်တာက စက်ပါ။ Machine ပါ။
လူကလူလိုပဲ နားလည်ပြီး၊ စက်ကစက်လိုပဲ နားလည်ပါတယ်။
စက်နားလည်တာက 1001 binary code တွေပါ။
အဲဒီတော့ လူတွေနားလည်နိုင်ဖို့နီးစပ်တဲ့ language ကို High Level Language လို့ဆိုလိုက်ပြီး
စက်တွေ Machine တွေ နားလည်တာကိုတော့ လူတွေက ခပ်တည်တည်ပဲ Low Level ဇာတ်ထဲ သွတ်သွင်းလိုက်ပါတယ်။

နောက်ပြီး Low Level ကို တစ်နည်းအားဖြင့် Machine Language လို့လည်းခေါ်ပါတယ်။
Machine Language မှာ သုံးရတာက 0010101 လိုမျိုး numeric codes တွေပါ။
Low Level ကနေ တစ်ဆင့်တက်ရင် Assembly Language ပါ။
သူကလည်း Machine Oriented ပါ။
ဒါပေမယ့် သူက numeric codes တွေသုံးတာမဟုတ်ဘဲ
MOV ၊ ADD စတဲ့ mnemonic code တွေကို သုံးပါတယ်။
Numeric code တွေထက်တော့ နားလည်ရလွယ်သွားပါတယ်။

နောက်တစ်ခုက ကျွန်တော်တို့ဆိုခဲ့ပြီးတဲ့ High Level Language ပါ။
သူကတော့ လူတွေသုံးတဲ့ ဘာသာစကားနဲ့ အတော်နီးစပ်သွားပါပြီ။
C++ မှာဆို cin, cout, <<, {,) စသည်ဖြင့်
English Language နဲ့ ဆင်တူတဲ့ အသုံးအနှုန်းတွေ ပါပါတယ်။
Java, Python, C#, VB.Net စတာတွေဟာ High Level ထဲမှာပါပါတယ်။
သူတို့ကိုတော့ Game ရေးတာတို့၊ Multism လို၊ Office Word လို
Computer Software တွေရေးတာတို့မှာ အသုံးပြုပါတယ်။

နောက်ထပ်ဆက်ပြောရရင်
လူတွေနားလည်တဲ့ High Level တစ်ခု(ဥပမာ- Java ဆိုပါတော့)
နဲ့ရေးလိုက်တဲ့အခါ Source Code ကို ရပါတယ်။
အဲဒီ Source Code က Machine ကို တိုက်ရိုက်ခိုင်းစေလို့မရပါဘူး။
(ကုလားစကားပဲတတ်တဲ့သူကို မြန်မာလိုပြောပြီးခိုင်းလို့မရသလိုပေါ့လေ။)
အဲဒီ့အတွက် Source Code ကို Translator တွေဖြစ်တဲ့
Compiler ၊ Interpreter တွေသုံးပြီး
စက်နားလည်စေမယ့် Machine code ကို ပြောင်းလဲပေးလိုက်ပါတယ်။
အဲဒီတော့မှသာ စက်ကနားလည်ပြီး ခိုင်းတဲ့အတိုင်းလုပ်တာပါ။
ဒီသဘောတရားလေးကို ပုံနဲ့ပြရရင်
Source Code ====[Translator]=== Machine code or Object code
Ref : Introduction to Computer System (McE – 1015)
Soe Thiha

1 comment:

  1. 888 Casino - The JTM Hub
    , and win more at the 888 하남 출장샵 casino! . Earn your rewards, 군산 출장안마 get access 김천 출장샵 to the exclusive benefits, 보령 출장샵 and more! 정읍 출장샵

    ReplyDelete