သမိုင္​း

Theme images by Storman. Powered by Blogger.

Text Widget

Sports

Gadgets

Blog Archive

Travel

Definition List

Thursday, June 23, 2016

Which Programming Language You Should Choose?

Programming Languages
Programming Languages

Programming Language တစ္ခုခုကိုသင္မယ္လို႔ဆုံးျဖတ္ခ်က္ခ်လိုက္ၿပီဆိုရင္ လူတိုင္းအရင္ဆုံးစေတြ႕ရတဲ့အခက္အခဲကေတာ့ဘယ္ language ကိုသင္ရမလဲဆိုတာပါပဲ။ ဒီ article ကိုေရးရတဲ့အေၾကာင္းကေတာ့ ဘယ္ field ေတြအတြက္ ဘယ္ language ေတြလိုအပ္တယ္ ဘာေတြကိုသိထားသင့္တယ္ ဘယ္မွာသင္လို႔ရတယ္ဆိုတာကို အၾကမ္းဖ်င္းရွင္းျပခ်င္လို႔ပဲျဖစ္ပါတယ္။ ေရြးခ်ယ္တဲ့ေနရာမွာ အေထာက္အကူျပဳေစမွာကေတာ့ ကိုယ္ဘာလုပ္ခ်င္တယ္ဆိုတာကိုသိတာပါပဲ။ ဥပမာ android ဖုန္းအတြက္ application ေရးခ်င္တာပဲျဖစ္ျဖစ္၊ ဝဘ္ဆိုက္ေရးခ်င္လို႔ပဲျဖစ္ျဖစ္ရည္ရြယ္ခ်က္ကိုသိရင္ေတာ့အစျပဳရတာပိုၿပီးေတာ့လြယ္ပါတယ္။ ပထမဆုံးေျပာခ်င္တာကေတာ့ ကၽြန္ေတာ္ကိုယ္တိုင္လဲ language တစ္ခုကိုကၽြမ္းကၽြမ္းက်င္က်င္ႀကီးမတက္ပါဘူး။ ဝါသနာအရေလ့လာရင္းအေျခခံေလာက္အနည္းငယ္သာသိတာပါ။

Programming Language ေတြကိုေယဘူယ်အားျဖင့္ dynamically typed(not compiled) နဲ႔ statically typed(compiled) ဆိုၿပီး၂မ်ိဳးခြဲနိုင္ပါတယ္။ ပထမအမ်ိဳးအစားကေတာ့ run ဖို႔ကို compile လုပ္စရာမလိုလို႔ lightweight apps/web applications ေတြမွာအသုံးမ်ားပါတယ္။ ဥပမာ – Javascript, Ruby, Python, PHP။ ဒုတိယကေတာ့ compile လုပ္စရာလိုၿပီး ရွုပ္ေထြးေသာ program မ်ား၊ games မ်ားမွာသုံးေလ့ရွိပါတယ္။ ဥပမာ – Java, C, C++, C#။

၂ဝ၁၅ခုအတြက္ေပၚျပဴလာအျဖစ္ဆုံးနဲ႔လခအရဆုံး Programming Language မ်ား
၂ဝ၁၅ခုအတြက္ေပၚျပဴလာအျဖစ္ဆုံးနဲ႔လခအရဆုံး Programming Language မ်ား(Source:

Programming Languages Range
http://compsciengg.blogspot.nl/2015/04/programming-languages-that-pay-most.html)

For Android Phones

Android ဖုန္းေတြအတြက္ကို application ေရးခ်င္တယ္ဆိုရင္ေတာ့အဓိကသိရမွာက java ျဖစ္ပါတယ္။ ၁၉၉၅ခုထဲကစတင္ခဲ့တာျဖစ္လို႔သင္ယူဖို႔ resource မ်ားရွာရတာအရမ္းလြယ္ကူပါတယ္။ Google ကိုယ္တိုင္ကလဲ Android App ေရးဖို႔ tools မ်ား tutorials မ်ားကိုအေထာက္အကူေပးထားပါတယ္။

Get started with Android Developer:

http://developer.android.com/develop/index.html

Documentations on Oracle website:

http://docs.oracle.com/javase/tutorial/index.html

လြယ္လြယ္ကူကူစတင္နိုင္ေသာဆိုက္:

https://www.codecademy.com/learn/learn-java



For Apple Phones(iOS)

Apple iOS အတြက္ဆိုရင္ေတာ့ Objective C ေပၚမွာအဓိကအေျခခံ(Python, Ruby အစရွိသည္တို႔အေပၚလဲအနည္းငယ္အေျခခံ) ထားတဲ့ Swift ကိုသုံးရမွာျဖစ္ပါတယ္။

Apple Developer Tutorial Site:

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html

Resources:

https://developer.apple.com/swift/resources/



Web Development

ဝဘ္ဆိုက္ေတြေရးဖို႔အတြက္ဆိုရင္ေတာ့ front end အတြက္ကို HTML, CSS နဲ႔ Javascript တို႔ကိုသိရမွာျဖစ္ပါတယ္။ HTML နဲ႔ CSS တို႔ဟာစာမ်က္ႏွာမ်ားရဲ့အသြင္အျပင္ကိုေဖၚေသာေနရာမွာသုံးတဲ့အတြက္ programming language လို႔ေတာ့အေသျခာေျပာလို႔မရပါဘူး။ ဒါေပမဲ့သူတို႔ဟာဝဘ္ဆိုက္ေရးဖို႔အတြက္ကိုအေျခခံမသိလို႔မျဖစ္ပါဘူး။ Javascript ကေတာ့ဝဘ္ဆိုက္မ်ားရဲ့လုပ္ေဆာင္မွုကိုတာဝန္ယူထားတဲ့ client side scripting language ျဖစ္ပါတယ္။ Google, Facebook, YouTube စေသာဆိုက္မ်ားအားလုံးရဲ့ front end မွာသူ႔ကိုအသုံးခ်ထားပါတယ္။

လြယ္လြယ္ကူကူစတင္နိုင္ေသာဆိုက္:

http://www.w3schools.com/html/

http://www.w3schools.com/css/

http://www.w3schools.com/js/

Server side scripting langugages ေတြအေနနဲ႔ကေတာ့ PHP, Python နဲ႔ Ruby တို႔ကိုအသုံးမ်ားပါတယ္။ ဝဘ္ဆိုက္ေရးတဲ့ေနရာမွာ language တစ္ခုထဲကိုသုံးစရာမလိုပဲ ကိုယ္အဆင္ေျပသလိုေပါင္းစပ္ၿပီးသုံးနိုင္ပါတယ္။ အခုေနာက္ပိုင္းဆိုက္အားလုံးနီးပါးဟာ language တစ္ခုထက္ပိုၿပီးေတာ့သုံးထားတာကိုေတြ႕ရမွာပါ။ ဒီေတာ့အဲဒီ language မ်ားကိုတစ္ခုထက္ပိုၿပီးသိထားနိုင္မွအဆင္ေျပနိုင္မွာျဖစ္ပါတယ္။ PHP ဟာအေျခခံၾကၿပီးဆိုက္အမ်ားစုမွာသုံးထားေပမဲ့ Ruby နဲ႔ Python တို႔ဟာေနာက္မွထုတ္လုပ္ၿပီး user မ်ားသုံးရပိုလြယ္ေအာင္ပိုမိုတိုေတာင္းေသာ ကုဒ္မ်ားနဲ႔ေရးနိုင္ေအာင္ ျပဳလုပ္ထားပါတယ္။ သူတို႔ႏွစ္ခုဟာ traffic မ်ားတဲ့ဆိုက္မ်ားအတြက္ကိုပိုၿပီးသင့္ေတာ္ပါတယ္။ Ruby ကိုအေျခခံထားတဲ့ Ruby On Rails Open Source Framework ကို web developers ေတြဟာ အခ်ိန္အနည္းငယ္အတြင္းမွာ လြယ္လြယ္ကူကူ dynamic ျဖစ္ေသာဝဘ္ဆိုက္မ်ားတည္ေဆာက္နိုင္လို႔အသုံးမ်ားၾကပါတယ္။

PHP:

http://www.w3schools.com/php/

http://www.learn-php.org/

Ruby:

https://www.codecademy.com/learn/ruby

http://learnrubythehardway.org/book/

Python:

http://www.learnpython.org/

https://www.codecademy.com/learn/python

http://learnrubythehardway.org/book/

ဝဘ္ဆိုက္ေရးခ်င္တယ္ဆိုရင္အႀကံဉာဏ္ေပးလိုတာတစ္ခုကေတာ့အစကေနစမတည္ေဆာက္ပဲနဲ႔ wordpress framework ကိုသုံးဖို႔ပါ။ ကိုယ္ဟာ PHP လိုမ်ိဳး language ကိုပါသိထားတယ္ဆိုရင္ေတာ့အဲ့ဒါကိုအေျခခံၿပီးကိုယ္လိုတာကိုတည္ေဆာက္နိုင္မွာျဖစ္ပါတယ္။ ဒီအတြက္ကိုေတာ့ေနာက္မွ tutorial သတ္သတ္ေရးေပးပါမယ္။



Applications Development
Operating system ေတြအတြက္၊ မိမိရဲ့လုပ္ငန္းအတြက္ applications မ်ားျပဳလုပ္လိုသည္ျဖစ္ေစ၊ Games မ်ားေရးဆြဲလိုသည္ျဖစ္ေစသိထားရမွာကေတာ့ Java/C/C++/C# အစရွိေသာ language မ်ားပဲျဖစ္ပါတယ္။ သူတို႔ဟာအထက္ကဟာမ်ားထက္ပိုၿပီး powerful ျဖစ္တဲ့အတြက္ သင္ၾကားရာမွာလဲအနည္းငယ္ပိုၿပီးခက္ခဲနိုင္ပါတယ္။ ဒါေၾကာင့္သူတို႔ကို first language အေနနဲ႔သင္ၾကတာရွားပါတယ္(ခၽြင္းခ်က္ java မွလြဲ၍)။ ဒီ language မ်ားကိုကၽြမ္းကၽြမ္းက်င္က်င္တက္ထားပါက တိုးတက္ေသာနိုင္ငံမ်ားမွာအလုပ္ရွာရတာအရမ္းကိုအေထာက္အကူျပဳပါတယ္။ ကမာၻေပၚမွာရွိတဲ့အႀကီးဆုံးေသာ company ေတာ္ေတာ္မ်ားမ်ားမွာ ဒီ language ေတြကိုတစ္ခုမဟုတ္တစ္ခုအသုံးျပဳေနၾကပါတယ္။ သူတို႔အထဲကမွ Java နဲ႔ C ဟာအနည္းငယ္အေျခခံပိုၾကၿပီး C++/C# တို႔ဟာ C language ေပၚမွာအေျခခံထားတာျဖစ္ပါတယ္။

C: http://c.learncodethehardway.org/book/

C++: http://www.learncpp.com/

C#: http://www.learncs.org/

Programming Language မ်ားမဟုတ္ေသာ္လဲ IT လုပ္သားမ်ားအေနနဲ႔သိထားသင့္တာမ်ားကိုဆက္ၿပီးေဖၚျပသြားပါမယ္။ ဝဘ္ဆိုက္မ်ား၊ ဖုန္း applications မ်ားေရးမယ္ဆိုရင္ graphics ပိုင္းအတြက္ကို user interface မ်ား၊ logo မ်ား၊ images မ်ားဖန္တီးနိုင္ရန္ Photoshop/Illustrator စတာေတြကိုအေျခခံေလာက္သိထားရပါမယ္။ Data မ်ားကိုသိမ္းဆည္းဖို႔လိုအပ္ပါက SQL ကဲ့သို႔ေသာ Data Management language ကိုသိထားသင့္ပါတယ္။ ၿပီးေတာ့ development လုပ္တိုင္းအႀကိမ္ႀကိမ္အခါခါျပဳျပင္ရေသာေၾကာင့္ Git/Subversion ကဲ့သို႔ေသာ software version control နည္းပညာမ်ားကိုအသုံးျပဳသင့္ပါတယ္။

ေနာက္ဆုံးအေနနဲ႔အႀကံေပးလိုတာကေတာ့ဘယ္ language ကိုမဆိုသင္ဖို႔ဆုံးျဖတ္ၿပီးပါကအေျခခံမၽွသာမဟုတ္ပဲ ေရေရရာရာသိေအာင္ေလ့လာဖို႔ပါပဲ။ ဒါမွေနာက္ language မ်ားသင္တဲ့အခါမွာလြယ္ကူဖို႔အေထာက္အကူျပဳမွာျဖစ္ပါတယ္။ ေလ့လာတဲ့အခါမွာလဲ tutorial မ်ားသာမက မိမိကိုယ္တိုင္ mini project မ်ားျပဳလုပ္ကာသင္ယူပါကပိုၿပီးအလြယ္တကူတက္ေျမာက္နိုင္မွာျဖစ္ပါတယ္။ ဒီအထက္မွာေဖၚျပထားတာေတြကအႀကံဉာဏ္ရ႐ုံသာျဖစ္ၿပီး အျခားေသာေလ့လာနိုင္သည့္ေနရာမ်ား(အင္တာနက္၊စာအုပ္မ်ား၊ YouTube tutorialမ်ား၊ သင္တန္းမ်ား) ေျမာက္မ်ားစြာရွိပါတယ္။

ဒီေရးသားခ်က္နဲ႔ပတ္သတ္လို႔အႀကံျပဳလိုသည္မ်ား ေမးျမန္းလိုသည္မ်ားရွိပါက အားမနာပဲအခ်ိန္မေရြးဆက္သြယ္နိုင္ပါတယ္။

No comments:
Write comments