Compiled Languages နဲ့ Scripting Languages တို့၏ ကွာခြားချက်များ

Programming Language တွေ​ကို Category နှစ်​ခု ခွဲ​လို့​ရ​ပါ​တယ်။ တစ်​ချို့ Language တွေ​ဟာ Compiled Language တွေ​ဖြစ်​ပြီး တစ်​ချို့ Language တွေ​ဟာ Scripting Language တွေ​ဖြစ်​ပါ​တယ်။

ကျွန်တော်​တို့​ဆီ​မှာ Programming လေ့​လာ​သူ​တွေ​ဟာ Compiled Languages တွေ​ကို​သာ အလေ့​လာ​များ​ပါ​တယ်။ ကျွန်တော်​တို့​ရဲ့ သင်​ခန်း​စာ​မှာ အသုံးပြု​မယ့် Programming Language (၂) ခု​ကတော့ Scripting Languages တွေ​ဖြစ်​ပါ​တယ်။

C/C++, Java, C# စ​တဲ့ Language တွေ​ဟာ Compiled Languages တွေ​ဖြစ်​ပါ​တယ်။ Javascript, PHP, Ruby, Python စတဲ့ Language တွေ​ကတော့ Scripting Languages တွေ​ဖြစ်​ပါ​တယ်။ ကျွန်တော်​တို့​က ဒီ Language Category နှစ်​ခု​ရဲ့ အခြေ​ခံ​ကွာ​ခြား​ချက်​တွေ​ကို သိရှိ​ထား​ဖို့​လို​အပ်​ပါ​တယ်။

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

Compiler ဘာသာပြန်စနစ်

Compiler ဆို​တာ ပေး​ထား​တဲ့ ညွှန်​ကြား​ချက်​တွေ​ကို ကွန်​ပြူ​တာ​နားလည်​အောင် ကြိုတင်​ဘာသာ​ပြန်​ပေး​တဲ့ စကားပြန်​စနစ်​နဲ့​တူ​ပါ​တယ်။ ကျွန်တော်​တို့​က ညွှန်​ကြား​ချက်​တွေ​ကို Compiler ကို​ပေးလိုက်​ပါ​တယ်။ Compiler က အဲ့​ဒီ​ညွှန်​ကြား​ချက်​တွေ​ကို ကွန်​ပြူ​တာ​နားလည်​အောင် (အစ​အဆုံး) ဘာသာ​ပြန်​လိုက်​ပါ​တယ်။ ဘာသာ​ပြန်​ပြီး​သား ညွှန်​ကြား​ချက်​တွေ​နဲ့ ခိုင်း​တော့​မှ ကွန်​ပြူ​တာ​က နားလည်​ပြီး အလုပ်​လုပ်​ပေး​ပါ​တယ်။ အဲ့​ဒီ Compiler ဆို​တဲ့ ဘာသာ​ပြန်​စနစ်​ကို အသုံးပြု​တဲ့ Programming Language တွေ​ကို Compiled Language တွေ​လို့ ခေါ်​တာ​ဖြစ်​ပါ​တယ်။

Interpretor ဆိုတဲ့ စကားပြန်

Scripting Language တွေ​ကတော့ ဘာသာ​ပြန်​စနစ်​ကို မ​သုံး​ပါ​ဘူး။ သူ​တို့​က ညွှန်​ကြား​ချက်​ကို ကွန်​ပြူ​တာ​ကို တိုက်ရိုက်​ပေး​ပါ​တယ်။ တိုက်ရိုက်​ပေး​တဲ့ ညွှန်​ကြား​ချက်​ကို ကွန်​ပြူ​တာ​က နားလည်​ဖို့​အတွက် စကားပြန်​တစ်​ယောက် အသင့်ထား​ပါ​တယ်။ အဲ့​ဒီ စကားပြန်​ကို Interpretor လို့ခေါ်​ပြီး ညွှန်​ကြား​ချက်​တွေ​ကို သူ​က Just-In-time တစ်​ဆင့်​ဘာသာ​ပြန်​ပေး​ပါ​တယ်။

အဲ့​ဒီ Interpretor ဆို​တဲ့ စကားပြန်​ကို​သုံး​တဲ့ Programming Language တွေ​ကို Scripting Language လို့ခေါ်​တာ​ပါ။ ဒါ​ကြောင့် Compiled Language တွေ​မှာ ရေးထား​တဲ့ Program (ညွှန်​ကြား​ချက်) ကို မ Run ခင် အရင်​ကြိုတင်​ပြီး Compiled လုပ်​ထား​ဖို့​လို​ပါ​တယ်။ Scripting Language တွေ​မှာ​တော့ ကြိုတင်​ပြီး Compile လုပ်​စရာ​မ​လို​ပဲ (ရေးထား​တဲ့ Code ကို) တိုက်ရိုက် Run လို့​ရ​ပါ​တယ်။

အားသာချက် အားနည်း​ချက်​များ

အမျိုး​အစား​နှစ်​မျိုး​စလုံး​မှာ အား​သာ​ချက် အားနည်း​ချက်​တွေ​ရှိ​ပါ​တယ်။

Compiled Language တွေ​ရဲ့ အဓိက​အား​သာ​ချက်​ကတော့ Performance ဖြစ်​ပါ​တယ်။ အသင့်​ဘာသာ​ပြန်​ပြီး​သား​ကို Run ပေး​ရ​တာ​ဖြစ်​တော့ ကွန်​ပြူ​တာ​က မြန်​မြန်ဆန်​ဆန်​နားလည်​ပြီး ချက်​ခြင်း အလုပ်​လုပ်​ပေး​နိုင်​ပါ​တယ်။ Scripting Language တွေ​မှာ​တော့ Run တဲ့​အချိန်​မှာ အလုပ်​လုပ်​ဖို့​အတွက် Interpretor က ဘာသာ​ပြန်​ပေး​တာ​ကို စောင့်​ပြီး​မှ အလုပ်​လုပ်​ပေး​နိုင်​တဲ့​အတွက် အလုပ်​လုပ်​ရ​တာ နှေး​ပါ​တယ်။

Scripting Language တွေ​ရဲ့ အဓိက​အား​သာ​ချက်​တော့ Productivity ဖြစ်​ပါ​တယ်။ Scripting Language တွေ​မှာ ပေး​ထား​တဲ့ ညွှန်​ကြား​ချက်​တွေ​ထဲ​က ပြင်ဆင်​ချင်​တာ​ရှိ​ရင် ချက်​ခြင်း​ပြင်​လိုက်​လို့​ရ​ပါ​တယ်။ Interpretor က Just-In-time ဘာသာ​ပြန်​နေ​တာ​ဖြစ်​လို့ ကွန်​ပြူ​တာ​က​လည်း ပြင်ဆင်​ထား​တဲ့​အတိုင်း​ပဲ ချက်ချင်း​အလုပ်​လုပ်​ပေး​မှာ​ဖြစ်​ပါ​တယ်။ Compiled Language တွေ​မှာ​တော့ ညွှန်​ကြား​ချက်​ကို ပြင်ဆင်​ချင်​ရင် ပြင်​လို့​ရ​ပါ​တယ်။ ဒါ​ပေ​မယ့် ပြင်ဆင်​ပြီး​တဲ့​အခါ Compiler ဘာသာ​ပြန်​စနစ်​နဲ့ နောက်​တစ်​ကြိမ်​ထပ်​ပြီး ဘာသာ​ပြန်​ရ​ပါ​တယ်။ အသစ်​ထွက်​လာ​တဲ့ ဘာသာ​ပြန်​ပြီး​သား​ညွှန်​ကြား​ချက်​နဲ့ ကွန်​ပြူ​တာ​ကို ပြောင်းလဲ​ညွှန်​ကြား​မှ​သာ ကွန်​ပြူ​တာ​က ပြင်ဆင်​ထား​တဲ့​အတိုင်း ပြောင်း​ပြီး အလုပ်​လုပ်​နိုင်​မှာ​ပါ။ တစ်​ခု⁠ခု​ပြင်​လိုက်​တိုင်း တစ်​ခါ​ပြန်​ပြီး Compile လုပ်​နေ​ရ​တဲ့​သဘော​ရှိ​လို့ Productive မ​ဖြစ်​ဖူး​လို့ ဆို​ရ​မှာ​ပါ။

အသုံးချမှု

Operating System တွေ​နဲ့ System Level Software တွေ​ရေး​ဖို့​ဆို​ရင်​တော့ မ​ဖြစ်​မ​နေ Compile Language တွေ​ကို​ပဲ​သုံး​ရ​မှာ​ဖြစ်​ပါ​တယ်။ Desktop Application တွေ​ရေး​ဖို့​ဆို​ရင်​တော့ လို​အပ်​ချက်ပေါ်​မူ​တည်​ပြီး နှစ်သက်​ရာ Language အမျိုး​အစား​ကို ရွေးချယ်​အသုံးပြု​လို့​ရ​ပါ​တယ်။

Web Application တွေ​ရေး​ဖို့​ဆို​ရင်​တော့ Scripting Language တွေ​က​သာ သင့်တော်​ပါ​တယ်။ ဘာ​ဖြစ်​လို့​လဲဆို​တော့ -

  • (၁) Application တစ်​ခု​ဆို​တာ Maintainable ဖြစ်​ဖို့​လို​ပါ​တယ်။ Productive ဖြစ်​ဖို့​လို​ပါ​တယ်။ က​နေ့​ရေးထား​တဲ့ Code ဟာ မနက်​ဖြန်​မှာ ပြန်​ပြင်​ရ​ဖို့ သေချာ​ပါ​တယ်။ အကြောင်း​အမျိုး​မျိုး​ကြောင့်​ဖြစ်​နိုင်​ပါ​တယ်။ နောက်​နေ့​မှာ ပို​ကောင်း​တဲ့ နည်း​လမ်း​ကို တွေ့​သွား​လို့​လည်း​ဖြစ်​နိုင်​ပါ​တယ်။ မနေ့​က​အခြေ​ခံ​အဆင့်​ပဲ​ရေး​ခဲ့​တာ​ဖြစ်​ပြီး နောက်​နေ့​မှာ ပိုမို​ပြည့်စုံ​အောင်​ဖြည့်​ဖို့​အတွက် ပြင်​ရ​တာ​လည်း​ဖြစ်​နိုင်​ပါ​တယ်။ မှား​နေ​လို့ ပြင်​ရ​တာ​လည်း​ဖြစ်​နိုင်​ပါ​တယ်။ Spec နဲ့ Requirement ပြောင်း​သွား​လို့ ပြင်​ရ​တာ​လည်း​ဖြစ်​နိုင်​ပါ​တယ်။ ဒါ​ကြောင့် က ​နေ့​ရေးထား​တဲ့ Code ဟာ မနက်​ဖြန်​မှာ ပြင်​ရ​ဖို့ ကြိမ်း​သေ​ပါ​တယ်။ အဲ့​ဒီ​လို​အခြေအနေ​မျိုး​မှာ ပြင်ဆင်​မှု​တစ်​ခါ​လုပ်တိုင်း တစ်​ခါ Compile လုပ်​နေ​ရ​တဲ့ Language တွေ​ထက် ပြင်​ပြီး​ရင် တန်း Run လို့​ရ​တဲ့ Language တွေ​က ရေး​ရ​တာ (သိသိ​သာသာ) ပို​မြန်​ပါ​တယ်
  • (၂) Hardware တွေ​ရဲ့ အလွန်​လျှင်​မြန်​တဲ့​နှုံး​နဲ့ တိုးတက်​မှု​ကြောင့် Scripting Language တွေ​ရဲ့ အဓိက​အားနည်း​ချက်​ဖြစ်​တဲ့ နှေး​တယ်​ဆို​တဲ့​အချက် က​နေ့​ခေတ်​မှာ မ​သိသာ​လှ​တော့​ပါ​ဘူး။
  • (၃) Web Application တွေ​ဟာ Desktop Application တွေ​လို​မဟုတ်​ပါ​ဘူး။ Run လိုက်​ပြီး​ဆို​တာ​နဲ့ Application Package ကြီး​တစ်​ခု​လုံး​ကို Load လုပ်​ပြီး Run နေ​စရာ​မ​လို​အပ်​ပါ​ဘူး။ လက်​ရှိ​အလုပ်​လုပ်​ဖို့​လို​အပ်​တဲ့ Page နဲ့ လို​အပ်​တဲ့ module တွေ​လောက်​ကို​သာ​ရွေး​ပြီး အလုပ်​လုပ်​ဖို့​လို​ပါ​တယ်။ ဆိုလို​တာ​က Interpretor က Program ကြီး တစ်​ခု​လုံး​ကို ဘာသာ​ပြန်​နေ​စရာ​မ​လို​ပါ​ဘူး၊ လက်​ရှိ​ရွေး​ထား​တဲ့​အပိုင်း​လေး​ကို​ပဲ ဘာသာ​ပြန်​ဖို့ လို​ပါ​တယ်။ ဒါ​ကြောင့် တစ်​ခြား​နေရာ​မှာ အားနည်း​ချက်​ဖြစ်​နေ​နိုင်​ပေ​မယ့် Web Application အတွက် Scripting Language တွေ​မှာ အားနည်း​ချက်​ဆို​တာ မ​ရှိ​တော့​ပါ​ဘူး။

Static Type vs. Dynamic Type

အချို့ Programming Language တွေ​ဟာ Dynamic Type သဘော​သ​ဘာ​ဝ ရှိ​ပြီး အချို့ Language တွေ​ကတော့ Static Type သဘော​သ​ဘာ​ဝ ရှိ​ပါ​တယ်။ Type ဆို​တာ Data Type ကို​ပြော​တာ​ပါ။ လွယ်​အောင် ပြော​ရ​မယ်​ဆို​ရင် Programming Language တွေ​မှာ သုံး​တဲ့ Data တွေ​မှာ အခြေ​ခံ​အား​ဖြင့် အမျိုး​အစား (၃) မျိုးရှိ​တယ်​လို့ ပြော​လို့​ရ​ပါ​တယ်။

နံပါတ်​တစ်​က Integer Data Type ဖြစ်​ပါ​တယ်။ 123, 29, 69 စ​တဲ့ ကိန်း​ပြည့်​တွေ​ဖြစ်​ပါ​တယ်။ နောက်​တစ်​ခု​က 3.14, 24.001, 6.0 စ​တဲ့ ဒ​ဿ​မ​ကိန်း​တွေ​ဖြစ်​ပါ​တယ်။ Floating Point လို့ခေါ်​ပါ​တယ်။ တတိယ​တစ်​ခု​ကတော့ “Hello, World!”, “Welcome” စ​တဲ့ စာသား​တွေ​ဖြစ်​ပါ​တယ်။ String Data Type လို့ခေါ်​ပါ​တယ် (C လို​မျိုး နည်း⁠နည်း​ပို​ပြီး Lower Level ကျ​တဲ့ Language မျိုး​မှာ​ဆို​ရင် String ဆို​တာ​တောင်​မ​ရှိ​ပါ​ဘူး။ A, e, Z စ​တဲ့ Character Data Type ပဲ ရှိ​ပါ​တယ်)။

Static Type Language တွေ​ဟာ Variable တွေ​နဲ့ Value တွေ​ရဲ့ Type ကို Compile လုပ်​တဲ့​အချိန်​မှာ စစ်​ပါ​တယ်။ Dynamic Type Language တွေ​ကတော့ Run Time ကျ​မှ စစ်​ပါ​တယ်။ ဒီ​စကား​ရှုပ်​တယ်​ထင်​ရင် ရှင်း​အောင် ထပ်ပြော​ကြည့်ပါ​မယ်။

Static Type သဘော​သ​ဘာ​ဝ​ရှိ​တဲ့ Programming Language တွေ​မှာ Variable တွေ​ဟာ ကြိုတင်​ကြေငြာ​ပြီး​မှ​သုံး​လို့​ရ​ပါ​တယ်။ ပြီး​တော့ သုံး​မယ်​လို့​ပြေ​ထား​တဲ့ Data Type ကို​ပဲ အဲ့​ဒီ Variable ထဲ​မှာ သိမ်း​လို့​ရ​ပါ​တယ်။ ဥပမာ -

int price;

ဆိုတဲ့ Statement ဟာ price လို့​အမည်​ရ​တဲ့ Variable တစ်​ခု​ကို ကြေငြာ​တာ​ဖြစ်​ပါ​တယ်။ အဲ့​ဒီ Variable ရဲ့ Type က Integer ဖြစ်​တယ်​လို့​တစ်ခါတည်း ထည့်​ကြေငြာ​ထား​ပါ​တယ်။ Static Type Language တွေ​မှာ အဲ့​ဒီ​လို မျိုး​ကြို​ကြေငြာ​ဖို့​လို​အပ်​ပါ​တယ်။ ပြီး​တော့ အဲ့​ဒီ​လို​ကြေငြာ​ပြီး​တဲ့​နောက်​မှာ price ဆို​တဲ့ Variable ထဲ​ကို ကိန်း​ပြည့်​တွေ​ပဲ သိမ်း​လို့​ရ​တော့​မှာ​ဖြစ်​ပါ​တယ်။ အခြား Data Type တစ်​ခု⁠ခု​ကို ထည့်​သိမ်း​မယ်​ဆို​ရင် Compile လုပ်​တဲ့​အခါ Error တက်​မှာ​ဖြစ်​ပါ​တယ်။ ဥပမာ -

int price;
price = 39.99;

ဒီလိုဆိုရင် အလုပ်​လုပ်​မှာ​မဟုတ်​ပါ​ဘူး။ တစ်​နည်း​အား​ဖြင့် ဒါ​ကို Strong Typing လို့​လဲ ခေါ်​ပါ​တယ်။

Dynamic Type Language တွေ​မှာ​တော့ ဒီ​လို​မဟုတ်​ပါ​ဘူး။ အသုံးပြု​မယ့် Variable ကို ကြို​ကြေငြာ​စရာ​မ​လို​အပ်​ပါ​ဘူး။ ပြီး​တော့ ထည့်​သွင်း​လိုက်​တဲ့ တန်း​ဖိုး​ရဲ့ Type အပေါ်​မူ​တည်​ပြီး လက်ခံ​တဲ့ Variable ရဲ့ Type ကို အလို​အလျှောက် (Dynamically) ပြောင်း​သွား​ပါ​တယ်။ Dynamic Type Langauge တွေ​မှာ Data Type မ​ရှိ​တာ​မဟုတ်​ပါ​ဘူး။ Data Type ကို Programmer က ဂရုစိုက်​စရာ​မ​လို​ပဲ Language က အလို​အလျှောက် ပြောင်း​ပေး​သွား​တဲ့​သဘော​ဖြစ်​ပါ​တယ်။ ဥပမာ -

price = 200;

ဆိုရင် price ဆို​တဲ့ Variable ရဲ့ လက်​ရှိ Data Type က Integer ဖြစ်​နေ​မှာ​ပါ။ အဲ့​ဒါ​ကို -

price = 39.99;

လို့ ပြင်​လိုက်​မယ်​ဆို​ရင်​လည်း အဆင်​ပြေ​ပြေ ဆက်လက်​အလုပ်​လုပ်​ပါ​တယ်။ ပြီ​တော့ ချက်​ခြင်း​ပဲ price ရဲ့ Data Type ကို Float ကို အလို​အလျှောက် ပြောင်း​သွား​မှာ​ဖြစ်​ပါ​တယ်။ ဒါ​ကို တစ်​နည်း​အား​ဖြင့် Weak Typing လို့​လဲ ခေါ်​ပါ​တယ်။

Compiled Language တွေ​နဲ့ Scripting Language တွေ​ရဲ့ ကွာ​ခြား​ချက်​နဲ့ အတူတူ​ပါ​ပဲ။ Static Type သ​ဘာ​ဝ​ရှိ​တဲ့ Language တွေ​မှာ ပိုမို​တိ​ကျ​ပြီး မြန်ဆန်​တက်​ပါ​တယ်။ Dynamic Type သ​ဘာ​ဝ​ရှိ​တဲ့ Language တွေ​ကတော့ နည်း​နည်း ပို​နှေး​တဲ့​သဘော​ရှိ​ပါ​တယ်။ ဒါ​ပေ​မယ့် တစ်​ချို့​နေရာ​တွေ​မှာ ပို​ပြီး လွပ်⁠လွပ်​လပ်⁠လပ်​ရေး​လို့​ရ​သွား​တဲ့​အတွက် သိသိ​သာသာ Productive ပို​ဖြစ်​ပါ​တယ်။

ဒါ​ကြောင့် Compiled Language အများ​စု​ဟာ Static Type သ​ဘာ​ဝ​ရှိ​ပြီး Scripting Language အများ​စု​ကတော့ Dynamic Type သ​ဘာ​ဝ​ရှိ​ပါ​တယ်

ပုံသေ​မှတ်​လို့​တော့ မ​ရ​ပါ​ဘူး အချို့ Static Type သ​ဘာ​ဝ​ရှိ​တဲ့ Scripting Language တွေ​လည်း ရှိ​ပါ​တယ်။ ဥပမာ – Ruby Programming Language။ Ruby ဟာ Scripting Language တစ်​ခု​ဖြစ်​ပါ​တယ်။ ဒါ​ပေ​မယ့် Data Type မှာ​တော့ Strong Type သ​ဘာ​ဝ​ရှိ​ပါ​တယ်။

ယခု​လ Personal Computer Magazine တွင်ဖော်ပြ​မည့် Javascript သင်​ခန်း​စာ​မှ ​​ရွေးထုတ်ဖော်ပြခြင်း ဖြစ်ပါသည်။

Facebook comments:

27 Responses

  1. vbasp says:

    (C/C++, Java, C# စ​တဲ့ Language တွေ​ဟာ Compiled Languages တွေ​ဖြစ်​ပါ​တယ်။ Javascript, PHP, Ruby, Python စတဲ့ Language တွေ​ကတော့ Scripting Languages တွေ​ဖြစ်​ပါ​တယ်။)

    WHERE ARE VB AND ASP?

  2. Ei Maung says:

    @vbasp
    This post is neither listing nor talking about programming languages. It’s explaining you to the two categories of programming languages.

    BTW, VB is a compiled language and ASP is a scripting language.

  3. vbasp says:

    (C/C++, Java, C# စ​တဲ့ Language တွေ​ဟာ Compiled Languages တွေ​ဖြစ်​ပါ​တယ်။ Javascript, PHP, Ruby, Python စတဲ့ Language တွေ​ကတော့ Scripting Languages တွေ​ဖြစ်​ပါ​တယ်။) ဆို​ပြီး

    (Web Application တွေ​ရေး​ဖို့​ဆို​ရင်​တော့ Scripting Language တွေ​က​သာ သင့်တော်​ပါ​တယ်။) ဆို​ရင်​

    Where are C# web application developers? And what are they doing?

    • Thiha says:

      C# ဟာ တကယ်တန်းတော့ Compiled Language ထဲမှာပဲ ပါပါတယ်။ .NET Framework ကို သုံးတယ် ဆိုဦးတော့ Scripting Language ထဲမှာ မပါပါဘူး။ C# ကို Web Application တွေမှာ သုံးပေမယ့် Scripting Language အနေနဲ့ သတ်မှတ်လို့ မရပါဘူး

      • vbasp says:

        yes you are right but this sentence is wrong.

        (Web Application တွေ​ရေး​ဖို့​ဆို​ရင်​တော့ Scripting Language တွေ​က​သာ သင့်တော်​ပါ​တယ်။)

        if not, explain to reader

        • Ravi says:

          @vbasp
          I think what he is saying is that Scripting Languages are better suited for Web Application Development, it does not mean that they can not be used for Web Apps. If you want you can also use C for Web Applications, infact Google Search is written in C ++, however only the back end the front end is either in JAVA or in Python.

          Well you can also use Assembly for Web Applications. Now that is generally speaking. If you want to go specific. Than front end development is almost always written in a dynamic language, while back end operations are chosen carefully based on the nature of the application.

          Now let us look at your example of C#. It will be really *hard* to find Web Applications written entirely in C# because it is not suited for Front End development. That is why Microsoft introduced ASP.NET backed by either C# or something else or a dynamic language like Python. Hence for the front end you can make changes to *.aspx files and run it without compiling it your self (it is compiled upon first run), but if you change the code behind files you will need to compile. It is possible to write Web Application in ASP.NET without touching a single line of C# codes for simple applications. So ASP.NET tried to bring some of the advantage of a scripting language, even though it is not a strict scripting language.

          • Ei Maung says:

            Thanks Ko Ravi, I think this point is the major confusion for #vbasp.

            I said scripting languages are better suite for web development. But he take it as compiled languages “has no place” in web development. And C# is compiled one and people using it for web development.

            Oh yes, that could be confusion. :D

            Thanks for explanation of the relation of C# and ASP.NET. It should clear the confusion.

  4. M0rris says:

    @vbasp

    This post isn’t talking about the programming language .It just comparing script type language and compiling language. btw this is just a article and not a encyclopedia. If your should know more detail go to wikipedia

    • vbasp says:

      (This post isn’t talking about the programming language .It just comparing script type language and compiling language.)

      what are you talking about scripting language and compiling language? those are not programming languages? don’t share wrong information to younger people and don’t forget about .net. do you understand that why people giving comments? if all the people searching on Wikipedia, you also no need to come to here.

  5. kyawminlwin says:

    Great Post. Thank you for sharing

  6. M0rris says:

    <<<>>

    yes but that doesn’t mean to all the programming language list must write in this article. if you say about C# , how about other language ???? There are over 1800 programming languages in the world. Only the C# is the programming language.

    <>>

    ha ha what wrong in this article ??? Let me see . btw i am not the authors . He may missed to insert your lovely C# in this article. but he never wrong. .

    <>

    yes . although i am not a author in myanmartutorials , welcome
    the positive comments

    <<>>

    it sound like your can’t distinguish between the meaning of wiki and articles

    The Last thing i wanna talk to about it ,
    your shouldn’t live only the Microsoft Wall.

  7. vbasp says:

    (it sound like your can’t distinguish between the meaning of wiki and articles) ?
    have you been there before http://meta.wikimedia.org/wiki/List_of_Wikipedias ?

    I’m not say author miss about C#, but C# is not only complied language and not only for desktop applications but also can develop web applications. another big mistake is PHP, PHP is not only scripting language but also compiled language if you know deeply on it.

    you shouldn’t be live outside the Microsoft world. I think, you are not if you are using MS Windows.

  8. vbasp says:

    I did say that C# is a scripting language. read my comments again pls

    (C# is not only complied language and not only for desktop applications but also can develop web applications.)

    • THIHA says:

      ကျွန်တော်က C# ကို အဓိက ပြောချင်လို့ မဟုတ်ပါဘူး၊ အဓိပြောချင်တာက PHP ဆိုတာ တစ်ခါတစ်လေမှာ Scripting Language ဖြစ်ပြီး တစ်ခါတစ်လေ Compiled Language ဖြစ်တယ်ဆိုတဲ့ စကားကို အဓိက ပြောလိုရင်းဖြစ်ပါတယ်။ PHP ဟာ Framework တွေအထိ ဘယ်နေရာမှာ ဖြစ်ဖြစ် Scripting Language သာ ဖြစ်နေပါတယ်။ ဘယ်လိုနည်းနဲ့မှ Compiled Language မဖြစ်နိုင်ပါဘူး။ ခုလို ဆွေးနွေးပေးတာ ကျေးဇူးတင်ပါတယ်ခင်ဗျ

  9. Ei Maung says:

    Because of vbasp, this post got a-lot of comments. Thanks for the arguments. :D

    Let me clear your confusions…

    Let take Java as an example here. I added Java in the compiled languages category. But, Java use both compiler and interpreter. It first need to compiled into byte-code using a compiler called “javac”. Then you need to use “java” interpreter to execute the compiled byte-code.

    So, the statement like “compiled languages do not use interpreter” is just generally speaking and not always right. Don’t take this wrongly and just try to understand the essence.

    C# is a part of .NET framework and it has the same nature with Java in this case. I will still put C# into compiled language because it use pre-compiler to produce .NET CLR.

    Beware one thing, ASP.NET is a scripting language and C# is just an abstraction layer over it.

    Thanks.

    • vbasp says:

      I am not confused that what you said. If you are writing this article on any blogs or sites, I don’t care. What I write those comments in this articles is because of you will post this article to public on magazine. And this post is not correct 100%. I just worry for younger people in Myanmar.

      Ok let say you are a teacher, some students ask about scripting languages to you don’t tell what you are writing like that.

      Read again all the comments again carefully, thanks

  10. Ei Maung says:

    @vbasp
    Thank you very much that you are caring about young learner. I appreciate it.

    But you just made a bold statement. you said this post is “not” correct 100%. OK, let face it. Sine I wrote this post I have total responsibility.

    You have previous comments. But, let put them back and please point me the “wrong” facts clearly one-by-one (again) so that newcomer (and I myself) can learn from you? OK? Let do it?

  11. paragu7 says:

    Everythings are relative, there are no absolute.

    And Information Super Highway have too many to retrieve information with right
    or wrong or both that’s just for you or just for me or just for them or just for us,
    but if me or you or them or us want to take those informations, let filter by
    relative.

    The God put the brain on head, so don’t make it to worthless.
    If not, So many poor guy on Information Super Highway at knowledge era.

  12. Ei Maung says:

    @paragu7
    Very nice. Thoughtful one.

  13. Ravi says:

    I think Static Typing should be discussed separately from Strong Typing, and Dynamic Typing should be discussed separately from Weak Typing. So it will be better if you add another section for:

    Strong vs. Weak Typing.

  14. myintkt says:

    TROLL :)

Leave a comment


*