Basic
programming concept
Programming
တစ္ခုကိုေလ့လာေတာ့္မယ္ဆိုရင္ basic programming concepts အေနၿဖင့္သိသင့္စရာေတြ အလြန္မ်ားၿပားပါတယ္။ သို႕ေသာ္ အနိမ့္ဆံုးအေနၿဖင့္ မိမိေလ့လာမည့္
programming language သည္မည္ကဲ့သို႕ operate ၿပဳလုပ္သည္အား အေၿခခံအက်ဆံုးအေနၿဖင့္သိသင့္
ပါတယ္။ကြန္ပ်ဴတာ တစ္ခုကို အၾကမ္းအားၿဖင့္ ခ်ံဳၿငံဳၾကည့္လွ်င္ hardware နွင့္
software ေပါင္းစပ္ထားတယ္လို႕ ေၿပာဆိုနိဳင္ပါတယ္။ ကြန္ပ်ဴတာတစ္ခုကို set of
instruction(ညႊန္ၾကားခ်က္) ေတြေၿပာဆိုတဲ့အရာကို software လို႕ေၿပာဆိုနိဳင္ၿပီး ထိုညႊန္ၾကားခ်က္
instruction ေတြကို ကြန္ပ်ဴတာမွာ စက္ပိုင္းဆိုင္ရာ execute လုပ္တဲ့အရာကို hardware
လို႕ေခၚဆိုနိဳင္ပါတယ္။
Computer
programming ဆိုတာ ကြန္ပ်ဴတာကို ေစခိုင္းခ်က္ေတြခိုင္းၿပီးေတာ့္ ရလဒ္ေတြၿပသခိုင္းတဲ့
ညႊန္ၾကားခ်က္ေတြကိုေရးသားတဲ့ ( instructions ) ပညာရပ္တစ္ခုၿဖစ္ပါတယ္။ကြန္ပ်ဴတာတစ္ခုရဲ႕
အဓိက အလုပ္လုပ္တဲ့အရာဟာ CPU(Central Processing Unit) ၿဖစ္တာတဲ့အညီ instructions ေတြဟာ
ေနာက္ဆံုး CPU ကိုေရာက္ရွိမွာၿဖစ္ပါတယ္။
CPU
ဟာ C++ အပါအ၀င္ မည္သည့္ programming language ကိုမွ တိုက္ရိုက္နားလည္မွာမဟုတ္ပါဘူး။CPU
တိုက္ရိုက္နားလည္နိဳင္တဲ့ Language ကေတာ့္ instruction set လို႕ေခၚတဲ့ machine
code (သို႕) machine language ကိုပဲနားလည္မွာၿဖစ္ပါတယ္။manchine code(instructions
set) ေတြဟာ 0 နဲ႕ 1 နွစ္ခုတည္းပါတဲ့ binary digit ေတြနဲ႕သာ ဖြဲ႕စည္းထားတာ ၿဖစ္ပါတယ္။CPU
ဟာ set of binary digits ေတြကို တိက်တဲ့ instruction အၿဖစ္သို႕ ေၿပာင္းလဲၿပီး တိက်တဲ့
အလုပ္ေတြကိုလုပ္ေစပါတယ္။ကြဲၿပားၿခားနားတဲ့ CPU ေတြမွာ ပံုမွန္အားၿဖင့္ကြဲၿပားၿခားနားတဲ့
instruction set ေတြရွိတက္ပါတယ္(ဆိုလိုတာက Pentium4 ေပၚမွာ run တဲ့ instruction ေတြဟာ
Macintosh PowerPC base computer ေတြေပၚမွာ run မွာမဟုတ္ပါဘူး)။
ကြန္ပ်ဴတာေတြစတင္ထုတ္လုပ္စဥ္
အခါက programmers ေတြဟာ CPU တိုက္ရိုက္နားလည္နိဳင္တဲ့ machine language ကိုေရးသားၾကတဲ့အခါမွာ
အလြန္ခက္ခဲစြာနဲ႕ အခ်ိန္ကုန္ခံစြာေရးသားခဲ့ၾကပါတယ္။ ဘာလို႕လဲဆိုေတာ့္ ထို machine
language ဟာ တြက္ခ်က္ဖို႕ အလြန္ခက္ခဲပါတယ္ ထိုအခက္အခဲေတြကို အဆင္ေၿပေစရန္အတြက္
assembly language ကို ဦးစြာစတင္ဖန္တီးခဲ့ပါတယ္။ Machine Language ထက္စာရင္
assembly language သည္ လြယ္ကူစြာ ေရးနိဳင္ ဖတ္နိဳင္ ေသာ္လည္း CPU ကတိုက္ရိုက္ နားလည္ေတာ့္မွာ
မဟုတ္ပါဘူး။ထို႕သို႕ CPU ကနားလည္ေစရန္ assembler ကိုအသံုးၿပဳၿပီး machine language
ကိုေၿပာင္းလဲရပါတယ္။သို႕ေသာ္ assembly language သည္ သာမာန္ user တစ္ေယာက္အေနၿဖင့္ လြယ္ကူစြာ
အသံုးၿပဳနိဳင္ရန္ လိုအပ္ခ်က္ မ်ားစြာရွိေနဆဲၿဖစ္သည္။(ထို manchine language နွင့္
assembly language မ်ားအား low-level language မ်ားၿဖစ္ၾကသည္)။
ထိုကဲ့သို႕ေသာ
အားနည္းခ်က္မ်ားကို ၿပင္ဆင္ရန္အတြက္ high-level languages ေတြကို ထပ္မံဖန္တီးခဲ့ပါတယ္။
C,C++,Pascal,Java,etc.. တို႕ဟာ high-level languages ေတြၿဖစ္ပါတယ္။ထို high-level
language မ်ားၿဖင့္ေရးသားေသာ program မ်ားသည္ execute မလုပ္ခင္ CPU နားလည္ေစရန္
translate ၿပဳလုပ္ရပါတယ္။ထိုသို႕ translate ၿပဳလုပ္ရာတြင္ အဓိကအားၿဖင့္ နည္းလမ္း(၂)ခုမ်ိဳးသာရွိပါတယ္။
Complier ကိုအသံုးၿပဳတဲ့ compiling နည္းနွင့္ Interpreter ကိုအသံုးၿပဳတဲ့
interpreting နည္းတို႕ပင္ ၿဖစ္ပါတယ္။
Compiler(компилятор)
Complier
ဆိုတာ High-level language code ေတြကို CPU မွတိုက္ရိုက္နားလည္နိဳင္တဲ့ executable
code ေတြရရွိေအာင္ ၿပဳလုပ္တဲ့ program တစ္ခုၿဖစ္ပါတယ္။
Interpreter(интерпретатор)
Interpreter
ဆိုတာ code ေတြကို machine language အၿဖစ္သို႕ translate ၿပဳလုပ္ၿပီး ေနာက္ထပ္
instruction ေတြ process မၿပဳလုပ္ခင္ execute ၿပဳလုပ္တဲ့ program တစ္ခုၿဖစ္ပါတယ္။
C++
language ဟာ compile language ၿဖစ္ပါတယ္. ဒါေၾကာင့္ ကၽြန္ေတာ္တို႕ဟာ c++ language ကို အသံုးၿပဳေတာ့္မယ္ဆိုရင္
compiler တစ္ခုခုကို အသံုးၿပဳရဖို႕လိုအပ္မွာၿဖစ္ပါတယ္။
(Top 10 Best C/C++ Compilers And IDEs )
(ယခုဆက္လက္ေဖာ္ျပမည့္
tutorial မ်ားတြင္ vs2008 compiler အားအသံုးျပဳမည္ျဖစ္ပါသည္)
Written by zmk@miet51
(ယခုဆက္လက္ေဖာ္ျပမည့္ tutorial မ်ားတြင္ vs2008 compiler အားအသံုးျပဳမည္ျဖစ္ပါသည္)
Written by zmk@miet51
c example programming examples for beginners
ReplyDeletec code to list the command line arguments