Drag & Drop will replace programming ? I say, NO

မနေ့တုန်းက ရုံးမှာ PM က ပြောတယ်။ နောက်တချိန်မှာ Programming မှာ code တွေ ရေးတာ လျော့ကျလာပြီးတော့ Drag & Drop လုပ်ပြီး လိုအပ်တာလေးတွေကို library ခေါ်သုံးဖို့ ဖြစ်လာလိမ့်မယ်တဲ့။ အဲ… အဲဒါက ဘာလို့ပြောလဲဆိုတော့ ရုံးမှာက Google Enterprise Partner တစ်ခုဖြစ်တဲ့ Application ကို ရုံးမှာ ပြောင်းသုံးဖို့ပြင်နေတာကို။ ရုံးက Developer တွေက သိပ်ပြီး စိတ်ဝင်စားမှု မရှိဘူးဗျ။ ကျွန်တော်ကတော့ အဆိုးတကာ့အဆိုးဆုံးထဲမှာ ပါတယ်။ လုံးလုံးကို စိတ်မဝင်စားတာ။ ရုံးကလည်း အဲဒီ Company နဲ့ Parterner ဆိုတော့ ရုံးက project အချို့ကို အဲဒီ program နဲ့ run ချင်တာပေါ့ဗျာ။ သူက Drag & Drop တွေသုံးပြီး form ဆောက်။ နောက်ပြီးတော့ အရန်သင့် library တွေ ခေါ်သုံးလို့ရတယ်။ နောက်ပြီး webservice တွေ ရေးလို့ရတယ်။ PHP နဲ့ပြန်ချိတ်ချင်ရင် webservice သုံးပြီး ချိတ်ရမှာပေါ့။

လူကလည်း ခက်သားဗျ။ လုံးဝကို motivate မဖြစ်တာ။ WordPress project နဲ့ API တွေပဲ တောက်လျှောက်လုပ်လာလို့လားတော့ မသိဘူး။ အဲလိုမျိုး Drag & Drop လုပ်ပြီး လိုချင်တဲ့ ရေးရမှာကို မလုပ်ချင်ဘူးဖြစ်နေတယ်။ ဘာလို့မရေးချင်ရတာလဲဆိုတော့

လွတ်လပ်စွာဖန်တီးခွင့်

တခြားလူတွေတော့ မသိဘူး။ ကျွန်တော့်အတွက်တော့ website တစ်ခုကို ဖန်တီးတာပဲ ဖြစ်ဖြစ် Program တစ်ခုကို ဖန်တီးတာပဲဖြစ်ဖြစ် အမှီအခိုကင်းချင်တယ်။ လွတ်လပ်ချင်တယ်။ ဆိုပါတော့။ ကျွန်တော် ဒီဟာလေးလုပ်ချင်တယ်။ အဲဒီ function က ဒီမှာ မရဘူး။ request လုပ်ရမယ်။ ဒါမျိုး framework တွေ language တွေကို ရှောင်တယ်။ ကျွန်တော် wordpress ကို ဘာလို့ ကြိုက်လည်းဆိုတော့ လွတ်လပ်တယ်။ သူပေးထားတဲ့ API တွေက တော်တော် လုံလောက်တယ်။ http://edu.mysteryzillion.org တစ်ခုလုံးကို wordpress နဲ့ facebook API ပဲ သုံးထားတာ။ အရန်သင့်သုံးရတဲ့ အထဲမှာ အချို့ function တွေ ကိုယ်လုပ်ချင်တာတွေ လုပ်ချင်လို့ရချင်မှ ရမှာ။ Bug တွေ ရှိလာရင် ကိုယ်တိုင် ဘာမှ လုပ်လို့မရတော့ဘူး။ သူ bug fixing ပြီးအောင် စောင့်ရလိမ့်မယ်။

No Form Dynamic

နောက်တစ်ခုက Form design တွေက Dynamic တည်ဆောက်လို့မရဘူး။ Form တွေ အများကြီးစောင့်ရလိမ့်မယ်။ ကိုယ်လုပ်ချင်တာမျိုး လုပ်မယ်ဆိုရင်ပေါ့။ ဒါရွေးလိုက်ရင် ဒီဟာတွေ ပြမယ်။ ဒါရွေးရင် ဒီဟာတွေ ပြမယ်။ အဲလိုမျိုးတွေ လုပ်ဖို့ ခက်ခဲသွားပြီ။ တနည်းပြောရင် function တွေ အကုန်ရချင်ရမယ်။ development လုပ်ရတာ ပိုမြန်အော် မြန်နိုင်တယ်။ ဒါပေမယ့် အလုပ်ပိုရှုပ်မယ်။ နောက်ပြီး web 3.0 ကို မကြာခင်မှာ ပြောင်းတော့မှာပါ။ Google I/O မှာ အနာဂတ် Web ကို ပြသွားတယ်။ Web Application တွေပြောင်းလဲသွားမယ့်ပုံကို ပြထားခဲ့တယ်။ လက်ရှိ Web 2.0 ဟာ web application ဟာ online မှာပဲ လုပ်နိုင်သေးပေမယ့် နောင်ဆိုရင် offline မှာပါ လုပ်နိုင်တော့မယ်။ Online ရှိမှ တစ်ခါတည်း သူ့အလိုလို synchronize တွေ လုပ်လိမ့်မယ်။ ဒါက အခုပြောတာနဲ့တော့ ဘာမှမဆိုင်ဘူး။ လမ်းကြုံလို့ရေးလိုက်တာ။ လက်ရှိ iPhone SDK မှာအစ form dynamic ရေးနေတုန်းပဲ။ Web Development မှာဆိုရင်တော့ ASP.NET သုံးတဲ့ company တော်တော်များများက အဲလို framework မျိုး သုံးပြီး SQL ကို အဓိကထားတယ်။ ခက်တာက ရုံးမှာသုံးမယ်ဆိုတာကလည်း အဲလိုမျိုးမဟုတ်ဘူး။ Google Site နဲ့တော့တွဲလို့ ရတာပေါ့။

No Coding No happy

ကျွန်တော်အတွက်တော့ Drag & Drop တွေ ကစားနေရတာထက် code ရေးရတာ ပိုပျော်တယ်။ ဒါကြောင့် ASP.NET ထက်စာရင် PHP ကို သဘောကျမိတာ မဆန်းဘူး။ ဖြစ်သင့်တာက iPhone SDK လို MVC ပုံစံသွားရင်တော့ မဆိုးဘူးဗျ။ Web Development ကို iPhone SDK လို MVC ပုံစံနဲ့ IBOutlet တွေသုံးပြီး သွားလို့ရရင်တော့တော်တော်မိုက်တယ်။ အခုဟာက လုံးဝ Drag & Drop , click click နောက်ပြီး ဘာ Tab တွေက ဘာ။ ဘာ form က ဘာ။ စတာတွေကို အများကြီး မှတ်ရတာ တော်တော်အလုပ်ရှုပ်တယ်။ တနည်းပြောရင် သူ့ကို သုံးဖို့ user guide လေးဖတ်ပြီး လုပ်ရတာပေါ့။ Programming သင်သလိုတော့ မဟုတ်ဘူး။

ပြောချင်တာတွေကတော့ အများကြီးပဲရှိသေးတယ်။ အခုတော့ တော်တော်အိပ်ငိုက်နေပြီ။ မနက်ဖြန် အဲဒီ software အကြောင်း Exam လုပ်တာ ဖြေရအုံးမယ်။ စိတ်က မပါ။ ခက်တော့တာပဲ။ အဲဒီ software က web application ကို flex နဲ့ရေးထားတာ။ သို့ပေမယ့် ကျွန်တော့် Mac မှာ အချို့ဟာတွေ drag & drop လုပ်လို့မရဘူးဗျာ။ windows မှာတော့ drag & drop တွေ အဆင်ပြေပေမယ့် mac မှာ တော်တော် ကတီသာဗျာ။ တစ်ခါတစ်လေ drag မလုပ်မိပဲ drag ရသွားတယ်။ လုပ်ချင်ပြီဟေ့ ဆိုရင် ဘယ်တော့မှ drag ဆွဲမရ။ ခက်ပါ့။ PM က Business ပိုင်းကဆိုတော့ သူက Business အကြောင်းပဲသိတယ်။ သူ့ကိုလည်း မရှင်းပြချင်တော့ပါဘူးလေ။ လုပ်ဆိုတော့လည်း လုပ်ပေါ့။ ဘယ် project မှာ စသုံးမလဲတော့ မသိဘူး။ ကျွန်တော်ကတော့ သဘောမတွေ့တာ အမှန်ပဲ။ ကိုယ့်ဘာသာကိုယ် WordPress , Facebook API , Google MAP API လေးတွေ သုံးပြီးရေးနေရတာကတော့ အခုအချိန်ထိတော့ အဆင်ပြေနေတုန်းပဲ။

11 Comments

  1. zanhtet says:

    ဟုတ်ပါတယ် Drag and drop လုပ်တက်ရုံနဲ့ Programmer မဖြစ်ဘူးဆိုပြီး တော်တော်များများ PHP ဘက်အားသန်ကြတယ် ကျွန်တော်လည်း dot net သမားပေမယ့် Drag and Drop ကိုလုံးဝမကြိုက်ပါ။ ဒါပေမယ့် Drag and Drop က user တွေအတွက် အရမ်းအဆင်ပြေတယ်လို့ထင်တယ် Touch တွေတစ်ခတ်ဖြစ်လာရင် ကိုလိုချင်တာကို ဆွဲယူရုံ သုံးရုံပဲလေ …. အခု next generation တွေက Tablet PC တွေ IPhone က Touch တွေပါ အဲဒါတွေတစ်ခတ်အတွက် တစ်ချိန် ကျရင် အဆင်ပြေလာလိမ့်မယ်လို့ထင်တယ်… (Junior လေးပါ သိသလောက်ဝင်ပြောကြည့်တာပါ စိတ်မဆိုးလောက်ဘူးထင်ပါသည်) ကျွန်တော်က Touch & Drag and Drop ကိုအရမ်းကြိုက်တာလည်းပါမယ်ထင်တယ် :D:D:D

    1. saturngod says:

      မဟုတ်ဘူး.. လွဲနေပြီဗျ… ကျွန်တော်က User တွေအတွက်ပြောနေတာမဟုတ်ဘူးလေ။ Development အတွက်ပြောနေတာ။ နောက်ပြီး iPhone က Drag & Drop, Touch တွေ ဆိုပေမယ့် ရေးရတာတွေအကုန်လုံးက objective-c နဲ့ အကုန်ရေးပေးရတာပဲဗျ။ အရန်သင့်ဆိုလို့ Event ခေါ်တာပဲရှိတယ်။ event driving programming သဘောပဲပေါ့ဗျာ။ ထားပါတော့။ နောင်တချိန် အကုန် Touch ဖြစ်သွားမယ်ဆိုရင်တောင် keyboard ကတော့ မပျောက်သွားနိုင်သေးပါဘူးဗျာ။ mouse က ပျောက်ရင် ပျောက်သွားနိုင်မယ်။ စာရိုက်ဖို့ keyboard ကတော့ ရှိနေအုံးမှာပဲ။ Programming အတွက် code ကတော့ အတော်အသင့်ရေးနေရအုံးမှာပဲဗျ။ နောက်ပြီး C, C++ က အခုအချိန်ထိ လူသုံးအများဆုံး programming language ၂ နဲ့ ၃ နေရာမှာ ရှိနေသေးတယ်။ UI Tool က Drag & Drop ကို လက်ခံပေမယ့် အကုန်လုံးကို click , click , wizard ပုံစံကြီးနဲ့ Program တည်ဆောက်ရတာ VB6 တုန်းက တည်ဆောက်ခဲ့ဘူးပါတယ်။

      1. Nah .. C is 1st and C++ is 2nd =D

  2. CalmHill says:

    ခက်တော့အခက်သား VB 1.0 ထွက်လာတော့ Window Environment မဟုတ်သေးဘူး DOS ပဲရှိတယ် ဒါပေမယ့် သူက Button တွေဘာတွေကို ASCII Char တွေနဲ့ ဆွဲပြီးသားပါတယ် ကိုယ်တိုင်လုပ်ဖူးရင် သိပါတယ် အဲဒါကအတော် လက်ဝင်တာရယ် နောက်ပြီးတော့ Mouse နဲ့ ကလစ်လုပ်ချင်ရင် အတော်ကိုခက်တာ DOS mode မှာ Mouse ပေါ်ဖို့က ASM နဲ့ Interrupt တွေခေါ်မှပေါ်တာဗျ ဘယ်နားကလစ်နှိပ်သလဲ လိုက်ဖမ်းရတာက အတော်လက်ဝင်တာရယ် အဲဒါကို လုပ်တတ်တဲ့လူက အတော်လေ့လာထားရတာ အဲဒါကို VB 1.0 မှာ Drag and Drop ဆိုတော့ အတော်ခံရခက်တာပေါ့ဗျာ။ အဲဒါ ငတုံးတွေသုံးတဲ့ Programming Language လို့ပြောကြတာကလား သို့ပေမယ့်လည်း နောက်တော့ မသုံးချင်လည်း Productivity အရသုံးကြရတာပဲဗျ။ PowerBuilder လိုဟာဆို ပိုဆိုးတာပေါ့ ကုဒ်ကတစ်ကြောင်းလောက်တောင် ရေးချင်မှရေးရတာရယ် အကုန်လုံး ကလစ်ကလစ်နဲ့ အကုန်လုံး Data Entry တွေ Report တွေပြီးသွားတာ သုံးကြတာပဲဗျ သူများကိုယ်တိုင်ရေးရရင် ၁ လလောက်ဟာ သူက ၄-၅ ရက်နဲ့ပြီးတာကိုး နည်းနည်းပဲရေးတော့ အမှားလည်းနည်းတာပဲ။

    ဒီနေရာမှာ PHP လို Language အတွက်တော့ နည်းနည်းစဉ်းစားစရာရှိတယ် သူဟာ System Programming Language မဟုတ်ဘူး ဒီတော့ Productivity ဟာအရေးကြီးတယ် PHP Framework တွေပေါ်လာတာဟာ Productivity အတွက်စပြီးဦးတည်တာပဲ တစ်ချိန်ကလည်း ဖြစ်ခဲ့ပါတယ် C အတွက် dBase Engine တွေထွက်လာသလိုပဲဖြစ်ပါတယ်။ ဒီတော့ Coding အတွက် Productivity ပြီးရင်တော့ UI အတွက်လည်း လာမှာပါပဲ Drag and Drop ဟာ UI အတွက် Productivity အကောင်းဆုံးဆိုတာ ငြင်းလို့မရဘူး။

    နောက်ပြီးတော့ လူတစ်ယောက်ကို Drag and Drop လုပ်တတ်ဖို့ သိပ်သင်စရာမလိုဘူး ဒါပေမယ့် ဒီအတိုင်းရေးတတ်တဲ့လူ သင်ရခက်ရှာရလည်းခက်ပါတယ်။ ရေးတဲ့လူက မရေးရလို့စိတ်မပါလည်း ခိုင်းမယ့်လူကတော့ မြန်လို့များများထုတ်နိုင်တာကို မျက်စိကျပါတယ်။ ဒီနေရာမှာတော့ ဘယ်လောက်ကြိုးစားရေးတယ်ဆိုတာထက် အချိန်ဘယ်လောက်အတွင်း ငွေဘယ်လောက်ရှာမလဲက ပိုပြီးအရေးပါပါတယ်။

    Drag and Drop တွေရှိပေမယ့် ရေးရတဲ့ Language တွေက ပျောက်မသွားပါဘူး သူ့နေရာနဲ့သူ သုံးနေကြရတာပါ Language တစ်ခုဟာ နေရာအစုံမှာသုံးလို့ အဆင်ပြေတာမှမဟုတ်တာကိုးဗျ။ VS မှာလည်း အရင်ကတည်းက VC ဟာ အလုံးစုံလုပ်လို့ရတဲ့ နေရာတစ်ခုပဲ Drag and Drop လုပ်ချင်တဲ့လူ VC မသုံးပါဘူး C# လိုဟာကို တတ်ပြီလို့ပြောလို့ ရကောင်းရမယ် VC ကိုတတ်တယ်လို့ ပြောဖို့ခက်ပါတယ် သူ့ရဲ့ Scope ဟာကြီးလွန်းပါတယ်။ ဒါ့ကြောင့် C or C++ လို System Programming Language တွေဆက်ပြီးရှိနေမှာပါ ဘယ်လိုမှပျောက်မသွားနိုင်ပါဘူး။

    1. saturngod says:

      UI Development အတွက် အကောင်းဆုံးနဲ့ သဘောအကျဆုံးက iPhone SDK ပဲ။ MVC ဆိုပြီး ခွဲထုတ်ထားတဲ့ သဘောတရားကို အပြည့်အဝသုံးထားတယ်။ UI design တွေ ကြိုက်သလိုလုပ်။ ဒီ ဘက် code အပိုင်းကို လာမထိဘူး။ UI Development ကို ဦးတည်ပေမယ့် Design က UI နဲ့ ဆွဲလို့မရပြန်ဘူး။ HTML + CSS ကို အသုံးပြုနေဆဲပဲ။ Drag & Drop တွေ အသုံးပြုပြီး ရေးဆွဲတာက scope ကတော့ ကျဉ်းသွားတယ်။ Design ပိုင်းမှာ ကန့်သတ်မှုတွေ ရှိလာတာပေါ့။ Productivity က မြန်ဆန်လာနိုင်တယ်။ Error နည်းလာနိုင်တယ်။ API တွေနဲ့ တွဲပြီး လုပ်ကိုင်လာနိုင်တယ်။ Company တွေ ကောင်းပေမယ့် Developer နဲ့ Designer အနေနဲ့ skill နဲ့ creativity တွေ ကျလာတာပဲ။

      နောက်ပြီး Drag and Drop လုပ်တတ်ဖို့ သိပ်မသင်ရပေမယ့် များပြားလွန်းလှတဲ့ control တွေ form တွေ သိဖို့။ နောက်ပြီး များပြားလှတဲ့ API တွေနဲ့ တွဲသုံးဖို့အတွက်တော့ အခက်တွေ့နိုင်တယ်။ Google API ကို နားမလည်ထားတဲ့ တစ်ယောက် သို့မဟုတ် API ဆိုတာ ဘာမှန်းမသိတဲ့လူတစ်ယောက်က form တွေ ပေးထားပြီး ဖြည့်ဖို့ အတွက် link တွေ မသိတဲ့အခါမှာ ပြဿနာက စတာပဲ။ နောက်တချက် , UI Development က online software အနေနဲ့ သွားပြီး host တွေကို အကုန်လုံး Cloud ထဲမှာ သိမ်းလိုက်တယ်။ အဲဒီအတွက်ကြောင့် Company ဘက်က hosting ဖိုးသက်သာသွားနိုင်ပေမယ့် ရေရှည်အတွက် data လုံခြုံမှု ဘယ်လောက် အရေးပါလဲဆိုတာကို ထပ်စဉ်းစားစရာတွေ ဖြစ်လာတယ်။ UI Developement ကို သဘောကျလက်ခံနိုင်ပေမယ့် အခြား creativity development ပိုင်းမှာတော့ အတားအဆီးတွေ ရှိလာတာ အမှန်ပဲ။ ဥပမာ။။ VB 6 တုန်းက စခဲ့တာ VB.NET လည်းရောက်ရော လုံးဝပြောင်းလဲသွားတော့ ပြဿနာတွေ ဖြစ်ကုန်တယ်။ UI Development က code development ပိုင်းနဲ့ မတူညီတာက ပြောင်းလဲတဲ့ Impact ကြီးတာပဲ။ iPhone SDK 2 နဲ့ iPhone SDK 3 မှာ code ပိုင်းမှာ တိုးလာတာပဲရှိပေမယ့် UI Builder ပိုင်းမှာ အပြောင်းအလဲတွေ အများကြီးဖြစ်သွားတယ်။ အဲဒီတော့ iPhone SDK 2 နဲ့ ရေးထားတဲ့ စာအုပ်တွေ တစ်ခုမှဖတ်လို့မရတော့ဘူး။ Impact ကြီးရတယ်ဆိုတာကလည်း ပိုကောင်းလာအောင် အများကြီးပြောင်းချရတာ ကြောင့်ပဲ။ ဥပမာ။။ ယခု လက်ရှိ ရုံးမှာ သုံးတဲ့ Development Tool က ပြီးခဲ့တဲ့ လက tab 2 ခု ပဲရှိပေမယ့် အခု အချိန်မှာ form မှာ tab 5 ခုဖြစ်သွားပြီ။ အရင်တုန်းက ခေါ်ဆိုထားတဲ့ နာမည်တွေလည်း ပြောင်းလဲလိုက်တာတွေ ရှိလာတယ်။ တနည်းပြောရင် Development ပိုင်းမြန်ကောင်းမြန်လာနိုင်ပေမယ့် ဒီ Program ကြီးကို company က ရေးဆွဲထားတာမဟုတ်တဲ့အတွက် bug ရှိခဲ့ရင် ပြဿနာလည်း ပိုဆိုးလာနိုင်ခြေတွေ ရှိတယ်။ Bug မရှိတဲ့အပိုင်းမှာ Production တွေ အများကြီးမြန်နိုင်တယ်။ ဒါပေမယ့် ပထမဆုံး Project မှာတော့ ပုံမှန်ထက် delay ဖြစ်အောင် ဖြစ်နိုင်တယ်။ အဲဒီ risk တွေကို ရင်ဆိုင်ရဖို့ရှိတယ်။

  3. ကိုယ်ကတော့ ကြိုက်တယ်လည်းမဟုတ်ဖူး မကြိုက်ဖူးလည်းမဟုတ်ဖူး
    VB.NET သင်ရတော့ drag & drop လုပ်ရတယ်.. Android ဖတ်တော့ ဒီတိုင်း အလွတ်ရေးတယ်..
    ဒီလိုပဲ.. java ရောက်တော့ ဒီတိုင်း drag & drop လည်း လုပ်တယ်.. နောက်ကနေလည်း code ရေးတယ် ပြီးဖို့အဓိကပဲ.. XD

  4. Law Shay says:

    သီအိုရီ အရပြောရရင် နောက်ထပ် ပရိုဂရမ်းမင်း ပါရာဒိုင်းတစ်ခုဖြစ်တဲ့ Aspect Oriented Programming ဆိုတာနဲ့ ဒီ Drag N Drop ဆိုတာနဲ့ လာဆက်စပ်နေတယ်။ Microsoft က ပြီးခဲ့တဲ့ ဆယ်စုနှစ်တစ်ခုကျော်ကတည်းက သချဿဿဿာသမား ဂေါက်ဂေါက်တွေကို AOP research အတွက် ပိုက်ဆံပုံအောပြီး လုပ်ခဲ့တယ်။ MS လုပ်တော့ RND မှာ ဆရာတစ်ဆူဖြစ်တဲ့ Google ဟာလဲ လက်မနှေးခဲ့လောက်ပေဘူး။

    ဒီပါရာဒိုင်းအသစ်ပြောင်းတာနဲ့ ကုဒ်ဒါတွေအကုန် ထမင်း မငတ်ပါဘူး။ They’d become developers (not coder or programmers). ဒီဇိုင်းကတော့ လိုဦးမှာပဲလေ။ ဂရပ်ဖစ် ဒီဇိုင်းမဟုတ်ပါ။ Interface and OO Design + so called Aspect Design ဆိုတာ လာမယ်။ ဒီ Aspect ဟာ OO ရဲ့ တကယ့် ဖြည့်ဖက်ကြီး ဖြစ်နေပါတယ်။

    For completeness, I’d list some of the programming paradigms :

    1. Functional Programming (like LISP and those used in traditional theorist books)
    2. Procedural Programming (like Pascal, C and traditional Turing machine). Functional programming and procedural programming are duels and they are equivalent to each other.
    3. Object-oriented Programming (like C++, SmallTalk, Objective C, Java)
    4. Aspect-oriented Programming (like an add-on to OO. It is actually some kind of code injection – dynamic code injection before, parallel to and after any function call).

  5. WIN says:

    Sometime drag and drop is useful for programmer. For example, Form Builder with auto generated CSS. It can reduce development time.

    :P. But we have no choice and we need to getting familiar it even we don’t like to continue.

  6. wailynnoo says:

    Drag and Drop ကိုပြောင်းမယ်ဆိုတော့ ကျွန်တော်တို့မြန်မာပြည်ကလူတွေအတွက် ဘာတွေထပ်လေ့လာသင့်တယ် ဆိုတာကို ညွှန်းပေးစေချင်ပါတယ်။

    1. saturngod says:

      English စာပဲ ထပ်လေ့လာဖို့လိုတယ်။ :D

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.