Getting started in C / සිංහල
2023-09-11
“C” පාඩම් මාලාව පටන් ගන්න කලින් , මට නිකමට ලිපියක් ලියල දාන්න හිතුන , ඇයි ඇත්තටම මේ (C) පරිගණක බාශාවම ලිපි ටිකක් විදියට දාන්න හිතුනේ කියන එක ගැන. මේකෙදි අපිට C වල අතීත කතාව නොකිය ඉන්නම බැහැ , මොකද සරලවම C language එක බාවිතයට් ගෙන තමයි අද අපි බාවිතා කරන Operating Systems , ඒ වගේම device drivers , network හා සම්බන්ද applications , Embedded Systems සහ Databases වැනි බොහොමයක් ලියල තියෙන්නේ . ඉතින් 1972 දී , Dennis Richie මහතා Bell labs සමග වැඩ කරන කාලේ තමයි C language එක නිර්මාණය කරන්නේ , මෙතැනදී කියන්න ඕන අපි දැනට බාවිතා කරන technology හා සම්බන්ද දේවල් බොහොමයකට ආරම්බය වෙලා තියෙන්නේ bell labs සහ එහි සිටිය set එකේ පරිශ්රමය මත 🧙♂️ .. හරි දැනට දල අදහසක් තියෙනවා නේ අපි මේ code කරන්න බාවිත කරන බාශාව ගැන .. ! ඒවගේම දෙයක් තියෙනවා C බාෂාව තවත් විශේෂ වෙන , ඒ තමයි C වලට හැකියාව පවතිනවා Directly memory එක Access කරන්න , මේ දේ නිසා අපිට Data structures ලියද්දි සහ අලුත් ඒවා නිර්මාණය කරද්දී වටිනවා .. අපි අනිවාර්යෙන්ම මේ සම්බන්දව Pointers ගැන කතා කරනකොට , කතාකරමු .
දැන් code කරන්න වෙලාව හරි , මේකට අපිට CodeBLocks වගේ IDE එකක් යොදා ගන්න පුළුවන් , නැත්නම් හොදම විදිය කියල මම හිතන්නේ Old School විදියට text editor එකේ type කරලා compiler එකක් use කර ගෙන compile කර ගන්න එක . ( ඇත්තටම text editor එක බාවිත කරලා ඉගෙන ගන්න වෙලාවේ code කරන එක මම පුද්ගලිකව හිතනවා හොදයි කියල , under the hood වෙන දේවල් ඉගෙන ගන්න පුළුවන් මේ විදියෙන් , හැබැයි ලොකු systems මේ විදියට ලියන්නේ නැහැ ) , අනෙක් දේ තමයි Operating system එක , අපිට කැමති එකක ලියන්න පුළුවන් , හැබැයි Windows / Mac වලට වඩා මේක ඉගෙන ගන්න වේලාවෙ මොනවා හරි Linux/Unix based OS එකක ලියන එක වටිනවා , එකට හේතුව තමයි windows සහ Mac වල restrictions වැඩි , ඒ වගේම අපිට c එක්ක ඉදිරියට වැඩ කරද්දී සමහර system calls එහෙම programme ඇතුලේ call කරන්න වෙනවා , අන්න එනත්නදී ගැටළු එන්න පුළුවන් . ( මෙතැනදී OS එක විදියට Ubuntu බාවිතා කරනවානම් හොදයි , මොකද එක්තරා විදියකට පහසුයි බාවිතා කරන්නත් 😉) .(Ubuntu , Virtual machine එකක install කරන අකාරය මෙතනින් බලන්න )
හරි දැන් අපි දැන් C වල අතීත විත්ති ටිකකුත් දැන ගෙන , ගැලපෙන Os එකකුත් දාගෙන ඉන්න අතරේ, ඊළඟට මේ වැඩේට අවශ්ය මොකක්ද කියන එක අපි බලන්න ඕන , ඔව් .. ඊළඟට ඕන compiler එකක් , compiler එක කියන්නෙත් එක්තරා ආකාරයක application එකක්, මේක බාවිතයට ගන්නේ අපි High level language එකක් බාවිතා කරලා ලියන programme එක machine code එක බවට පරිවර්තනය කර ගන්න . ඉතින් මෙතැනදී අපි gcc compiler එක යොදා ගන්නවා අපේ c programme එක compile කර ගන්න (මෙතනදී ඔයාලට වෙන compiler එකක් යොදා ගන්නත් පුළුවන් , පොඩි research එකක් දාල කරන්න බලන්න ඒක).
ඉතින් , අදට මම මේ ලිපිය මෙතැනින් ඉවර කරනවා , ඊළඟ ලිපියේ අපි compiler එක install කරලා code කරන්න පටන් ගමු (Ubuntu වල gcc එකනම් inbuild එනවා , අපි clang වගේ එකකුත් test කරලා බලමු ) , එහෙනම් ජයවේවා !