Programming အေၾကာင္းသိေကာင္းစရာမ်ား

Programming ဆိုတာဘာလဲ?

    Programming ဆိုတာ ကြန္ပ်ဴတာတစ္လံုးေပၚမွာ လုပ္ေဆာင္ခ်က္ေတြကို အမိန္႔ေပးခိုင္းေစႏိုင္တဲ့ အရာေတြလို႔ အၾကမ္းအေနနဲ႔ မွတ္ယူႏိုင္မွာျဖစ္ပါတယ္။ ဒီေတာ့ ကၽြန္ေတာ္တို႔ ထိေတြ႔ေနၾကတဲ့ ကြန္ပ်ဴတာဆိုတဲ့ အရာေတြကို ပထမဆံုးေလ့လာၾကည့္မွာ ျဖစ္ပါတယ္။
    ကၽြန္ေတာ္တို႔ အသံုးျပဳေနတဲ့ ကြန္ပ်ဴတာဟာ ထိေတြ႔ကိုင္တြယ္ႏိုင္ေသာအရာ (Hardware) နဲ႔ ထိေတြ႔ကိုင္တြယ္လို႔ မရႏိုင္ေသာအရာ (Software) တို႔နဲ႔ ေပါင္းစပ္ဖဲြ႔စည္းထားပါတယ္။
    Hardware ဆိုတဲ့ေနရာမွာ
(1). Input Device မ်ားျဖစ္တဲ့
    a. Keyboard
    b. Mouse
    c. Scanner
(2). Output Device မ်ားျဖစ္တဲ့
    a. Monitor
    b. Printer
(3). Main Memory (RAM)
(4). Secondary Memory (Hard disk, DVD/CD ROMs)
(5). CPU
ေနာက္ၿပီးေတာ့ သူတို႔ေတြကို တစ္ခုနဲ႔တစ္ခု ပို႔ေဆာင္ေပးေနတဲ့
(6). Bus ေလးေတြကို ဆိုလုိပါတယ္။

    ဒီေနရာမွာ သိထားရမွာက Hardware မွာ မွတ္ဥာဏ္ပဲရွိၿပီးေတာ့ အသိဥာဏ္မရွိပါဘူး။ ဒါေၾကာင့္ (Computer has no Intelligence.) လုိ႔ဆုိႏိုင္မွာျဖစ္ပါတယ္။ အဲ့ဒီအခါမွာေတာ့ ကြန္ပ်ဴတာႀကီး အသက္၀င္လာေအာင္၊ အလုပ္ေတြလုပ္လို႔ရေအာင္ သူ႔မွတ္ဥာဏ္ကို အားကိုးၿပီး အသိဥာဏ္နဲ႔တူတဲ့ Software ေတြကို Run ေပးရပါတယ္။ ဒီ Software ေတြေၾကာင့္ ကြန္ပ်ဴတာဟာ လုပ္ေဆာင္ခ်က္ေတါကို လုပ္ႏိုင္တာျဖစ္ၿပီး၊ Hardware ေတြကို ခိုင္းေစရန္အတြက္ Software ေတြလုိအပ္လာပါတယ္။
    Software ဆိုတဲ့ေနရာမွာ အလြယ္ေျပာရရင္ေတာ့ Programming ဘာသာစကားေတြနဲ႔ ေရးထားတဲ့ အစုအေ၀းတစ္ခုကို ဆိုလိုပါတယ္။ ဥပမာအားျဖင့္ Adobe Pagemaker, Photoshop, Office, AutoCAD, etc… အားလံုးကို Software လို႔ေခၚဆိုႏိုင္ပါတယ္။ အဲ့ဒါေတြ ျဖစ္လာေအာင္ Programming Languages ေတြ နဲ႔ေရးၾကရပါတယ္။ အဲ့ဒီေတာ့ Programming ဆိုတာ Software ေရးနည္းလို႔ဆိုႏိုင္မွာျဖစ္ပါတယ္။

    Program တစ္ခုမွာ
1. Data
2. Instruction/ Command ဆိုၿပီး ႏွစ္ခုပါတယ္။
ဥပမာအေနနဲ႔ေျပာမယ္ဆိုရင္
    5 နဲ႔ 4 ေပါင္းတဲ့ ကိစၥတစ္ခုကို ေဖာ္ျပပါမယ္။
အရွင္းလင္းဆံုးပံုစံနဲ႔ ျပရမယ္ဆိုရင္ 5 + 4 လို႔ေရးႏိုင္ပါတယ္။
အဲ့ဒီေနရာမွာ 5 နဲ႔ 4 က Data ျဖစ္ၿပီး  (+) က Instruction / Command ျဖစ္ပါတယ္။
    Programming Language ေတြမ်ားစြာ ရွိေနပါတယ္။ ဒါေပမယ့္ အေျခခံသေဘာတရားေတြကေတာ့ အားလံုးအတူတူပဲလို႔ ဆိုႏိုင္ပါတယ္။

    Programming Language ကို အေျခခံအားျဖင့္ေတာ့ (၃) မ်ိဳး ခဲြျခားထားပါတယ္။
1. Machine Languages
2. Assembly Languages
3. High-Level Languages တို႔ျဖစ္ပါတယ္။

1. Machine Languages

    သူ႔မွာ "0" ရယ္ "1" ရယ္ႏွစ္ခုပဲ ရွိပါတယ္။ စက္အတြက္ ေရးတဲ့စာလို႔ နားလည္ႏိုင္ပါတယ္။ လူတစ္ဦးအေနနဲ႔ေတာ့ နားလည္ဖို႔ မျဖစ္ႏိုင္ပါဘူး။ စက္တစ္လံုးအေပၚမွာေတာ့ အျပည့္အ၀နားလည္ႏိုင္တဲ့ အေျခအေနတစ္ခုျဖစ္ပါတယ္။

2. Assembly Languages

    Assembly Languages မွာေတာ့ လူက 30% ေလာက္နားလည္လာၿပီး စက္ကလည္း 70% ေလာက္ နားလည္လာပါၿပီ။ Assembly Languages မွာ Data ေတြရွိမယ္၊ Instruction / Command ေတြရွိမွာျဖစ္ပါတယ္။ ဥပမာအေနနဲ႔ ထပ္ေျပာရမယ္ဆိုရင္ေတာ့ 10 + 20 = 30 ဆိုတာမ်ိဳးပါ။ 10, 20, 30 က Data ေတြျဖစ္ၿပီး၊ + နဲ႔ = က Instruction / Command ေတြျဖစ္ပါတယ္။ ဒါေပမယ့္ စက္ကို ဒီအတိုင္းသြားေရးျပမယ္ဆိုရင္ သူကမသိႏိုင္ပါဘူး။ သူက 0 နဲ႔ 1 ႏွစ္ခုပဲသိတာ ျဖစ္ပါတယ္။ စက္နားလည္ႏိုင္ဖို႔အတြက္ ဘာသာျပန္ (Compile) လုပ္ေပးရတယ္။ အဲ့ဒီအခါမွ Machine Language ျဖစ္သြားၿပီး စက္မွ Run လို႔ရသြားမွာျဖစ္ပါတယ္။ Compile ဆိုတာ ေျပာင္းေပးတာျဖစ္ပါတယ္။ Assembly Language ကေန Machine Language ကိုေျပာင္းေပးတာကို Compile လုပ္တယ္လို႔ေခၚတယ္။ နာမည္အေနန႔ဲ Assembler လို႔ေခၚပါတယ္။

3. High-Level Languages

    High-Level Languages မွာေတာ့ လူေတြက 100% ကို နားလည္လာၿပီးျဖစ္ပါတယ္။ စက္ကိုလည္း နားလည္ေအာင္ Compile လုပ္လို႔ အဆင္ေျပသြားၿပီးလို႔ ဆိုႏိုင္ပါတယ္။ High-Level မွာလည္း Data ေတြ Instruction / Command ေတြနဲ႔ ျပည့္စံုပါတယ္။ Program တစ္ခုေရးၿပီးလို႔ စက္နားလည္ေအာင္ Compile လုပ္ေပးရင္ သူ႔ကို နာမည္အေနနဲ႔ Compiler လို႔ေခၚပါတယ္။


Programming Language မ်ားအေၾကာင္း

    Programming Language ေတြမ်ားစြာဟာ ယခင္အခ်ိန္မ်ားစြာကတည္းက ထြက္ေပၚခဲ့ပါတယ္။ နည္းပညာရဲ႕ သေဘာတရားအရ အေျပာင္းအလဲ ျမန္ဆန္တဲ့အတြက္ေၾကာင့္ ငုတ္လွ်ိဳးေပ်ာက္ကြယ္သြားတဲ့ Language ေတြရွိခဲ့သလို၊ အသစ္ထပ္မံထြက္ရွိလာတဲ့ Language ေတြေၾကာင့္လဲ Programming Language ေတြဟာ ပိုမိုမ်ားျပားလာခဲ့တယ္လို႔ ဆိုႏိုင္ပါတယ္။ Programming Language ေတြအေၾကာင္းကို အစအဆံုးတခုခ်င္းစီ ေလ့လာႏိုင္ဖုိ႔ မလြယ္ကူေပမယ့္ နာမည္ေက်ာ္ၾကားၿပီး၊ လူသိမ်ားတဲ့ Programming Language ေတြအေၾကာင္းကိုေတာ့ History မ်ားနဲ႔အတူ ေဖာ္ျပေပးလိုက္ပါတယ္။

C
    ၁၉၇၂ ခုႏွစ္က ေပၚထြက္ခဲ့တဲ့ C Programming Language ဟာ Programming ေလာကအတြက္ ခိုင္မာတဲ့ အုတ္ျမစ္တစ္ခုျဖစ္ခဲ့ပါတယ္။ နည္းပညာေလာကအေပၚမွာလည္း မ်ားစြာအက်ိဳးျပဳခဲ့ၿပီး၊ လက္ရွိအခ်ိန္ထိ အသံုးျပဳေနဆဲ Language အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။ C ကို ၁၉၆၉ ခုႏွစ္ကေန ၁၉၇၃ ခုႏ်စ္အတြင္း Dennis Ritchie က Bell Telephone Laboratories မွာ Unix Operating System အတြက္ ဖန္တီးခဲ့တာျဖစ္ပါတယ္။ C ရဲ႕ေနာက္ဆံုး Stable Release ကေတာ့ C 11 ျဖစ္ၿပီး ၂၀၁၁ ခုႏွစ္ရဲ႕ ဒီဇင္ဘာလမွာ ထြက္ခဲ့တာျဖစ္ပါတယ္။

C++
    C++ အေၾကာင္းကိုေတာ့ ကြန္ပ်ဴတာအသံုးျပဳသူအမ်ားစု ၾကားဖူးနား၀ေတာ့ အနည္းဆံုး ရွိၾကပါလိမ့္မယ္။ ဘာေၾကာင့္လဲဆိုေတာ့ C++ ဟာ Programming Language ေလာကအတါင္းမွာ ခိုင္ခိုင္မာမာရပ္တည္ႏိုင္ခဲ့ၿပီး၊ လက္ရွိအခ်ိန္ထိ အသံုးျပဳေနဆဲ Language တစ္ခုျဖစ္တဲ့အတြက္ေၾကာင့္ ျဖစ္ပါတယ္။ C++ ဟာ ၁၉၈၃ ခုႏွစ္မွာ ေပၚထြက္ခဲ့တာျဖစ္ၿပီး၊ C++ ရဲ႕ Developer ကေတာ့ Bjarne Stroustrup ျဖစ္ပါတယ္။ Bell Telephone Laboratories ဟာ နည္းပညာေလာကအတြက္ ေအာင္ေျမတစ္ခုလို႔ ဆိုႏိုင္ၿပီး C++ ကိုလည္း အဆိုပါေနရာကေန စတင္ခဲ့တာျဖစ္ပါတယ္။

C#
    Microsoft ရဲ႕ Product တစ္ခုျဖစ္တဲ့ C# ကေတာ့ ၂၀၀၁ ခုႏွစ္မွာစတင္ Develop လုပ္ခဲ့တာျဖစ္ပါတယ္။ C# ရဲ႕ Stable Release ကေတာ့ 4.0 ျဖစ္ၿပီး လြန္ခဲ့တဲ့ ၂ ႏွစ္အခ်ိန္က ျဖန္႔ခ်ိေပးခဲ့တာျဖစ္ပါတယ္။ Microsoft ဟာ လြန္ခဲ့တဲ့ ၃ လအခ်ိန္ကေတာ့ Beta Release 5.0 ကိုထပ္မံ ျဖန္႔ခ်ိေပးခဲ့ပါတယ္။ Windows Application ေတြေရးသားရာမွာ မ်ားစြာလြယ္ကူအဆင္ေျပတဲ့ Programming Language အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။

Perl
    Perl ဟာလည္း C-Base Programming Language တစ္ခုျဖစ္ၿပီး၊ ၁၉၈၈ ခုႏွစ္က ေပၚထြက္ခဲ့ပါတယ္။ Perl ရဲ႕ Developer ကေတာ့ Larry Wall ျဖစ္ပါတယ္။ Scripting Language တစ္ခုျဖစ္ၿပီး System Administration, Text Processing နဲ႔ Web Server အတြက္ လုပ္ငန္းတာ၀န္ပိုင္းေတြမွာ အသံုးျပဳမႈ မ်ားပါတယ္။ Perl ရဲ႕ Stable Release ကေတာ့ 5.16.0 ျဖစ္ၿပီး Preview Release ကေတာ့ 5.17.1 ျဖစ္ပါတယ္။

Java
    Java ကေတာ့ Programming Language ေတြထဲမွာ လက္ရွိေအာင္ျမင္မႈျမင့္မားေနတဲ့ Language တစ္ခုျဖစ္ပါတယ္။ Windows Application, Web Application ေတြနဲ႔ Mobile Application ေတြကို ေရးသားႏိုင္တဲ့ Language အမ်ိဳးအစားတစ္ခုျဖစ္ၿပီး၊ ၁၉၉၁ ခုႏွစ္မွာ စတင္ဖန္တီးခဲ့တာျဖစ္ပါတယ္။ Java ရဲ႕ Developer ကေတာ့ Games Gosling ျဖစ္ၿပီး၊ Sun Microsystems ကျဖစ္ပါတယ္။ Java ဟာ ၁၉၉၁ ခုႏွစ္မွာ စတင္ဖန္တီးခဲ့တာျဖစ္ေပမယ့္ အသံုးျပဳသူေတြထံကို ခ်ျပခဲ့တာကေတာ့ ၁၉၉၅ ခုႏွစ္ အေရာက္မွသာျဖစ္ပါတယ္။ Java ရဲ႕ ေအာင္ျမင္မႈဟာ Programming ေလာကအေပၚရိုက္ခတ္မႈမ်ားစြာ ရွိခဲ့ၿပီး၊ Android Application ေတြကို Java နဲ႔ ေရးသားထားတာျဖစ္ပါတယ္။

PHP
    PHP ကေတာ့ Web ပိုင္းမွာ အလြန္ကို ေအာင္ျမင္ေနတဲ့ Server-Side HTML Scripting Language အမ်ိဳးအစားျဖစ္ပါတယ္။ PHP ကိုေတာ့ ၁၉၉၅ ခုႏွစ္က Rasmus Lerdorf ကစတင္ Develop ျပဳလုပ္ခဲ့တာျဖစ္ၿပီး၊ PHP ရဲ႕ Stable Release ကေတာ့ 5.4.4 ျဖစ္ပါတယ္။ ၂၀၁၂ ခုႏွစ္ရဲ႕ ဇြန္လ (၁၄) ရက္ေန႔မွာ ျဖန္႔ခ်ိခဲ့တာလည္း ျဖစ္ပါတယ္။ Dynamic Web Page ေတြကို ဖန္တီးတဲ့ေနရာမွာ အေကာင္းမြန္ဆံုး Scripting Language ျဖစ္တဲ့အတြက္ Web Developer အမ်ားစု အသံုးျပဳတဲ့ Language တစ္ခုျဖစ္ပါတယ္။

Python
    Python ကိုေတာ့ သိကၽြမ္းသူအနည္းသာ ရွိပါလိမ့္မယ္။ ဒါေပမယ့္ Python ဟာလည္း စြမ္းအားျမင့္မာတဲ့ Programming Language အမ်ဳိးအစားတစ္ခုျဖစ္ၿပီး၊ High Level Programming Language အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။ Python ကို ၁၉၉၁ ခုႏွစ္မွာ စတင္ဖန္တီးခဲ့တာျဖစ္ၿပီး၊ Python ရဲ႕ Designer ကေတာ့ Guido Van Rossum ျဖစ္ပါတယ္။ Google Application Engine မွာ ပထမဆံုး အသံုးျပဳခဲ့တဲ့ Programming Language အမ်ိဳးအစားတစ္ခုအျဖစ္ လူသိမ်ားပါတယ္။

VB
    Microsoft ရဲ႕ ထုတ္ကုန္တစ္ခုျဖစ္တာနဲ႔တင္ VB ဟာ ဘယ္ေလာက္ Strong ျဖစ္တယ္ဆိုတာ သိသာႏိုင္ပါတယ္။ ၁၉၉၃ ခုႏွစ္မွာ စတင္ Develop ျပဳလုပ္ခဲ့တဲ့ VB ဟာဆိုရင္ သက္တမ္းအရ ၁၉ ႏွစ္ေက်ာ္ခဲ့ၿပီျဖစ္ပါတယ္။ VB ဟာ Microsoft ရဲ႕ Office Application ေရးသားမႈေတြကို အဓိကထားပါတယ္။ ေနာက္တစ္ခုအေနနဲ႔ကေတာ့ VB ကို Virus code ေတြ ေရးသားတဲ့ေနရာမွာလည္း အသံုးျပဳမႈမ်ားတာကို ေတြ႔ရပါတယ္။ VB ရဲ႕ Stable Release ကိုေတာ့ Office 2012 ထြက္ရွိစဥ္က၊ တစ္ၿပိဳင္နက္ထြက္ခဲ့တာျဖစ္ၿပီး၊ Version 7.0 ျဖစ္ပါတယ္။

Pascal
    ၁၉၇၀ ခုႏွစ္က ေပၚထြက္ခဲ့တဲ့ Pascal ဟာလည္း သူ႔အခ်ိန္အခါက ေအာင္ျမင္တဲ့ Programming Language အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။ Pascal ရဲ႕ Developer ကေတာ့ Niklaus Wirth ျဖစ္ပါတယ္။ Pascal ဟာ ျပင္သစ္သခ်ၤာပညာရွင္ Blaise Pascal ကို ဂုဏ္ျပဳၿပီး ေပးခဲ့တဲ့ နာမည္လည္းျဖစ္ပါတယ္။ Pascal အသံုးျပဳထားတဲ့ Application ေတြကို လက္ရွိအခ်ိန္ထိ အသံုးျပဳေနရဆဲလည္းျဖစ္ပါတယ္။ Pascal ရဲ႕ စြမ္းေဆာင္ရည္နဲ႔ ပတ္သက္လို႔လည္း ကၽြမ္းက်င္ပညာရွင္မ်ားက Strong & Safe Programming Language လို႔ သတ္မွတ္ၾကပါတယ္။

JavaScript
    JavaScript ကိုေတာ့ ဒီဖက္အခ်ိန္မွာ လူအေတာ္မ်ားမ်ား သိရွိၿပီးျဖစ္မွာပါ။ ဒါေပမယ့္ Java Programming Language နဲ႔မွားယြင္းတတ္ၿပီး၊ JS ကို ၁၉၉၅ ခုႏွစ္မွာ Brendan Eich က ဖန္တီးခဲ့တာျဖစ္ပါတယ္။ JavaScript ကို Netscape ကေန ေမြးဖြားလာတယ္လို႔လဲ ဆိုႏိုင္ပါတယ္။ ဘာအတြက္ေၾကာင့္လဲဆိုေတာ့ Brendan Eich ဟာ JavaScript ကို ဖန္တီးခ်ိန္က Netscape မွာ အလုပ္လုပ္ကိုင္ေနခ်ိန္ျဖစ္တဲ့အတြက္ပါ။ JavaScript ဟာ Stable Release အျဖစ္ 1.8.5 ကို ၂၀၁၁ ခုႏွစ္ မတ္လက ထုတ္လုပ္ခဲ့ပါတယ္။ Java Script ဟာ Scripting Language အမ်ိဳးအစားျဖစ္တဲ့အတြက္ Web Site အေတာ္မ်ားမ်ားမွာ ထည့္သြင္းအသံုးျပဳလာၾကပါတယ္။

Ruby
    Ruby ဟာ Japan ႏိုင္ငံကေနဖြံ႕ၿဖိဳးလာတဲ့ Programming Language အမ်ိဳးအစားျဖစ္ပါတယ္။ Ruby ရဲ႕ Designer ကေတာ့ Yukihiro Matsumoto ျဖစ္ၿပီး၊ ၁၉၉၅ ခုႏွစ္မွာ  စတင္ဖန္တီးခဲ့တာျဖစ္ပါတယ္။ Ruby ရဲ႕ Stable Release ကေတာ့ 1.9.3-p194 ျဖစ္ၿပီး ၂၀၁၂ ခုႏွစ္ ဧၿပီလ(၂၀) ရက္ေန႔က Release ျပဳလုပ္ခဲ့တာျဖစ္ပါတယ္။ Dynamic အမ်ိဳးအစားတစ္ခုျဖစ္ၿပီး၊ OOP Language အမ်ိဳးအစားတစ္ခုလည္း ျဖစ္ပါတယ္။ အာရွေဒသမွ Develop ျပဳလုပ္တဲ့ Programming တစ္ခုျဖစ္ၿပီး၊ အနာဂတ္ကာလမွာ အလားအလာေကာင္းမ်ားစြာကို ပိုင္ဆိုင္ထားတဲ့ Programming Language အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။

Go
    Go Programming Language ကေတာ့ Google Inc. ရဲ႕ ထုတ္ကုန္တစ္ခုျဖစ္ၿပီး၊ Designer ကေတာ့ Robert Griesemer, Rob Pike, Ken Thompson တို႔ျဖစ္ပါတယ္။ Go ဟာ ၂၀၀၉ ခုႏွစ္ ႏို၀င္ဘာလ အတြင္းကမွ စတင္ေၾကာ္ျငာခဲ့တာျဖစ္ၿပီး၊ အမ်ိဳးအစားကေတာ့ Static ျဖစ္ပါတယ္။ Strong ျဖစ္ၿပီး၊ File Name အေနနဲ႔ေတာ့ .go ကို အသံုးျပဳတာေတြ႔ရပါတယ္။ Go ရဲ႕ Stable Version ကေတာ့ 1.0.2 ကိုသာ ေရာက္ရွိေသးတာျဖစ္ပါတယ္။

Lynx
    Lynx Programming Language ကေတာ့ ႀကီးမားၿပီး က်ယ္ျပန္႔တဲ့ Network ေတြမွာ အသံုးျပဳပါတယ္။ Lynx ကိုေတာ့ University of Wisconsin-Madison က ၁၉၈၄ ခုႏွစ္မွာ စတင္ Develop ျပဳလုပ္ခဲ့တာျဖစ္ပါတယ္။ Lynx ရဲ႕ အဓိက ရည္ရြယ္ခ်က္ကေတာ့ Charlotte Multicomputer Operating System အတြက္ျဖစ္ပါတယ္။

FOCAL
    Formula Calculator ရဲ႕ ဦးဆံုး စာလံုးေတြကို မွ်တစြာရယူထားတဲ့ FOCAL Programming Language ဟာ အေျခခံက်တဲ့ Programming Language အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။ FOCAL ကို ဖန္တီးမႈေတြထဲမွာ အမ်ားဆံုးပါ၀င္တာကေတာ့ Richard Merrill ျဖစ္ပါတယ္။ FOCAL ဟာ ၁၉၆၈ ခုႏွစ္ကတည္းက Develop စတင္ျပဳလုပ္ေနၿပီျဖစ္ၿပီး၊ ေရွးပိုင္းက်တဲ့ Language အမ်ိဳးအစားတစ္ခုလည္း ျဖစ္ပါတယ္။

Integrated Development Environment မ်ားအေၾကာင္းသိေကာင္းစရာ

    IDE လို႔ အသိမ်ားတဲ့ Integrated Development Environment ေတြဟာ Programmer ေတြအတြက္ အဓိကေနရာကေန အေရးပါတဲ့လိုအပ္ခ်က္ေတြျဖစ္ပါတယ္။  IDE ေတြဟာ သက္ဆိုင္ရာ Language ေတြအလုိက္ လုိအပ္ခ်က္ေတြကို ျဖည့္ဆည္းေပးႏိုင္မွာျဖစ္ၿပီး၊ Microsoft ရဲ႕ Visual Studio လိုမ်ိဳး IDE ေတြဟာဆိုရင္ Coding တစ္ေၾကာင္းမွ ေရးစရာမလိုဘဲ Web Login Page ေတြ တည္ေဆာက္ႏိုင္တဲ့အထိ ေကာင္းမြန္လွပါတယ္။ IDE တစ္ခုမွာ အေျခခံအားျဖင့္ ပါ၀င္တာကေတာ့
1. A Source Code Editor
2. Built Automation Tools
3. A Debugger တို႔ျဖစ္ပါတယ္။
    အခ်ိဳ႕ေသာ IDE ေတြမွာေတာ့ Compiler, Interpreter တို႔ပါ၀င္လာၿပီး၊ ဥပမာအေနနဲ႔ေျပာရမယ္ ဆိုရင္ေတာ့ Visual Studio ကိုပဲ ထပ္မံညႊန္းဆိုရမွာ ျဖစ္ပါတယ္။ IDE ေတြရဲ႕အစပိုင္းကို ျပန္ၾကည့္မယ္ဆိုရင္ Command Based Application မ်ားကို ေတြ႔ရမွာျဖစ္ပါတယ္။ ဒီဖက္အခ်ိန္ကာလကို ေရာက္ရွိလာခ်ိန္မွာေတာ့ ၿပီးျပည့္စံုတဲ့ IDE အမ်ားစုကို ျမင္ေတြ႔ႏိုင္ၿပီးျဖစ္ပါတယ္။ ေအာက္မွာေဖာ္ျပေပးထားတာေတြကေတာ့ နာမည္ႀကီးၿပီး လူသိမ်ားတဲ့ IDE ေတြကို ေဖာ္ျပေပးလိုက္ပါတယ္။

Microsoft Visual Studio
    IDE ေတြထဲကမွ အေကာင္းမြန္ဆံုးနဲ႔ အျပည့္စံုဆံုး IDE လို႔ဆိုႏိုင္ပါတယ္။ Microsoft ရဲ႕ ထုတ္ကုန္တစ္ခုျဖစ္ၿပီး၊ လက္ရွိအခ်ိန္မွာေတာ့ Stable Release အျဖစ္ Microsoft Visual Studio 2010 SP1 ကို ထုတ္လုပ္ထားပါတယ္။ Preview Release အေနနဲ႔ေတာ့ Visual Studio 2012 RC ကို ၂၀၁၂ ခုႏွစ္ ေမလ ၃၁ ရက္ေန႔က ျဖန္႔ခ်ိေပးခဲ့ပါတယ္။ Microsoft Visual Studio ကိုေတာ့ C++ & C# တို႔နဲ႔ေရးထားတာျဖစ္ၿပီး၊ Microsoft Windows ေတြအတြက္ သီးသန္႔ဖန္တီးေပးခဲ့တာျဖစ္ပါတယ္။ Microsoft Visual Studio ကို အသံုးျပဳၿပီး Microsoft Windows, Windows Mobile, WebSite တို႔အတြက္ ေရးဆဲြႏိုင္မွာျဖစ္ပါတယ္။ Visual Studio ဟာ Language မ်ားစြာကို အေထာက္အပံ့ေပးထားၿပီး Built-in ပါ၀င္တဲ့ Language ေတြကေတာ့ C / C++ (via Visual C++), VB.Net (via Visual Basic.Net), C#(via Visual C#) တို႔ျဖစ္ပါတယ္။ အျခားအေထာက္အပံ့ေတြ အေနနဲ႔ေတာ့ XML / XSLT, HTML / XHTML, JavaScript နဲ႔ CSS တို႔ျဖစ္ပါတယ္။

NetBeans
    NetBeans ကေတာ့ Oracle Corporation ရဲ႕ထုတ္ကုန္တစ္ခုျဖစ္ၿပီး၊ Java နဲ႔ေရးသားထားတဲ့ IDE အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။ Java IDE အမ်ိဳးအစားျဖစ္ၿပီး Stable Release ကေတာ့ 7.1.2 ျဖစ္ပါတယ္။ ၂၀၁၂ ခုႏွစ္ ဧၿပီလ (၂၆) ရက္ေန႔က ထုတ္လုပ္ျဖန္႔ခ်ိတာျဖစ္ပါတယ္။ NetBeans ကိုေတာ့ Cross-Platform အေနနဲ႔ အသံုးျပဳႏိုင္မွာျဖစ္ၿပီး Microsoft Windows, Mac OS, Linux, Solaris နဲ႔ အျခား Platform ေတြမွာလည္း အသံုးျပဳႏိုင္မွာျဖစ္ပါတယ္။ NetBeans အေထာက္အပံ့ေပးတဲ့ Language ေတြကေတာ့ Java, JavaScript, PHP, Groovy, C, C++, Scala, Clojure တို႔နဲ႔အတူ Ruby နဲ႔ Ruby on Rails တို႔ကိုပါ အေထာက္အပံ့ေပးထားပါတယ္။ NetBeans ကို ၁၉၉၆ ခုႏွစ္က စတင္ထုတ္လုပ္ခဲ့တာ ျဖစ္ပါတယ္။

Eclipse
    Eclipse ကေတာ့ Free and Open Source Software Community ကေန Develop ျပဳလုပ္ထားတာျဖစ္ၿပီး၊ Software Development Type ျဖစ္ပါတယ္။ Java အတြက္ သီးသန္႔ျဖစ္ေပမယ့္၊ Plug-in ထည့္သြင္း အသံုးျပဳမယ္ဆိုရင္ေတာ့ အျခား Language ေတြမ်ားစြာကိုပါ Support ျပဳလုပ္ေပးႏိုင္မွာ ျဖစ္ပါတယ္။ Cross Platform အမ်ဳိးအစားျဖစ္ၿပီး Microsoft Windows,, Mac OS, Solaris, Linux တို႔မွာ အသံုးျပဳႏိုင္မွာျဖစ္ပါတယ္။ Eclipse ရဲ႕ Stable Release ကေတာ့ 3.7.2 Indigo ျဖစ္ၿပီး၊ ၂၀၁၂ ခုႏွစ္ ေဖေဖာ္၀ါရီလ (၂၄) ရက္ေန႔က ျဖန္႔ခ်ိခဲ့တာျဖစ္ပါတယ္။ Eclipse ဟာ Plug-in ထည့္သြင္းအသံုးျပဳမယ္ ဆိုရင္ေတာ့ C, C++, COBOL, Haskell, Perl, PHP, Python, R, Ruby, Scala, Ada, Clojure, Groovy နဲ႔ Scheme တို႔ကိုပါ အသံုးျပဳႏိုင္မွာျဖစ္ပါတယ္။ Eclipse SDK ဟာ Free and Open Source Software အမ်ိဳးအစားတစ္ခုလည္းျဖစ္ပါတယ္။

JDeveloper
    JDeveloper ကေတာ့ Oracle Corporation ရဲ႕ ထုတ္ကုန္တစ္ခုျဖစ္ၿပီး၊ Java Developer ေတြအတြက္ ေရးထားတဲ့ IDE အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္။ Cross-Platform အမ်ိဳးအစားျဖစ္တဲ့အတြက္ OS အမ်ားစုမွာ အသံုးျပဳႏိုင္မွာျဖစ္ၿပီး၊ ၿပီးျပည့္စံုတဲ့ Java IDE အမ်ိဳးအစား တစ္ခုျဖစ္ပါတယ္။ JDeveloper မွာေတာ့ Java, XML, SQL, PHP, HTML, P/SQL, JavaScript, BPEL တို႔ကို Develop ျပဳလုပ္ႏိုင္မွာ ျဖစ္ပါတယ္။ JDeveloper ဟာ Design Coding, Debugging, Optimization နဲ႔ Profiling to Developing တို႔ကိုပါ ျပဳလုပ္ႏိုင္မွာျဖစ္တဲ့အတြက္ Java Developer မ်ားအတြက္ မ်ားစြာအဆင္ေျပေစတဲ့ IDE အမ်ိဳးအစားတစ္ခု ျဖစ္ပါတယ္။

WinDev
    WinDev ကို PCsoft က ၁၉၉၃ ခုႏွစ္မွာ စတင္ထုတ္လုပ္ခဲ့တာျဖစ္ၿပီး၊ လက္ရွိအခ်ိန္မွာေတာ့ Version 17 ကို ေရာက္ရွိေနၿပီးျဖစ္ပါတယ္။ WinDev ကိုေတာ့ Microsoft Windows ေပၚမွာသာ အသံုးျပဳႏိုင္မွာျဖစ္ၿပီး၊ Visual Basic, Java နဲ႔ C# တို႔ကို Support ေပးထားပါတယ္။ အျခားထုတ္ကုန္တစ္ခုအေနနဲ႔ တဲြဖက္ၿပီး ပါ၀င္လာတာကေတာ့ WebDev ျဖစ္ၿပီး Web Application မ်ား Web Site မ်ားေရးဆဲြရာမွာ အသံုးျပဳႏိုင္မွာ ျဖစ္ပါတယ္။ WinDev ကေတာ့ 4GL (Fourth Generation Language) ကို အသံုးျပဳထားပါတယ္။


Xcode
    Apple အသံုးျပဳသူအမ်ားစု ရင္းႏွီးမယ့္ နာမည္တစ္ခုျဖစ္ပါတယ္။ Apple Inc. ရဲ႕ ထုတ္ကုန္တစ္ခုျဖစ္ၿပီး၊ Stable Release ကေတာ့ 4.3.3 (4E3002) ျဖစ္ပါတယ္။ Developer Preview အေနနဲ႔ေတာ့ 4.5 ကိုထုတ္လုပ္ေပးထားၿပီး ၂၀၁၂ ခုႏွစ္ ဇြန္လ (၁၁) ရက္ေန႔က ျဖန္႔ခ်ိခဲ့ပါတယ္။ Xcode ဟာ Apple ရဲ႕ Mac OS & iOS Application ေတြအတြက္ ရည္ရြယ္ထုတ္လုပ္ထားတဲ့ IDE အမ်ိဳးအစားတစ္ခုျဖစ္တဲ့အတြက္ Mac OS အမ်ိဳးအစားတစ္ခုထဲမွာသာ အသံုးျပဳႏုိင္မွာျဖစ္ပါတယ္။ Xcode မွာ Interface Builder ပါ၀င္တဲ့အတြက္ေၾကာင့္ ၿပီးျပည့္စံုတဲ့ IDE အမ်ိဳးအစားတစ္ခုလို႔ ဆိုႏိုင္မွာ ျဖစ္ပါတယ္။ Xcode ရဲ႕ Support ေပးတဲ့ Language ေတြကေတာ့ C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby တို႔ကို အေထာက္အပံ့ေပးထားပါတယ္။

Programming ကိုေလ့လာသင္ယူလိုတယ္ဆိုရင္...
    Programming ဘာသာရပ္ေတြအေနနဲ႔ ျပည္တြင္း/ ျပည္ပမွာ အလုပ္အကိုင္ေနရာ အခြင့္အလမ္း မ်ားျပားတဲ့အတြက္ လူငယ္အမ်ားစု စိတ္၀င္စားတဲ့ ဘာသာရပ္တစ္ခုျဖစ္ပါတယ္။ Programming ဘာသာရပ္မွာလည္း ေလ့လာသင္ယူစရာလမ္းေၾကာင္းေတြ ကဲြျပားသြားၿပီး အေျခခံအားျဖင့္ Mobile Developer, Web Developer, Software Programmer လို႔ ခဲြျခားသတ္မွတ္ႏိုင္ပါတယ္။

1. Mobile Developer
    ဒီပညာရပ္ကို စိတ္၀င္စားသူမ်ားအေနနဲ႔ ဖုန္းနဲ႔ပတ္သက္တဲ့ Application ေတြကို ေရးသားႏိုင္ဖို႔ ႀကိဳးစားသင္ယူရမွာျဖစ္ပါတယ္။ လက္ရွိအခ်ိန္မွာ ေအာင္ျမင္မႈပမာဏႀကီးမားေနတဲ့ Android အတြက္ Application ေတြကို ေရးသားခ်င္တယ္ဆိုရင္ေတာ့ Java Programming Language ကိုေလ့လာသင္ယူရမွာ ျဖစ္ပါတယ္။ Mobile Developer တစ္ဦးျဖစ္ဖို႔အတြက္ အခ်ိန္ကာလအေနနဲ႔ေတာ့ ႀကိဳးစားအားထုတ္မႈအလိုက္ အခ်ိန္ကာလ (၆) လကေန (၉) လအတြင္း ၾကာျမင့္မွာျဖစ္ပါတယ္။

2. Web Developer
    ဒီအပိုင္းဟာလည္း သင္ၾကားေပးတဲ့ သင္တန္းမ်ားစြာရွိၿပီး သင္ယူတဲ့ သင္တန္းသားမ်ားစြာရွိတဲ့ ဘာသာရပ္တစ္ခုျဖစ္ပါတယ္။ Web Developer တစ္ဦးအေနနဲ႔ ကိုယ္တိုင္ Web Site တစ္ခုကို တည္ေဆာက္ႏို္င္မွာျဖစ္ပါတယ္။ သင္ယူရမယ့္ အပိုင္းမွာေတာ့ အေျခခံအားျဖင့္ HTML, CSS, JavaScript နဲ႔ Photoshop တို႔ကို သင္ယူရမွာျဖစ္ၿပီး၊ Web Site တစ္ခုလံုးကို ကၽြမ္းက်င္စြာ တည္ေဆာက္ထိန္းသိမ္းႏိုင္ဖို႔ အတြက္ေတာ့ Domain, Host, FTTP နဲ႔ PHP အစရွိတဲ့ ဘာသာရပ္အသီးသီးကိုပါ ေလ့လာသင္ယူရမွာ ျဖစ္ပါတယ္။ CMS Package ေတြျဖစ္တဲ့ Wordpress, Joomla တို႔ဟာလည္း Web Site တည္ေဆာက္မႈ အပိုင္းကို စိတ္၀င္စားတဲ့ လူငယ္ေတြအတြက္ ေပ်ာ္ရႊင္စရာ ေလ့လာသင္ယူမႈ အပိုင္းေတြျဖစ္ပါတယ္။

3. Application Programmer
    လူငယ္အမ်ားစု စိတ္ကူးယဥ္ၾကတဲ့ေနရာတစ္ခုျဖစ္ၿပီး စိတ္ဓါတ္ၾကံ့ခိုင္ဖို႔ လိုအပ္ပါလိမ့္မယ္။ Programmer တစ္ဦးအေနနဲ႔ ဖိအားေတြကို သင္တန္းမွာကတည္းက စတင္ရင္ဆိုင္ႀကံဳေတြ႔ရမွာျဖစ္ၿပီး၊ မ်ားစြာလွေသာ Programming Language ေတြထဲက အားသန္ရာ Language တစ္ခုကို တစိုက္မတ္မတ္ ေလ့လာသင္ယူရမွာ ျဖစ္ပါတယ္။ Programming Language ေတြအေနနဲ႔ အခ်ိဳ႕ကို ေဖာ္ျပေပးရမယ္ဆိုရင္ C++, C#, Java, Python, Perl, VB အစရွိတဲ့ Language ေတြအေၾကာင္းနဲ႔ Programming Concept ေတြအေၾကာင္းကို သင္ယူရမွာျဖစ္ပါတယ္။ Programmer တစ္ဦးအျဖစ္ ရပ္တည္လိုတဲ့ လူငယ္မ်ားအတြက္ေတာ့ အခ်ိန္ကာလတစ္ခုကို ေပးဆပ္ရမွာျဖစ္ပါတယ္။
Ref: Internet Journal

No comments: