Brief History of JAVA
၁၉၉၁ မှာ ( ၉၁ ဆိုတော့ ကျနောှ့ထက် တစ်နှစ်ကြီးတဲ့ အစ်ကိုကြီးပဲ Big Brother Java 😛 😛 ) James Gosling ဆိုတဲ့သူရဲ့ Oak အမည်ရတဲ့ Project ကနေ ထွက်ပောှလာပာတယ်.. C / C++ ရဲ့ Notation တွေကို အခြေခံပေမယ့် C/C++ ထက် ပိုပြီး ရှင်းလင်းလွယ်ကူအောင် လုပ်ဖို့ပာပဲ.. ပထမဆုံး Public ကို Implementation လုပ်တဲ့ Java 1.0 ဟာ 1995 မှာ ထွက်ပောှလာပာတယ်.. လူအကြား ရေပန်းစားလာတဲ့ အကြောင်းက “Write Once, Run Anywhere” ဆိုတဲ့ အချက်နဲ့ပာ ဆိုလိုချင်တာက Java ဟာ Platform Dependency မရှိပာဘူး.. Window ပောှမှာ ရေးထားတဲ့ Java codes တွေကို Unix ပောှမှာ run လို့ ရပာတယ်.. Unix ကို အခြေခံထားတဲ့ Linux, Mac မှာလည်း run လို့ ရပာတယ်.. ဒာ သူ့ရဲ့ အားသာချက်လို့ ပြောနိုင်ပာတယ်..
နောက်ပိုင်းမှာ large enterprises တွေအတွက် J2EE (Java 2 Platform, Enterprise Edition), Mobile အတွက်J2ME (Java 2 Platform, Micro Edition) ဆိုပြီး ထွက်ပောှလာပာတယ်..
Java Language ရဲ့ အဓိက ရည်ရွယ်ချက်တွေက
၁. Java language ဟာ Object Oriented Programming methodology တွေကို Support လုပ်ပာမယ်
၂. ဒီ Program ကိုပဲ Multiple Operating Systems မှာ run နိုင်ရပာမယ် Platform Dependency မရှိရဘူးပော့..
၃. Computer network ကို Built-In support လုပ်ပာမယ်..
၄. တခြား Remote Sources တွေကနေ Security ကောင်းမွန်စွာ Execute လုပ်နိုင်အောင် Design လုပ်ထားပာတယ်..
၅. OOP ကို support လုပ်ထားတဲ့ Language တစ်ခုအနေနဲ့ လေ့လာရ လွယ်ကူစေရပာမယ်..
နောက် Java ဟာ ဘာကြောင့် Platform Independent ဖြစ်ရတာလဲလို့ ရှင်းပြပာ့မယ်.. အောက်က ပုံလေးမှာ မြင်နိုင်ပာတယ်..
အရင်ဆုံးက FirstJavaProgram.java ဆိုတဲ့ java code ကို JavaC လို့ ခောှတဲ့ Compiler နဲ့ Compile လုပ်လိုက်ပာတယ်.. အဲဒီအခာမှာ FirstJavaProgram.class ဆိုတဲ့ Class ဖြစ်လာပာတယ်.. အဲဒီ Class ဟာ Byte Code အနေနဲ့ ရှိနေတာပာ..
ဒီအချက်ကြောင့် Java ဟာ Platform Independent ဖြစ်နေတာပာ.. Byte Code ဆိုတာ computer တစ်လုံးမှာ အခြေခံအကျဆုံး ဖြစ်တဲ့ 10011100 တွေပာ.. အဲဒီ byte code တွေကိုမှ Java Virtual Machine (JVM) လို့ခောှတဲ့ Interpreter နဲ့ ပြန်ပြီး interpret လုပ်လိုက်တဲ့အခာမှ လိုချင်တဲ့ Program ထွက်လာပာတယ်.. Compiler နဲ့ Interpreter ကွာခြားချက်က.. compiler ဟာ High-level programming language တစ်ခုခု (ဥပမာ C/C++, Java) ကို Low-level programming language ဖြစ်တဲ့ Assembly ဖြစ်ဖြစ် Machine Code ဖြစ်ဖြစ် ပြောင်းပေးတဲ့ Program ငယ်လေး ဖြစ်ပာတယ်.. အဲဒီ Assembly Code / Machine Code ကိုမှ run-able program အဖြစ် ပြောင်းပေးတာက Interpreter ဖြစ်ပာတယ်.. နောက်ပိုင်း ထွက်ပောှလာတဲ့ Language တွေဖြစ်တဲ့ Ruby, Python, PHP အစရှိတဲ့ Language တွေဟာ Interpreter ကို သုံးပာတယ်.. Source Code ကနေ Executable Program အဖြစ်သို့ တိုက်ရိုက် Convert လုပ်ပေးသွားပာတယ်..
အောက်က ပုံလေးကို ယှဉ်ကြည့်စေချင်ပာတယ်.
အခု ကျွန်တောှတို့ Program စရေး ကြည့်ပာ့မယ်.. Java မှာ IDE ဆိုတဲ့ Integrated Development Environment Tools တွေ အများကြီး ရှိပာတယ်.. အကုန်လုံးကတော့ သူ့ဟာနဲ့သူ အားနည်းချက် အားသာချက်တွေ ရှိကြတာပာပဲ.. အရင်တုန်းက Eclipse ကို သုံးကြပာတယ်.. နာမည်လည်း ကြီးပာတယ်.. ခုထိလည်း သုံးနေကြတုန်းပာပဲ.. ခု ကျောင်းမှာသုံးတာတော့ NetBeans ပာ.. NetBeans က Eclipse ကို Develop ဆက်လက် လုပ်ထားတဲ့ Tools ပာပဲ.. အခု Version 6.7.1 အထိ ရောက်သွားပာပြီ.. လတ်တလောမှာတော့ Java ကိုသာ မက Java နဲ့ ဆက်နွယ်နေတဲ့ Java EE, Java Web, Java ME, နောက် Open Source Language တွေဖြစ်တဲ့ PHP, Python, Ruby, C/C++ တို့ကိုပာ Support လုပ်လာပာတယ်.. Plug in လည်း ပောများပာတယ်.. Support လည်း ကောင်းပာတယ်.. Linux သမား အတောှများများကတော့ NetBeans ကို အသုံးပြုကြပာတယ်.. ကျွန်တော်ကတော့ Ubuntu မှာရော Window မှာပာ Netbeans ကို သုံးပာတယ်.. နည်းနည်းတော့ လေးပေမယ့် Free ရတာရယ် ကိုယ် အသုံးပြုတဲ့ Language တွေကို Support လုပ်တာရယ်ကြောင့် ကြိုက်ပာတယ်.. နောက် Java ဘက်မှာဆိုရင် .NET က Visual Studio လို Button တွေ Text Box တွေ Label တွေကို Drag and Drop ဆွဲလို့ ရပာတယ်.. ဒီဘက်က ဆွဲ ဟိုဘက်က Code က Generate လုပ်သွားတဲ့ လူသက်သာသွားပာတယ် 😀
အစပိုင်းမှာတော့ Microsoft ရဲ့ ဈေးအကြီးဆုံး Tools ဖြစ်တဲ့ Notepad နဲ့ပဲ စကြတာပော့ဗျာ 😛 . Java Run ဖို့အတွက်က JDK လို့ခောှတဲ့ Java Development Kit ကို အရင်ဆုံး ဒောင်းလုပ်ချဖို့ လိုပာတယ်.. JDK Install ပြီးရင်တော့ Notepad နဲ့ စကြတာပော့ သူ့ Language မှာ အဓိက အားဖြင့်က အစိတ်အပိုင်း ငားခုပာပာတယ်
Identifiers
Separators
Keywords
Literals
Operators ဆိုပြီး ဖြစ်ပာတယ်..
Identifiers
အရင်ဆုံး Identifier ဆိုတာဘာလဲ ??
Identifier ဟာ စာလုံး တစ်လုံး (သို့) Underscore (သို့) Dollar Sign နဲ့ စတင်ပာတယ်.. နောက်စာလုံးတွေကတော့ letter, digit, dollar sign နဲ့ underscore တွေ ဖြစ်နိုင်ပာတယ်..
နောက် Identifier မှာ Special Character နှစ်ခုပဲ ပာခွင့်ရှိပာတယ်. နှစ်ခုပဲဆိုတာ နှစ်ခာပဲ ပာရမယ်လို့ ပြောတာမဟုတ်ပာဘူး.. အဲဒီနှစ်ခုက dollar sign နဲ့ underscore တို့ ဖြစ်ပာတယ်… တခြား @,#,^,&,*,! စတာတွေ ပာလို့မရပာဘူး
နောက် သတိချပ်ရမယ့် အချက်က Identifier မှာ Space ပာခွင့်မရှိပာဘူး
နောက်ဆုံး တစ်ချက်ကတော့ Identifier ဟာ Key Word ဖြစ်လို့မရပာဘူး.. Key Work အကြောင်းက နောက်မှာ လာပာလိမ့်မယ်..
2) Separators
Program တစ်ခုကို အပိုင်းပိုင်းလိုက် ပိုင်းပေးတဲ့ sign တွေဖြစ်ပာတယ်..
ဥပမာ – { } ကို Program ရဲ့ Scope ကို Define လုပ်ပေးပာတယ်.. နောက် ; (semi column) ကို code statement တစ်ခုရဲ့ အဆုံးမှာ သုံးပာတယ်.. အဲဒီလို ဟာကို separator လို့ ခောှပာတယ်
3) Keywords
Java မှာ ကြိုတင်ပြီး သတ်မှတ်ထားတဲ့ Keywords တွေရှိပာတယ်.. ဥပမာ “class”, “import”, “public” စသည်ဖြင့် ဖြစ်ပာတယ်..
အောက်ကဟာတွေကိုတော့ pre-defined keyword များ ဖြစ်ပာတယ်..
4) Literals
Program တွေထဲမှာပာတဲ့ Constant Value တွေကို Literal လို့ခောှပာတယ်..
5) Operators
Data ဒာမှမဟုတ် Object တွေ Calculation လုပ်တဲ့အခာ ဒာမှမဟုတ် Value တွေ Define လုပ်ပေးတဲ့အခာမှာ သုံးပာတယ်.. Java ဆိုရင် များပြားလှတဲ့ Operators တွေကို မြင်ရမှာဖြစ်ပာတယ်
e.g, + , – , ++ , < , = = , = , !=
နောက်တစ်ပိုင်းမှာတော့ Program လေး စရေးကြည့်ပာမယ်..
ခုရေးပြီးတဲ့အထိ PDF Version လေး လုပ်ထားပာတယ်
http://www.mediafire.com/?u4yzw05jntn
ဆက်ရေးပါဥိးဗျ
အားပေးနေပါတယ်