පයිතන් භාෂාව

පයිතන් යනු බහුලව භාවිතාවන උසස් මට්ටමේ ක්‍රමලේඛන භාෂාවක් වන අතර එය නිර්මානය කර ඇත්තේ කේත කියවීමේ පහසුව අවධාරණය අ‍යුරිනි. පයිතන් සතුව ඇති අපුර්ව ගුණය වන්නේ එහි ඇති නිරවුල් කේත වින්‍යාසය සහ එහි සම්මත වැඩසටහන් ගොනුව ඉතා විශාල හා පරිපූර්ණ එකක් වීමයි. අනෙකුත් ප්‍රචලිත ක්‍රමලේඛන භාෂාවන් අතරින් මෙහි ඇති විශේෂත්වය නම් ක්‍රමලේඛනයේ භාවිතා වන පරිසීමක ඛණ්ඩක අතර හිස් ඉඩ තැබීම් වේ. පයිතන් බහු ක්‍රමලේඛන නාම මාලාවන්ට සහය වන අතර නමුත් එය සීමා නොවන්නේ වස්තු මූල,ප්‍රගම්‍ය හා ඉතා සුළු වශයෙන් කෘත්‍යයාත්මක ක්‍රමලේඛන රටාවන්ට පමණි.එය පූර්ණ ගතික පද්ධති වල ගුණ පෙන්වන අතර ස්වං මතක පාලනයද සිදුකරයි.එම ගුණය සමාන වන්නේ ස්කීම්,පර්ල්,රූබි හා tcl වැනි ගතික ක්‍රමලේඛන භාෂාවන්ටයි.පයිතන් නොයෙක් විට ස්ක්‍රිප්ටින් ලිවීමට භාවිත කලද එය බහුලව භාවිත වෙනත් කාර්යයන් සඳහාය.පයිතන් ක්‍රමලේඛන පරිගණක වල ධාවනය වන වැඩසටහන් තුලට අන්තර්ගත කල හැකිය.පයිතන් පරිවර්ථක බොහෝ [පරිගණක] පාලක පදධති වල අඩංගු වේ. පයිතන් යනු නිදහස් හා විවෘත මෘදුකාංග ගනයට අයත් මෘදුකාංගයකි. එහි ඇත්තේ ප්‍රජාව මත පදනම්වූ සංවර්ධන ක්‍රමයකි.එහි සම්පූර්ණ හෝ විකල්ප සංස්කරණ සිදුකරයි.සීපයිතන් කළමණාකරනයන් සිදුකරන්නේ ලාභ නොලබන ආයතනයක් වන පයිතන් මෘදුකාංග පදනම මගිනි.

ඉතිහාසයපයිතන් පිළිබඳ මුලින්ම අදහසක් ඇති වූයේ 1980 අග භාගයේය.එය ක්‍රියාත්මක කලේ ගයිඩො වෙන් රොසම්(Guido van Rossum) විසින් 1989 සිටයි.ඔහු ABC ක්‍රමලේඛණ භාෂාවේ ප්‍රවිණයෙකි එමෙන්ම එක්ස්සෙප්ට්ශන් හැඩලින් හා ඇමොයිබා මෙහෙයුම් පද්ධතියේ(Amoeba operating system) මුහුනත නිර්මාණය කිරීමේ ප්‍රවීණයෙකි.ඔහු පයිතන්හි මූලධර්ම රචකයාය. පයිතන් ප්‍රජාව විසින් ඔහුට පිරිණමා ඇති ප්‍රමුඛ ප්‍රධාන කාර්ය වන්නේ පයිතන්හි ඉදිරි ගමන තීරණය කිරීමයි පයිතන් 2.0 සංස්කරණය නිකුත්කලේ 2000වසරේ ඔක්තෝබර් 16 වනදාය.එහි නව අංග රැසක් අන්තර්ගත කර තිබුණා. ඒහි ගාබේජ්කලෙක්ටර් හා යුනිකෝඩ් සඳහාද පහසුකම් ලබාදී තිබුණා ඒමෙන් ම එහි විශේෂම වෙනස නම් සංවර්ධන ක්‍රියාවලිය ඔවුන් විසින් සිදුකිරීමත් එය වඩා විනිවිදභාවයෙන් හා නැවත ප්‍රජාව වෙතම සහන සැලසීමේ වැඩසටහනක් වීමයි.පයිතන් 3.0(පයිතන් 3000,py3k) සංස්කරණය නිකුත්කලේ විශාල කාලයක් තුල සිදුකල අත්හදා බැලීම් වලින් අනතුරුව 2008 දෙසැම්බර් 3වනදාය.එය නිකුත්කලේ පෙර සංස්කරණ වන 2.6 හා 2.7 සමඟද ක්‍රියාත්මකවන අයුරින්ය. එය TIOBE වසරේ ක්‍රමලේඛන භාෂාව ලෙස 2006 හා 2010 වර්ෂ වලදී දෙවරක් සම්මාන ලබාගත්තා. එය ලබාදීමට එම වසර වලදී හේතුවූයේ පයිතන්හි අසමසම ජනප්‍රියත්වයේ වර්ධනය නිසාය.එය නීර්ණය කලේ TIOBE දර්ශකය අනුවයි.

ක්‍රමලේඛණ දර්ශණය
පයිතන් බහු පැරඩිගමි භාෂාවකි.එම නිසා ක්‍රමලේඛකයන්ට විශේෂ ක්‍රමලේඛණ ආරකට හුරු වීමට සිදුවී තිබුණා.එය ඔබ්ජෙක්ට් ඔරියන්ටඩ් හා වි‍යුහාත්මක ක්‍රමලේඛණ වලට සහය දක්වනවා. තවද එය කෘත්‍යාත්මක හා ඇස්පෙක්ට් ඔරියන්ටඩ් ක්‍රම ගනනක භාෂා ලක්ෂණ ලබා දී තිබෙනවා. අනෙකුත් පැරඩිගම් සඳහා භාෂා දිගුවන් මඟින් පහසුකම් ලබා දි තිබෙනවා. ඒ pyDBC හා පයිතන් සඳහා වූ කන්ට්‍රාස්ට්ය. පයිතන් නිර්මාණය කර ඇත්තේ විතන්‍ය භාෂාවක් ලෙසයි. අළුතින් සාදාඇති අංගයන් c හා c++ මඟින් ලියන්නට පුළුවන්. පයිතන් දැනට පවතින මොඩියුල් හා යෙදීම් වල දිගුවන් සඳහා ක්‍රමලේඛන භාෂාවක් ලෙස යොදා ගතහැකියි. මේ සඳහා ක්‍රමලේඛිත මුහුණතක් අවශ්‍යවෙනවා.ABC භාෂාවේ දුර්වලතා නිසා මෙය නිර්මාණය කර ඇත්තේ වෙන් රොසම් විසිනි.

ශ්‍රිතීය ක්‍රමලේඛණය තුල වූ ළිස්ප් සම්ප්‍රදාය සඳහා පයිතන් සීමිත සහයක් පමණක් ලබා දෙයි. කෙසේ වෙතත් පයිතන් හි රටාව පෙන්නුම් කරන්නේ ළිස්ප් වර්ගයට අයත් අවම භාෂාවල වැදගත් සමානකම්ය.(scheme)

 භාවිතය
පයිතන් ස්ක්‍රිප්ටින් භාෂාවක් ලෙස වෙබ් යෙදුම් සඳහා බොහෝවිට භාවිතා කරයි Django, Pylons, TurboGears, web2py, Flask.සහ Zope වැනි වෙබ් යෙදුම් මුහුණත්හි සංකීර්ණ යෙදුම්වල නිර්මාණ හා නඩත්තු සඳහා රුකුල් දෙයිNumPy, SciPy,Matplotlib යන ලයිබ්(රී වල පයිතන් කාර්යශම පරිගණය සඳහා භාවිත වේ. මෘදුකාංග නිශ්පාදන ගණනාවක එනම් පරිමිත අංග ක්‍රමයේ මෘදුකාංග එනම් ඇබකස් සහ ත්‍රිමාණ සජීවීකරණ පැකේජ එනම් හොයුඩිනි,මායා,මෝෂන්බිල්ඩර්,සොෆ්ට් ඉමේජ්,සිනමා 4D,මෝඩා හා බ්ලෙන්ඩර් තවද 2D මූර්තන වැඩසටහන් එනම් GIMP,ඉන්ක්ස්පේස්,ක්‍ර‍යිබස් හා පේන්ට් ෂොප් ප්‍රො වල පයිතන් ස්ක්‍රිප්ටින් භාෂාව ලෙස සාර්ථකව භාවිතකරයි.ESRI දැන් පයිතන් ArcGIS වල පිටපත් ලිවීමට ඉතා සුදුසු බව ප්‍රකාශකර ඇත. එය පරිඝණක ක්‍රිඩා වලද භාවිතා කරතිබෙනවා. පයිතන් සම්මත සංරචකයක් ලෙස බොහෝ පාලක පද්ධතිවල එනම් ලිනක්ස්,නිදහස්BSD,ජාලBSD,විවෘතඹ්Sඹ් හා මැක්OSX වල භාවිතා කරයි. ටර්මිනල හරහාද භාවිතා කරයි.
බොහෝ ලිනක්ස් බෙදා හැරීම් ප්යිතන් භාෂාවෙන් ලියවුනු ස්ථාපනය කිරීම් වලද භාවිතා කරයි.උබන්ටු යුබික්විලිටි ස්ථාපන,රෙඩ් හැට් හා ෆෙඩෝරා වල ඇනකොන්ඩා ස්ථාපන,ගැන්ටු ලිනක්ස් හි පැකේජ පාලක පලක පද්ධති,ගැන්ටු ලිනක්ස් හි පැකේජ පාලක පද්ධති වල වලද භාවිතා කරයි.

සින්ටැක්ස් සහ සෙමෙන්ටික්ස්
පයිතන් නිමාණය කර ඇත්තේ කේත කියවීමේ පහසුව අවධාරණය වන අ‍යුරිනි අපැහැදිලි නැති ලෙස එය නිමවා අත්තේ ඉංග්‍රීසි ඉඟි පද භාවිතයෙනි. එමෙන්ම කාරක රීති එක්සෙප්ෂන්ස් ප්‍රමාණයද අඩුය.

 කේත අතර ඉඩ තැබීම. 
මේ සඳහා පයිතන් whitespace භාවිතා කරයි. එක්තරා ස්ටේට්මන්ට්ස් ප්රකමාණයකින් පසු ඉන්ඩෙන්ටේෂන්/ ඉඩ තබීම් වැඩි කරයි. ඉන්ඩෙන්ටේෂන්/ ඉඩ තබීම් අඩුවීමෙන් පෙන්වන්නේ දැන් පවතින බ්ලොක් එකෙහි අවසානයයි


විධි ක්‍රමය
යම් ඔබ්ජෙක්ට් එකක ඇති මෙතඩ්ස් එනම් විධි ක්‍රම අදාල ඔබ්ජෙක්ට් එකෙහි ඇති ක්ලාස් වලට අයත් ෆන්ෂන්ස්/කෘත්‍යයන් වේ. සාමන්‍ය විධි ක්‍රම හා කෘත්‍යයන් සඳහා සින්ටැක්ස් එක නම් instance.method(argument).සින්ටැක්ටික් ෂුගර් සඳහා Class.method(instance, argument). පයිතන් මෙතඩ්ස්/විධි ක්‍රම වලට නිදර්ශක දත්ත පරිශීලනයට නිශ්චිත පරාමිතීන් ඇත. මෙම ලක්ෂණය ජාවා, C++ ආදී අනෙකුත් ඔබ්ජෙක්ට් ඔරියෙන්ටඩ් ක්‍රමලේඛන භාෂා වල ඇති ඉම්ප්ලිසිට් ක්‍රම වලට වඩා වෙනස්ය.

ස්ටේට්මන්ට් සහ කන්ට්‍රෝල්ෆ්ලෝ

  • if statement-else හා elif ඔස්සේ කේත ඛණ්ඩය කොන්දේසි පිට එක්සිකියුට් කරයි.
  • for statement-සබැදි කොටසේ නැවත නැවත යෙදෙන ආවේණික විචල්‍ය යලි යලිත් ක්‍රියාත්මක කරයි.
  • while statement- කොන්දේසිය සත්‍යවන තුරු කේත ඛණ්ඩය එක්සිකියුට් කරයි
  • class statementනෙම්ස්පේස් එහි ක්ලාස් එකට යාවනතුරු කේත ඛණ්ඩය එක්සිකියුට් කරයි. මෙය OOP වල භාවිත වේ.
  • def statement-ශ්‍රිතීය හෝ විධික්‍රම ලෙස අර්ථ දක්වා ඇත.
  • with statement-(පයිතන් 2.5 සිට්) කේත ඛණ්ඩය කොන්ටෙක්ස් මැනේජරය මඟින් අහුරාලයි
උපුටා ගැනීමකි. 

2 comments:

චතුරංග පෙරේරා [චතූගේ කථා] said...

සහෝ... ඇත්තටම මේක වටිනා කාර්යයක්, ඒත් direct translation එකක් හරිම නීරසයි. හැකි නම් මුල් ලිපිය ඔබට අපිට ගැලපෙන සරල භාෂාවකින් ලියන්න. ජය !!!

saman's blog said...

මෙක විකිපීඩියා එකෙන් උපුටා ගැනීමක්. ඔබේ අදහසට අනුව මේක තවත් ලිහිල්ව ලියන්න උත්සහ ගන්නම්.