ကွန်ပြူတာဘာသာစကားများသည် လူသားများ ကွန်ပြူတာများနှင့် ဆက်သွယ်ပေးသော ကြားခံဖြစ်သည်။ ဤဘာသာစကားများသည် ကျွန်ုပ်တို့အား ကွန်ပြူတာအား နားလည်ပြီး လုပ်ဆောင်နိုင်သည့်နည်းလမ်းဖြင့် ညွှန်ကြားချက်များပေးနိုင်သည်။ အမျိုးမျိုးသော ရည်ရွယ်ချက်များနှင့် စိတ်ကူးယဉ်မှု အဆင့်များအတွက် ရေးဆွဲထားသော ကွန်ပျူတာ ဘာသာစကား အမျိုးအစား အမျိုးမျိုးရှိသည်။
Machine Language သည် အခြေခံအကျဆုံး ကွန်ပျူတာဘာသာစကားအမျိုးအစားဖြစ်သည်။ ၎င်းတွင် 0s နှင့် 1s အတွဲများဖြစ်သည့် binary code ပါ၀င်ပြီး ၎င်းသည် ကွန်ပျူတာ၏ ဟာ့ဒ်ဝဲ၏ ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်ချက်များကို တိုက်ရိုက်ထိန်းချုပ်ပါသည်။ စက်ဘာသာစကား ညွှန်ကြားချက်တစ်ခု၏ ဥပမာတစ်ခုသည် 0001001101010001 ဖြစ်နိုင်သည်၊ ၎င်းသည် ကွန်ပျူတာ၏ CPU တွင် ဂဏန်းနှစ်လုံးထည့်ခြင်းကဲ့သို့ သီးခြားလုပ်ဆောင်မှုကို ကိုယ်စားပြုနိုင်သည်။
Assembly Language သည် စက်ဘာသာစကားထက် အဆင့်တစ်ဆင့်ဖြစ်သည်။ ၎င်းသည် ဒွိကုဒ်များကို ကိုယ်စားပြုရန်အတွက် သင်္ကေတဆိုင်ရာ ညွှန်ကြားချက်များကို အသုံးပြု၍ လူသားများ နားလည်ရန်နှင့် ရေးရန် အနည်းငယ်လွယ်ကူစေသည်။ စည်းဝေးပွဲဘာသာစကား ညွှန်ကြားချက်တစ်ခုသည် CPU ၏ AL မှတ်ပုံတင်သို့ ဆယ်ဂဏန်းဆယ်ဂဏန်းတန်ဖိုး 61 ကို ရွှေ့ပေးသည့် MOV AL, 61h နှင့် တူနိုင်သည်။ စက်ဘာသာစကားနှင့် နှိုင်းယှဉ်ပါက ဖတ်ရှုနိုင်မှုအဆင့် မြင့်မားသော်လည်း၊ ၎င်းသည် ဟာ့ဒ်ဝဲနှင့် နီးကပ်စွာ ဆက်စပ်နေသောကြောင့် အဆင့်နိမ့်ဘာသာစကားအဖြစ် ယူဆဆဲဖြစ်သည်။
အဆင့်နိမ့်ဘာသာစကားများသည် အဆင့်နိမ့်ဘာသာစကားများနှင့် နှိုင်းယှဉ်ပါက ဟာ့ဒ်ဝဲမှ စိတ်ကူးယဉ်မှုအဆင့်ကို ပေးပါသည်။ ၎င်းတို့သည် သဘာဝလူ့ဘာသာစကားများနှင့် ပိုမိုနီးကပ်စွာ ဖတ်ရှုနိုင်စေရန်နှင့် နားလည်ရလွယ်ကူစေရန် ဒီဇိုင်းထုတ်ထားသည်။ အဆင့်မြင့်ဘာသာစကားများ ဥပမာများ ပါဝင်သည်-
အဆင့်မြင့်ဘာသာစကားများကို ယေဘုယျအားဖြင့် စုစည်းမှု သို့မဟုတ် ကွန်ပြူတာလုပ်ဆောင်နိုင်သော စက်ကုဒ်အဖြစ် ဘာသာပြန်ပါသည်။ ကွန်ပလီကေးရှင်းသည် အဆင့်မြင့်ပရိုဂရမ်တစ်ခုလုံးကို စက်ဘာသာစကားသို့ တစ်ပြိုင်နက် ဘာသာပြန်ပေးမည်ဖြစ်ပြီး စကားပြန်က ၎င်းကို လုပ်ဆောင်နေစဉ်အတွင်း ညွှန်ကြားချက်တစ်ခုကို တစ်ကြိမ်လျှင် ဘာသာပြန်ပေးပါသည်။
Scripting languages များသည် လုပ်ငန်းဆောင်တာများကို အလိုအလျောက်လုပ်ဆောင်ခြင်း၊ ဒေတာများကို အသုံးချခြင်းနှင့် အမျိုးမျိုးသောလုပ်ငန်းဆောင်တာများကို ပြီးမြောက်စေရန်အတွက် လျင်မြန်စွာ script များရေးသားခြင်းအတွက် ဒီဇိုင်းထုတ်ထားသည့် အဆင့်မြင့်ဘာသာစကားများ၏ အစုခွဲတစ်ခုဖြစ်သည်။ ဥပမာများပါဝင်သည်-
Markup ဘာသာစကားများကို ဖော်မတ်နှင့် တင်ပြရန် ဒီဇိုင်းထုတ်ထားပါသည်။ ၎င်းတို့တွင် ယုတ္တိဗေဒ သို့မဟုတ် ထိန်းချုပ်မှုဆိုင်ရာ ထုတ်ပြန်ချက်မပါဝင်သောကြောင့် ၎င်းတို့သည် ရိုးရာသဘောအရ ပရိုဂရမ်ဘာသာစကားများမဟုတ်ပါ။ သို့သော်၊ ၎င်းတို့သည် ဝဘ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့် စာရွက်စာတမ်းဖော်မတ်ချခြင်းတွင် ဒေတာဖွဲ့စည်းပုံနှင့် layout ကိုသတ်မှတ်ရန်အတွက် အရေးကြီးပါသည်။ ဥပမာများပါဝင်သည်-
Domain-Specific Languages (DSL) များသည် သီးခြားလုပ်ငန်းတာဝန်များ သို့မဟုတ် ဒိုမိန်းများအတွက် တီထွင်ထားသော အထူးပြုကွန်ပျူတာဘာသာစကားများဖြစ်သည်။ ၎င်းတို့သည် သီးခြား domain တစ်ခုရှိ ပြဿနာများကို ဖြေရှင်းရန် ဒီဇိုင်းထုတ်ထားပြီး ယေဘူယျ ပရိုဂရမ်ရေးခြင်း လုပ်ငန်းများအတွက် ရည်ရွယ်ခြင်း မဟုတ်ပါ။ ဥပမာများပါဝင်သည်-
ကွန်ပြူတာဘာသာစကား အမျိုးအစားတစ်ခုစီတွင် ၎င်း၏ အားသာချက်များနှင့် အားနည်းချက်များ ရှိကြပြီး အသုံးပြုရန် ရွေးချယ်မှုသည် ပရောဂျက်၏ သီးခြားလိုအပ်ချက်များပေါ်တွင် မူတည်ပါသည်။ ဥပမာအားဖြင့်၊ အဆင့်နိမ့်ဘာသာစကားများသည် မြင့်မားသောစွမ်းဆောင်ရည်နှင့် ဟာ့ဒ်ဝဲကို ထိန်းချုပ်နိုင်သော်လည်း သင်ယူရန်ခက်ခဲပြီး အမှားအယွင်းများတတ်ပါသည်။ အခြားတစ်ဖက်တွင်မူ အဆင့်မြင့်ဘာသာစကားများသည် သင်ယူရန်နှင့် အသုံးပြုရန်ပိုမိုလွယ်ကူသော်လည်း အချို့သောလုပ်ငန်းတာဝန်များအတွက် တူညီသောထိန်းချုပ်မှု သို့မဟုတ် စွမ်းဆောင်ရည်ကို ပေးစွမ်းနိုင်မည်မဟုတ်ပေ။
ကွန်ပြူတာဘာသာစကားများအကြောင်းတွင်၊ syntax သည် ထိုဘာသာစကားတွင်မှန်ကန်စွာတည်ဆောက်ထားသောပရိုဂရမ်များဟုယူဆထားသောသင်္ကေတများ၏ပေါင်းစပ်မှုများကိုသတ်မှတ်ပေးသည့်စည်းမျဉ်းအစုအဝေးကိုရည်ညွှန်းသည်။ ဥပမာအားဖြင့်၊ Python တွင် print('Hello, world!') ဟု ရေးခြင်းသည် function calls အတွက် syntax စည်းမျဉ်းများကို လိုက်နာပါသည်။ Semantics သည် syntactical ဒြပ်စင်များ၏နောက်ကွယ်မှအဓိပ္ပါယ်ကိုရည်ညွှန်းသည်။ ပေးထားသောဥပမာတွင်၊ ဝေါဟာရများသည် Hello, world! အသုံးပြုသူထံသို့။
syntax နှင့် semantics နှစ်မျိုးလုံးကို နားလည်ခြင်းသည် မည်သည့်ကွန်ပျူတာဘာသာစကားကိုမဆို သင်ယူခြင်းအတွက် အရေးကြီးပါသည်။ ၎င်းသည် ပရိုဂရမ်မာများသည် ဘာသာစကား၏ စည်းမျဉ်းများကို လိုက်နာရုံသာမက အလိုရှိသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်စေမည့် ကုဒ်များကို ရေးသားနိုင်စေပါသည်။
ကွန်ပြူတာဘာသာစကားများသည် နှစ်များတစ်လျှောက်တွင် သိသိသာသာ ပြောင်းလဲလာခဲ့ပြီး၊ စက်ဘာသာစကားများ၏ ပဏာမ ဒွိကုဒ်မှ ခေတ်မီအဆင့်မြင့်ဘာသာစကားများ၏ အဆင့်မြင့်၊ အသုံးပြုရအဆင်ပြေသည့် အထားအသိုများအထိ သိသိသာသာ ပြောင်းလဲလာသည်။ ကွန်ပျူတာ အပလီကေးရှင်းများနှင့် စနစ်များ ကြီးထွားလာနေသော ရှုပ်ထွေးမှုများကို ဖြည့်ဆည်းပေးနိုင်သော ပိုမိုထိရောက်သော၊ ဖတ်နိုင်သော၊ အသုံးပြုရလွယ်ကူသော ဘာသာစကားများ လိုအပ်ခြင်းကြောင့် ဤဆင့်ကဲဖြစ်စဉ်ကို တွန်းအားပေးခဲ့သည်။ နည်းပညာများ ဆက်လက်တိုးတက်နေသဖြင့် ကွန်ပျူတာဘာသာစကားများတွင် နောက်ထပ်တိုးတက်မှုများနှင့် ဆန်းသစ်တီထွင်မှုများကို မြင်တွေ့နိုင်မည်ဖြစ်သည်။
ကွန်ပြူတာဘာသာစကားများသည် လူသားတို့၏ တွေးခေါ်မှုကို ကွန်ပြူတာလုပ်ဆောင်ချက်နှင့် ချိတ်ဆက်ပေးသော တံတားဖြစ်သည်။ စုစည်းဘာသာစကား၏ အဆင့်နိမ့်တိကျမှုမှ စိတ်ကူးယဉ်ဆန်ဆန် နှင့် အဆင့်မြင့်ဘာသာစကားများ၏ အသုံးပြုရလွယ်ကူမှုအထိ၊ ဘာသာစကားအမျိုးအစားတစ်ခုစီသည် ကွန်ပျူတာလောကတွင် နေရာတစ်နေရာစီရှိသည်။ ပရိုဂရမ်းမင်း၊ ဝဘ်ဖွံ့ဖြိုးတိုးတက်မှု၊ ဒေတာခွဲခြမ်းစိတ်ဖြာမှု သို့မဟုတ် ကွန်ပျူတာများပါ၀င်သည့် အခြားနယ်ပယ်တစ်ခုခုကို စူးစမ်းလေ့လာလိုသူတိုင်းအတွက် ကွဲပြားခြားနားသော ကွန်ပျူတာဘာသာစကားများ၏ အခြေခံမူများ၊ အားသာချက်များနှင့် အသုံးပြုမှုကိစ္စများကို နားလည်ရန် အရေးကြီးပါသည်။