How to Choose a Programming Language to learn
July 23, 2021 | Pramuditha Jayasundara
දැනට ලෝකයේ computer languages සිය ගණනක් භාවිතා කරනවා. ඒත් ඒ සියල්ලම අපට ඉගෙන ගැනීමට පුළුවන් කමක් නැහැ.අපට ඉගෙනීමට අවශ්ය computer language එක තෝරගන්නෙ කොහොමද කියලා මේ ලිපියෙන් බලමු.
මුලින්ම computer language එකක් කියන්නේ මොකක්ද කියලා බලමු. සරලම නිර්වචනය පරිගණකය සමඟ communicate කිරීමට අපි යොදා ගන්නා භාෂාවක් තමයි computer language එකක් කියන්නේ.අපි භාවිතා කරන human languages එයාකාරයෙන්ම පරිගණකයට තේරුම් ගැනීමට බැහැ. අපි ලබාදෙන instructions පරිගණකයට තේරුම් ගැනීමට හැකි ලෙස convert කිරීම තමයි computer language එකක රාජකාරිය. අපි පරිගණකයක් මගින් විවිධ වර්ගයේ කාර්යයන් කරනවා. ( software නිර්මාණය, games නිර්මාණය, operating system නිර්මාණය, website නිර්මාණය, data analysis ). මේ එක එක කාර්යයන් කිරීම සඳහා විශේෂයෙන්ම සැකසූ computer languages තියනවා.ඒ විශේෂ කාර්යයන් වඩාත් කාර්යක්ෂමව කරගැනීමට තමයි ඒවා හදල තියන්නේ. අපිට කිරිමට අවශ්ය කාර්යය අනුව අපි තෝරාගන්න computer language එක වෙනස් වෙනවා.
ඒ වගේම computer language එක සතු ගුණාංග සලකා බැලීමත් වැදගත්. computer software හෝ website එකක් නිර්මාණය කිරීමේදී අපි සලකා බලන ප්රධාන අංශ කිහිපයක් තියෙනවා. ඒ සහ එකේ speed එක, reliability හෙවත් විශ්වාසනීයත්වය, security හෙවත් දත්ත වල ආරක්ශාව, portability හෙවත් විවිධ පරිගණක වල run කිරීමේ හැකියාව යන ආදී ඉන් ප්රධානයි. මෙම ගුණාංග උපරිමයෙන් ලබාගැනීම රඳා පවතින්නේ භාවිතා කරන computer language එක මත.
Computer languages විධි කීපයකට බෙදා දක්වන්න පුලුවන්.
මිනිසාට සහ පරිගණකයට තේරුම් ගැනීමේ පහසුව අනුව computer languages කොටස් දෙකක් තියෙනවා.
1. High-level programming languages
2. Low-level programming languages
High level programming languages
මේ වර්ගයේ languages human languages වලට සමීපයි. නමුත් machine language එකකට convert කරන්න steps කීපයක් අවශ්ය වෙනවා. C, Java, python වගේ සාමාන්ය භාවිතයේ තියෙන ගොඩක් languages මේ වර්ගයේ ඒවා.
Low level programming languages
මේ වර්ගයේ languages, පරිගණකයට තේරුම් ගැනීමට යම් තරමක් පහසුයි.නමුත් මේවා මිනිසාට තේරුම් ගැනීමට ඉතාමත් අපහසුයි. Assembly, machine code උදාහරණ විදිහට ගන්න පුලුවන්. High level language එකකින් ලියපු code එකක් low level language එකකට convert වෙලා තමා execute වෙන්නෙ.
ඒ වගේම programming languages run වෙන විදිහ අනුව ප්රධාන කොටස් දෙකකට බෙදෙනවා.
1. Compiled
2. Interpreted
Compiled programming languages
මේ වගේ languages වල විශේෂත්වය තමයි අපි code කරපු code එක මුලින්ම compiler එකක් හරහා compile වීම. ඒ කියන්නේ computer එකේ processor එකට තේරුම් ගන්න පුළුවන් assembly වගේ machine language එකකට convert කරන එක. මේකෙදි code එකේ එක වැරැද්දක් හරි තිබ්බොත් compile වෙන්නේ නෑ.උදාහරණ ලෙස C, C++, Rust, Go වගේ languages ගන්න පුලුවන්.
Interpreted programming languages
මේ වර්ගයේ languages run වෙන්නෙ virtual machine කියන එකක. Virtual machine මාතෘකාව ටිකක් ගැඹුරු නිසා මේ ලිපියෙ විස්තර නොකර ඉන්නම්. මේ language වර්ගයේ විශේෂත්වය තමයි code එකේ වැරදි තිබ්බත් නිවැරදි ඒවා execute වීම.උදාහරණ ලෙස python, java script ගන්න පුලුවන්.දැන් අපි බලමු අපේ අවශ්යතාවය අනුව ගැලපෙන computer programming language එක මොකක්ද කියලා.
Artificial intelligence and Machine learning - python
Web development - JavaSript, PHP, Html, CSS
Application development - Java, C#
Data analysis and data management - SQL, R, python
Operating systems and system tools - C, C++
Server-side programming - Golang
Mobile app development – Swift, Java
මේ ලිස්ට් එක බැලුවම ඔයාලට තේරෙනවා ඇති සමහර languages වලින් අපිට අවශ්යතා කිහිපයක් සපුර ගන්නත් පුළුවන් කියලා.
ඔයා මීට කලින් computer language එකක් use කරල නැත්නම් interpreted language එකකින් ඔයාගේ programming language journey එක පටන් ගන්න එක recommend කරන්න පුලුවන්.
ඔයා දැනටමත් programming කරන කෙනෙක් නම්, අලුත් language එකක් ඉගෙන ගැනීමේ අවශ්යතාව තියෙනවා නම්, ඔයාට සිද්ධ වෙනවා මුලින්ම industry එකේ වැඩිපුරම use වන programming languages මොනවද කියල බලන්න. මේ සඳහා stack overflow වෙබ්සයිට් එකෙන් කරලා තියන developer surveys භාවිතා කරන්න පුළුවන්.
මේ කරුණු සලකා බලල ඔයාට ඉගෙන ගැනීමට අවශ්ය programming language එක තෝර ගන්න පුළුවන් වෙයි.
ඊට පස්සේ අපි බලමු ඔයා තෝරගත්ත programming language එක ඉගෙන ගන්න ලේසිම විදිහ මොකක්ද කියලා.
ඔයා beginner කෙනෙක් නම් ඔයාට අවශ්ය වෙනවා programming වල මූලික සිද්ධාන්ත වල ඉඳන්ම ඉගෙන ගන්න. මේ සඳහාවගේම පොත්පත් භාවිතා කරන්න පුළුවන්. ඒ වගේම Udemy, Coursera වගේ sites වලින් online courses කරන්න පුළුවන්.
ඔයා දැනටමත් programming කරන කෙනෙක් නම් නැවත මුල ඉදන්ම programming fundamentals ත් එක්කම language එක ඉගෙන ගැනීමේ අවශ්යතාවයක් නැහැ. මොකද fundamentals language එකෙන් language එකට වෙනස් වන්නේ නැහැ. ඒ වෙනුවට කරන්න පුළුවන් හොඳ විදිහක් තමයි language එකේ syntaxes ඉගෙනගෙන ඒ language එකෙන් තියෙන projects කරන එක. එහෙම කරද්දි ඔයා දන්තැති තැනක් ආවොත් ඔයාට පුලුවන් internet එකේ search කරල ඒ දේ ඉගෙනගෙන project එක දිගටම කරන් යන්න. මෙහෙ වගේ දෙයකදී developer communities අපිට ගොඩක් වැදගත් වෙනවා. අපිට මේ ආපු ප්රශ්න Community එක ඉන්න අනිත් අයටත් කලින් ඇවිල්ලා තියනවනම් එයාලා හොයාගත්තු solutions අපිට පාවිච්චි කරන්න පුළුවන්. Stackoverflow කියන්න ඒ වගේ developer community එකක්.
ඉතින් මෙන්න මේ ආකාරයෙන් කරුණු සලකා බලල programming language එකක් තෝරාගෙන ඒක ඉගෙනගෙන ඒකෙ master කෙනෙක් වෙන්න ඔයාලටත් මෙම ලිපිය වැදගත් වෙයි කියලා හිතනවා.
සටහන - ප්රමුදිත ජයසුන්දර