Programming ဆိုတာ ဘာလဲ မေျပာခင္ programming ရဲ႕ သမိုုင္းကို အရင္ေျပာရေအာင္ဗ်ာ၊၊
computer အတြက္ အလုပ္လုပ္မယ့္ ပထမဆံုုး algorathm နဲ႕ တည္ေဆာက္ထားတယ့္ programming ကို စတင္ ေမြးဖြားအသက္သြင္း ခဲ့သူ ကေတာ့ England ႏိုင္ငံ London ၿမိဳ႕က “Ada Lovelase” ပဲျဖစ္ပါတယ္ ၊ သူမက programming ရဲ႕ မိခင္ႀကီးေပါ့၊
သူမကို 1815,December,10 မွာေမြးခဲ႔တာပါ ၊ 1852,Novemver,27 သူမအသက္ ၃၆ နွစ္မွာ လူသားေတြအတြက္ အလြန္အသံုုး၀င္တယ့္ programming ဆိုုတယ့္ မ်ိဳးဆက္သစ္ကိုု ထားခဲ႕ျပီး ေလာကၾကီးမွ အနားယူသြားပါတယ္ ၊ ေရွးပေ၀သဏီေခတ္တုုန္းကေတာ့ arithmethic တိုု႕ algebra တိုု႕ geometry တိုု႕လိုု စိတ္ကူးျခင္းေတြမရွိပါဘူး ၊ အဲ႔ဒီတုုန္းက လူသားေတြရဲ႕ သမိုုင္းမွာ တြက္ခ်က္ေပးတယ့္ စက္ပစၥည္းနဲ႕ ပတ္သက္တယ့္ ပစၥည္းဆိုုလိုု႕ BC2500 ခန္႕က Sumeria မွာ တီထြင္ခဲ့တယ့္ “ေပသီးတြက္ခံုု” ပဲ ရွိခဲ႔တာပါ ၊ ၊ BC100 ေလာက္က ပထမဆံုုး “mechanical calculator “ လိုု႕ ေခၚခဲ႕တာေပါ့ ၊ သူရဲ႕ အမ်ိဳးမ်ိဳးေသာ အရြယ္အစားနဲ႕ gears ေတြက calculations လုပ္ဖိုု႕အတြက္ေဆာင္ရြက္ေပးပါတယ္ ၊ အဲ႕ဒါကလည္း lunar-to-soloar calendars မွာသံုုးတဲ့ metonic cycle ကို အေျခခံၿပီးေတာ့ တည္ေဆာက္ထားတာပါ ၊ ထားပါေတာ့ဗ်ာ ၊ အရင္ ပေ၀သဏီ ကအေၾကာင္းေတြေတာ့ ျပန္မေျပာေတာ့ဘူး ၊ Analytical Engine အတြက္ ပထမဆံုး computer program ကိုု သခ်ာၤပညာရွင္ Ada Lovelase က Bernoulli numbers ရဲ႕ အစီအစဥ္ေတြကို တြက္ခ်က္ျပီးေရးသြားခဲ့ပါတယ္ ၊ Numerical calculations ရဲ႕ synthesis ဟာ computer programming အတြက္ ၾကိဳတင္ေဟာကိန္းလိုပါပဲ ၊အဲ႕ဒီေနာက္မွာေတာ့ လူသားေတြအတြက္ အလြန္လြယ္ကူတဲ့ နည္းလမ္းနဲ႔ အမိန္႕မ်ားျဖည့္သြင္းပီးေတာ့ ဖြဲ႕စည္းတည္ေဆာက္မႈေတြကို အၾကံရခဲ့ ပါတယ္ ၊ အဲ့ဒါက computer programming ရဲ႕ modern development ကို ဦးေဆာင္လမ္းျပေပးခဲ့တာပါ၊ စက္မႈေတာ္လွန္ေရးၿပီးေနာက္ပိုင္းေတာ့ Computer programming ရဲ႕ ဖြံ႕ျဖိဳးမႈက အရွိန္အရမ္းျမင့္လာပါတယ္၊
အခ်က္အလက္ေတြနဲ႕ အမိန္႕ေတြကို external punched card ေပၚမွာ ပထမဆံုး သိုုေလွာင္လိုက္ပါတယ္ ၊punched card ဆိုတာ stiff paper ရဲ႕ အပိုုင္းအစေလးပါပဲ ၊ punched card ထဲမွာ data processing applications ေတြအတြက္ data ဒါမွမဟုုတ္ စက္အစိတ္အပိုင္းကို အလိုေလွ်ာက္ ထိန္းခ်ဳပ္ဖို႕အတြက္ commands ေတြပါပါတယ္ |ေနာက္မွ punched card အေၾကာင္းကို post တစ္ခုအေနနဲ႔ေရးေတာ့မယ္ ၊အခုဆက္ရေအာင္ဗ်ာ
1880 မွာ Herman Hollerith က အခ်က္အလက္ေတြ မွတ္တမ္းတင္နိုုင္ တဲ့ ၾကားခံတစ္ခုကို တည္ထြင္ခဲ႔ပါတယ္။အဲ့ဒီ့ ၾကားခံမွာ ထည့္သြင္းထားတဲ့ မွတ္တမ္းေတြကို စက္ေတြနဲ႔ျပန္ဖတ္နိုုင္တယ္၊ Hellerith က အေမရိကန္ သခ်ာၤပညာရွင္ န႕ဲ တီထြင္သူေပါ့ ၊ သူက သန္းေပါင္းမ်ားစြာေသာ data ေတြကေန လ်င္ျမန္စြာ တြက္ခ်က္ေပးနုုိင္မယ့္ mechanical tabulator ကို punched card ေပၚမွာ အေျခခံပီးေတာ့ တီထြင္ခဲ့ပါတယ္ ၊”Hellerith cards” လို႕ ပထမဆံုုးေခၚခဲ့ပါတယ္ ၊ သူက keypunch,sorter နဲ႕ tabulator unit record machines ကိုပါတီထြင္ခဲ့ပါတယ္ ၊ ဒီတီထြင္မႈေတြက သူရဲ႕ data processing လုုပ္ငန္းအတြက္ အေျခခံျဖစ္လာပါတယ္၊ Hellerith က ေနာင္မွာ IBM ဆိုပီးျဖစ္လာမယ့္ Tabulating Machine Company ကို စတင္တည္ေထာင္သူေပါ့ ၊ modern machine data porcessing ရဲ႕ ဖခင္ အျဖစ္ သတ္မွတ္ခံထားရတဲ႕ လူတစ္ေယာက္ပါ ၊ သူ႕ရဲ႕ မူၾကမ္းအယူအစ က ရာစုနွစ္တစ္ခုအတြက္ တြက္ခ်က္ေရးေလာကကို စိုးမိုးျခယ္လွယ္ခဲ့ပါတယ္ ၊ 1906 မွာ control panel(plugboard) ကိုေပါင္းထည့္ခဲ့ပါတယ္ ၊ plugboard ဆိုတာက ဘုတ္ျပားေပၚမွာ မ်ားျပားလွတယ့္ sockets ေတြကေန လ်ွပ္စစ္ပတ္လမ္းေတြ ၊ တယ္လီဖုုန္းလိုုင္းေတြ နဲ႕ ကြန္ျပဴတာ အစိတ္အပိုုင္းေတြကိုု အတြင္းပိုုင္းမွာခ်ိတ္ဆက္ေပးထားတာပါ ၊ ၊ Tabulator က Hardware ဆုိင္ရာ ျပန္လည္တည္ေဆာက္ျခင္းမရွိပဲ ထူးျခားလွတယ့္အလုပ္ မတူညီတယ့္အလုပ္ေတြကို လုပ္ခြင့္ေပးထားပါတယ္ ၊ 1940 မွာ IBM 602 နဲ႕ IBM 604 ကေတာ့ မ်ားျပားလွတယ့္ တြက္ခ်က္မႈေတြကို စံနႈန္းျမင့္ မွတ္တမ္းတင္နိုုင္ခဲ့ပါတယ္ ၊ သူရဲ႕ control panels ေတြက operations ရဲ႕ စာရင္းအခ်က္အလက္ေတြကိုု သတ္မွတ္နိုုင္ခဲ့တယ္ ၊ ဒီနည္းနဲ႕ပဲ programmable machines ေတြျဖစ္လာခဲ့ပါတယ္ ၊
ေနာက္တေယာက္ကေတာ့ von Neumann ပါ ၊ သူက game theory နဲ႕ design ၿပီးေတာ့ computer memory ထဲမွာ သိမ္းနိုုင္မယ့္ computer programs ေတြကိုတီထြင့္ခဲ့တယ္ ၊Computer model အားလံုုးက ထူးျခားတယ့္ အမိန္႕ေတြ(machine language) ေတြသံုုးပီး တူညီတယ့္လုုပ္ငန္းတာ၀န္ေတြ လုပ္ပါတယ္ ၊ ေနာက္ေတာ့ programmer ေတြက assembly languages ေတြကို developed လုပ္ခဲ႕ၾကပါတယ္ ၊သေကၤတပံုစံ(e.g., ADD X,TOTAL) ထဲမွာ လိပ္စာေတြသတ္မွတ္တယ္ ၊ၿပီးေတာ့ ကိန္းဂဏန္း သေကၤတ တစ္ခုခ်င္းစီ ကိုု ေရးသားတာထက္စာရင္ စာသားပံုစံတခုထဲမွာ instruction တခုခ်င္းစီကို သတ္မွတ္လိုက္တာ ပိုျပီးလြယ္ကူသြားပါတယ္ ၊
assembly language လို programming ဘာသာရပ္တစ္ခု ေပၚျခင္းက ပိုၿပီးအဆင္ေျပေစပါတယ္ ၊ အလုပ္လုပ္ရတာ ပိုၿပီးျမန္လာပါတယ္ ၊ ျပီးေတာ့ machine language ကို သံုးျခင္းထက္ လူသားေတြ error တတ္နုုိင္မယ့္ အေျခအေန ပိုနည္းလာပါတယ္ ၊ဒါေပမယ့္ assembly language က machine language တခုထက္ ပိုမိုရုိးရွင္းျပီး သေကၤတစနစ္ေတြ ပိုမ်ားမ်ားအသုံးျပဳရပါတယ္။
1954 မွာ “FORTRAN” ကို တီထြင္ခဲ့ပါတယ္ ၊ FORTRAN က ပထမဆံုး high level programming language ပဲျဖစ္ပါတယ္ ၊ high-level language က စည္းကမ္းခ်က္ၾကီးပါတယ္ ၊ program စာသား ဒါမွမဟုုတ္ source ေတြက compiler လို႕ ေခၚတယ့္ special program ကို သံုးျပီး စက္နားလည္တယ့္ အမိန္႕အျဖစ္ ေျပာင္းေပးနုုိင္ပါတယ္၊ အမွန္က FORTRAN ဆိုတယ့္ နာမည္က “Formula Translation” အတြက္ ရပ္တည္ထားတာပါ ၊ မ်ားျပားလွတယ့္ တျခား languages ေတြကိုလည္း တီထြင္ခဲ့ၾကပါတယ္ ၊ စီးပြားျဖစ္ programming languages ေတြလည္း ပါ၀င္လာပါတယ္ ၊COBOL လိုေပါ့ ၊
အခ်ိန္ကာလတိုးတက္လာေတာ့ computers ေတြရဲ႕ အလုပ္လုုပ္နုုိင္တယ့္ စြမ္းအားဟာ ဘီလူးၾကီးတေကာင္ခုုန္သြားသလို ေၾကာက္စရာေကာင္းေလာက္ေအာင္ အရမ္းျမန္ဆန္လာပါတယ္ ၊ programming ဘာသာရပ္အသစ္ ေတြကိုု ယူေဆာင္လာပါတယ္ ၊အခုုေခတ္မွာ ေက်ာ္ၾကားေနတယ့္ programming languages ေတြကေတာ့ C,C++,C#,Haskell,PHP,Java,JavaScript,Objective-C,Perl,Python,Ruby,Smalltalk,SQL,Visual Basi, ActionScript ပီးေတာ့ အမ်ားအမ်ားၾကီးရွိပါေသးတယ္ ၊ Programming ေတြ ပိုပီးပိုုပီး ျပန္႕ နွံ႕ လာတာနဲ႕အမ်ွ သင္ရတာပိုပီးလြယ္လာမယ္ ၊ပီးေတာ့ programmer ေတြက source code နည္းနည္းေလးနဲ႕ applications ေတြ developed လုပ္နိုုင္တယ့္ အေျခအေနတရပ္ကိုု ျဖစ္ေပၚေစခဲ႔ပါတယ္ ၊ low-level နဲ႔ ပတ္သတ္တဲ့ hardware ထိန္းခ်ဳပ္ဖိုု႕ လိုအပ္လာတယ့္အခ်ိန္ ဒါမွမဟုုတ္ processing speed အျမင့္ဆံုုး မရွိမျဖစ္ လိုအပ္တယ့္အခ်ိန္ေတြမွာ high-level languages ေတြအသံုးျပဳျခင္းက လက္ေတြ႕မက်ပါဘူး၊ ဖြံ႕ျဖိဳးတုိးတတ္ေနတယ့္ ကမာၻမွာ Computer Programming က ေခတ္စားေနတယ့္ အသက္ေမြး၀မ္းေၾကာင္းတခု ျဖစ္လာပါတယ္ ၊
အလုပ္အတြက္ ဒါမွမဟုတ္ အပန္းေျဖစရာအျဖစ္ computer ကိုု အသံုုးျပဳတတ္ၾကမွာပါ ၊ လူအမ်ားစုကေတာ့ ေန႕စဥ္လုုပ္ငန္းတာ၀န္ အျဖစ္ computer ကို သံုုးၾကပါတယ္ ၊ သူတို႕ သာမာန္လူေတြအတြက္ ျငီးေငြ႕ ဖြယ္ေကာင္းတယ့္ အလုပ္ေတြကိုု ေကာင္းေကာင္းကိုုင္တြယ္ေျဖရွင္း နိုုင္ပါတယ္ ၊ ဥပမာ number ေတြေပါင္းတာ ၊ စာရြက္ေပၚမွာ စာေတြေရးတာေပါ့ ၊ Game စက္တလံုုးအေနနဲ႕ သံုုးရင္လည္း ေကာင္းပါတယ္ ၊ ဘာလို႕တုန္းဆိုုေတာ့ သူတို႕က အသံနဲ႕ ရုုပ္ပံုုေတြရဲ့ sequences ေတြကိုု play ေပးနိုုင္ပါတယ္ ၊ checkbook ကို ေငြစစ္နိုုင္တယ္ ၊ paper ေတြကို print ထုုတ္နိုုင္တယ္ ၊ ဂိမ္းေဆာ့နိုုင္တယ္ ၊ ကြန္ျပဴတာနဲ႔ယွဥ္ရင္ တျခားပစၥည္းေတြက လုပ္ငန္းအတြက္ အလုုပ္လုုပ္နုုိင္စြမ္းက နယ္ပယ္က်ဥ္းေျမာင္းပါတယ္ ၊
Computer မွာ လုပ္ငန္းတာ၀န္တခုစီ ေဆာင္ရြက္ဖိုု႕ အတြက္ program ေရးရမွာျဖစ္ပါတယ္ ၊ Computer က စက္ပစၥည္းေတြထဲမွာ တာ့ စံျပပဲျဖစ္ပါတယ္ ၊ data(numbers,words,media) ေတြသိမ္းထားနိုုင္ပါတယ္ ၊ devices(monitor screen,sound system,printer) ေတြနဲ႕ အျပန္အလွန္ တြဲဖက္အလုပ္လုပ္ႏိုင္တယ္၊ programs ေတြဖန္းတီးနိုုင္ပါတယ္
“Computer မွာ လုုပ္ငန္းတာ၀န္ေတြခိုင္းဖို႕ programs ေရးရပါတယ္ ၊ ကြဲျပားျခားနားတယ့္ လုုပ္ငန္းစဥ္ေတြအတြက္ ကြဲျပားျခားနားတယ့္ programs ေတြ လိုုပါတယ္”
ဒီေန႕ေခတ္ရဲ႕ computer programs ေတြ က ေခတ္မီဆန္းျပားလာပါတယ္ ၊ သူတို႕ကို ယံုုၾကည္ဖိုု႕ ခက္ခဲပါတယ္ ၊ သူတို႕က အလြန္ အေသးစိတ္တဲ့ ခြဲစိတ္မႈတခုုလုုပ္သလိုုမ်ိဳး အားလံုုးကို ေရးရပါတယ္၊ “computer programs ေတြက အရမ္းျမန္တယ့္ အရွိန္အဟုုန္ထဲမွာ အလြန္အေျခခံက်တယ့္ operations ေတြ ရဲ႕ အစီအစဥ္ေတြအတိုုင္း အလုပ္လုပ္ကိုင္တယ္”၊
Computer program ေတြက Computer ကို လိုုအပ္တယ့္ အစီအစဥ္ေတြနဲ႔ သတင္းအခ်က္အလက္ကို စကၠန္႕နွင့္ အမ်ွပိုု႕ေပးပါတယ္ ၊ program တခုုမွာ ရိုုးရွင္းတယ့္ operations ေတြအတြက္ ၾကီးမားတယ့္ ကိန္းဂဏန္းေတြ ပါ၀င္ပါတယ္ ၊ computer မွာ အသိဥာဏ္မရွိဘူး ၊ သူက ထည့္သြင္းသတ္မွတ္ထားတဲ့ အစီအစဥ္ ေတြကိုု အလြယ္တကူ အေကာင္အထည္ေဖာ္ေပးလိုုက္တာပါ ၊
Computer ကို သံုုးဖို႔အတြက္ programming ကိုု သိရွိနားလည္ဖို႕ မလိုုပါဘူး ၊ ဒါေပမယ့္ programming ကိုု စေလ့လာရင္ေတာ့ သာမန္ထက္ပိုုပီး လံုု႕လထားဖို႕ေတာ့ လိုမယ္ဗ်ာ ၊
Ref; Brighter Myanmar
ထူးဆန္းေန ့စဥ္သတင္းမ်ား ဘေလာ့ အမ်ားအက်ိဳးအတြက္ ေစတနာျဖင့္ ကုိယ္တုိင္ေရး post မ်ားအျပင္ နည္းပညာ ညီအစ္ကုိမ်ား၏ နည္းပညာသတင္းမ်ားကုိပါ ျဖန္ ့ေ၀ေပးေနျခင္းျဖစ္ပါသည္။ အမ်ားအတြက္အက်ိဳး႐ွိမည့္ postမ်ားကုိ ႐ွယ္မိ့ရင္း credit မေပးမိ့တာမ်ိဳး႐ွိခဲ့ရင္ post ပုိင္႐ွင္အားလုံးကုိ ဒီကပဲ creditေပးပါတယ္ဗ်ာ။ Admin .Thuraaung www.htoosan.blogspot.com ထူးဆန္း ဘေလာ့သုိ ့လာေရာက္လည္ပတ္ၾကေသာ သူငယ္ခ်င္းမ်ားအားလုံးကုိ ေက်းဇူးတင္ပါသည္။
No comments:
Post a Comment