අපි විවිධ ජාතීන් සමග එකිනකාග් අදහස් හුවමාරු කර ගන්න විවිධ භාෂාවන් භාවිතා කරනවා. ඒ වෙග්ම 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 වල නම් ලැයිස්තුවකුත් ඒවාට නම හැදුන හැටිත් කතා කරමූ.
- 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
1. High Level Programming languages
2. Low Level Programming languages
High Level Languages
යම්කිසි පරිඝණක භාෂාවක, ඒ කියන්නේ computer languages එකක පාවිච්චි වෙන වචන මිනිසා එදිනෙදා පාවිච්ච් කරන වචන වාගේම නම් ඒවා පාවිච්ච් කරන ආකාරෙයන් සාමාන්ය භාෂා සමග ලොකූ ගැටුමක් නැත්නම් එය High level languages ලෙස හැදින්වේ.
යම්කිසි පරිඝණක භාෂාවක, ඒ කියන්නේ computer languages එකක පාවිච්චි වෙන වචන මිනිසා එදිනෙදා පාවිච්ච් කරන වචන වාගේම නම් ඒවා පාවිච්ච් කරන ආකාරෙයන් සාමාන්ය භාෂා සමග ලොකූ ගැටුමක් නැත්නම් එය High level languages ලෙස හැදින්වේ.
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 වල පාවිච්චි වෙන නියෝග නිකම්ම අකුරුවල එකතුවක් මිසක් අපිට හුරු පුරුදු ඉංගීසී වචන නෙවෙයි.
Assembler language එක ඊට වෙනස්. Computer එකේ නැත්නම් Operating System එකේ දේවල් එක්ක වැඩ කරන්න හදලා තියෙන එකකුයි Assembler language එක කියන්නෙ.මේකෙන් program ලිවීම අමාරු මෙය කියාවට නැංවීමේදී දී හුගාක් වෙගවත්
මේ Low level Languages වල පාවිච්චි වෙන නියෝග නිකම්ම අකුරුවල එකතුවක් මිසක් අපිට හුරු පුරුදු ඉංගීසී වචන නෙවෙයි.
උදාහරණ :- Asm , mov , add , jnz, dec
මේ වචන යම් කිසි එකක නියෝග. සමහර ඒවා හුරුපුරුදු ඉංගීසී වචන වුවත් හුගාක් ඒවා ඒ වෙග්ම නෙවෙයි.
High level & Low level languages
ඔබට පහත රූප සටහනින් ඇති අපි කතාකල Languages වලින් මිනිසාට කිට්ටුම High level languages වන අතර Computer එකට low level languages කිට්ටුම බව
ඔබට පහත රූප සටහනින් ඇති අපි කතාකල Languages වලින් මිනිසාට කිට්ටුම High level languages වන අතර Computer එකට low level languages කිට්ටුම බව
Translators
අපි මුලින්ම කතා කරානේ High level language එකකින් ලියන program එකක් කියාවට නැංවීමේදී මුලින්ම එය Machine code එකට හැරෙවනවා කියලා..අපි ඒ දෙයට කියනවා Translators කියලා.
අපි මුලින්ම කතා කරානේ High level language එකකින් ලියන program එකක් කියාවට නැංවීමේදී මුලින්ම එය Machine code එකට හැරෙවනවා කියලා..අපි ඒ දෙයට කියනවා Translators කියලා.
Translator’s වර්ග දෙකක් තියන්වා.
1. Compiler
2. Interpreter
1. Compiler
2. Interpreter
Compiler
භාෂා පරිවර්තකෙයෝ වර්ග දෙකක් ඉන්නවා. එක වර්ගයකට කලින් කතාව ලියලා දුන්නහම ඒ ගොල්ලෝ කතාවෙ වැරදි එහෙම තියෙන්වනම් ඒවා හදලා මුලු කතාවම වෙනත් භාෂාවකට හරවනවා. කතාව කරන කෙනාට තියෙන්නෙ පරිවර්තනය කරපු කතාව කියවන එකයි.
භාෂා පරිවර්තකෙයෝ වර්ග දෙකක් ඉන්නවා. එක වර්ගයකට කලින් කතාව ලියලා දුන්නහම ඒ ගොල්ලෝ කතාවෙ වැරදි එහෙම තියෙන්වනම් ඒවා හදලා මුලු කතාවම වෙනත් භාෂාවකට හරවනවා. කතාව කරන කෙනාට තියෙන්නෙ පරිවර්තනය කරපු කතාව කියවන එකයි.
Compiler කියන වර්ගෙය්දී මුලින්ම එකකින් නියෝග මාලාව හෙවත් program එක ලියනවා.මේකට අපි source code එක කියලා කියනවා.
මෙහිදී සම්පූර්ණ program එකම Machine code එකට හැරෙවනවා.එහිදී program එකේ ඇති සියලුම වැරදි ලැයිස්තුව අපට පෙන්නනව. ඒ වැරදි නිවැරදි කරලා ආයෙමත් compile කලහම Compile වූ program එක ලැබෙනව. දැන් අර මුල් source code එක නැතිව වුවත් අපිට program එක කියාත්මක කරලා අවශ්ය දේ ලබාගන්න පුලුවන්.
ඒත් යම් විදියකින් අපට අපි ලිව්ව program එකේ යම් නියෝගයක් වෙනස් කිරීමට අවශ්ය නම් ඒක compile කල program එක පාවිච්චි කරලා කරන්න බැහැ. ආයෙත් අපට source code එක ගන්න වෙනව. ඒකෙ අවශ්ය වෙනස්කම් කරලා ආයෙත් compile කරලයි වෙනස් කරන ලද program එක පාවිච්චි කරන්න පුලුවන් වෙන්නේ.
ඉස්සරනම් අපි යම් ආයතනයකට program එකක් ලිවීමේදී compile කල program එක ආයතනයට දීලා එක අපි ලඟ තියා ගන්නවා. ඒත් දැන් ලොකු ආයතන හුගාක් වෙලාවට “programmer” ගෙන් source code එකත් ඉල්ලා ගන්නවා.
Compiler වලට උදාහරණ:-Turbo Pascal, Turbo C++
Interpreters
හිතන්න භාෂා පරිවර්තනය කිරීමේදී බැරි වෙලාවත් කතාව කරන කෙනා කොලයක් බලන්නේ නැතිව එවෙලේ හිතලා කතා කරනවා කියල. එවැනි වෙලාවක පරිවර්තකයාට මුළු කථාවම පරිවර්තනය කිරීමක් ගැන හිතන්නවත් බැහැ. මොකද එහෙම මුළු කතාවම එවෙලේම පරිවර්තනය කරන්න බැහැ. එතෙකොට කරන්න තියෙන්නේ කථිකයා කතාකරන පේලියෙ පේලියට පරිවර්තකයා විසින් අවශ්ය අනෙක් භාෂාවට පරිවර්තනය කිරීමයි. මේ වැඩේදී වැරදී අහුවෙන්නේ ඒ ඒ පේලිය කතා කරනෙකොටයි. ඒ කියන්නේ ඒ පේලියට ආවහමයි.
හිතන්න භාෂා පරිවර්තනය කිරීමේදී බැරි වෙලාවත් කතාව කරන කෙනා කොලයක් බලන්නේ නැතිව එවෙලේ හිතලා කතා කරනවා කියල. එවැනි වෙලාවක පරිවර්තකයාට මුළු කථාවම පරිවර්තනය කිරීමක් ගැන හිතන්නවත් බැහැ. මොකද එහෙම මුළු කතාවම එවෙලේම පරිවර්තනය කරන්න බැහැ. එතෙකොට කරන්න තියෙන්නේ කථිකයා කතාකරන පේලියෙ පේලියට පරිවර්තකයා විසින් අවශ්ය අනෙක් භාෂාවට පරිවර්තනය කිරීමයි. මේ වැඩේදී වැරදී අහුවෙන්නේ ඒ ඒ පේලිය කතා කරනෙකොටයි. ඒ කියන්නේ ඒ පේලියට ආවහමයි.
මේ වෙග්මයි Interpreters එකත් පවිච්චි කරල High level language එකකින් ලිව්ව program එකක් Machine code එකට හැරවීමේදී වෙන්නෙත්.ඇත්තටම compiler එකේ වගේ විශේෂයෙන් එහෙම Translate කිරීමක් කරන්න අපිට සිද්ද වෙන්නෙ නැහැ. අපි High level language එකකින් program එක ලියලා ඒක කියාත්මක කරනවිට පේලියෙන් පේලියටයි Interpreter එක මගින් Machine code එකට. ඊලඟට ඒ හැරවුනු පේලිය ක්රියවට නැගෙනව. මෙතනදී යම් පේලියක වරදක් තියෙනවනම් ඒ පේලියට ආවහම තමයි ඒ වැරැද්ද පෙනෙන්නේ . ඒ වැරැද්ද නිවැරදි කරලා ආයෙත් program එක කියාත්මක කළහම ඊළඟ පේලියේ තවත් වැරැද්දක් තියනවනම් ඒ වරද පෙන්නනවා.
කාලෙකට ඉස්සෙල්ලා භාවිතෙය් තිබූ “GW BASIC” කියන Language එක Interpreters වලට හොද උදාහරණයක්.
Compiler & Interpreters
දැන් ඔබට තේරෙනව ඇති Compiler එකකින් Translate කරද්දි ඒ වැඩේ කරන්න ඕන එක පාරක් විතරක් හන්දා කලායින් පස්සෙ අපට ඕනේ වාර ගණනක් Compile කල program එක කියාත්මක කරන්න පුලුවන් කියලා. ඒ නිසා මේ ක්රමය වඩා වේගවත් වෙනව.
දැන් ඔබට තේරෙනව ඇති Compiler එකකින් Translate කරද්දි ඒ වැඩේ කරන්න ඕන එක පාරක් විතරක් හන්දා කලායින් පස්සෙ අපට ඕනේ වාර ගණනක් Compile කල program එක කියාත්මක කරන්න පුලුවන් කියලා. ඒ නිසා මේ ක්රමය වඩා වේගවත් වෙනව.
ඒත් Interpreter එකකින් කරද්දී අපි program එක කියාත්මක කරන වාරයක් වාරයක් ගනෙන් Interpreter වෙන නිසා මේ විදිය ටිකක් වෙලා යනවා.
අද කාලේ භාවිතා වෙන වඩා දියුනු නවීන low level languages වල
(Visual Basic, Java) මෙම ලක්ෂණ දෙකම තියන්ව.
0 comments:
Post a Comment