කේතයක් පමණක් කියවලා පද්ධතියක් පිළිබඳ සම්පූර්ණ අවබෝධයක් ලැබෙන්නේ නැත. ඒක තේරුම් ගැනීමට හොඳම ක්රමය තමයි එය ඔබේම අත්දැකීමෙන්, වැරදිවත් නැවත ගොඩනැගීමයි.
කියවලාම සාර්ථකයි කියලා හිතන බොහෝ දෙනාට වඩා, ලේඛකයා වසර ගණනාවකට පසු TCP echo server එක සතුටින් නැවත ගොඩනැගුවා. පළමු වරට blocking accept loop එකෙන් පටන්ගෙන, පසුව select, poll, kqueue, epoll වැනි තාක්ෂණ භාවිතා කරමින් සත්වක් වාරයක් කරා. මේ ක්රියාකාරකම තුළ ඔහුට “සර්වර් එකක් සකස් කිරීමේදී කර්නල් එකෙන් සලකුණු ලැබෙන තුරු ඉදිරියට යන්න එපා” කියන වැදගත් අදහස අවසානයේම තේරුම් ගත හැකි වුණා.
මෙම අත්දැකීම තුළ ලේඛකයා තුනක් ලෙස “අවබෝධය” වර්ගයක් හඳුනාගත්තේ:
- ඉන්ටර්ෆේස් අවබෝධය: API එක කොහොමද භාවිතා කරනව, පරාමිති මොනවාද, ප්රතිඵල කොහොමද ලැබෙන්නේ – මෙය වැඩ කරන විට ප්රායෝගිකව ඉගෙන ගත හැක.
- සෝර්ස් කේත අවබෝධය: කේතයේ එක් එක් ලයිනයක් පියවරෙන් පියවර නිරීක්ෂණය කිරීම. එහෙත් මෙය “කොහොමද තෝරාගත්ද?” යන ප්රශ්නයට පිළිතුරක් නොදෙයි.
- නැවත ගොඩනැගීම: ඔබම තීරණ ගැනීමට, ගැටලු මුහුණ දීමට, වැරදි කිරීමට අවශ්ය වන අවස්ථාව. මෙය නිතරම “කේතයේ පසුබැසීම” බවට පත්වේ.
Peter Naurගේ “Programming as Theory Building” ලිපියෙන් පෙනේ, කේතය, ලේඛන, සෝර්ස් කේතය යනු මනසෙහි ඇති “තත්ත්ව න්යාය” එකේ කොටස් පමණක්. එම න්යාය ලේඛකයාගේ මනසේ පවතින අතර, ඔහු ඉවත් වුනොත් එය මරයි. ඒ නිසා පද්ධතියේ න්යාය ගොඩනැගීම අනිවාර්යයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්ට, මෙම ක්රමය අධ්යයන මාර්ගයක් වශයෙන් ගැඹුරු කේත අවබෝධයක් ලබා දේ. ඔවුන් පළමු වරට “කොහොමද” කියන ප්රශ්නයට “ඇයි” කියන උත්තරයත් එක්ක ලැබෙයි. ව්යාපාරික පාර්ශ්වයෙන්, තනි‑තනි සේවා ගොඩනැගීමේදී පද්ධතියේ බලාපොරොත්තු නොවන බොත්තම් හඳුනාගත හැකි බැවින්, නඩත්තු වියදම අඩු කරයි. එමෙන්ම, ශ්රී ලංකාවේ ආරම්භක සමාගම්වලට තාක්ෂණික නවෝත්පාදන සදහා මූලික පදනමක් සපයයි.
අවසන් වරට, පද්ධතියක් පූර්ණයෙන්ම “පැහැදිලි” කිරීම සඳහා, එය ඔබේම අත්දැකීමෙන්, වැරදිවත් නැවත ගොඩනැගීමෙන් පසු පමණක් හැකියාව ලැබේ. කේතය කියවීම පමණක් නොව, එය ඔබේම ගැටලු විසඳුම් වශයෙන් පරිණාමය කිරීමයි සැබෑ ඉගෙනුම.