Skip to main content

Command Palette

Search for a command to run...

Declarative Programming VS Imperative Programming

Published
1 min readView as Markdown
Declarative Programming VS Imperative Programming

Declarative Programming ဆိုတာ ကတော့ ဗျာ ဟိုလိုမျိုး ပေါ့ Program ကဘာလုပ်လဲ (What) ကို describe တော့လုပ်ထားတယ် ဗျ ဒါပေမယ့် အဲ Program မှာ အလုပ်လုပ်တဲ့ control flow ကိုတော့အသေးအစိတ်အတိအကျကြီး ကြိုတင်သတ်မှတ် မထား ဘူးပေါ့ဗျာ

Imperative Programming ဆိုကတော့ Program ကဘယ်လိုအလုပ်လုပ်မလဲ (How) ဆိုတာကို အသေးစိတ် တစ်ခုချင်း step by step ကို ကြိုတင်သတ်မှတ် ထားတာပေါ့ဗျာ

ဆိုပါစို့ Boss က သူ့ဝန်ထမ်း ကို အလုပ်တစ်ခု ခိုင်းလိုက်တယ်ပေါ့ဗျာ Declarative ကကျတော့ လိုချင် Result ထွက်ရင်ရပြီ ဆိုတာနဲ့ တူပြီး Imperative ကကျတော့ လိုချင်တဲ့ Result ကို သတ်မှတ်ထားတဲ့ Step အတိုင်း လုပ်ရမယ်ဆိုပြီး ပြောတာနဲ့ တူတယ်ဗျ

ပိုပြီး မြင်သာ သွားအောင် ဉပမာလေးတစ်ခု ပေးမယ် ဗျာ

ကျွန်တော်က သူငယ်ချင်း တစ်ယောက်ကို ထမင်းချက် ခိုင်းတယ် ဆိုပါစို့ Declarative နည်းနဲ့ ဆို "သားရီး ထမင်း သွားချက်ကွာ" ပေါ့ဗျာ Imperative နည်းနဲ့ ဆို "သားရီး ထမင်း အိုးထဲ ရေထည့် ဆန် ထည့်၊ ဆန်ကို ရေ သေချာ ဆေး၊ ပြီး ရင် ချက်" ဆိုပြီးပြောမှာ ပေါ့၊ လုပ်ရမယ့် flow ကို အတိအကျကြီး ပြောလိုက်တာ ဗျ Imperative မှာကျတော့

ဒီလို ပြောလည်း ရမယ် ဗျ Declarative Programming က Imperative Programming ရဲ့ အပေါ်က abstract layer လေးတစ်ခုပေါ့ ဗျာ

Declarative က တကယ်တော့ အသစ် တော့မဟုတ်ဘူး ဗျ Facebook ရဲ့ React မှာသုံးနေတာကြာပါပြီ အခုမှ Android တို့ iOS တို့ ကလည်း သူ့နောက် ကမှ လိုက်လုပ်လာကြတာ Android Jetpack Compose, Swift Compose UI ဆိုပြီး

ကျတော်က Android background ကနေလာတာဆိုတော့ Android ကိုပဲဉပမာထားပြီးပြောပါမယ်ခင်ဗျ

Imperative နဲ့ Android App ရေးမယ်ဆို xml layout file တွေ၊ code file တွေရေးရမှာပေါ့ဗျာ Item တွေကို list အလိုက်ပြမယ့် ဟာရေးမယ်ဆို အဲလို ရေးနေရမှာပေါ့

ဒီလို UI လေးပေါ်ဖို့အတွက်ကိုအဲလောက်ရေးရမှာဗျ

Declarative နဲ့ ဆို အဲလို List ပြတဲ့ screen လေးတစ်ခုကို အဲလောက်ပဲ ရေးရတယ်

ဆက်လက်လေ့လာချင်ရင် အောက်က link တွေကနေဆက်လက်ဖတ်ရှုလို့ရပါတယ်ဗျ

https://developer.android.com/jetpack/compose

https://developer.apple.com/xcode/swiftui/

https://reactjs.org

Author - Ko Zaw Moe Htike

More from this blog

Difference Between Regional NAT Gateway and Zonal NAT Gateway

ဒီ post လေးထဲမှာတော့ Regional NAT Gateway နဲ့ Zonal NAT Gateway ကွာခြားချက်တွေကို နှိုင်းယှဉ်ပြသွားမှာဘဲ ဖြစ်ပါတယ်။ ပထဆုံးအနေနဲ့ NAT Gateway ဆိုတာ ဘာလဲ ဘာအတွက် လိုအပ်တာလဲဆိုတာကို အရင်ပြောပြပေးပါမယ်။ P

Jun 19, 20264 min read86
Difference Between Regional NAT Gateway and Zonal NAT Gateway

Infrastructure ကိုင်ပြီး အိပ်ရေးမပျက် ချင် လျှင် ဒါမျိုး Alarms လုပ် 🔥🔥🔥

High Level ရေးထားတာပါ ဒါပေမဲ့ လွယ်ပါတယ် ​ကိုယ့်မှာ AWS Infra တွေရှိတယ်ဆို တွေ့သမျှ metric တွေကို alarms တွေလုပ်ပြီး notification ယူမနေဘဲ တကယ် effective ဖြစ်တဲ့ metric တွေကိုမှ CloudWatch ရဲ့ alarm feature တွေနဲ့ ပေါင်းပြီး ပို့စေချင်ပါတယ်။ ​ဥပမာ prod...

Jan 17, 20263 min read218
Infrastructure ကိုင်ပြီး အိပ်ရေးမပျက် ချင် လျှင်  ဒါမျိုး Alarms လုပ် 🔥🔥🔥

How to connect On Premises Network and Cloud (AWS)? (Part-2)

ကိုယ့်ရဲ့ ‌data center (on-prem) network နဲ့ AWS ချိတ်ဆက်ဖို့ လိုလာပြီဆိုရင် ဘယ်လို ချိတ်ဆက်ကြမလဲ? အပိုင်း (၂) မှာ တော့ Direct connect အကြောင်းကို ဆွေးနွေး သွားမှာ ဖြစ်ပါတယ်။ အပိုင်း (၁) Site-to-site VPN အကြောင်းကို လေ့လာချင်ရင်တော့ အောက်ပါ link မှာ ...

Dec 20, 20253 min read264
How to connect On Premises Network and Cloud (AWS)? (Part-2)

How to connect On Premises Network and Cloud (AWS)? (Part-1)

ကိုယ့်ရဲ့ ‌data center (on-prem) network နဲ့ AWS ချိတ်ဆက်ဖို့ လိုလာပြီဆိုရင် ချိတ်ဆက်နိုင်တဲ့ နည်း (၂) နည်း ရှိပါတယ်။ 1. Site-to-Site VPN (Virtual Private Network) 2. Direct connect Site-to-Site VPN - On-prem network နဲ့ AWS resources တွေ ချိတ်ဆက်တဲ့...

Dec 12, 20252 min read301
How to connect On Premises Network and Cloud (AWS)? (Part-1)

Accessibility for Designer

လွန်ခဲ့တဲ့အပတ်က ရုံးက Designer တွေနဲ့ တော်ကီပွားရင်း Accessibility နဲ့ပတ်သတ်တာတွေ သူတို့ကို ရှင်းပြဖြစ်တယ်။ ကိုယ်တိုင်ကလည်း အရင်ကတည်းက ဒီ topic ကိုစိတ်ဝင်စားလို့ လေ့လာနေတာဆိုတော့ အခွင့်အရေးရရင် ရသလို sharing လုပ်ဖြစ်တယ်။ အဓိကက Accessibility နဲ့ပတ်သတ်...

Nov 21, 20253 min read88
Accessibility for Designer
M

Myanmar Technical Blog

109 posts

Cloud, Linux, DevOps, Docker, Security အစရှိတဲ့ နည်းပညာများ အကြောင်းကို မြန်မာလို ပြန်လည်မျှဝေပေးမယ့် Blog ပဲဖြစ်ပါတယ်ခဗျာ...