තවත් අපූරු ඡන්දයක් නිම විය. එය කරුණු රැසක් නිසා අපූර්ව වේ. සමහරු කියන පරිදි රදලයන්ගේ දේශපාලනයේ අවසානයක් (තාවකාලිකව හෝ) ඉන් සිදු විය. වැඩ කරන ජනයාගේ, නිර්ධන පංතියේ නායකයෙකු හා පක්ෂයක් බලයට පත් වීමද සුවිශේෂී වේ. රටේ මෙතෙක් සිදු වූ සකල විධ අපරාධ, දූෂන, භීෂන සොයා දඩුවම් කරනවා යැයි සමස්ථ රටවැසියා විශ්වාස කරන පාලනයක් ඇති විය. තවද, බහුතර කැමැත්ත නැති (එනම් 43%ක කැමැත්ත ඇති) ජනපතිවරයකු පත් විය. ජවිපෙ නායකයෙක් "තෙරුවන් සරණයි" කියා පැවසීමත් පුදුමය. මේ සියල්ල ලංකා ඉතිහාසයේ පලමු වරට සිදු වූ අපූරු දේශපාලන සංසිද්ධි වේ. මාද විවිධ හේතුන් මත අනුරට විරුද්ධව මෙවර තර්ක විතර්ක, සංවාද විවාද, හා "මඩ" යහමින් ගැසූ තත්වයක් මත වුවද, ඔහු දැන් රටේ ජනපති බැවින් ඔහුට පලමුව සුබ පතමි. ඔහුට විරුද්ධව වැඩ කලත්, මා (කිසිදා) කිසිදු පක්ෂයකට හෝ පුද්ගලයකුට කඩේ ගියේද නැති අතර අඩුම ගණනේ මාගේ ඡන්දය ප්රකාශ කිරීමටවත් ඡන්ද පොලට ගියෙ නැත (ජීවිතයේ පලමු වරට ඡන්ද වර්ජනයක). උපතේ සිටම වාමාංශික දේශපාලනය සක්රියව යෙදුනු පවුලක හැදී වැඩී, විප්ලවවාදි අදහස්වලින් මෙතෙක් කල් දක්වා සිටි මා පලමු වරට සාම්ප්රදායික (කන්සර්වටිව්
දැන්
ඉතා සරල සී ප්රෝග්රෑම් එකක්
සාදමු. පහත
දැක්වෙන කෝඩිං (coding) ඔබේ
ටෙක්ස්ට් එඩිටර් එක තුළ ඒ
දක්වා ඇති පරිදි ලියන්න.
ඉන්පසු එය
සේව් කරන්න ඔබට කැමැති නමකින්.
එහෙත්
අනිවාර්යෙන්ම එම සේව් කරන
ෆයිල් එකේ අගට ලියන extension
එක වනුයේ
.c යන්නයි.
ඒ අනුව මා
එම ෆයිල් එක hello_world.c ලෙස
නම් කරනවා.
සටහන
සෝස්කෝඩ් ෆයිල් එකට ඔබට කැමති නමක් දිය හැකියි. එහෙත් ඔබ නිතරම උත්සහ කළ යුතුයි පුලුවන් තරම් කෙටි හා හොඳ නමක් ලබා දීමට. කෙනෙකු එම ෆයිල් එකේ නම දුටු ගමන් එය අහවල් දේ සම්බන්ධ ෆයිල් එකක් බව සරල දැනුමක් එම ෆයිල්නේම් එකෙන් ලැබිය යුතුය.
සෝස්කෝඩ් ෆයිල් එකට ඔබට කැමති නමක් දිය හැකියි. එහෙත් ඔබ නිතරම උත්සහ කළ යුතුයි පුලුවන් තරම් කෙටි හා හොඳ නමක් ලබා දීමට. කෙනෙකු එම ෆයිල් එකේ නම දුටු ගමන් එය අහවල් දේ සම්බන්ධ ෆයිල් එකක් බව සරල දැනුමක් එම ෆයිල්නේම් එකෙන් ලැබිය යුතුය.
වින්ඩෝස්වල
සිම්පල් හා කැපිටල් භේදය නැති
නිසා ෆයිල්නේම් එක සිම්පල්
හෝ කැපිටල් හෝ කලවමේ හෝ ලිව්වාට
ගැටලු මතු නොවේ (case-insensitive).
ඒ කියන්නේ
myfile.c, MyFile.c, myFILE.C ආදී
නම් සියල්ලම වින්ඩෝස්වලදී
එක සමානයි. එහෙත්
සියලුම ලිනක්ස් පද්ධති සිම්පල්
කැපිටල් වෙනසට සංවේදී වේ
(case-sensitive). ඒ
අනුව ලිනක්ස්වලදී ඉහත ෆයිල්නේම්
3 ඇත්තටම
වෙන වෙනම (ස්වාධීන)
ෆයිල් 3කි.
එනිසා,
ඔබ භාවිතා
කරන්නේ කුමන ප්ලැට්ෆෝම් එකක්
වුවත්, සිරිතක්
හා පුරුද්දක් ලෙස සිම්පල්
කැපිටල් යම් ප්රතිපත්තියක්
මත යොදන්න. උදාහරණයක්
ලෙස, මා
සිරිතක් ලෙස හැමවිටම ෆයිල්නේම්
ලියන්නේ සිම්පල් අකුරින්
පමණි. ප්රෝග්රැමිංවලදී
මෙවැනි සරල ප්රතිපත්ති
මාලාවක් පිළිපැදීමේ වටිනාකම
කියා නිම කළ නොහැකි තරම් වේ
(ඒ ගැන
තවදුරටත් පාඩම් මාලාව තුලදී
කතා කරමු).
තවද,
තමන් සේව්
කරන සෝස්කෝඩ් පරිගනකයේ නොයෙක්
තැන් තැන්වල සේව් කරන්නත්
එපා. ඕනෑම
දෙයක් කරන විට, එහි
යම් විනයක් හා පිළිවෙළක්
අනුගමනය කිරීම ඵලදායිතාවට
හේතු වෙනවා. එනිසා
ඔබේ සෝස්කෝඩ් සියල්ල එක්
නිශ්චිත ෆෝල්ඩර් එකක සේව්
කරන්න. එය
හාඩ් ඩිස්ක් එකේ හෝ ෆ්ලෑෂ්
ඩ්රයිව් එකේ විය හැකියි.
උදාහරණයක්
ලෙස, මා
සෝස්කෝඩ් ෆයිල් සේව් කරන්නේ
මගේ home folder එකේ
c යන
සබ්ෆෝල්ඩර් එක තුලයි (ලිනක්ස්වල
මෙන්ම වින්ඩෝස්වලද හෝම්
ෆෝල්ඩරය යනු ඔබ භාවිතා කරන
යූසර්නේම් එකට ඉබේම සාදා දෙන,
ඔබේ ෆයිල්
සේව් කළ හැකි ෆෝල්ඩර් එකයි).
හරි...
දැන් සෝස්කෝඩ්
එක ලියා අවසානයි (ඔබට
එම කෝඩිංවල තිබූ දේවල් පොඩ්ඩක්වත්
තේරුණේ නැතත් දැනට ගැටලුවක
නැත මොකද මොහොතකින් ඒ සියලු
දේ ගැන එකින් එක ඉගැන්වේ).
මීළඟට කරන්නට
තිබෙන්නේ එම සෝස්කෝඩ් එක
කම්පයිල් කරන්නයි. ඒ
සඳහා ටර්මිනල් (කමාන්ඩ්
ප්රොම්ප්ට් එක) රන්
කරන්න.
ටර්මිනලයක්
ඕපන් වන විට, එය
අනිවාර්යෙන්ම යම් ෆෝල්ඩර්
එකක් ඕපන් කරනවා. එය
හරියට ඔබ යම් ෆෝල්ඩර් එකක්
මත ඩබ්ල් ක්ලික් කළ විට,
එම ෆෝල්ඩර්
එක ඕපන් වෙනවා වාගේ දෙයකි.
එවිට ඔබට
එම ඕපන් වෙච්ච ෆෝල්ඩර් එක තුළ
තිබෙන සබ්ෆෝල්ඩර් හා ෆයිල්
සමග ගනදෙනු කළ හැකියිනෙ.
ඉතිං,
සාමාන්යයෙන්
ටර්මිනලයක් ඕපන් වන විට,
ඉබේම එය ඔබ
දැන් ලොග්ඉන් වෙලා සිටින
යූසර්නේම් (යූසර්
එකවුන්ට්) එකට
අයත් හෝම් ෆෝල්ඩර් එක තමයි
ඕපන් කරන්නේ. ලිනක්ස්වල
නම්, එම
හෝම් ෆෝල්ඩර් එක ~ යන
සංඛේතයෙන් දක්වනවා.
උදාහරණයක්
ලෙස එම ටර්මිනලය මත ls හෝ
dir යන
කමාන්ඩ් එක ලියා එන්ටර් කර
බලන්න (වින්ඩෝස්වල
නම් ls වෙනුවට
dir යන
ඩොස් කමාන්ඩ් එක ලිවිය යුතුයි).
එවිට,
එම ෆෝල්ඩර්
එක තුළ තිබෙන ෆයිල් හා සබ්ෆෝල්ඩර්
සියල්ල පෙන්වනු ඇත (පහත
දැක්වෙන්නේ මාගේ හෝම් ෆෝල්ඩරය
තුළ තිබෙන දේවල්ය).
ඉතිං
ටර්මිනලයක් සමග වැඩ කරන විට,
පළමුවෙන්ම
ඔබේ සෝස්කෝඩ් ෆයිල් තිබෙන
ෆෝල්ඩර් එකට යෑම උචිතයි.
මාගේ සෝස්කෝඩ්
තිබෙන්නේ හෝම් ෆෝල්ඩරයේම
තිබෙන c නම්
සබ්ෆෝල්ඩරය තුළයි. එය
ඕපන් කිරීමට මා cd c
යන්න ටයිප්
කර එන්ටර් කරනවා. ටර්මිනලයක්
තුළදී දැන් සිටින ෆෝල්ඩරයේ
සිට වෙනත් ෆෝල්ඩරයකට යෑමට cd
(ch යනු change
directory යන්නයි)නම්
කමාන්ඩ් එක භාවිතා කළ යුතුයි.
මීට පෙර ඔබ
දුටු ls හා
dir යන
කමාන්ඩ්වලින් කළේ සිටින
ෆෝල්ඩරය තුළ තිබෙන ෆයිල් හා
සබ්ෆෝල්ඩර් දර්ශනය කිරීමයි.
ටර්මිනලයක්
සමග වැඩ කිරීමට මෙවැනි කමාන්ඩ්
රාශියක් සෑම මෙහෙයුම් පද්ධතියකම
තිබේ.
cd කමාන්ඩ්
එකට පසුව ඔබට ඕපන් කිරීමට
අවශ්ය ෆෝල්ඩර් එකේ පාත් එක
ලබා දිය යුතුයි. මට
ඕපන් කිරීමට අවශ්ය c
ෆෝල්ඩර් එක
තිබුණේ දැනට මා සිටින ෆෝල්ඩර්
එක තුළ බැවින් cd c ලෙස
ටයිප් කිරීම ප්රමාණවත් වූවා.
මට ඕපන්
කිරීමට අවශ්ය වූයේ c
ෆෝල්ඩරය
තුළ තිබෙන abc නම්
ෆෝල්ඩරයකට නම්, cd c/abc
ලෙස මට ටයිප්
කිරීමට සිදු වේවි. එසේත්
නැතිනම් හෝම් ෆෝල්ඩරයේ සිට
පෙර පරිදි cd c රන්
කර පළමුව c ෆෝල්ඩරය
තුළට ගොස්, නැවතත්
cd abc යන්න
ටයිප් කර abc ෆෝල්ඩරය
තුළට යා හැකියි. ඇත්තටම
cd ගැනත්,
වෙනත් කමාන්ඩ්
ගැනත් ඉගෙනීමට තවත් දේවල්
තිබේ (ඒවා
සොයා බලන්න). කෙසේ
හෝ වේවා, කම්පයිල්
කිරීමට පෙර තමන්ගේ සෝස්කෝඩ්
එක තිබෙන ෆෝල්ඩර් එක ඕපන්
කිරීමයි වැදගත්.
කම්පයිල්
කිරීමට පහත රූපයේ දිස්වන
ආකාරයට කම්පයිල් කමාන්ඩ් එක
රන් කරන්න. ඔබේ
පරිගනකයේ GCC ඉන්ස්ටෝල්
කර තිබේ නම්, එය
ඉක්මනින්ම කම්පයිල් වේවි.
මෙහි gcc
යනු කම්පයිලර්
ප්රෝග්රෑම් එකේ නමයි (ඔබ
භාවිතා කරන්නේ වෙනස් කම්පයිලරයක්
නම්, එම
කම්පයිලරයේ නම ලියන්න).
කම්පයිලරයට
කිව යුතුයි කුමන සෝස්කෝඩ් එක
කම්පයිල් කරන්නද කියා.
අප කම්පයිල්
කරන්නට යන්නේ මොහොතකට පෙර
hello_world.c ලෙස
සේව් කරගත් සෝස්කෝඩ් එක නිසා
එම නම ලබා දී ඇත. ඉන්පසුව
-o (ඉංග්රිසි
"ඕ"
අකුර)
යන්නට පසුව
මා hello_world.exe ලෙස
නමක් ලබා දී තිබේ. එහි
අරමුණ කම්පයිල් කළාට පසුව
ලැබෙන එක්සික්යුටබල් හෙවත්
බයිනරි ෆයිල් එකේ නම එසේ විය
යුතුය කියාය. මෙහිදීද
ඔබට කැමති නමක් ලබා දිය හැකියි.
මෙම
ප්රෝග්රෑම් එක ඉතාම සරල හා
කුඩා නිසා ක්ෂණයකින් කම්පයිල්
වනු ඇත. විශාල
ප්රෝග්රෑම් සඳහා යම් කාලයක්
ගත වේවි. කිසිදු
වරදක් සෝස්කෝඩ්වල නැති නම්,
සාර්ථකව
කම්පයිල් වේවි. එහෙත්
යම් යම් වැරදි ඇතොත්,
කම්පයිලරයට
පළමුවෙන්ම හමුවන වැරැද්දේදීම
කම්පයිලරය නවතිනු ඇත.
වැරැද්ද
කුමක්දැයි කෙටියෙන් පෙන්වාවි.
එවිට,
ඔබට හැකියි
එම වැරැද්ද කුමක්ද කියා හරියටම
සොයා බලන්නට.
සටහන
ප්රෝග්රැමිංවලදී අපිට නිතරම වැරදි (error) හමු වෙනවා. එය කිසිසේත් බිය වීමට හෝ ලැජ්ජා වීමට හේතුවක් නොවේ. කොතරම් දක්ෂ ප්රෝග්රැමර් කෙනෙකුට වුවත් වැරදි කිසිවක් හමුනොවන සේ එකවර ප්රෝග්රෑම් සෑදිය නොහැකියි. දක්ෂතාව තිබෙන්නේ එලෙස හමුවන වැරදි හඳුනාගෙන ඒවා නිවැරදි කිරීමට ඇති හැකියාව තුල යැයි මා විශ්වාස කරනවා. මූලිකව මෙවැනි එරර් (වැරදි) වර්ග දෙකක් හඳුනාගත හැකියි - compile-time errors, run-time errors.
ප්රෝග්රැමිංවලදී අපිට නිතරම වැරදි (error) හමු වෙනවා. එය කිසිසේත් බිය වීමට හෝ ලැජ්ජා වීමට හේතුවක් නොවේ. කොතරම් දක්ෂ ප්රෝග්රැමර් කෙනෙකුට වුවත් වැරදි කිසිවක් හමුනොවන සේ එකවර ප්රෝග්රෑම් සෑදිය නොහැකියි. දක්ෂතාව තිබෙන්නේ එලෙස හමුවන වැරදි හඳුනාගෙන ඒවා නිවැරදි කිරීමට ඇති හැකියාව තුල යැයි මා විශ්වාස කරනවා. මූලිකව මෙවැනි එරර් (වැරදි) වර්ග දෙකක් හඳුනාගත හැකියි - compile-time errors, run-time errors.
කම්පයිල්-ටයිම්
එරර්ස් යනු නමෙහිම කියවෙන
පරිදි ප්රෝග්රෑම් එක කම්පයිල්
කරන විට හමුවන හෙවත් මතුවන
වැරදිය. ඒවා
නිවැරදි නොකර කිසිසේත්
ප්රෝග්රෑම් එකක් සෑදිය
නොහැකියි (මොකද
එක්සික්යුටබල් ෆයිල් එක
සාදන්නට පෙර කම්පයිලරය වැරැද්ද
හමුවන තැන නවතින නිසා).
එහෙත්
ඉන්ටප්රීටර් ක්රමයේ
ප්රෝග්රෑම්වලදී නම්
කම්පයිල්-ටයිම්
වැරදි හමු නොවේ මොකද එහිදී
කම්පයිල් කිරීමක් නැත.
ඉන් ඔබ වැරදි
හැඟීමක් ඇති කර ගන්න එපා
කම්පයිල් වර්ගයට වඩා ඉන්ටර්ප්රීට්
වර්ගය වඩා හොඳයිනෙ කියා.
කම්පයිල්
කරන මොහොතෙ වැරදි හමු වන විට,
ඉන් ඔබට
අවස්ථාවක් ලැබෙනවා එම වැරදි
කල්තියාම හඳුනාගෙන ඒවා නිවැරදි
කිරීමට. එහෙත්
එම ප්රෝග්රෑම් එක ඉන්ටර්ප්රීට්
ක්රමයට සකස් කළ විට, එය
රන් කරන විටයි එම වැරදි හමු
වන්නේ. ඒ
කියන්නේ වැරැදි හමුවන්නේ පසු
කාලීනවයි. ඔබ
කැමති ඔබේ ඇඳුමක් මඟුල් ගේකට
යන්න අඳින්නට ගන්නා විට එය
මීයො කාලා කියා දැනගන්නද,
එහෙමත්
නැතිනම් මඟුල් දවසට සතියකට
පෙර එය මීයො කාලා කියා දැනගන්නටද?
සිතා බලන්න.
රන්-ටයිම්
වැරදි යනු ප්රෝග්රෑම් එකක්
රන් වන මොහොතෙදී හමු වන ඒවාය.
මේවා කම්පයිල්
කරන විට කිසිසේත් හමු නොවේ.
තවද,
මෙවැනි වැරදි
කෝඩිංවල තිබුණත්, රන්
කරන හැමවිටම හමු නොවන්නත්
පුලුවන්. ඊට
හේතුව උදාහරණයක් ඇසුරින් මා
පෙන්වන්නම්. සිතන්න
යම් ප්රෝග්රෑම් එකක තිබෙනවා
ඔබ ලබා දෙන සංඛ්යා දෙකක්
එකකින් අනෙක බෙදීමට කියා.
එම සංඛ්යා
දෙක x, y ලෙස
සැලකුවොත්, ඒ
කියන්නේ මෙම කෝඩිං කොටසින්
කරන්නේ x / y (එක්ස්
බෙදීම වයි) යන
ගණිත කර්මය වේ. ඔබට
කැමති කැමති ඉලක්කම් ලබා දිය
හැකියිනෙ. මෙලෙස
බොහෝ වාරයක් ඔබ මීට විවිධ
අගයන් ලබා දුන් විට ප්රෝග්රැමර්
සිතූ පරිදි එම කෝඩිං වැඩ කරාවි.
එහෙත් ඔබ y
සඳහා 0
(බිංදුව)
ලබා දුන්
විට, ඉහත
කෝඩිං එකට ගණනය කිරීමට බැරි
වෙනවා. ඊට
හේතුව කිසිම පරිගණකයකට බැහැ
යම් අගයක් බිංදුවෙන් බෙදන්නට.
මෙවිට
ප්රෝග්රෑම් එක ඇනහිටිනවා.
මෙවැනි වැරදි
තමයි රන්-ටයිම්
වැරදි කියන්නේ. මේවා
හරියට කාල බෝම්බ වැනිය.
ඔබ නොසිතන
මොහොතක එකපාරටම වැරැද්ද මතු
වේ. මෙච්චර
කාලයක් හොඳට වැඩ කරපු එක දැන්
කොහොමද එකපාරටම අප්සට් වූයේ
කියා සිතේවි.
ඇත්තටම
හොඳ ප්රෝග්රැමර් කෙනෙකුගේ
අනෙක් දක්ෂතාව තමයි මෙවැනි
වැරදි මතු විය හැකි තැන් කල්
තියාම හඳුනාගෙන ඒවා ඇති නොවන
පරිදි ප්රෝග්රෑම් සෑදීම.
උදාහරණයක්
ලෙස, ඉහත
ගත් උදාහරණයේදී හොඳ දක්ෂ
ප්රෝග්රැමර් කෙනෙකු නම්,
හැමවිටම
ඔහු x/y ගණනය
කිරීමට පෙර, y සඳහා
ඔබ විසින් ලබා දෙන අගය 0
ට සමානද කියා
චෙක් කර, එය
0ට සමාන
නම්, කරුණාකර
වෙනත් අගයක් ඇතුලු කරන්න කියා
ඔබට ඉබේම උපදෙසක් ලබා දෙන
පරිදි කෝඩිං එක සකස් කරාවි.
හරි...
දැන් කම්පයිල්
කරපු ප්රෝග්රෑම් එක රන් කර
බැලීමට අවස්ථාවයි. ඉහත
කම්පයිල් කමාන්ඩ් එක රන් කළ
පසුව සෑදෙන එක්සික්යුටබල්
ෆයිල් එක සේව් වන්නේද සෝස්කෝඩ්
එක තිබෙන ෆෝල්ඩර් එක තුළමයි.
එය රන් කිරීමට,
ටර්මිනලය
තුළ එම ෆෝල්ඩර් එකට ගොස්,
සේව් වෙච්ච
ප්රෝග්රෑම් එකේ නම ටයිප්
කර එන්ටර් කරන්න.
එහෙත්
මෙහිදී සමහරවිට ප්රෝග්රෑම්
එක රන් නොවන්නත් පුලුවන්
(hello_world.exe: command not found ලෙස
එවැනි ප්රෝග්රෑම් එකක්
නැතැයි කියන්නට ඉඩ තියෙනවා).
ඊට හේතුව
සරලයි. ටර්මිනලය
තුළ යම් ප්රෝග්රෑම් එකක
නමක් ඇතුලු කළ විට, එම
නමින් ඇති ප්රෝග්රෑම් එකක්
තිබේදැයි පළමුවෙන්ම සොයා ගත
යුතුයි. එහෙත්
ටර්මිනලය ඔබේ පරිගනකයේ තිබෙන
සෑම ෆෝල්ඩර් එකකටම එබී එම
නමින් ප්රෝග්රෑම් එකක්
තිබේදැයි සොයා බලන්නේ නැත.
ටර්මිනලය
එසේ ප්රෝග්රෑම් තිබේදැයි
සොයා බලන ෆෝල්ඩර් ගණනාවක්
තිබේ (එම
ෆෝල්ඩර් මොනවාදැයි මෙහෙයුම්
පද්ධතිය විසින් ඉබේම සෙට්
කරයි). මෙම
ෆෝල්ඩර් මොනවාද යන්න PATH
ලෙස හැඳින්වෙන
"සෙටිං
එකක්" (එනම්,
environment variable) මඟින්
තමයි එය සෙට් කරන්නේ.
මෙහෙයුම්
පද්ධතිය විසින් ඊට එකතු කර
ඇති ෆෝල්ඩර්වලට අමතරව ඔබටත්
පුලුවන් ඊට ඔබ කැමති ෆෝල්ඩර්
එකතු කරන්න. ඉතිං
ඔබ සාදපු ප්රෝග්රෑම් තිබෙන
ෆෝල්ඩරය මෙම පාත් එකට එකතු
කළොත්, ඔබේ
ප්රෝග්රෑම් එක රන් වේවි;
පාත් එකේ
නැතිනම් එවැනි කමාන්ඩ් එකක්
නැතැයි පවසාවි.
ඇත්තටම
ඔබගේ ෆෝල්ඩරය පාත් එකට ඇතුලු
කර කර ඉන්නට අවශ්ය නැහැ.
ටර්මිනලය
මත ./ යන්න
ලියා ඊට පසුව ප්රෝග්රෑම්
එකේ නම ලියූ විට (එම
නමින් ප්රෝග්රෑම් එකක්
තමන් දැන් සිටින ෆෝල්ඩරය තුළ
ඇත්නම්) අදාල
ප්රෝග්රෑම් එක රන් වෙනවා.
./ යන්නෙන්
කියන්නේ "තමන්
දැන් සිටින ෆෝල්ඩර් එක තුළ
ඇති" යන්නයි.
ඒ අනුව,
./hello_world.exe යන්න
රන් කරන විට, ඒ
කියන්නේ දැන් ටර්මිනලයේ ඕපන්
වී තිබෙන ෆෝල්ඩරයේ තිබෙන
hello_world.exe ප්රෝග්රෑම්
එක රන් කරන ලෙසයි. ඒ
අනුව පහත රූපයේ ආකාරයට එම
ප්රෝග්රෑම් එක රන් වේවි.
කිසිදු
රන්-ටයිම්
වරදක් නැතිව සාර්ථකව ප්රෝග්රෑම්
එක රන් වුණා. ඇත්තටම
මෙම ප්රෝග්රෑම් එකෙන් සිදු
කරපු එකම කාර්ය වූයේ Hello
World! යන වාඛ්ය
කොටස ටර්මිනල් තිරය මත දැක්වීම
පමණි. මෙලෙස
ටර්මිනලයක් මත පමණක් ක්රියාත්මක
වන පරිදි සාදපු ප්රෝග්රෑම්වලට
console applications/software කියා
කියනවා. ඊටම
CLI applications කියාද
කියනවා (CLI යනු
command line interface යන්නයි).
මෙවැනි
කන්සෝල් සොෆ්ට්වෙයාර් සමග
ගනුදෙනු කරන්නේ කීබෝඩ් එක
හරහාය. ඒ
කියන්නේ ප්රෝග්රෑම් එකට
දත්ත ඇතුලු කිරීමට අවශ්ය
නම්, ඔබ
එම දත්ත කන්සෝල් එකේම ටයිප්
කර එන්ටර් කරන්නට අවශ්යයි.
එලෙසම,
ප්රෝග්රෑම්
එකෙන් ඔබට යම් යම් දේවල් කියන
විට, එම
පණිවිඩද දිස්වන්නේ ටර්මිනලය
තුලමයි. මවුසය
භාවිතා කරන්නේ නැති තරම්ය.
මෙනු,
බට්න්,
ඩයලොග්
බොක්ස්, රූප,
ශබ්ද ආදී
"විච්චූර්ණ"
දේවල් කිසිවක්
නැත. එනිසාම
මේ ආකාරයට සාදන ප්රෝග්රෑම්
ඉතා වේගවත්ය. මුල්
කාලයේ පරිගණක වැඩසටහන් සියල්ලම
පැවතියේ මේ ආකාරයට පමණි.
කිසිදු
ලස්සනක් හා පහසු බවක් නැති
නිසා, සාමාන්ය
අය කිසිසේත් මෙවැනි සොෆ්ට්වෙයාර්වලට
කැමැති නැති වීම මෙහි ඇති
ප්රධාන දුර්වලකමයි.
සාමාන්ය
අය කැමැති ලස්සනට හා පහසු
බවටයි. “එහෙන්
ක්ලික් කර, මෙහෙන්
ක්ලික් කර" තමන්ගේ
වැඩේ සිදු කර ගන්නට ඔවුන්
කැමැතියි. ඔබ
භාවිතා කරන සියලුම සොෆ්ට්වෙයාර්
මවුසය ඇසුරින් නේද මෙහෙයවන්නේ?
මෙවැනි
"ලස්සන"
හා "භාවිතා
කරන්නාට පහසු"
(user-friendly) සොෆ්ට්වෙයාර්
GUI applications ලෙස
හැඳින්වෙනවා (GUI යනු
graphical user interface). මෙවැනි
"ගූයි"
සොෆ්ට්වෙයාර්
සෑදීමට නම් සී භාෂාවට අමතරව
තවත් කරුණු ඉගෙනීමට සිදු වේ.
එම කරුණු
ඉගැන්වීම මෙම පාඩම්වල අරමුණ
නොවන නිසා, අප
විසින් සාදන සියලු ප්රෝග්රෑම්
කොටස් කන්සෝල් ආකාරයේ ඒවාය.
ඔබ මේ වන
විට, පළමු
කන්සෝල් ප්රෝග්රෑම් එක
සාදා අවසානයි. මෙතැන්
සිට සී භාෂාවේ මූලිකාංග ගැන
ඉගෙන ගමු.