කේත ලෝකයෙහි "අතිමහත් සරල" ලෙස හැඳින්වෙන Brainfuck භාෂාවට ඔබ පිවිසෙන්න. නමටම හුඟාක් විරුද්ධ වුවත්, මෙය කුඩා නියම 8 ක් පමණින් පරිගණකයක් සම්පූර්ණයෙන්ම පාලනය කරයි. මේ ලිපියෙන් නවකයින්ට එය අරඹා, මූලික අදහස සහ ප්රායෝගික උදාහරණයක් – “Hello World!” – පෙන්වමු.
Brainfuck එකේ මූලික රචනා මතක තට්ටුව (memory tape) සහ දත්ත සූචකය (data pointer) යන දෙකක් පමණයි. මතක තට්ටුව සාමාන්යයෙන් 30,000 බයිට් වලින් සමන්විත වන අතර, සියල්ල 0 යෙන් ආරම්භ වේ. සූචකය පළමු සෙල් එකට පෙන්වයි. කේතය සෑම විටම මෙම අක්ෂර 8 ක් භාවිතා කරයි; වෙනත් අක්ෂර සියල්ල අදහස් නොකරයි.
අක්ෂර 8 ක් වන්නේ:
- > – සූචකය දකුණට ගෙන යයි
- < – සූචකය වම්පසට ගෙන යයි
- + – වර්තමාන සෙල් එකේ අගය එකක් වැඩි කරයි
- - – අගය එකක් අඩු කරයි
- . – වර්තමාන අගයට අනුකූල ASCII අකුර ප්රදර්ශනය කරයි
- , – පරිශීලක ඉන්පුට් එකක් ගනී
- [ – සෙල් අගය 0 නම් ලූප් අවසන් කරයි
- ] – සෙල් අගය 0 නොවන විට ලූප් ආරම්භ කරයි
ලූප් ( [ ] ) භාවිතයෙන් while‑type පාලනය සිදු වේ. උදාහරණයක් ලෙස +++++ [>+++<-] යනු 5 වාරයක් 3 එකතු කරමින් ගුණකයක් නිර්මාණය කරන පේටර්නයයි. මෙය 5×3=15 ලෙස ප්රතිඵලය දකුණේ සෙල් එකට සටහන් කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
Brainfuck නවක සංවර්ධකයින්ට පරිගණකයේ අඩු මට්ටමේ ක්රියාකාරකම් – මතක කළමනාකරණය, සූචක ගමන්, ලූප් පාලනය – ආරම්භක තලයේම පරීක්ෂා කිරීමට උදව් කරයි. ශ්රී ලංකාවේ විශ්වවිද්යාල හා තාක්ෂණික පාඨමාලා වලදී මෙවැනි “esolang” පාඨමාලා එකතු කිරීමෙන් සිසුන්ට අලූත් අදහස්, ගැඹුරු තාක්ෂණික මූලධර්ම සහ ගැටළු විසඳුම් හැකියාවන් වර්ධනය වේ.
තවත් පාර්ශ්වයක් වශයෙන්, ස්ථානයීය තාක්ෂණ ව්යාපාර සඳහා Brainfuck මත පදනම් වූ අභ්යාස ක්රමයක් නිර්මාණය කර, කේත සංකීර්ණතාවය අඩු කර, කාර්ය සාධන කාලය කෙටි කර ගැනීමට උපකාරී වේ. එමෙන්ම, ඔන්ලයින් අර්ථකථක (interpreter) භාවිතයෙන් සිසුන්ට රියල්‑ටයිම් මතක තට්ටු ගතිකත්වය නිරීක්ෂණය කරගැනීමට හැකියාව ලැබේ.
අවසානයේ, Brainfuck භාෂාව අඩුම නියම 8 ක් මඟින් පරිගණක ක්රියාකාරකම් සම්පූර්ණ කළ හැකි බව පෙන්වමින්, තාක්ෂණික සිතුවිලිවල නව පරමාර්ථයක් ගොඩනඟයි. ඔබත් අලුත් කේත ලෝකයක් අත්හදා බලන්න!