Thursday, September 27, 2012

අපි නොදන්න Programming (2) - ඉතිහාසය අමතක නොකරමු!


පරිගණක වැඩසටහන් (software හෙවත් programmes) නිර්මාණය කරන්නේ යම් කිසි ගැටලුවකට විසඳුමක් ලබා ගැනීමටයි. උදාහරණයක් ලෙස වදන් සැකසීමේ වැඩසටහනක් (MS word වැනි) සැලකුවහොත් එය නිර්මාණය කර ඇත්තේ කඩදාසි, පෑන් පැන්සල් ආදිය භාවිතා කර ශ්‍රමායිකව (manual ) ලිපි ලේඛන සැකසීමේදී ඇති වන ගැටලු, අඩුපාඩු, ආදිය අවම කර පහසුවෙන් හා ඉක්මණින් ලිපිලේඛන සැකසීමටයි.
මේනිසා පරිගණක වැඩසටහනක් සෑදීමට පෙර විසඳීමට බලාපොරොත්තු වන ගැටළුව , එය විසඳන ආකාරය හා අවසානයේ ලැබිය යුතු ප්‍රතිඵලය ගැන නිසි අවබෝධයක් තිබීම අත්‍යවශ්‍ය වේ. පරිගණක වැඩසටහන් සෑදීමේදී සිදුවන්නේ හඳුනාගත් ගැටලුව විසඳන ආකාරය පරිගණකයට අවබෝධ කරගත හැකි ආකාරයට පියවරෙන් පියවර ඇතුලත් කිරීමයි. සරලවම ගත් විට පරිගණක වැඩසටහනක් යනු පරිගණකයට ලබා දෙන උපදෙස් මාලාවකි.

ඉතිහාසය

චාර්ල්ස් බැබේජ්

Analytical Engine
(මෙන්න මැෂින් ඈ 
:)  )

පරිගණක වැඩසටහන් (ක්‍රමලේඛන) සෑදීමේ ඉතිහාසය 1840 ගණන් දක්වා දිවයයි. 1834 දී චාර්ල්ස් බැබේජ් (Charles Babbage) විසින් Analytical Engine නම් යන්ත්‍රය ඉදිරිපත් කරන ලදී. එකල පැවති අනෙක් යන්ත්‍ර (පරිගණක) වලට හැකියාව තිබුනේ යම් නිශ්චිත කාර්යයක් කිරීමට පමණි. මේ වා බොහෝවිට ගණිත ගැටලු විසඳීමට යෙදවිණි.  එම යන්ත්‍රයට විසඳිය හැකි ගණිත ගැටලු වර්ගය යන්ත්‍රය නිපදවූ අවස්ථාවේදීම තීරණය වූ අතර ඊට වඩා වෙනස් දෙයක් කිරීමට ඒවාට නොහැකි විය. නමුත් බැබේජ්ගේ යන්ත්‍රයට එකිනෙකට වෙනස් වර්ග වල ගැටලු විසඳීමට හැකියාව තිබුණි. මෙම ගැටලු වර්ග තොරා ගැනීම හා ඒවාට අදාල උපදෙස් ලබා දීම ‘පන්ච් කාඩ්‘ (punch cards) හරහා සිදුවිය.

punch cards
(CD,DVD හා පෙන් ඩ්‍රයිව් වල පරණ නෑයා)

බැබේජ් ගේ යන්ත්‍රයට යෙදිය හැකි උපදෙස් මාලාවක් (වැඩසටහනක්) වංශවත් කාන්තාවක් මෙන්ම ගණිතඥවරියක්ද වූ ඇඩා ලව්ලස් (Ada Lovelace) විසින් ලියන ලදී. මේ නිසා ලොව ප්‍රථම පරිගණක වැඩසටහන් නිර්මාණකාරිය (programmer ක්‍රමලේඛිකාව) ලෙස ඇය ගෞරවයට පාත්‍ර වේ. ඇමරිකාවේ ආරක්ෂක දෙපාර්තමේතුව විසින් නිපදවන ලද පරිගණක භාෂාවකට Ada යන නම තබා ඇත්තේ ඇයව අනුස්මරණය කිරීම සඳහාය. 

Ada Lovelace8-7
/* 
 * කලින් ලිපියට ප්‍රතිචාර දැක්වූ  හැමෝටම ස්තූතියි. ඊලඟ ලිපියෙදී පරිගණක භාෂා (programming languages) ගැනත් ඒවා අතර සමාන-වෙනස් කම් ගැනත් කතා කරමු.

 ෴ අංජන
*/

18 comments:

  1. එතකොට ඔය තියෙන්නේ පළවෙනි පරිගණකයද? දැන් තියෙන ඒවට වඩා ලස්සණයි වගේ ඒක...

    ReplyDelete
    Replies
    1. මේක "පරිගණකය" කියලා අද අපි හඳුන්වන සංකල්පයට ගැලපෙන්න හදපු (සැලසුම් කල) ප්‍රථම යාන්ත්‍රික පරිගණකය කිව්වොත් වඩා නිවැරදියි. මේක යාන්ත්‍රික කියලා හඳුන්වන්නේ වාෂ්ප බලය, දැතිරෝද දම්වැල් ආදිය යොදාගෙන ක්‍රියා කල නිසයි @-). බැබේජ්ට මේක ප්‍රායෝගිකව සම්පූර්ණ කරන්න අවස්ථාව ලැබිලා නෑ :( . මේ රෑපයේ තියෙන්නේ බැබේජ් බාගෙට හදලා නවත්තපු යන්ත්‍රයේ කොටසක්.
      2010 දි විතර කට්ටියක් මේක සම්පූර්ණ කරන්න ව්‍යාපෘතියක් පටන් අරගෙන තියෙනවා. (http://plan28.org/) ඒගොල්ලෝ කියන විදියට නම් මේක හදලා ඉවර වුනාම කෝච්චි එන්ජිමකට වඩා විශාල වෙයිලු !#-o

      Delete
    2. ඔව් ඒක එහෙම‍ වෙන්න ඕන... වෙන දෙයක් නෙවෙයි.. ඔය 741 අයි.සී එකේ ඇතුළේ තියෙන සර්කිට් එක වුණත් අයි.සී එන්න කලින් හැදුවනම් මේසයක් විතරවත් විශාල එකක් වෙයි මං හිතන්නේ...

      Delete
  2. Replies
    1. ස්තූතියි, දිගටම කියවන්න එන්න !

      Delete
  3. ආ ... ඔය විස්තර ටිකනම් අපිටත් ඉස්සර ක්ලාස් එකේ කළා මතකයි. ඉස්සරහට ලියන් යමුකෝ ...

    ReplyDelete
    Replies
    1. ඹව් ගොඩක් පාඨමාලා වල history of computers යටතේ මේ දේවල් කියා දෙනවා.
      දිගටම කියවන්න :)

      Delete
  4. එල එල නොදන්නා දේවල් ටිකක් දැනගත්තා :)

    ReplyDelete
    Replies
    1. නොදන්න දේවල් කියා දෙන්න ලැබීම සතුටක්!
      දිගටම කියවන්න

      Delete
  5. ඔය පන්ච් කාඩ් එක්ක වැඩ කරපු මනුස්සයෙක් අපේ ඔපීසියේ ඉන්නවා...

    ReplyDelete
    Replies
    1. ෆ්ලොපි ඩිස්ක් වලට කලින් මේවා තමයි පාවිච්චි කරලා තියෙන්නේ. 80 ගණන් වලත් මේවා තිබිලා තියෙනවා.
      (ඒ මනුස්සයා නියම පොරක් වෙන්ඩ ඇති L-) )

      Delete
  6. හරිම වටිනවා ලිපිය දිගටම ලියන්න අපි එනවා කියවන්න.
    http://samakayawate.blogspot.com

    ReplyDelete
  7. හොඳ වැඩක්.
    ජය!

    ReplyDelete
  8. මේක නම් හොඳ වැඩක්, දැන් ඉන්න ගොඩක් අය මේවා ගැන උනන්දු වෙන්නෙ නැහැනේ!

    ReplyDelete