අපි කතාකලේ ජාවා කොහොමද මේ අවුල ලෙහලා දෙන්නෙ කියලනේ.හරි මෙහෙමයි.කලින් මම කියපු විදිහට හැම මෙහෙයුම් පද්ධතියකටම එම පද්ධතිය මෙන්ම මෘදුකංගයකටම ඒක නිර්මාණය කරන්න යොදා ගත්ත ක්රම ලේඛන භාෂාවක් තියෙනවා.එතකොට මේ ජාවා කියන ක්රම ලේඛන භාෂාව ලියලා තියෙන්නෙ සී කියන ක්රම ලේඛන භාෂාව යොදාගෙන, ජේම්ස් ගොස්ලින් ඇතුලු පිරිස විසින්.ඔය ඉන්නෙ එයා තමයි.මේ පරිඝනක විද්යාඥියා ජාවා හදන්න හේතුවු කරුණු ඒ පසු පස ලියැවුනු රසවත් කතා තිබෙනවා.පාඩමේ ඉදිරියට යද්දී මම හෙමිහීට කියන්නම්.
ඉතින් අපි ආයෙත් කතා කර කර හිටපු තැනට ගියොත්, අපි යම්කිසි මෙහෙයුම් පද්ධතියකට තේරුම් ගත හැකි විදීහට කෝඩ් එකක් ලියලා ඒක මෙහෙයුම් පද්ධතියට විධාන දෙන්න කියලා කිව්වම.මෙහෙයුම් පද්ධතිය මේ කෝඩ් එකෙන් හැදෙන විධාන වලට අනුව වැඩකරන්න ගන්නවානේ.ඒත් ඉතින් මේ කෝඩ් එකම වෙන මෙහෙයුම් පද්ධතියකට (Linux, mac or any....)විධාන දෙන්න පටන් ගත්තොත් අර ග්රීක් වගේ තමයි.මොකද කියන දේ මෙහෙයුම් පද්ධතියට අදුර ගන්න බැරි වෙනවා.
මේ ගැටලුව විසදන්න තමයි ජාවා වලදී VIRTUVAL MACHINE කියන සංකල්පය උදව්වෙන්නේ.ඒක ගැන කියන්න කලින් මම කියන්නම් අපි ලියපු කෝඩ් එක කොහොමද ක්රියාත්මක වෙන්නේ කියන එක.ඒකට අපිට පොඩි සංකල්ප ටිකක් ගැන විස්තරාත්මකව ඉගෙන ගන්න වෙනවා.
01. General Compiler
---------------------------------
මේ කියන්නෙත් එක්තරා විදිහක පරිඝනක මෘදුකාංගක් ම තමයි.
මේකෙන් වෙන්නෙ මෙහෙම දෙයක්...,
අපි ක්රම ලේඛන භාෂාවට අදාල වන කේත භාවිත කරලා ලියපු කෝඩ් එක පරිඝනකයේ ප්රොසෙසර් එකට තෙරුම් ගන්න පුලුවන් විදිහට ඒයාගෙ ස්වභාෂාව හෙවත් නේටිව් ලැන්ග්වේග්ජ් (Native Language) එකට පත්කරලා දීම තමයි කම්පයිලර් එකකින් වෙන්නෙ.ඒ කිව්වෙ අපි කෝඩ් එක කම්පයිලර් එක ලවා කම්පයිල් කලාම කෝඩ් එක බයිනරි හෙවත් ප්රොසෙසර් එක තේරුම් ගන්න අක්ශර සහිත (Binary Based - 0 1 0 1 0 0 ) භාෂාවක් බවට පත් වෙනවා. ජාවා වලදී මෙම කෝඩ් එක සෝස් කෝඩ් එක( .java) හෝ ජාවා ෆයිල් එක ලෙසත් කම්පයිලර් එකෙන් ලබා දෙන අවුට්පුට් එක ක්ලාස් ෆයිල් එක ( .class) ලෙසත් තමයි ව්යවහාර වෙන්නෙ.
ඉදිරි පාඩම් වලදී මම වැඩිදුර පැහැදිලි කරන්නම්....,
තාක්ශණික වචන ආශ්රයෙන් කිව්වොත් High Level Language වලින් ලියපු කොඩ් එක Low Level Language බව ට පත් කිරීමයි සිදු වෙන්නෙ. එමෙන්ම Low Level Language එකකින් ඇති කෝඩ් එක High Level Language එකක් බවට හැරවීමට De compiler කියන උපාංගයකුත් වෙනම භාවිතා වෙනවා
02. Java Compiler
--------------------------
ලබන සතියට ......
**********************************************************************
මේ දවස් ටිකේ නම් ගොඩාක් වැඩ අධිකයි.කොටින්ම සති අන්තෙත් වැඩ ගමකට තියෙනවා.මම ඉක්මනටම මේ හැදින්වීම් කොටස් ටික කියලා ඉවර කරන්නම් හොදේ ... :-)
මේ සෙනසුරාදා ලිපිය පල කරන්නෙ අපේ ඇඩ්මින් කශ්ටියගෙන් කෙනෙක්.
ඔයාලාට ජාවා ගැන තියෙන ගැටලු කමෙන්ට් වල දන්න. අපි උත්තර දෙන්නම්.කමෙන්ට් නම් මොඩරේට් වේද කියන්න බෑ.ඒ අයත් ගොඩාක් වැඩ එක්කෙනේ මට උදව් වෙන්නේ.
ඉතින් කාලෙ වෙන් කරලා මට දෙන සහයෝගයට අශාන්ට,සසිදුට,හසිතට ගොඩාක් ස්තුතියි. :-)
ඉක්මනටම ඉතුරු ටික ලියන්නම්....
*******************************************************************
උසස් පෙළ අයි.ටී කරන අයට ඕනි වෙන ,Introduction to Programming using Python ගැන සයිට් එකකුත් මට හම්බ උනා මෙන්න ලින්ක් එක. ඒකත් බලන්න. :-)
නිපුන - 11/9/10