විසිල් නැතුව බල්ටි කෙරුවාව...
(programming ගැන විතරමයි)

Sunday 16 August 2009

මයෙ මැණික් කැටේ(අතපසු වූ introduction එක)

ආයිබොන්ඬලා, ඕං änthräX ගොයියා ආපහු ආව මැණික් බිස්නස් කොරන්ඬ. ඕං ඔයාලගෙ comments වලට ප්‍රචිතාර දක්කවලා වෙනම blog එකක් පටාං ගත්තා programming ගැන විතරක් කතා කරන්න.beansjar blog එකේ උඬ දකුනු පැත්තට වෙන්න තියන බල්ටි විතරක් කියන link එකෙන් හරි http://anthr6x.blogspot.com/ වලින් හරි progtamming වලට ආස කට්ටිය අලුත් තැනට එන්න. ආ.., මේක ලියන්නෙ අලුත් එකේ නෙ, පරණ තැනට යන්න විසිල් සමග බල්ටි කියල තියන link එකට යන්න. ;)

මතක ඇතිනෙ පහුගිය සතියෙ හා හා පුරා කියලා මැණික් කැටේ එක්ක line එකක් දෙකක් ලිව්වා. මම ඉතින් වැඬි යමක් විස්තර කරන්නෙ නැතුව ඬෝං පටස් ගාලා ruby ගැන විස්තර කරන්න ගත්තනෙ. comments බලද්දි හිතුනා පාඬම පැත්තක තියලා පොඬි විසිල් පාරක් දුන්න නම් හොදයි සෙනග ටිකක් එන්නයි, programming වලට ආස ruby ගැන දන්නෙ නැති අයට පොඬ්ඬක් ඔලුව දාලා බලන්න හිතෙන්නයි.

මම ඉතින් ruby කියලා language එක එක්ක ඔට්ටු වෙන්න තමයි පටන් ගත්තෙ. ඒත් ඔයාලා අහල ඇත්තෙ ruby on rails කියල මිසක ruby කියල නෙමයි. නෙද? හරි පොඬ්ඬකට programming අමතක කරමු. හිතන්න ගල් යුගයෙ පොරක් ගැන. බුවා ළග පිහියක් තියනවා කියලා. ඔන්න පොර පිහිය පාවිච්චි කරලා ගහක අත්තක් කපාගන ඒක ඕන විදියට සුද්ද කරලා, වැල් පොටක් කපාගෙන දුන්නක් හදාගන්නවා. තව ගැලපෙන ජාතියෙ කෝටුවක් කපාගෙන ඊතලයක් හදාගන්නවා. ඔන්න ඒකෙන් විදලා සතෙක් මරාගෙන කාලා සතාගෙ කටු වලින එක එක ගජමැටික්ස් (ගල් යුගයේ) හදාගන්නවා. දත් ඊතල වලටයි, ගාතයක් බැටැන් පොල්ලක් විදියටයි තව තව ඉතින් වැඬ ගොඬයි. ඔහොම ඔහොම පොර සංකීර්ණ tool set එකක් හදාගන්නවා. එක එක වැඬේ අනුව දිග පිහි, කොට පිහි, උල් පිහි, හෙල්ල, පලිහ ...(දන්නවනෙ ඉතින්) ආවුද ගබඬාවයි. ඔන්න පස්සෙ වෙන කෙනෙක්ට අරයා හදපු ආවුද පාවිච්චි කරන්න පුරුදු වෙන්න පුලුවන් නේද, ලේසියෙන් වැඬ කරගන්න?

framework, library කියලා තැන් තැන් වල ඔයාල අහල ඇතුවට කිසිම සැකයක් නෑ. ඔය කියන්නෙ අර ඉහත සදහන් කරපු විදියෙ ආයුධ ගබඬා ගැන. කිසිම ප්‍රශ්ණයක් නෑ, උවමනා කෙනෙකුට පටන් ගන්නම ආවුද පාවිච්වි කරන්න පුරුදු වෙන්න පුලුවන්. නමුත්... අපි කතන්දර වල කියවලා තියනව වගේ හොද සෙබලෙක්, හේවායෙක් විතරක් නෙමයි රජකෙනක් උනත් ඔය ආයුධ පාවිව්වි කරන්න පුරුදු වෙන්න කලින් අතපය හතරයි මොලයි පාවිච්වි කරන්න (මූලික දේවල්) පුරුදු වෙන්න ඕනා නේද? ඒ මූලික පදනම හරියට දාගත්තමට පස්සෙ අනික්වට අනිත් හැම දෙයක්ම හරියට තේරුමක් ඇතුව, පිලිවලට, ඉක්මනින් කරන්න පුලුවන් වෙනවා. ආවුද ඉනේ ගහගන ඉන්නෙ චන්ඬි මිසක් වැඬකාරයො නෙමේ කියලා අපි කවුරුත් දන්නවනේ. (සෙවල දාන්න තුවක්කුව ඉනේ ගහන් ඉදලා කුරුල්ලට වෙඬි තියාගත්ත මිනිස්සුත් අපි අතර ඉන්නවනෙ.) ඒක නිසා කරන දේ මොක උනත් හරිහමන් පදනමක් ඈතුව කරන එක නේද හොද? ඔය හේතුව නිසා තමයි ruby on rails ගැන නැතුව ruby ගැන කතා කරන්න ගත්තෙ. තවත් විදියකට කිව්වොත් electronic දැනුමක් නැතුව computer hardware කරපු කෙනෙක්ට වඬා වැඬිය electronic දැනුමක් ඇතුව computer hardware කරපු කෙනෙක්ට ප්‍රශ්ණයක් නිරාකරනය කිරීම පහසුයි නේද?

හරි, දැන් framework කියන්නෙ මොකද්ද, පාවිච්චි කිරිල්ලෙ වාසි මොනාද ආදිය ගැන කතා කරමුකො.
ruby on rails කියන්නෙ web development framework එකක්. ඒ කියන්නෙ ඔයා ජංජාලෙ භාවිතා වෙන application එකක්(උදාහරණය විදියට ගත්තොත් blog එකක්, twitter වගේ සෙල්ලමක්, web based e-mail service එකක් ආදී ඔයාට හිතෙන web based අලුත් වැඬක්) කරන්න බාවිතා කරන්න පුලුවන් ආයුධ පෙට්ටියක්. පෙට්ටියක් කිව්වට පෙට්ටියකම නෙමෙයි, ගබඬාවක්. ආවුද පාවිච්චියෙ වාසිය ඉතින් අමුතුවෙන් කියන්න ඕන නෑනෙ. එක පැත්තකින් ඌරව දාපුවම අනිත් පැත්තෙන් sausage ටික එලියට එනවා. අපි දැනගන්න ඕන ඌරව දාන්නෙ කොහොමදයි කියලයි sausage ටික එකතු කරගන්නෙ කොහොමදයි කියලයි විතරයි. ;) ඔය විදියට ලොකු ලොකු වැඬ ලේසියෙන් කරගන්න තමයි අපි framework, library පාවිච්චි කරන්නෙ. හිතන්නකො ඔයා කාර් එකක් හදන්න යනවා කියලා. ඒකට උවමනා හැම කොටසම එකින් එක ඔයා හදන්න ගියොත් වෙන වැඬක් නෑ නේද? ඔයා කරන්නෙ එක එක පුද්ගලයට කියන එක ඔයාට අවශ්‍ය දේවල්. ඔයා 17" රෝද හතරක් ඕන කිව්වම ගෝලබාලයො දන්නවා රිම් එකයි ටියබ් එකයි ටයර් එකයි එකතු කරලා හුලන් ගහල ගෙනත් දෙන්න. ඔයාට තියෙන්නෙ හයි කරන්න විතරයි. ඔය විදියට හැමදේම අපි කරන්නෙ නැතුව framework එකට කියනවා 'මට මේක ඔනා' කියලා. එතකොට එයා ඒක කරලා දෙනවා.

ඔයාලට programming ගැන අවබෝධයක් තියනවා, මේ දෙකයි පනහෙ වැඬ කර කර ඉන්නෙ නැතුව සිරා වැඬ කරන්න ඕනෙ කියල හිතෙනවනම් ruby on rails install කරගන්න විදිය ලස්සනට පැහැදිලි කරල තියන screen cast එකක් මෙන්න. මහන්සි වෙලා හොද වැඬක් කරපු Mohamed Aslamටයි මෙ ගැන මට කියපු ගවීනටයි ඉස්තූතී. install කරගත්තට පස්සෙ ඔය එහෙට මෙහෙට සෙල්ලම් දාන ඒව මෙතන තියනවා. මේවා ඔයාල programming එක්ක comfortable නම් විතරක් මේව කරන්න කියලා තමයි මගේ ඉල්ලීම.

ඊලග ලිපියෙන් looping ගැන කතා කරමු. මම යනවා රවුමක් දාන්න.

9 comments:

GNS said...

ආ එළ එළ...

අලුත් සිස්ටම් එකට, කසකාරයා එන්නෙ පෙරහැරේ මැද්දෙන් වගේ... :D

ශාකුන්තල | Shaakunthala said...

Ruby යොදාගන්නෙ මොන වගේ වැඩ වලටද කියන එක intro එකේ නෑ නෙ.

NUWAN said...

හොදයි වෑඩේ.අපෙනුත් සුභ පෑතුම්

budhajeewa said...

ස්තුතියි !

හැබැයි, ශාකුන්තල අයියා අහපු ප්‍රශ්නෙ මටත් තියනවා.

Unknown said...

@සුපුන්, @ශාකුන්තල:
Ruby කියන්නෙ ගොඩක් languages වගේම. general purpose programming language එකක්. ඒ කියන්නේ සාමාන්‍යයෙන් පරිගණක හාෂාවක් භාවිතා කරන්‍න අවශ්‍ය ඕනම තැනකදි භාවිතා කරන්න පුලුවන්.

හැබැයි C/C++ වගේ low level system programming වලටනම් Ruby පාවිච්චි වෙනවා අඩුයි. Web application වලටනම් ලොකු ඉල්ලුමක් තියනවා. මීට අමතරව සාමාන්‍ය CLI/GUI programs වලටත්, libraries වලටත් Ruby භාවිතා කරනවා. මෑතක ඉඳන්, mobile application සඳහාත් Rubyවලට ඉල්ලුමක් තියන බව පේන්න තියනවා.

Ruby තවත් ගොඩක් ප්‍රසිද්ධ පැත්තක් තමයි system administration / system provisioning පැත්ත. Puppet, Capistrano, God, Rake/Thor, oVirt, Chef, සහ තවත් සෑහෙන ප්‍රමාණයක් ops tools ලියා තියෙන්නෙ Ruby වලින්. System adminsලා අතරේ scripting සඳහාත් Ruby ප්‍රසිද්ධයි. මීට අමතරව security සහ network programming සඳහාත් Ruby භාවිතය පහසුයි. උදාහරණයක් විදියට Metasploit ව්‍යාපෘතිය හඳුන්වන්න පුලුවන්. එහි ඇතුලත් disassembler එකේ පටන් web UI දක්වා සියලු දේ ලියා ඇත්තේ Ruby වලින්.

Ruby වල Linux, Windows, MacOS, Symbian, etc. මෙහෙයුම් පද්ධති සඳහා native ඉන්ටර්ප්‍රිටරය ඇරුනම Java (JRuby) සහ .NET (IronRuby) platform සඳහාද භාවිතා කල හැකියි. මීට අමතරව Rubinius, BlueRuby, Diamonback Ruby, TinyRb, etc. යනාදී VM ගනනාවක්ම නොයෙක් ආකාරයේ හාවිතයන් සඳහා දියුණු කෙරෙමින් පවතිනවා. Ruby VM ප්‍රමාණයෙන්ම මෑත කාලයේ ලබා ඇති ජනප්‍රියතාව ගැන අදහසක් ගන්න පුලුවන්.

Unknown said...

කියන්න වචන නෑ. බොගොම ඉස්තූතී ගවීන්.

Rasika Nanayakkara said...

මේ දැම්මාවූ බලුප් සෙට් 1
මගදී ගැස්සෙන්නේ පිච්චෙන්නේ නැතිව
තවදුරටත් දීප්තියෙන් ඉහළ ගොස්
අවසානයේදී
වෙසක් තොරණ රාජයෙක් සේ බැබළේවායි
ඉත සිතින් පතමි....

ජයම වේවා....

Rasika Nanayakkara said...

@ ගවීන්
බොහොම ස්තූතියි අයියේ විස්තරේට.

@änthräX

සොරි comments 2ක් දැම්මට.
කළින් 1 ගවීන් අයියට ස්තූති කරන්න අමතක උනා.

Unknown said...

@änthräX, @රනා:

හොඳ වැඩක් කරනකොට අපි උදවු කරන්න එපැයි. :)