ක්‍රමලේඛන පැරඩයිම (Programming Paradigm) - 11-වසර තොරතුරු හා සන්නිවේදන තාක්ෂණය

ක්‍රමලේඛන පැරඩයිම (Programming Paradigm)

ක්‍රමලේඛන පැරඩයිම (Programming Paradigm)


 

ක්‍රමලේඛන පැරඩයිම (Programming Paradigm) යනුවෙන් හදුන්වනු ලබන්නේ ක්‍රමලේඛන ලිවීමේ දී අනුගමනය කළහැකි වෙනස් ආකාර / ආකෘති වේ. එසේ නොමැති නම් යම් ගැටලුවකට අදාළ විසඳුම සෙවීමේදී මූලික වශයෙන් භාවිත කළහැකි වෙන වෙනස් ආකාර වේ.

ක්‍රමලේඛන ක්‍රියාවලියට ප්‍රවේශ වියහැකි විකල්ප ප්‍රවේශ / මාර්ග ක්‍රමලේඛන පැරඩයිම නම් වේ.

උදාහරණ :  නිවසක් සාදන්නේ අත්තිවාරම මතය. එලෙසම ක්‍රමලේඛන පැරඩයිම  එකක් හෝ කිහිපයක් අත්තිවාරම ලෙස ගෙන ක්‍රමලේඛන  භාෂා නිර්මාණය කර ඇත.

 

මෙලෙස භාවිත කළ හැකි ආකෘති මූලික වශයෙන් 2 ක් ද , ඒවායේ අනුකොටස් ද පහත පරිදි දැක්විය හැකිය.

  • ප්‍රකාශන (Imperative Programming Languages )
    • තාර්කික (Logic)
    • ශ්‍රිතමය දත්ත ගැලීම් (Functional data  flow)
    • දත්ත ගබඩා (Database)
  • විධානාත්මක (Declarative Programming Languages )
    • පටිපාටිගත (Procedural)
    • වස්තු නැඹුරු (Object oriented)
    • සමාන්තරගත සැකැස්ම (Parellel Processing)

ක්‍රමලේඛන පැරඩයිම (Programming Paradigm) යනු පරිගණක භාෂාවන්ගේ මූලික ආකෘතිය / තැනුම් ඒකකයයි. එනම් යම් පරිගනක භාෂාවක් නිර්මාණය කර ඇත්තේ මෙම ක්‍රමලේඛන පැරඩයිම එකක් හෝ කිහිපයක් මූලික ආකෘතිය ලෙස උපයෝගි කරගනිමිනි. එනිසා සමහර ක්‍රමලේඛන භාෂා මෙම ක්‍රමලේඛන පැරඩයිම එකක් අනුගනය කළහැකි පරිදි ද , තවත් සමහර පරිගණක භාෂා ක්‍රමලේඛන පැරඩයිම  කිහිපයක් අනුගමනය කළහැකි පරිදි ද සැකසී ඇත.

උදාහරණ :

කේක් ආකෘතීන් සලකා බැලුවහොත් , මංගල කේක්, උපන්දින කේක්, අයිසින් කේක්, චොකලට් කේක් ලෙස විවිධාකාර වේ. පුද්ගලයාගේ අවශ්‍යතාවය පරිදි ගැලපෙන ආකෘතියක් හෝ ආකෘති කිහිපයක් තෝරා ගත හැකිය. (අයිසින් කරන ලද උපන්දින කේක් එකක්)

 

ප්‍රකාශන පරිගණක භාෂා (Declarative Programming Languages)

  • ප්‍රකාශන පරිගණක භාෂා යනු ක්‍රමලේඛන පැරඩයිමයකි.
  • පාලන ගැලීම (Control Flow) විස්තර කිරීමකින් තොරව ගණනය කිරීමේ තාර්කික න්‍යාය පමණක් දක්වන ක්‍රමලේඛන භාෂා, ප්‍රකාශන පරිගණක භාෂාවන්ට අයත් වේ.
    • උදාහරණ : SQL , Prolog
  • ප්‍රකාශන පරිගණක භාෂා මගින් අතුරු ප්‍රතිඵල අවම කිරීමට උත්සහ දරණු ලබයි.
    • එනම්, පරිගණකයට ලබාදෙන්නේ ගැටලුව කුමක්ද යන්න් පමණි එය සිදුවිය යුතු ආකාරය පියවර ලෙස නොදක්වයි. එනිසා දුවිය යුතු ආකාරය පියවර ලෙස දැක්වීමෙන් ඇතිවන අතුරු ප්‍රතිඵල අවම කරයි.
  • ප්‍රකාශන පරිගණක භාෂා නිර්මාණය වී ඇත්තේ මොන ගණනය කිරීමද (What the program must do) අවශ්‍ය යන්න පදනම් කරගෙනය. එම ගණනය කිරීම සිදුවන්නේ කෙසේද යන්න නොදක්වයි.
    • එනම් ගැටලුවකට විසඳුම් සෙවීමේදී, ගැටලුව කුමක්දයන්න පමණක් පරිගනකය වෙත ලබාදෙයි.
  • ප්‍රකාශන පරිගණක භාෂා කෘතිම බුද්ධිය මත පදනම්ව ඇත.

 

විධානාත්මක පරිගණක භාෂා (Imperative Programming Languages)

  • විධානාත්මක පරිගණක භාෂා යනු ක්‍රමලේඛන පැරඩයිමයකි.
  • පරිගණක වැඩසටහනක තත්වය / අවස්ථාවන් වෙනස් කරන ප්‍රකාශන අඩංගු පරිගණක භාෂා, විධානාත්මක පරිගණක භාෂාවන්ට අයත් වේ.
    • උදාහරණ : JAVA , Pascal
  • විධානාත්මක පරිගණක භාෂා , පරිගනකය සඳහා දෙන විධානයන්ගෙන් සමන්විත වේ. එම විධාන පියවරෙන් පියවර සිදුවිය යිතු ආකාරය දක්වයි.
  • විධානාත්මක පරිගණක භාෂා නිර්මාණය වී ඇත්තේ පරිගණක වැඩසටහන් ක්‍රියාකරන්නේ කෙසේද (How a program operate) යන්න පදනම් කරගෙනය.
    • එනම් ගැටලුවකට විසඳුම් සෙවීමේදී, විසඳුම ලබා ගන්නා ආකාරය පියවරෙන් පියවර දක්වයි.
  • පහළ මට්ටමේ පරිගනක භාෂාවන්ට (Low level programming languages) සමාන වේ.

 

ප්‍රකාශන පරිගණක භාෂා හා විධානාත්මක පරිගණක භාෂා අතර වෙනස

                      ප්‍රකාශන පරිගණක භාෂා                           විධානාත්මක පරිගණක භාෂා
  • නිර්මාණය වී ඇත්තේ මොන ගණනය කිරීමද (What the program must do) අවශ්‍ය යන්න පදනම් කරගෙනය.
  • නිර්මාණය වී ඇත්තේ මොන ගණනය කිරීමද (What the program must do) අවශ්‍ය යන්න පදනම් කරගෙනය.
  • පාලන ගැලීම (Control Flow) විස්තර කිරීමකින් තොරව ගණනය කිරීමේ තාර්කික න්‍යාය පමණක් දක්වයි.
  • පාලන ගැලීම (Control Flow) විස්තර කරන අතර විධාන පියවරෙන් පියවර සිදුවිය යිතු ආකාරය දක්වයි.
  • ප්‍රකාශන පරිගණක භාෂා කෘතිම බුද්ධිය මත පදනම්ව ඇත.
  • පහළ මට්ටමේ පරිගනක භාෂාවන්ට (Low level programming languages) සමාන වේ.