Build Your Own Lisp
Fri 17 April 2015Computer Science ကိုလေ့လာတဲ့ လူတယောက်ရဲ့ ဘဝမှာဆိုရင် တကြိမ်တခါတော့ ဖြစ်ချင်ခဲ့ကြဖူးတဲ့ ဆန္ဒတွေထဲမှာ Programming Language တခုကို ကိုယ်တိုင်ကိုယ်ကျ ဖန်တီးချင်ဖူးကြတယ် အနည်းဆုံးတော့ ကိုယ်တိုင်လုပ်ထားတဲ့ Compiler/Interpreter တခုတော့ ရှိချင်ခဲ့ဖူးပါလိမ့်မယ်။ တက္ကသိုလ်မှာတုံးက ၃−၄ နှစ်လောက်အရောက်မှာ Programming Languages အကြောင်းတွေ Compiling Process အကြောင်းတွေသင် Grammar တွေကို ဗလာစာအုပ်မှာ ဘောပင်နဲ့ရေးကြတာတို့ BNF တို့ဘာတို့ချရေး Tree တွေဆွဲ စသည်ဖြင့် စာမေးပွဲမှာ ဖြေခဲ့ကြရတာပေါ့လေ။ အဲဒီ့အချိန်တွေဟာ ရောဂါအထဆုံး အချိန်တွေပဲပြောရမယ် သင်တဲ့ဆရာမကို Lab assignment လုပ်ဖို့ အစီအစဉ် မရှိဘူးလား မှတ်မှတ်ရရ မေးခဲ့ဖူးပါတယ်။ ကိုယ့်ဟာကိုယ် လုပ်ကြလေဆိုတဲ့ အဖြေကိုရခဲ့ဖူးတယ် အဲဒါနဲ့ ပြဿနာတက်ရင် လာမေးမယ်နော်လို့ ပြောလိုက်မိတော့ သောင်မတင်ရေမကျ တရားနာလိုက်ရတာ အတော်ကြာခဲ့ဖူးတယ် အကျဉ်းချုပ်ရရင်တော့ လာမေးလို့လည်း ပြန်ဖြေမသွားခဲ့ဘူးလို့လည်း မှတ်မိနေပါသေးတယ်။
Image From: http://commons.wikimedia.org/wiki/File:Ada_Lovelace_portrait.jpg
တခါကတော့ Understanding Computation ဆိုပြီးတော့ စာအုပ်အညွှန်း ရေးခဲ့ဖူးတယ် အဲဒီစာအုပ်ကတော့ ပြည့်ပြည့်စုံစုံရှိလို့ ကောင်းတယ်ဆိုပေမယ့် မကောင်းတဲ့အချက်က ဘွဲ့ကြိုကျောင်းသား တယောက်အတွက် ခက်လွန်းတယ်လို့ ပြောလို့ရတယ်။ တနေ့ကတော့ ရှာရင်းဖွေရင်းနဲ့ Build Your Own Lisp ဆိုပြီးတော့ စာအုပ်တအုပ်တွေ့တယ် ဖတ်ကြည့်ရင်းနဲ့ အတော်လေး သဘောကျလာတယ် C Programming ကို သင်ရင်းနဲ့ Lisp အတွက် Interactive Console တခုကို ကိုယ်တိုင် Implement လုပ်ပြထားတာ တွေ့တယ်။ အကောင်းဆုံးအချက်က ဘွဲ့ကြိုကျောင်းသား နားလည်နိုင်လောက်တဲ့ အခြေအနေနဲ့ အရှင်းလင်းဆုံးဖြစ်တာပါ။
http://www.buildyourownlisp.com/
စိတ်ဝင်စားမယ်ဆိုရင်တော့ ဖတ်ကြည့်လို့ရပါတယ် စာအုပ်က Online မှာဆိုရင် Free ဖတ်ခွင့်ပေးတဲ့အတွက် အဆင်ပြေတယ်။ ဖတ်ကြည့်ရုံတော့ မပြီးသေးဘူးပေါ့ စမ်းသပ်ကြည့်ဖို့လိုတယ် အခြေခံအားဖြင့် Programming languages တွေအကြောင်း သင်ခဲ့ဖူးမယ်ဆိုရင် ကျက်ခဲ့ဖူးတဲ့စာတွေကို အလုပ်လုပ်တဲ့ပုံ ဥပမာမြင်ရတော့ ပိုပြီးတော့နားလည်နိုင်မယ် စမ်းကြည့်ရင်တော့ Windows ပေါ်မှာတော့ နည်းနည်းအခက်အခဲရှိမယ် မရဘူးမဟုတ်ပေမယ့် Cygwin နဲ့ Setup လုပ်ရ နည်းနည်းခက်တယ် Setup အတွက် ပြဿနာမရှိချင်ရင်တော့ Linux ပဲသုံးပါ Mac မှာလည်း အဆင်ပြေပါလိမ့်မယ်။ ထုံးစံအတိုင်း နိဂုံးချုပ်ရရင်တော့ ဒါတွေနားလည်တော့ ဘာဖြစ်လာမလဲ မေးရင်တော့လည်း တသက်မှာတခါတော့ တိုက်ရိုက်အသုံးကျတဲ့ နေရာတော့ရှိချင်လည်း ရှိလာမှာပေါ့ပဲ ဖြေရမှာပါပဲလေ။