Friday, June 8, 2012

What is Programming?



အရမ္းအသံုး၀င္လို႕တင္ေပးလိုက္တာပါ..။ဒီလို ကြာလတီပိုစ့္ေတြကိုထံုး စံအတိုင္း နက္ေဂးတစ္သန္ဒါ
(သို႕) ghostarea.net မွ ေရးသားတာျဖစ္ပါတယ္...ေသျခာဖတ္ၾကည့္ပါ တကယ္ေကာင္းမြန္ျပီးေတာ့
နည္းပညာနဲ႕ ေတြးေခၚပညာကိုဆက္စပ္ျပသြားတာပါ...။

Programming ကို ခက္တယ္.. မရဘူးခ်ည္းၾကားၾကားေနရပါတယ္..။ ကၽြန္ေတာ္ကိုယ္တိုင္လည္း ဒီျပႆနာနဲ႔ ၾကံဳေတြ ႔ခဲ့ရဖူးပါတယ္.။ ဒါေပမယ့္
Hacking:The art of exploration စာအုပ္ထဲက What is Programming ဆိုတဲ့ ေဆာင္းပါးကို ဖတ္ျပီးကတည္းက Programming ကို မေၾကာက္ဘဲ
ၾကိဳက္သြားခဲ့ပါတယ္..။ဒီလို အခက္အခဲရွိသူေတြအတြက္ ကၽြန္ေတာ္ အဲ့ဒီ့ ေဆာင္းပါးကို ဆီေလ်ာ္ေအာင္ ဘာသာျပန္ေပးလိုက္ပါတယ္..။
What is Programming.?
တကယ္ေတာ့ Programming ဆိုေတာ့ Philosophy  လိုပဲဗ်..။ သေဘာတရားေတြေပၚ အေျခခံထားတဲ့ Concept တစ္ခုပဲ..။ လမ္းညႊန္ခ်က္ေတြ
ပါတဲ့ Statement Series တစ္ခုထက္ဘာမွမပိုဘူး..စဥ္းစားၾကည့္ ဘယ္ Programm ပဲျဖစ္ျဖစ္ Statement ေတြ Instruction ေတြ စီထားတဲ့ Series
ၾကီးပဲ…သူ ႔ကို သတ္မွတ္ထားတဲ့ သီးသန္႔  Language တစ္ခုနဲ႔ ေရးထားတာပဲ ပိုတယ္..။တကယ္ေတာ့ Programming သေဘာတရားေတြကို
ကၽြန္ေတာ္တို႔ ေန႔တိုင္းလုပ္ေနတဲ့ အလုပ္ေတြမွာ လည္းပါတယ္ဗ်…ဟမ္..ေၾကာင္သြားတာလား အဟုတ္ဗ်…မယံုမရွိနဲ႔ ထမင္းခ်က္တဲ့ေနရာမွာလည္း ပါတယ္
ကားေမာင္းတဲ့ေနရာမွာလည္းပါတယ္..မနက္လင္းလို႔ သြားတိုက္တာက အစ အိပ္ရာ၀င္တဲ့အထိ Programming သေဘာတရားေတြနဲ႔ မကင္းဘူးဗ်
ဥပမာဗ်ာ.. ကၽြန္ေတာ့္က်ဴရွင္ အျပန္ အိမ္ကို ကားေမာင္းလာတယ္ အင္းးးးးးး ကၽြန္ေတာ့္အိမ္က ၂၆ လမ္း လမ္း ကိုးဆယ္မွာ ဆိုပါစို႔ဗ်ာ
၂၆ လမ္းတည့္တည့္ၾကီး ကၽြန္ေတာ္ေမာင္းလာတယ္..တိန္ ၈၆ နဲ႔ ၈၇ ၾကား လမ္းမွာ ေမာ္ေတာ္ပီကယ္ ဖမ္းေနတယ္ဗ် ဒါနဲ႔ ၈၅ လမ္းမွာ ညာေကြ ႔
လိုက္ရတယ္.. ၂၅ လမ္းမွာ ဘယ္ကိုျပန္႔ေကြ ႔တယ္ဗ်ာ ေရွ ႔က လမ္းခြဆံုဗ် ၈၈ လမ္းေလ ကၽြန္ေတာ္ဘယ္ေကြ႔ ၂၆ လမ္းေပၚျပန္တက္ျပီးတည့္တည့္သြားရင္လည္းအိမ္ေရာက္တယ္
ဒါမွ မဟုတ္ ၈၆ က်မွ ညာေကြ ႔ ၂၆ ေပၚျပန္တက္လည္း ရတယ္ဗ်
. ဒီဥပမာဟာ Programm တစ္ပုဒ္ပဲ..သူလည္း Statement Series ပဲေလ..ဟုတ္ဖူးလား..ဒါေပမယ့္ ကြန္ပ်ဳတာကို ဒီလိုၾကီး သြားေျပာလို႔
မရဘူး ကြန္ပ်ဳတာက ဒီတိုင္းၾကီး နားလည္တာဟုတ္ဖူး သူနားလည္တာက 0 နဲ႔ 1 ေတြပဲ ပါတဲ့ Machine Language ပဲေလ..ခက္တာက Machine
Language နဲ႔ Programm တစ္ပုဒ္ေရးရင္ ဘယ္ အဆင္ေျပမလဲဗ် 0 ေတြ 1 ေတြနဲ႔ ရူးသြားမွာေပါ့..ေနာ့ ဒီေတာ့ Machine Language နဲ႔ လူနားလည္တဲ့
Language ၾကားမွာ ခ်ိတ္ဆက္ေပးဖို႔ ဘာသာျပန္တစ္ခု လိုလာျပီ… အိႏၵိယက ကုလားၾကီးနဲ႔ တရုတ္ ၾကီး တို႔ စကား၀ုိင္းမွာ စကားျပန္လိုသလိုေပါ့
Programmer နဲ႔ Computer ၾကားမွာ ဘာသာျပန္လိုလာပါျပီ ဥပမာ assembler ဆိုပါစို႔ assembler ဆိုတာ Assembly Language ကေန Machine
Language ကို ဘာသာျပန္ေပးတဲ့ Translator တစ္ခုပါပဲ..Assembly Language ဟာ Machine Language ေလာက္ မရႈပ္ေထြးေတာ့ပါဘူး
သူဟာ Instruction ေတြ Variable ေတြကို စာလံုးေတြနဲ႔ အသံုးျပဳႏုိင္ပါျပီ ဒါေပသိ သူဟာ ျပီးျပည့္စံုတဲ့ Language လို႔ေျပာလို႔မရပါဘူး ဘာေၾကာင့္လဲဆိုေတာ့
architecture-specific ျဖစ္ေနတံုးပါပဲ သေဘာကေတာ.Intel x86 processors မွာ နားလည္တဲ့ Machine Language နဲ႔
Sparc processors, x86 မွာ နားလည္တဲ့ Machine Language နဲ႔ ကမတူပါဘူး..ဒီေတာ့ Intel x86 မွာ Assemble နဲ႔ ေရးတဲ့ Programm တစ္ပုဒ္ကို
Sparc Processors,x86 မွာ Run ႏိုင္ဖုိ႔ ေနာက္တစ္မ်ိဳးျပန္ေရးရပါသတဲ့..( စိတ္ေလပ…ေနာ္ ) ဒီေတာ့ဗ်ာ Programm ေကာင္းေကာင္း တစ္ပုဒ္ေရးဖို႔
အေရး Processer အေၾကာင္း အေသးစိတ္ကိုသိမွ ျဖစ္မွာ မုိ႔လားဗ်
ဒီျပႆနာေတြကို ေျဖရွင္းဖို႔ Compiler ေတြ ေပၚလာပါတယ္…ဒန္႕  မင္းသား လာျပီကြ Compiler ဆိုတာ လည္း Translator ပါပဲ သူက တျခား
တမ်ိဳးေပါ့ Super Translator ဆိုပါစို႔ ဟဲ…။ Compiler ဆိုတာ High-level Programming Language ေတြကို Machine Language ကို ေျပာင္းေပးတဲ့
Translator ပါပဲ. သူဟာ Assembler ထက္ ပိုမို ေခ်ာေမြ ႔ျပီး မတူညီတဲ့ Processor မ်ိဳးစံုေပၚမွာ Translate လုပ္ႏိုင္ပါတယ္..။ သေဘာကေတာ့ဗ်ာ High-level
Programming နဲ႔ ေရးထားတဲ့ Programme တစ္ပုဒ္ဟာ တခါေရးရံုနဲ႔ စက္တိုင္းမွာ Run ႏိုင္တယ္ ေပါ့ဗ်ာ low level ေတြကို ထပ္ခါထပ္ခါမေရးရေတာ့ သက္သာတာေပါ့
ျပီးေတာ့ High Level Language နဲ႔ ေရးတဲ့ Programm တစ္ပုဒ္ဟာပိုျပီး ဖတ္ရလြယ္တယ္ဗ် Low-level တို႔ Machine Langugae တို႔ထက္..ပိုျပီး ဖတ္ရလြယ္
ပါတယ္..။ ဒါေပမယ့္ သူ ႔ဟာ အလြန္တင္းၾကပ္တိက်တဲ့ စည္းမ်ဥ္းေတြေပၚမွာ အေျခခံျပီး ေရးရတဲ့အတြက္ သတိအရမ္းထားရပါတယ္..။
Programming မွာ အရမ္းအေရးၾကီး တဲ့ အရာတစ္မ်ိဳးကေတာ့ Pseudo-Code လို႔ေခၚတဲ့ ပံုစံတစ္မ်ိဳးပါ Pseudo-Code ဆိုတာ Programming Language
ထဲမွာပါတဲ့ ရိုးရိုး English စာလံုးေလးေတြနဲ႔ ဖြဲ ႔စည္းထားတဲ့ Form တစ္မ်ိဳးပဲျဖစ္ပါတယ္..။ Pseudo-Code ကို ဘယ္ Compiler ကမွ နားမလည္ပါဘူး ဘယ္ကြန္ပ်ဳတာ
ကမွလည္း နားမလည္ပါဘူး ဒါေပမယ့္ Programmer တိုင္းအတြက္ မရွိမျဖစ္ပါ… ဘာလို႔လဲဆိုေတာ့ Programming Language နဲ႔ English လို လူ ႔ဘာသာ စကားကို
ဆက္သြယ္ေပးထားတဲ့ တံတားတစ္စင္းျဖစ္လို႔ပါပဲ…ဥပမာဗ်ာ ခုနက ကားေမာင္းတဲ့အေၾကာင္းအရာကို Programme တစ္ပုဒ္လိုေရးၾကည့္ရေအာင္
Begin going east on 26
Until ( I arrived my home )
{
Drive down 26
}
If ( street is blocked by polices )
{
Turn (right,85);
Turn(left,25);
Turn(left,87);
}
else
{
Turn(right,86);
Turn(left,25);
Turn(left,87)
}
Turn (right,27)
For (3 iterations)
{
Drive straight for 3 roads
}
Stop at my Home
အထက္က Instruction ေတြကို ေသခ်ာၾကည့္လိုက္ပါ တစ္ေၾကာင္းခ်င္းေရးတယ္ တိက်ေသခ်ာတဲ့ Direction ေတြပါတယ္ Loggic က်က် Control Structure ေတြပါတယ္
Control Structure ေတြသာမပါရင္ ဟိုး ေရွ ႔ကလို စာပုိဒ္ၾကီးပဲ ေပါ့ ဘာမွမထူးပါဘူး  ကဲ ဒီလိုဆို နည္းနည္းေတာ့ Programming ဆိုတာကို ေပါက္ေလာက္ျပီ မခက္ဘူးေနာ္
ဒီေလာက္နားလည္ရင္ကို Programming ကိုမေၾကာက္ေတာ့ဘူး ကဲ ဆက္ရဦးမယ္…။
ခုနက Driving to Home Program ေလးမွာ Turn(right,26) တို႔ Turn(left,) တို႔ပါတာ ေတြ ႔မွာပါ Turn ဆိုတဲ့စကားလံုး တစ္လံုးထဲကို ခြဲၾကည့္ရင္…
၁.ေကြ ႔မယ့္လမ္းမွာ အရွိန္ေလးေလွ်ာ့မယ္
၂.ကားေခါင္းေလး အသာေလး၀ိုက္မယ္
၃. Steering (စတီယာတိုင္ေပါ့ဗ်ာ အမေလး လွ်ာယားလိုက္တာ) ကို လွည့္မယ္
၄. ေကြ ႔ျပီးတာနဲ႔ အရွိန္ျပန္တင္မယ္
ဘယ္လမ္းမွာမဆိုေနာ္ ေကြ ႔ဖို႔ အတြက္ ဒီ နည္းစနစ္တစ္မ်ိဳးထဲသံုးတာ..ဒီလို အခါမ်ိဳးမွာ Function လို႔ သံုးႏႈန္းႏုိင္ပါျပီ Turn Function ေပါ့ဗ်ာ ဒီ Turn Function နဲ႔ ဘယ္
ကားမဆို ဘယ္လမ္းမဆို ေကြ ႔လို႔ရပါတယ္ မယံုရင္ ေကြ ႔ၾကည့္ အဲ တြန္းျပီး ေကြ ႔တာေတာ့ ပါဘူးေနာ္ ဟီး Function ဆိုတာ argument ေတြ စုစည္းထားတာပဲျဖစ္ပါတယ္
ကဲ ခုနက Turn Function ကို Program ပံုစံ Pseudo-code ေတြထဲမွာ ထည့္ၾကည့္ရေအာင္
Function Turn(the_direction, the_street)
{
locate the_street;
slow down;
if(the_direction == right)
{
turn on the right blinker;
turn the steering wheel to the right;
}
else
{
turn on the left blinker;
turn the steering wheel to the left;
}
speed back up
}
ကဲ မလြယ္ဘူးလား ဘာလဲဟဲ ေလာကဓံမဟုတ္ဘူး ဘာလဲဟဲ့ Programming လို႔ေတာင္ ေအာ္လို႔ ရျပီ ဟီး ဟီး Function ေတြကို အသံုးျပဳရျခင္းက ဒါပါပဲ Turn ေနရာမွာ
ဒီလို အရွည္ၾကီး ေရးစရာမလိုပဲ Turn လို႔ပဲေရးပဲ ေခၚသံုးခြင့္ရွိတာေပါ့ဗ်ာ
Function ေတြနဲ႔ ပတ္သတ္ျပီး အေရးၾကီးတဲ့အေၾကာင္းအရာကေတာ့ Function တစ္ခုခ်င္းဆီမွာ သီးသန္႔ အေၾကာင္းအရာေတြရွိပါတယ္. သေဘာကေတာ့ဗ်ာ
သီးသန္႔ Local Variable ေတြ အတြက္ သီးသန္႔ Function တစ္ခုစီရွိတယ္ေပါ့ဗ်ာ သီးသန္႔ environment လို႔လည္းေျပာလို႔ရတယ္ဗ် Program တစ္ပုဒ္ရဲ ႔အသက္ဟာ
Function လို႔ ေျပာလို႔ရပါတယ္ ဘယ္ Program မွ Function မပါတဲ့ Program မရွိပါဘူး Main Function က ခြဲထြက္တဲ့ Function ေတြ Main Function ေအာက္က
Function ေတြ…Function တစ္ခုက ခြဲထြက္တဲ့ Function ေတြနဲ႔ ဖြဲ ႔စည္းထားတာပါ
ကဲ ဒါဆို Programming သေဘာ တရားကိ ုနည္းနည္းေတာ့ေပါက္သြားေလာက္ပါျပီ  Programming ေဆာင္းပါးဆိုေတာ့ ဖတ္တဲ့လူပ်င္းမွာလည္းဆိုးလို႔ ဗရုတ္သုတ္ခေလး
ေတြလည္း ထည့္ေရးေပးထားပါတယ္ ကၽြန္ေတာ္ ေနာက္က်ရင္ Programming ရဲ ႔ အဓိက Concept ေတြကိုခ်ည္း သီးသန္႔ေလးေရးေပးပါဦးမယ္ ေစာင့္ဖတ္ၾကပါဦး

ROCK FOREVER (MUSIC)

Pageviewers

CBOX

Manutd-Results

Label

Android (3) autorun (3) Backtrack (8) batch file (19) blogger (10) Botnet (2) browser (5) Brute Force (6) cafezee (2) cmd (5) Cookies (2) crack (12) Cracking (2) crypter (7) DDos (20) deepfreeze (4) defacing (1) defence (16) domain (4) Dos (9) downloader (4) ebomb (2) ebook (48) Exploit (26) firewall (3) game (2) gmail (11) google hack (16) Hacking Show (3) Hash (4) hosting (1) icon changer (1) ip adress (6) Keygen (1) keylogger (8) knowledge (67) locker (1) maintainence (8) network (17) news (31) other (35) passwoard viewer (7) password (12) Philosophy (6) Phishing (8) premium account (2) proxy (7) RAT (10) run commands (4) script (27) Shell code (10) shortcut Key (2) SMTP ports (1) social engineering (7) spammer (1) SQL Injection (30) Stealer.crack (5) tools (125) Tools Pack (4) tutorial (107) USB (3) virus (32) website (84) WiFi (4) word list (2)

Blogger templates

picoodle.com

Blogger news

Print Friendly and PDF

HOW IS MY SITE?

Powered by Blogger.

Followers

About Me

My Photo
Hacking= intelligent+techonology+psychology