July 19, 2013

මොකක්ද මේ " PROGRAMMING LANGUAGE" කියන්නේ

           

          හරි එදා කියල දුන්නනේ “ program “ කියන පුස්කොල පොත ගැන. අද කියන්න හදන්නේ ඒ පුස්කොල පොත ලියල තියන භාෂාව ගැන ඒ කිව්වේ “ programming Language” එක ගැන තම අද පාඩම.

            මන් කලින් කිව්වා වගේ අපේ යකඩ ගොඩට මොකක්වත් තේරුම් ගන්න නම් බෑ. ඇත්තම කිව්වොත් අපි ලියන program පවා තේරුම්ගන්න තරම් වත් හැකියාවක් එකට නෑ. ඔන්න අයෙත් අව්ලක් තේරුම් ගන්න බැරිනම් මොකටද මේ අලුත්ම භාෂාවකුත් හදල program ලියන්නේ ???? මාරම අව්ලක් නේද. මන් කලිනුත් කිවනේ අපේ machine එකට දල ඉන්න O/S  එකේ ඉන්න පොඩි උනත් සැර වැඩකාරයෙක් COMMAND INTERPRETOR කියල, අන්න ඌ තමා අපි ලියන instruction තේරුම් අරන් processor එකට ( ඔය core i3,i5 කියන්නේ ඕකට තමා ) දෙනවා ඌට තේරෙන භාෂාවෙන්.

දැන් පොඩි ප්‍රශ්නයක් මන් අහන්නම් .. අපි දැන් මේ program එක ලියන භාෂාව නැත්තම් programming language  එක කාට තේරෙන විදියට හදපු එකක්ද????

මන් මේකට දෙන උත්තරය ටිකක් විවාදයකට ගන්න පුළුවන් එකක්. ඒ ඔයාලා programming language වල ඉතිහාසය ගැන දන්නේ නැති නිසා


හරි මන් එහෙනම් programming language වල ඉතිහාසය ගැන පොඩ්ඩක් කියලා ඉන්නම්

·         ලෝකේ පළවෙනියටම programming language එකක් භාවිත උනේ 1842 දී Charles Babbage ගේ Analytical Engine එකේදී.  ඒ කාලේදී බාවිතා උනේ machine code කියන programming language එක. මේ programming language එක කෙලින්නම processor එකට තේරුම් ගන්න පුළුවන් විදියට තම හදල තිවනේ මොකද මේ machine code කියන්නේ අද අපි 2කෙ පාදයේ සංක්‍යා කියල පාවිච්චි කරන binary pattern එකේ code. කිව්වම හිතාගන්න බැරිනම් මන් මෙහෙම් කියන්නම් හිතන්න මට ඕනේ ඉංගිරිසි හෝඩියේ මුල් අකුර Type කරගන්න ඔය print වෙන්න ඕන දේ ලියන හැටි බලාගන්නකෝ


                                                  A   à 01000001

    කොහොමද ආතල් එක. දැන් ඔය විදියට අකුරු 3නක වගේ වචනයක් ලියන්න උනොත් කොහොමද??? ඊටත් වඩා වාක්‍යක් ලියන්න උනාම???? කොහොමද සැප !!!


·         ඊළගට මිනිස්සුන්ට තේරුණා මේ වැඩේ හරියන්නේ නෑ කියල ඒ නිසා මිනිස්සු පුරුදු උනා අර වගේ machine code වලින් අකුර අකුර ගගහ code කරන්නේ නැතුව නිතර බවිත වන වචන අර විදියට හදල තියාගෙන ඒවා යොදා ගනිමින් program හදන්න මේ විදියට හදා ගත්ත වචන වලට එයාල නමක් දුන්න ඒ නම තමයි KEY WORDS, ඒ වගේම කෑලි එකතු කරලා හදාගත්ත භාෂාවක් නිසා එයාල මේ programming language එකට කිව්වා Assembly language එක කියල මේ language එක මුලින්ම බාවිත උනේ 1942දී ඒ John V Atanasoff  ගේ ලෝකේ පලවෙනි  true digital electronic computer ලෙස හදුන්වන Atanasoff-Berry Computer (නැතම් කෙටියෙන් මේක ABC කියලත් හදුන්වනවා. ඔය පහල රූපේ තියෙන්නේ එක තමා)






            මේ language 2කම සාමාන්‍ය මිනිහෙක්ට තියා expert programmer කෙනෙක්ටවත් බැලුවට තේරුම් ගන්න බෑ. 1 කේ ඒවා ගොඩකුයි 0 ඒවා ගොඩකුයි දැක්කම ඔලුව විකාර වෙනවනේ බලන්නකෝ පහල


                   0100100001000101010011000100110001001111

ඔය ලියල තියන එක තේරෙනවද ???? නැනේ ඔය තියෙන්නේ ලෝකේ වැඩි පුරම භාවිත වන වචනය. ඇලෙක්සැන්ඩර් ග්‍රැහැම් බෙල් ගේ පෙම්වතියගේ නම “ HELLO ” පොඩ්ඩක් ඉන්නකෝ මන් පෙන්නනම් මුලින්ම මන් මේක 8 ටේ කොටස් වලට කඩාගන්නවා

01001000   01000101   01001100   01001100   01001111
    H                  E                L                L               O

කොහොමද වැඩේ???????? බොක්කත් එක්ක cool වෙනවනේ ??? කොහොමද ඔහොම code කරන්න උනානම් !!!!!!

ඔන්න ඔය දේවල් නිසා මිනිස්සුනට ඕනේ උනා අපි කතා කරන භාෂාවෙන් ම code කරන්න පුළුවන් programming  language  එකක්. එක තමයි නව පරම්පරාවේ programming  language වල ආරම්බය.



·         මේ විදියට මිනිස්සුන්ට තේරෙන භාෂාවෙන් නැත්තම් Human readable  විදියට code කරන්න හදපු programming language වලට දාපු නම තමයි High Level Language. මේක නිසා අපිට code කරන එක ගොඩාක් ලේසි උනා. ඇත්තම කිව්වොත් programming කියන දේ මෙතරම් දියුණුවක් ලබාගන්න ප්‍රධානම turning point එක උනේ මේක.

මේ විදියට හදපු මුල්ම languages තමා;

     1.      John Backus  ගේ  FORTRAN (1955), "FORmula  TRANslator"  
     2.      John McCarthy  ගේ  LISP (1958),  "LISt  Processor"


       ඊළගට තමා අද අපි භාවිතා කරන C,C++,C#, JAVA වගේ languages බිහි උනේ. ඔන්න ඕක තමා programming language වල ඉතිහාසය

එත් මේ මාරු වීමත් එක්ක ලොකු ප්‍රශ්නයක් ඇති උනා මොකද අපිට තේරුම් ගන්න පුළුවන් උනාට මේ language එක processor  එකට තේරුම්ගන්න බෑ. අන්න එක නිසා මිනිස්සු හැදුව සැර වැඩකරුවෙක් ඒ තමා COMMAND INTERPRETER




 දැන් අයෙත් මන් මුලින් අහපු ප්‍රශ්නෙට යමු
අපි දැන් මේ program එක ලියන භාෂාව නැත්තම් programming language  එක කාට තේරෙන විදියට හදපු එකක්ද???

මේකට තියන උත්තරේ තමා මුල්ම කාලේ තිවන machine code සහ Assembly code කියන programming language 2ක කෙලින්ම processor එකට තේරුම් ගන්න පුළුවන් විදියට ලියපු language

එත් දැනට අපි පාවිච්චි කරන programming language , processor එකට කෙලින්ම තේරුම් ගන්න බෑ. ඒ program තේරුම් ගන්න පුළුවන් COMMAND INTERPRETER ට විතරයි. එයා එක machine code වලට translate කරලා processor එකට දෙනවා.






හරි දැන් අපි බලමු programming language එකක් වෙන්න නම් මොනවද තියෙන්න ඕනේ දේවල් කියල ( අමතක කරන්න එපා අපි දැන් කතා කරන්නේ High Level Language ගැන)



  1. අපිට අකුරු ලියන්න කොලේකුයි පෑනකුයි ඕනේ වගේ, machine එකේදී අපිට වචන ලියන්න ඕනේ වෙනවා text editor එකක් ඒ කිව්වේ notepad වගේ එව්වා අන්න එව්වට පොදුවේ කියන නම තමා text editors
  2. ඊළගට අපිට ඕනේ ඕනේ විදියට code ලිව්වට හරියන්නේ නැනේ. සිංහල පන්තියේදී උක්ත අක්‍යයාත සම්බන්දෙ වරද්දල ගුටි කල ඇතිනේ ඒවගේ තමා. අන්න එනිසා අපිට ඕනේ වෙනවා grammer , code කරන්නන්ගේ භාෂාවෙන් කිව්වොත් SYNTAX එකක්.
  3. ඒවගේ තමා අපි ලියන text file එක command interpreter ට කියවන්න පුළුවන් උනොත් අපිට නොවේ කවදාවත් ලියුමක් type කරගන්න වෙන්නේ නෑ මොකද command interpreter ඕක program එකක් කියල හිතල පිස්සු කෙලිනවානේ. අන්න එනිසා අපිට program හදුනා ගන්න දීල තියනවා ක්‍රමයක් ඒ තමා file එකේ වර්ගෙ program එකක වර්ගෙ නැත්තම් file extention එක තමා “ . exe “ එත් text file එකක වර්ගෙ “ . txt “ ඒ නිසා අපිට වෙනවා මේ  calc. txt කියන file එක  calc . exe බවට පරිවර්තනය කරගන්න. අන්න එකට අපිට ඕනේ වෙනවා COMPILAR කියල වෙනම පොඩි program එකක්
  4. ඊළගට අපිට ඕනේ වෙනවා predefined programs. ඈ..............??? කටවල් අරුනද වචනේ අහල??? බය වෙන්න එපා ඔය කිව්වේ කලින් හදලා තියල තිවන පොඩි පොඩි program. ගොඩක් ඕනේ වෙන program හදල එවල තියෙනවනම් අපිට වැඩක් කරන්න ලෙසිනේ??? මාළු කපල සුද්ද කරලා තියනවනම් ඕක හට්ටියට දාලා ලුණු මිරිස් ගොරක දාල ලිපෙතියල උඅගන්න එක මහලොකු කජ්ජක්ද??? නේද. ( ඔය කිව්වට මටනම් එකත් බෑ...) අන්න ඒවගේ ක්ෂණික නූඩල්ස් වගේ දෙයක් තමා predefined programs. අපිට තියෙන්නේ ඒවා යොදාගෙන අපේ වැඩේ කරගන්න එක.



ඔන්න ඔය කියන කරුණු 4 සම්පුර්ණ කරනවානම් අපි කියනවා එකට programming language එකක් කියල


හෝව් හෝව් ඔන්න බාගත කොරන් නිවිහැනහිල්ලෙ බලංටකෝ........................................................................................................................

අද පාඩම බාගන්න

අදට ඔය ඇති නේ අපේ ඊලග පාඩම ... මේක නිසා අපේ එවන් මට ගහවිද දන්නේ නෑ.

                                              “C “ ද හොඳ නැත්තම් “ JAVA” ද


2 comments:

Anonymous said...

Niyamai Lokka aa....... pahara ! nodann godak dewal igenagatta. issrhatat liyanna ooone aaaaa......... jayawewa!

චානක මධුරංග කරුණාරත්න said...

ලොවෙත් සුපිරි ඈ!

Post a Comment

image

About C

C is a good language for hardware based applications and is the base of the best selling Windows OS. And is a key subject to most of the university students.

image

About us

We are students from an institute of software engineering, Sri Lanka, and we aim to make this the best blogspot for C language. Thanks!