Semantic Technology နဲ့ပါတ်သတ်ပြီး workshop ၆ရက် တက်ခဲ့တယ်။ Trainer က အမေရိကန် တရုတ် Cornell ကနေ PhD ရထားတဲ့ computer scientist တစ်ယောက်ပါ။ (Semantics အကြောင်းကိုတော့ နောက် စိတ်ကူးပေါက်ရင်တော့ ရေးဦးမယ်။) ဒီ workshop တက်ရတာ ပညာလည်းရ ဗဟုသုတလည်း တိုးပါတယ်။ အဓိကက Semantics Technology ကို သင်တာဆိုပေမယ့် Dr. Wu က သူ့ရဲ့ Silicon Valley က အတွေ့အကြုံတွေကို ကြားထဲမှာ ညှပ်ညှပ်ပြောသွားတဲ့အတွက် သူ့ရဲ့ သင်တန်းချိန်တိုင်းဟာ ပျင်းစရာလုံးဝ မကောင်းခဲ့ပါဘူး။
(LISP = LISt Processing)
LISP ဆိုတာ ကွန်ပျူတာရဲ့ သမိုင်းမှာ ဒုတိယ မြောက် programming language ဖြစ်ပြီး ပထမဆုံး ကတော့ FORTRAN ပါ။ FORTRAN ကို နောက်ပိုင်း သိပ်မသုံးကြတော့ပေမယ့် LISP ကတော့ ယနေ့ထိ အသုံးဝင်တဲ့ language တစ်ခု ဖြစ်နေဆဲပါ။ အရင်က LISP ဆိုတာ ကြားဖူးရုံဘဲ ကြားခဲ့တာ။ Programming Language တွေထဲမှာ လေ့လာရ အလွယ်ကူဆုံးဖြစ်ပေမယ့် သူ့ကို ကျွမ်းကျင်ပိုင်နိုင်ဖို့တော့ ခက်တယ်လို့ ဆိုပါတယ်။ သင်တန်းရဲ့ နောက်ဆုံးရက်မှာ LISP ကို သင်ရတယ်။ Hello World လောက်တော့ စက္ကန့်ပိုင်းအတွင်းမှာ ရေးလို့ရတယ်။ ဒေါက်တာဝူကတော့ Software Engineer ကောင်းတစ်ယောက်ဖြစ်ချင်ရင် LISP ကို လေ့လာပါလို့ ပြောပါတယ်။ နောက်တစ်မျိုးပြောရရင် LISP ကို ကျွမ်းကျင်တဲ့သူဟာ software engineer ကောင်းတစ်ယောက်ဖြစ်လာမှာ သေချာသလောက် ရှိတာပေါ့။ LISP ဟာ ကျွမ်းကျွမ်းကျင်ကျင်သိရင် လွယ်ကူပြီး အသုံးဝင်တဲ့အတွက် LISP programmer တွေဟာ C++ တို့ Perl တို့နဲ့ ရေးရရင် ဒုက္ခတစ်ခု လို့ မြင်ပါတယ်တဲ့။
Paul Graham ဆိုတဲ့သူဟာ ၁၉၉၅ လောက်က သူငယ်ချင်း software engineer နှစ်ယောက်နဲ့အတူ LISP programming ကို သုံးပြီး Online Store ကို စခဲ့တယ်။ တိုက်အဟောင်းတစ်ခုရဲ့ ထပ်ခိုးလေးမှာနေပြီး ViaWeb ဆိုတဲ့ e-commerce site တစ်ခုကို လူသုံးယောက် နဲ့ ရေးခဲ့တယ်ဆိုတာ ချီးကျူးဖို့ ကောင်းပါတယ်။ အင်တာနက်သမိုင်းမှာ ပထမဆုံး web-application ဖြစ်ခဲ့တယ်လို့ ဆိုပါတယ်။ တစ်ခြား C++ နဲ့ ရေးထားတဲ့ web-application တွေလည်း မရှေးမနှောင်းမှာဘဲ ပေါ်ပေါက်လာခဲ့တယ်။ ဈေးကွက်မှာ Yahoo ကြီးစိုးလာပြီး နောက်ပိုင်း သူတို့ Online Store ကို yahoo က ဝယ်လိုက်ပြီး Yahoo Store ဖွင့်လိုက်တယ်။ ပေါလ်ဂရေဟမ်ဟာ စာချုပ်အရ Yahoo မှာ တစ်နှစ် အလုပ်လုပ်ပေးပြီး ထွက်လိုက်တယ်။ နောက်ပိုင်း yahoo store ကို ဆက်ပြီး maintain လုပ်တဲ့ programmer တွေက LISP ကို ကြောက်လို့ C++ နဲ့ Perl ကို သုံးပြီး အစအဆုံး ပြန်ရေးခဲ့တယ်။
LISP နဲ့ ရေးထားတဲ့ တစ်ခြား လူသိများတဲ့ application တွေကတော့ Emacs text editor နဲ့ AutoCAD တို့ ဖြစ်ပါတယ်။ Java တို့ .NET framework တို့ကို အဓိက စတင်ခဲ့တဲ့သူတွေဟာလဲ တစ်ချိန်က နာမည်ကျော် LISP programmer တွေ ဖြစ်တယ်လို့ သိရပါတယ်။ ကျမတက်ခဲ့တဲ့ workshop ရဲ့ trainer ကလည်း သူ့ကိုယ်သူ LISP programmer တစ်ယောက် ဖြစ်ရတာ အရမ်းကို ဂုဏ်ယူတယ်။ ဒီလောက် ညွှန်းထားတော့လည်း အချိန်ရရင် သေချာ လေ့လာကြည့်ဦးမယ်။
Dr. Wu အမြဲပြောနေတဲ့ နောက်မှတ်သားမိတာ တစ်ခုကတော့ programming ဆိုတာ သိပ္ပံပညာရပ် မဟုတ်ဘူး။ အနုပညာ တစ်မျိုးဖြစ်တယ်တဲ့။ (ဒါကြောင့် US က ကျောင်းတော်တော်များများမှာ Computer Science ဘာသာရပ်က Faculty of Arts အောက်မှာ ရောက်နေတာ ဖြစ်မယ်။) ဘယ်လိုပုံစံရေးမှ program တစ်ခု ဖြစ်မယ်ဆိုတဲ့ ပုံသေ သတ်မှတ်ချက်မရှိဘူး။ programmer တစ်ယောက်က လိုသလို ဖန်တီးလုပ်ယူလို့ရတယ်။ သူပေးတဲ့ဥပမာတစ်ခုက - အရင်တုန်းက မော်တော်ကား ထုတ်လုပ်မှုပိုင်းမှာ အမေရိကန်တွေက ကမာ္ဘကို လွှမ်းမိုးထားတယ်။ ဒါပေမယ့် ဂျပန်တွေဟာ အမေရိကန်ကားတွေကို ဝယ်၊ တစ်စချင်းစီ ဖြုတ်ပြီးတော့ လေ့လာတယ်။ နောက်တော့ အမေရိကန်ကားတွေထက် ကောင်းတာကို ထုတ်လုပ်နိုင်ခဲ့တော့ ကမာ္ဘ့ကားဈေးကွက်ဟာ ဂျပန်တွေ လက်ထဲ ရောက်သွားခဲ့တယ်။ နောက်တော့ အမေရိကန်မှာ ဆော့ဖ်ဝဲ ကုမ္ပဏီတွေ ထွန်းကားလာခဲ့တော့လည်း အရင်နည်းအတိုင်း ဂျပန်တွေ လုပ်ပြန်တယ်။ နာမည်ကြီး software တွေကို ဝယ်ပြီး နှံ့နှံစပ်စပ် လေ့လာပြန်တယ်။ ပြီးတော့ အမေရိကန်တွေကို တုပဖို့ ကြိုးစားတယ်။ ဒါပေမယ့် ဒီတစ်ကြိမ်မှာတော့ မမေရိကန်ကို မကျော်နိုင်ခဲ့ပါဘူး။ အနုပညာဆိုတာမျိုးက လိုက်ပြီး တုပလို့ ရတာ မဟုတ်လို့ပါဘဲ။ ဗန်ဂိုးရဲ့ ပန်းချီကားတစ်ချပ်ကို ကြည့်ပြီး သူဆွဲထားသလို တစ်ကြောင်းချင်း လိုက်ခြစ်ပေမယ့် ပုံစံတူ ပန်းချီကား နောက်တစ်ခုထွက်လာမှာ မဟုတ်သလိုဘဲပေါ့။
နည်းပညာတွေဟာ အမြဲ တိုးတက် ပြောင်းလဲနေတယ်။ ဒါပေမယ့် programming language တွေဟာ နည်းပညာပြောင်းလဲမှုနောက်ကို လိုက်နေတာ မဟုတ်ပါဘူး။ programming ဆိုတာ နည်းပညာတစ်ဝက် ၊ programmer တွေရဲ့ အတွေးအခေါ်တစ်ဝက်နဲ့ ပေါင်းစပ်ဖွဲ့တည်နေလို့ပါဘဲ။ မှတ်သားစရာတွေ တွေးစရာလေးတွေ အများကြီးရခဲ့တဲ့ workshop တစ်ခုဖြစ်ခဲ့ပါတယ်။
References:
(LISP = LISt Processing)
LISP ဆိုတာ ကွန်ပျူတာရဲ့ သမိုင်းမှာ ဒုတိယ မြောက် programming language ဖြစ်ပြီး ပထမဆုံး ကတော့ FORTRAN ပါ။ FORTRAN ကို နောက်ပိုင်း သိပ်မသုံးကြတော့ပေမယ့် LISP ကတော့ ယနေ့ထိ အသုံးဝင်တဲ့ language တစ်ခု ဖြစ်နေဆဲပါ။ အရင်က LISP ဆိုတာ ကြားဖူးရုံဘဲ ကြားခဲ့တာ။ Programming Language တွေထဲမှာ လေ့လာရ အလွယ်ကူဆုံးဖြစ်ပေမယ့် သူ့ကို ကျွမ်းကျင်ပိုင်နိုင်ဖို့တော့ ခက်တယ်လို့ ဆိုပါတယ်။ သင်တန်းရဲ့ နောက်ဆုံးရက်မှာ LISP ကို သင်ရတယ်။ Hello World လောက်တော့ စက္ကန့်ပိုင်းအတွင်းမှာ ရေးလို့ရတယ်။ ဒေါက်တာဝူကတော့ Software Engineer ကောင်းတစ်ယောက်ဖြစ်ချင်ရင် LISP ကို လေ့လာပါလို့ ပြောပါတယ်။ နောက်တစ်မျိုးပြောရရင် LISP ကို ကျွမ်းကျင်တဲ့သူဟာ software engineer ကောင်းတစ်ယောက်ဖြစ်လာမှာ သေချာသလောက် ရှိတာပေါ့။ LISP ဟာ ကျွမ်းကျွမ်းကျင်ကျင်သိရင် လွယ်ကူပြီး အသုံးဝင်တဲ့အတွက် LISP programmer တွေဟာ C++ တို့ Perl တို့နဲ့ ရေးရရင် ဒုက္ခတစ်ခု လို့ မြင်ပါတယ်တဲ့။
Paul Graham ဆိုတဲ့သူဟာ ၁၉၉၅ လောက်က သူငယ်ချင်း software engineer နှစ်ယောက်နဲ့အတူ LISP programming ကို သုံးပြီး Online Store ကို စခဲ့တယ်။ တိုက်အဟောင်းတစ်ခုရဲ့ ထပ်ခိုးလေးမှာနေပြီး ViaWeb ဆိုတဲ့ e-commerce site တစ်ခုကို လူသုံးယောက် နဲ့ ရေးခဲ့တယ်ဆိုတာ ချီးကျူးဖို့ ကောင်းပါတယ်။ အင်တာနက်သမိုင်းမှာ ပထမဆုံး web-application ဖြစ်ခဲ့တယ်လို့ ဆိုပါတယ်။ တစ်ခြား C++ နဲ့ ရေးထားတဲ့ web-application တွေလည်း မရှေးမနှောင်းမှာဘဲ ပေါ်ပေါက်လာခဲ့တယ်။ ဈေးကွက်မှာ Yahoo ကြီးစိုးလာပြီး နောက်ပိုင်း သူတို့ Online Store ကို yahoo က ဝယ်လိုက်ပြီး Yahoo Store ဖွင့်လိုက်တယ်။ ပေါလ်ဂရေဟမ်ဟာ စာချုပ်အရ Yahoo မှာ တစ်နှစ် အလုပ်လုပ်ပေးပြီး ထွက်လိုက်တယ်။ နောက်ပိုင်း yahoo store ကို ဆက်ပြီး maintain လုပ်တဲ့ programmer တွေက LISP ကို ကြောက်လို့ C++ နဲ့ Perl ကို သုံးပြီး အစအဆုံး ပြန်ရေးခဲ့တယ်။
LISP နဲ့ ရေးထားတဲ့ တစ်ခြား လူသိများတဲ့ application တွေကတော့ Emacs text editor နဲ့ AutoCAD တို့ ဖြစ်ပါတယ်။ Java တို့ .NET framework တို့ကို အဓိက စတင်ခဲ့တဲ့သူတွေဟာလဲ တစ်ချိန်က နာမည်ကျော် LISP programmer တွေ ဖြစ်တယ်လို့ သိရပါတယ်။ ကျမတက်ခဲ့တဲ့ workshop ရဲ့ trainer ကလည်း သူ့ကိုယ်သူ LISP programmer တစ်ယောက် ဖြစ်ရတာ အရမ်းကို ဂုဏ်ယူတယ်။ ဒီလောက် ညွှန်းထားတော့လည်း အချိန်ရရင် သေချာ လေ့လာကြည့်ဦးမယ်။
Dr. Wu အမြဲပြောနေတဲ့ နောက်မှတ်သားမိတာ တစ်ခုကတော့ programming ဆိုတာ သိပ္ပံပညာရပ် မဟုတ်ဘူး။ အနုပညာ တစ်မျိုးဖြစ်တယ်တဲ့။ (ဒါကြောင့် US က ကျောင်းတော်တော်များများမှာ Computer Science ဘာသာရပ်က Faculty of Arts အောက်မှာ ရောက်နေတာ ဖြစ်မယ်။) ဘယ်လိုပုံစံရေးမှ program တစ်ခု ဖြစ်မယ်ဆိုတဲ့ ပုံသေ သတ်မှတ်ချက်မရှိဘူး။ programmer တစ်ယောက်က လိုသလို ဖန်တီးလုပ်ယူလို့ရတယ်။ သူပေးတဲ့ဥပမာတစ်ခုက - အရင်တုန်းက မော်တော်ကား ထုတ်လုပ်မှုပိုင်းမှာ အမေရိကန်တွေက ကမာ္ဘကို လွှမ်းမိုးထားတယ်။ ဒါပေမယ့် ဂျပန်တွေဟာ အမေရိကန်ကားတွေကို ဝယ်၊ တစ်စချင်းစီ ဖြုတ်ပြီးတော့ လေ့လာတယ်။ နောက်တော့ အမေရိကန်ကားတွေထက် ကောင်းတာကို ထုတ်လုပ်နိုင်ခဲ့တော့ ကမာ္ဘ့ကားဈေးကွက်ဟာ ဂျပန်တွေ လက်ထဲ ရောက်သွားခဲ့တယ်။ နောက်တော့ အမေရိကန်မှာ ဆော့ဖ်ဝဲ ကုမ္ပဏီတွေ ထွန်းကားလာခဲ့တော့လည်း အရင်နည်းအတိုင်း ဂျပန်တွေ လုပ်ပြန်တယ်။ နာမည်ကြီး software တွေကို ဝယ်ပြီး နှံ့နှံစပ်စပ် လေ့လာပြန်တယ်။ ပြီးတော့ အမေရိကန်တွေကို တုပဖို့ ကြိုးစားတယ်။ ဒါပေမယ့် ဒီတစ်ကြိမ်မှာတော့ မမေရိကန်ကို မကျော်နိုင်ခဲ့ပါဘူး။ အနုပညာဆိုတာမျိုးက လိုက်ပြီး တုပလို့ ရတာ မဟုတ်လို့ပါဘဲ။ ဗန်ဂိုးရဲ့ ပန်းချီကားတစ်ချပ်ကို ကြည့်ပြီး သူဆွဲထားသလို တစ်ကြောင်းချင်း လိုက်ခြစ်ပေမယ့် ပုံစံတူ ပန်းချီကား နောက်တစ်ခုထွက်လာမှာ မဟုတ်သလိုဘဲပေါ့။
နည်းပညာတွေဟာ အမြဲ တိုးတက် ပြောင်းလဲနေတယ်။ ဒါပေမယ့် programming language တွေဟာ နည်းပညာပြောင်းလဲမှုနောက်ကို လိုက်နေတာ မဟုတ်ပါဘူး။ programming ဆိုတာ နည်းပညာတစ်ဝက် ၊ programmer တွေရဲ့ အတွေးအခေါ်တစ်ဝက်နဲ့ ပေါင်းစပ်ဖွဲ့တည်နေလို့ပါဘဲ။ မှတ်သားစရာတွေ တွေးစရာလေးတွေ အများကြီးရခဲ့တဲ့ workshop တစ်ခုဖြစ်ခဲ့ပါတယ်။
References: