Saturday, April 8, 2017

Program ဆုိတာ ?

Program ဆုိတာ ?

Program ဆုိသည္မွာ လုပ္ေဆာင္ခ်က္တစ္ခုကုိ ကြန္ပ်ဴတာအား မည္သုိ႔မည္ပုံ လုပ္ရမည္ကုိ
ညႊန္ၾကားမႈေပးေသာ လမ္းညႊန္ခ်က္မ်ားကုိ AစီAစU္တက် စုေ၀းထားေသာAရာျဖစ္သည္။ ကြန္ပ်ဴတာ
ေတြက ကြၽန္ေတာ္တုိ႔ လူသားေတြ Aခ်င္းခ်င္းAျပန္Aလွန္ ေျပာဆုိၾကတဲ့ ဘာသာစကားမ်ဴိးကုိ
နားမလည္ပါဘူး။ တကယ္ေတာ့ ကြန္ပ်ဴတာက နားလည္တဲ့ တစ္ခုတည္းေသာ ဘာသာစကားကေတာ့
machine code (0s,1s) ေတြပဲ ျဖစ္ပါတယ္။ machine code ေတြဟာ ကြၽန္ေတာ္တုိ႔Aတြက္ နားလည္ဖုိ႔
ေရာ ေရးသားဖုိ႔ပါ လြန္စြာခက္ခဲပါတယ္။ ဒါေၾကာင့္ program ေတြကုိ ေရးသားတဲ့Aခါ နားလည္ရ
လြယ္ကူတဲ့ high level programming language ကုိ မ်ားေသာAားျဖင့္ Aသုံးျပဳၾကပါတယ္။ Uပမာ ။
C,C++, Java, VB etc… Aဲဒါေတြကုိ source program ေတြလုိ႔ ေခၚပါတယ္။ Program မ်ားကုိ Raw
textual form (Aၾကမ္းပုံစံ)Aဆင့္တြင္ execute မလုပ္နုိင္ပါ။ ၄င္းတုိ႔ကုိ computer က နားမလည္
ေသာေၾကာင့္ Aျခားေသာ program တစ္ခုက processလုပ္ေပးရပါတယ္။ သုိ႔မွသာ Aၾကမ္းပုံစံထဲရွိ
Statement မ်ားကုိ နားလည္နုိင္မွာ ျဖစ္ပါတယ္။
Program ေတြကုိ နည္းလမ္းနွစ္မ်ဴိးနဲ႔ execute (တြက္ခ်က္) နိုင္ပါတယ္။ Aဲဒါေတြကေေတာ့
Compilation နဲ႔ Interpretation တုိ့ျဖစ္ပါတယ္။

Compilation ဆုိတာ ?

Program တစ္ခုကုိ compile လုပ္တယ္ဆုိတာ Program ကုိcomputer ရဲ႔ processorကနားလည္တဲ့
code Aျဖစ္ကုိ ေျပာင္းလဲေပးတာ ပဲျဖစ္ပါတယ္။ Aဲသည္လုိ compile လုပ္နုိင္ရန္Aတြက္ compiler
ဆုိတဲ့ program တစ္ခုလုိAပ္ပါတယ္။ ၄င္းကUီးစြာ program ထဲရွိ syntactic errors (စာလုံးAသုိ
AထားAမွားမ်ား) ကုိစစ္ေဆးေပးပါတယ္။ စစ္ေဆးျပီး Aမွားကင္းစင္ေသာ programကုိ object code
Aျဖစ္သုိ႔ ေျပာင္းလဲေပးပါတယ္။ တစ္နည္းAားျဖင့္ compile လုပ္တယ္ဆုိတာ source program
ေတြကုိ input Aျဖစ္ရယူျပီး object code ကုိ output Aျဖစ္ထုတ္ေပးတာပါပဲ။ ကြန္ပ်ဴတာရဲ႔ procrssor
က source program ကုိ execute လုပ္နုိင္ျခင္းမရွိပါဘူး။ object code ကုိသာ execute
လုပ္နုိင္ပါတယ္။ C & C++ language ေတြက ဒီ compilation process ကုိသုံးပါတယ္။

Interpretation ဆုိတာ?

Interpreter က compiler ကဲ့သုိ႔ပင္ processor က execute လုပ္နုိင္ဖုိ့Aတြက္ source program
ကုိobject code Aျဖစ္ ေျပာင္းေပးပါတယ္။ Interpreter ကsource program ေတြကုိ စစ္ေဆးျခင္း ၊
machine နားလည္ေသာ operation Aျဖစ္သုိ႔ ေျပာင္းေပးျခင္း ၊ error ကင္းစင္တဲ့Aခါ execute
လုပ္ေပးျခင္းတုိ႔ကုိ ေဆာင္ရြက္ပါတယ္။ Interpreter program ကုိသုံးတဲ့ programming language
ေတြမွာ PERL လုိ႔ေခၚတဲ့ PatternExetraction and Reporting Language နွင့္ Basic တုိ့ပါ၀င္ပါတယ္။
PERLတစ္ခုကုိ interpret လုပ္တဲ့Aခါ interpreterက syntactic errors ေတြကုိUီးစြာ စစ္ေပးပါတယ္။
error တစ္ခုမွမရွိေတာ့မွ object code ကုိမထုတ္ဘဲprogram ကုိ တုိက္ရုိက္execute လုပ္ေပးပါတယ္။
Compiler နဲ႔ မတူတဲ့Aခ်က္ကေတာ့interpreter ကၾကားခံ object code ကုိ မထုတ္ဘဲ တုိက္ရုိက္
executeလုပ္ေပးျခင္းပဲျဖစ္ပါတယ္။ Execution process ကprogram ထဲမွာရွိတဲ့statement ေတြ
Aားလုံးကုိ မျပီးမခ်င္း လုပ္ေဆာင္ပါတယ္။ statement Aားလုံးျပီးသြား ျပီဆုိရင္ေတာ့ program ကုိ
terminate Aဆုံးသတ္ တယ္ လုိ႔ေခၚပါတယ္။ program မွာ input & output ဆုိျပီးနွစ္မ်ဴိး ရွိပါတယ္။
input ဆုိတာ Aသုံးျပဳသူuser ထံက ရရွိတဲ့Aခ်က္ Aလက္ျဖစ္ပါတယ္။ ရရွိတဲ့ Aခ်က္Aလက္ေတြကုိ
computer ကexecuteလုပ္ျပီးထုတ္ေပးတဲ့Aရာကုိ output လုိ႔ ေခၚပါတယ္။ Statement တစ္ခုရဲ႔
outputဟာ တစ္ျခားstatementတစ္ခုရဲ႔ input လဲ ျဖစ္နိုင္ပါတယ္။
Introduction to Java ( ဂ်ာဗားနွင့္ေတြ႔ဆုံျခင္း)
Java programming language က Sun Microsystems က၁၉၉၀ ျပည့္နွစ္ေလာက္က မိတ္ဆက္
ေပးျပီး ၊ ယခုAခ်ိန္မွာေတာ့ Aလြန္ကုိ Aသုံးမ်ားတဲ ့ language တစ္ခုျဖစ္ေနပါျပီ။Java ရဲ႔
သမုိင္းေၾကာင္းကုိ ျပည့္စုံစြာေလ့လာလုိ သည္ဆုိပါက ဤေနရာ တြင္ၾကြက္ကုိနွိပ္ပါ။ Java program ၏
တည္ေဆာက္ပုံဟာ object နွင့္ class Aေပၚတြင္ မူတည္ေနေသာေၾကာင့္Java သည္ object oriented
programming language တစ္ခုျဖစ္ပါတယ္။ တစ္ျခား language ေတြထက္ java ရဲ႔ Aားသာခ်က္
ကေတာ့မည္သည့္ OS မွာ မဆုိ execute လုပ္နုိင္ျခင္း ပင္ျဖစ္ပါတယ္။

Compiling Java program

Java ကုိ compile လုပ္ရာတြင္ Aျခားေသာ language မ်ားနွင့္ ကြဲျပားျခားနားပါတယ္။ objectcode
ထုတ္မည့္Aစား java သည္ byte code ဟုေခၚေသာ ၾကားခံ code တစ္ခုကုိ ထုတ္ေပး ပါတယ္။ ၄င္း
byte code ကုိ processor က နားလည္မည္ မဟုတ္ပါ။ Bytecode မ်ားကုိ machine က
နားလည္ေစနုိင္ရန္Aတြက္ JVM (java virtual machine) ေခၚေသာ softwareတစ္ခုလုိAပ္ပါသည္။
Java byte code မ်ားက JVM software က execute လုပ္ျပီး output Aျဖစ္ machinecode
နားလည္ေသာ code Aျဖစ္ေျပာင္းေပးပါတယ္။JVM ရွိမည္ဆုိပါက မည္သည့္ OS တြင္ မဆုိjavaကုိ
execute လုပ္နုိင္ပါသည္။ ထုိ႔ေၾကာင့္ java သည္ (Write once,run any where) တစ္ၾကိမ္သာေရးပါ။
ၾကဳိက္သည့္ OS ေပၚတြင္ run နုိင္သည္ဟူေသာ ဂုဏ္ပုဒ္ကုိရရွိခဲ့ပါသည္။ နည္းပညာAားျဖင့္ ေျပာရမည္
ဆုိလွ်င္ byte code ထက္ object code က ပုိ ၍လွ်င္ျမန္စြာexecuteလုပ္နုိင္ပါသည္ ။ ထုိ႔ေၾကာင့္ byte
code သုံးျခင္းသည္ translation layer မ်ားကုိ လုိAပ္ေစပါသည္။ ဒါေပမယ့္ ယခုေခတ္မွာေတာ့
hardware မ်ား၏ လုပ္ေဆာင္မႈမ်ားက အျမန္နႈန္း ကြာျခားခ်က္မ်ားကုိမမႈေတာ့ပါဘူး။

Java program တစ္ခုကုိစတင္ျခင္း

ပထမUီးဆုံးAေနနဲ႔ကၽြန္ေတာ္တုိ့ simple progarm တစ္ခု ေလာက္နဲ႔ စတင္ေရးၾကည့္ရေAာင္။
ဒီ code line ေေတကြ ို notepad မွာရိုကသ္ ြင္းရမွာေနာ္ ။note pad မမွ ဟုတပ္ ါဘူး windows
နဲ႔Aတူပါလာတဲ့ wordpad မွာလည္းေရးလုိ႔ရပါတယ္။ Microsoft office မွာပါတဲ့ Microsoft word
ဒါမွမဟုတ္ word perfect စတဲ့ word processing software ေတြမွာ လည္းေရးသားလုိ႔ ရပါတယ္။
1. class Firststep
2. {
3. public static void main (String args[])
4. {
5. System.out.println(”Hello”);
6. System.out.print(”Programmer”);
7. }
8. }
ကဲ program ကေတာ့ေရးျပီးသြားျပီ။save လုပ္ၾကရေAာင္။ဒီလုိ save လုပ္တဲ့Aခါ သာမန္
program application ေတြကုိ save လုပ္သလုိမ်ဴိး မိမိနွစ္သက္ရာေနရာမွာ save လုပ္လုိ႔မရပါဘူး။
ကုိယ္ JDK ကုိ install လုပ္ထားတဲ့ path လမ္းေၾကာင္းAတုိင္းသြားျပီး ၄င္း JDK folder ထဲမွ bin
ဆုိေသာ folder ထဲမွာ .javaဆုိေသာ extension နဲ႔ save လုပ္ရမွာ ျဖစ္ပါတယ္။program ကုိ ဘယ္လုိ
runလုပ္ရမယ္ဆုိတာ မေျပာခင္ Aဲဒီ program က ဘယ္လုိAလုပ္လုပ္ေပးမွာလဲ? ဆုိတာကုိ
Aရင္ရွင္းျပပါ့မယ္။ Aလုပ္လုပ္ပုံကုိ line number ေတြနဲ႔ တစ္ဆင့္ခ်င္း ရွင္းျပထားေပးတယ္။
ဆက္ေလ့လာၾကည့္ပါ။line number 1 က class တစ္ခုကုိတည္ေဆာက္တဲ့Aဆင့္ပဲျဖစ္ပါတယ္။ class
name ကေတာ့ Firststep ပဲ ျဖစ္ပါတယ္။ Line no 1 ကေတာ့class တစ္ခုတည္ေဆာက္တဲ့
Aဆင့္ပဲျဖစ္ပါတယ္။ class ရဲ့name ကေတာ့ Firststep ပဲ ျဖစ္ပါတယ္။ Line no 2 ကေတာ့ class
ရဲ့Aဖြင့္ပဲ ျဖစ္ပါတယ္။ Line no 3 ကေတာ့ main method ကုိေၾကညာတဲ့Aပုိင္းပဲ ျဖစ္ပါတယ္။
ဒီAပုိင္းကေတာ့ java program မ်ားAတြက္ မပါမျဖစ္တဲ့Aပုိင္းပဲ ျဖစ္ပါတယ္။ Line no 4 ကေတာ့
main method ရဲ့Aဖြင့္ ပဲျဖစ္ပါတယ္။Line no 5 ကေတာ့ monitor မွာ Hello ဆုိတဲ့ စာသားကုိ
ေပၚလာေစရန္ ေရးသားထားတဲ့ statement ပဲျဖစ္ပါတယ္။ Line no 6 ကေတာ့ monitor မွာ
Programmer ဆုိတဲ့ စာသားကုိေပၚလာေစခ်င္တဲ့Aတြက္ ေရးသားထားတဲ့ statement ပဲ
ျဖစ္ပါတယ္။Line no 7 ကေတာ့ main method ရဲ့ Aပိတ္ပဲ ျဖစ္ပါတယ္။ Line no 8 ကေတာ့ class ရဲ့
Aပိတ္ပဲျဖစ္ပါတယ္။ Aဲဒီမွာသတိျပဳမိလားေတာ့မသိဘူး ။ Line no 5 & 6 မွာ Aနည္းငယ္ကြဲျပား
ေနတာကုိ ။ System.out.println & System.out.print ဆုိတာေလးပါ။ System.out.print ဆုိရင္ေတာ့
output ကုိဒီAတုိင္းျပေပးမွာပဲျဖစ္ပါတယ္။ System.out.println ဆုိရင္ေတာ့ output ကုိ ျပျပီးတာနဲ႔
Aလုိေလ်ာက္ cursor ကုိေနာက္ တစ္လုိင္းသုိ႔ဆင္းေပးမွာျဖစ္ပါတယ္။
Aဲ program ကုိေတာ့ရွင္းျပီးသြားျပီ ။Aခုဘယ္လုိ run လုပ္ရ မယ္ဆုိတာကုိေျပာပါမယ္။မိမိရဲ့
စက္မွာ SDK မရွိေသးရင္ J2SESDK(software development kit)ကို download ယူပါ။ JVM က
J2SEdevelopmentkit ရဲ့ အစိတ္အပိုင္းအေနနဲ့ ပါျပီးသားပါပဲ။ J2SE package ထဲမွာ JVM ကို
JRE(Java Runtime environment) လို့လည္း ေခၚပါတယ္။ download ယူထားတဲ့ SDK ကို သင့္ရဲ့
စက္ထဲမွာ install လုပ္ပါ။ Aခုေရးထားတဲ ့program ကို Firststep.java ဆိုတဲ့ name နဲ ့bin ဆုိတဲ့
folder ေAာက္မွာ save ပါ။ Aဲ save လုပ္ျပီးျပီဆုိရင္ ကၽြန္ေတာ္တုိ႔ ဒီ program ေလးကုိ run
ၾကရေAာင္။
ကဲ သင့္ရဲ့ windows start menu ကေန cmd(command prompt)ကုိ Aရင္ဆုံး ဖြင့္လုိက္ပါ။
၄င္းမွတဆင့္ သင္ save လုပ္ထားတဲ့ program file ရွိရာ path လမ္းေၾကာင္းAတုိ္င္း ေရာက္ေAာင္
သြားပါ။ ျပီးရင္ေတာ့ သင့္ရဲ့ program ကုိ compile လုပ္ရန္Aတြက္ ေAာက္ပါ command မ်ားAတုိင္း
Aဆင့္ဆင့္လုပ္ေဆာင္ပါ။

javac Firststep.java

ဒါဆုိရင္သင့္ရဲ့ program ကုိ java compiler က compile လုပ္ေပးမွာျဖစ္ပါတယ္။ error တစ္စုံတစ္ခု
ရွိခဲ့မယ္ဆုိရင္ေတာ့ သင့္ကုိ ဘယ္ ေနရာမွာမွားယြင္းေနေၾကာင္းကုိ compiler ကေျပာပါလိမ့္မယ္။ error
ကင္းစင္ျပီဆုိရင္ေတာ့ ဘာမွေျပာမွာ မဟုတ္ပါဘူး။ ဒါဆုိရင္ ဒီprogram ကုိ run ဖုိ႔ရန္Aတြက္
ေAာက္ပါ command ကုိဆက္လက္ ရုိက္သြင္းပါ။

java Firststep

ဒါဆုိရင္ေအာက္ပါ စာသားကုိ output Aျဖစ္သင့္ျမင္ရမွာျဖစ္ပါတယ္။
သတိျပဳရန္မွာ- java compiler ကုိေခၚယူတဲ့Aခ်ိန္မွာပဲ .java ဆုိတဲ့ extension ပါ၀င္ရမွာျဖစ္ပါတယ္။
compile process မွာ error ကင္းစင္သြား ျပီဆုိတာနဲ႔ compiler ကသင့္ကုိ .class ဆုိတဲ့ extension နဲ႔
class file တစ္ခုကုိထုတ္ေပးမွာျဖစ္ပါတယ္။၄င္းကုိ byte code or class file လုိ႔ေခၚၾကပါတယ္။ java
program ကုိ run လုပ္တဲ့Aခ်ိန္မွာေတာ့JVM က၄င္းbyte code ကုိ object code Aျဖစ္ေျပာင္းလဲျပီး
execute လုပ္ေပးမွာျဖစ္ပါတယ္။ဒီလုိ run တဲ့Aခ်ိန္မွာေတာ့ “.” နဲ႔သူ႔ေနာက္က မည္သည့္ extension
ကုိမွ် ထည့္ေပးဖုိ႔မလုိပါဘူး ။ဒါကုိေတာ့ Aထူး သတိျပဳမွတ္သား ေစခ်င္ပါတယ္။ java programming
language က case sensitive ျဖစ္ပါတယ္။ ဒါေၾကာင့္ စာလုံးAၾကီးAေသးက Aစမွားယြင္းလုိ႔
မရပါဘူး။ Uပမာ ။ System.out.print ဆုိတာကုိ system.out.print လုိ႔ေရးလုိ႔မရပါဘူး။ ဒါဆုိerror
ျဖစ္ပါလိမ့္မယ္။ ဒါေလးေတြက Aမႈမဲ့Aမွတ္မဲ့ မွားယြင္းတတ္တာမုိ႔သတိျပဳေစခ်င္ပါတယ္။

ေရးသားသူ--credit
Share:

0 comments:

Post a Comment

Comments system

[blogger][disqus][facebook]

Disqus Shortname

sigma2

Recent News

PageNavi Results No.

Recent Post

Checker

Download link http://www.mediafire.com/file/254twn5cxsp9d38/Checker.apk

Search This Blog

Contact Form

Name

Email *

Message *