Introduction to programming_languages12. අපි විවිධ ජාතීන් සමග එකිෙනකාෙග් අදහස් හුවමාරු කර ගන්න විවිධ
භාෂාවන් භාවිතා කරනවා. ඒවෙග්ම computer එකත් අපි දන්න භාෂා දන්ෙන්
නැහැ. එම නිසා අපිට Computer එක සමඟ communicate කරන්නත්
භාෂාවන් භාවිතා කරන්න සිදුෙවනවා. ඒකට ෙහේතුව අපි තරම් computer
බුද්ධිමත් ෙනොවීමයී. Computer එක දන්ෙන් binary (2 පාදෙය් සංඛයා)
විතරයි. ඒකියන්ෙන අපිට පරිඝණකය හා අදහස් හුවමාරු කර ගත හැකිවන්ෙන්
0 හා 1 යන සංඛ ා භාවිතෙයන් පමණී.
ඒත් binary අපිට ෙත්රුම් ගන්න අමාරුයි.ඉතින් අපිට සිද්ධ ෙවනවා
computer programming language එකක් පාවිච්චි කරන්න.හැම
language එකකම තියනවා key words, symbols සහ syntaxes කියලා
ෙද්වල් ටිකක්. අපි ඉස්සරහට බලමු ඒෙමොනවාද කියලා.අපි programming
කිරීෙම්දී සිද්ධ කරන්ෙන් ෙම් ෙද්වල් පාවිච්චි කරලා අපිට අවශය output එක
ලබාගන්න වුවමනා පියවර ටික coding කිරීමයී.විවිධ languages වල විවිධ
keywords syntaxes තියනවා.
දැන් අපි පරිඝණක භාෂා ගැන විස්තරාත්මකව කතා කරමූ.
ඊට කලින් අපි ෙලෝකයට බිහිවූ computer languages වල නම් ලැයිස්තුවකුත්
ඒවාට නම හැදුන හැටිත් කතා කරමූ
3. අපි packages / languages මිනිසා හා computer එක අතර පිහිටන්ෙන්
ෙකොෙහොමද කියලා බලමූ.
ඔබට රූප සටහනින් ෙපෙනනවා ඇති Packages මිනිසාට කිට්ටු අතර
languages computer එකට කිට්ටු බව.
Name Description
BASIC Beginners All-purpose Symbolic Instruction Code
COBOL COmmon Business Oriented Language
RPG Report Program Generator
FORTRAN FORmula TRANslation
ALGOL ALGOrithmic Language
LISP LISt Processing
HTML Hyper Text Mark-up Language
XML eXtensible Mark-up Language
ASP Active Server Pages
JSP Java Server Pages
PHP PHP Hypertext Preprocessor
Languages
Packages
Man
Computer
4. අපි programming languages ෙකොටස් ෙදකකට ෙබදනවා.
1. High Level Programming languages
2. Low Level Programming languages
High Level Languages
යම්කිසි පරිඝණක භාෂාවක, ඒ කියන්ෙන් computer languages එකක
පාවිච්චි ෙවන වචන මිනිසා එදිෙනදා පාවිච්ච් කරන වචන වාෙග් නම් ඒවා
පාවිච්ච් කරන ආකාරෙයන් ව ාවහාරික භාෂා සමග ෙලොකු ගැටුමක් නැත්නම්
එය High level languages ෙලස හැදින්ෙව්.
උදාහරණ :-
5. Low Level Languages
Low level languages වලට අයිති ෙවන්ෙන්
1. Machine code
2. Assembler
කියන වර්ග ෙදකයි. අපි High level
languages එකකින් program එකක් ලියා එය කියාවට නැංවීෙම්දී මුලින්ම
Machine code එකට හැරවී ඊට පසුයි කියාවට නැංෙවන්ෙන්.
Assembler language එක ඊට ෙවනස්. Computer එෙක් නැත්නම්
Operating System එෙක් මූලිකම ෙද්වල් එක්ක වැඩ කරන්න හදලා තිෙයන
එකකුයි Assembler language එක කියන්ෙන්. ෙම්ෙකන් program ලිවීම
අමාරු වුවත් ෙම් කියාවට නැංවීෙම්දී හුගාක් ෙව්ගවත්.
ෙම් Low level Languages වල පාවිච්චි ෙවන නිෙයෝග නිකම්ම අකුරුවල
එකතුවක් මිසක් අපිට හුරු පුරුදු ඉංගීසී වචන ෙනමයි.
උදාහරණ :- Asm , mov , add , jnz, dec
ෙම් වචන යම් කිසි එකක නිෙයෝග. සමහර ඒවා හුරුපුරුදු ඉංගීසී වචන වුවත්
හුගාක් ඒවා ඒ වෙග්ම ෙනමයි.
6. High level & Low level languages
ඔබට පහත රූප සටහනින් ෙපෙනනවා ඇති අපි කතාකල Languages වලින්
මිනිසාට කිට්ටුම High level languages වන අතර Computer එකට low
level languages කිට්ටුම බව
Computer
Low level Languages
Packages
Man
High level languages
7. Translators
අපි මුලින්ම කතා කරාෙන් High level language එකකින් ලියන program
එකක් කියාවට නැංවීෙම්දී මුලින්ම එය Machine code එකට හැරෙවනවා
කියලා
අපි ඒ ෙදයට කියනවා Translators කියලා
Translator’s වර්ග ෙදකක් තිෙයනවා
1. Compiler
2. Interpreter
Compiler
භාෂා පරිවර්තකෙයෝ වර්ග ෙදකක් ඉන්නවා. එක වර්ගයකට කලින් කතාව
ලියලා දුන්නහම ඒ ෙගොල්ෙලෝ කතාෙව් වැරදි එෙහම තිෙයනවනම් ඒවා හදලා
මුලු කතාවම ෙවනත් භාෂාවකට හරවනවා. කතාව කරන ෙකනාට තිෙයන්ෙන්
පරිවර්තනය කරපු කතාව කියවන එකයි.
Compiler කියන වර්ගෙය්දී ඉස්ෙසල්ලාම එකකින් නිෙයෝග මාලාව ෙහවත්
program එක ලියනවා. ෙම්කට අපි source code එක කියලා කියනවා.
ෙමහිදී සම්පූර්ණ program එකම Machine code එකට හැරෙවනවා
එහිදී program එෙක් ඇති සියලුම වැරදි ලැයිස්තුව අප ඉදිරිෙය් ෙපන්වනවා. ඒ
වැරදි නිවැරදි කරලා ආෙයමත් compile කලහම Compile වූ program එක
ලැෙබනවා. දැන් අර මුල් source code එක නැතිව වුවත් අපිට program එක
කියාත්මක කරලා අවශ ෙද් ලබාගන්න පුලුවන්.
8. Compiler
ඒත් යම් විදියකින් අපට අපි ලිව්ව program එෙක් යම් නිෙයෝගයක් ෙවනස්
කිරීමට අවශ නම් ඒක compile කල program එක පාවිච්චි කරලා කරන්න
බැහැ. ආෙයත් අපට source code එක ගන්න ෙවනවා. ඒෙක් අවශ
ෙවනස්කම් කරලා ආෙයත් compile කරලයි ෙවනස් කරන ලද program එක
පාවිච්චි කරන්න පුලුවන් ෙවන්ෙන්.
ඉස්සරනම් අපි යම් ආයතනයකට program එකක් ලිවීෙම්දි compile කල
program එක ආයතනයට දීලා එක අපි ලඟ තියා ගන්නවා. ඒත් දැන් ෙලොකු
ආයතන හුගාක් ෙවලාවට “programmer” ෙගන් source code එකත් ඉල්ලා
ගන්නවා.
Compiler වලට උදාහරණ:-
Interpreters
හිතන්න භාෂා පරිවර්තනය කිරීෙම්දී බැරි ෙවලාවත් කතාව කරන ෙකනා
ෙකොලයක් බලන්ෙන් නැතිව එෙව්ෙල් හිතලා කතා කරනවා කියල. එවැනි
ෙවලාවක පරිවර්තකයාට මුළු කථාවම පරිවර්තනය කිරීමක් ගැන හිතන්නවත්
බැහැ.ෙමොකද එෙහම මුළු කතාවම එෙවෙලම පරිවර්තනය කරන්න බැහැ.
එතෙකොට කරන්න තිෙයන්ෙන් කථිකයා කතාකරන ෙප්ලිෙයන් ෙප්ලිය
පරිවර්තකයා විසින් අවශ අෙනක් භාෂාවට පරිවර්තනය කිරීමයි. ෙම් වැෙඩ්දී
වැරදී අහුෙවන්ෙන් ඒ ඒ ෙප්ලිය කතා කරනෙකොටයි. ඒ කියන්ෙන් ඒ ෙප්ලියට
ආවහමයි.
ෙම් වෙග්මයි Interpreters එකත් පවිච්චි කරල High level language
එකකින් ලිව්ව program එකක් Machine code එකට හැරවීෙම්දී ෙවන්ෙනත්.
9. ඇත්තටම compiler එෙක් වෙග් විෙශේෂෙයන් එෙහම Translate කිරීමක්
කරන්න අපිට සිද්ද ෙවන්ෙන් නැහැ. අපි High level language එකකින්
program එක ලියලා ඒක කියාත්මක කරනවිට ෙප්ලිෙයන් ෙප්ලියයි
Interpreter එක මගින් Machine code එකට හැරෙවන්ෙන්.
ඊලඟට ඒ හැරවුනු ෙප්ලිය කියාවට කියාවට නැෙගනවා. ෙමතනදී යම්
ෙප්ලියක වරදක් තිෙයනවනම් ඒ ෙප්ලියට ආවහම තමයි ඒ වැරැද්ද ෙපෙනෙන්.
ඒ වැරැද්ද නිවැරදි කරලා ආෙයත් program එක කියාත්මක කළහම ඊළඟ
ෙප්ලිෙය් තවත් වැරැද්දක් තිෙයනවනම් ඒ වැරැද්ද ෙපන්වනවා
කාෙලකට ඉස්ෙසල්ලා භාවිතෙය් තිබූ “GW BASIC” කියන Language එක
Interpreters වලට ෙහොද උදාහරණයක්.
Compiler & Interpreters
දැන් ඔබට ෙත්ෙරනවා ඇති Compiler එකකින් Translate කරද්දි ඒ වැෙඩ්
කරන්න ඕන එක පාරක් විතරක් හන්දා කලායින් පස්ෙසේ අපට ඕෙන් වාර
ගණනක් Compile කල program එක කියාත්මක කරන්න පුලුවන්කියලා.
ඒ නිසා ෙම් කමය වඩා ෙව්ගවත් ෙවනවා.
ඒත් Interpreter එකකින් කරද්දී අපි program එක කියාත්මක කරන
වාරයක් වාරයක් ගනෙන් Interpreter ෙවන නිසා ෙම් විදිය ටිකක් ෙවලා
යනවා.
අද කාෙල් භාවිතා ෙවන වඩා දියුනු නවීන low level languages වල
(Visual Basic, Java) ෙම් ලක්ෂණ ෙදකම තිෙයනවා.