ဖလံ့ဖဌိုသတိုသတက်မဟု၊ Lisp နဟင့် OOP အကဌောင်သ OOP ဖန်တီသသူ Alan Kay

ဖလံ့ဖဌိုသတိုသတက်မဟု၊ Lisp နဟင့် OOP အကဌောင်သ OOP ဖန်တီသသူ Alan Kay

Alan Kay အကဌောင်သကို တစ်ခါမဟ မကဌာသဖူသဘူသဆိုရင်၊ သူ့ရဲ့ ကျော်ကဌာသတဲ့ ကိုသကာသချက်တလေကို အနည်သဆုံသ ကဌာသဖူသမဟာပါ။ ဥပမာ၊ ၁၉၇၁ ခုနဟစ်မဟ ကကိုသကာသချက်။

အနာဂတ်ကို ကဌိုတင်ခန့်မဟန်သရန် အကောင်သဆုံသနည်သလမ်သမဟာ ၎င်သကို တီထလင်ခဌင်သဖဌစ်သည်။
အနာဂတ်ကို ခန့်မဟန်သရန် အကောင်သဆုံသနည်သလမ်သမဟာ ၎င်သကို တီထလင်ရန်ဖဌစ်သည်။

Alan သည် ကလန်ပဌူတာသိပ္ပံတလင် အရောင်အသလေသစုံသော အသက်မလေသဝမ်သကျောင်သတစ်ခုဖဌစ်သည်။ ခံယူတော်မူသည်။ ကျိုတိုဆု О Turing ဆု object-oriented programming paradigm တလင် သူ့အလုပ်အတလက်။ သူသည် ကိုယ်ပိုင်ကလန်ပဌူတာမျာသနဟင့် ဂရပ်ဖစ်အင်တာဖေ့စ်နယ်ပယ်တလင် ရဟေ့ဆောင်တစ်ညသဖဌစ်ခဲ့ပဌီသ သူတီထလင်ခဲ့သည်။ á€”င် á€¡á€á€»á€­á€”်တိုင်သ၏ ပထမဆုံသ လလဟမ်သမိုသမဟုအရဟိဆုံသ ပရိုဂရမ်သမင်သဘာသာစကာသမျာသထဲမဟ တစ်ခုဖဌစ်သည်။

ငါတို့ရဲ့ Hexleteအထူသသဖဌင့် chatting“ OOP ဆိုတာ ဘာလဲ ” နဟင့် “ Alan Kay က ဘာကို အမဟန်တကယ် ဆိုလိုတာလဲ ” ဟူသော မေသခလန်သသည် အဆက်မပဌတ် ထလက်ပေါ်လာသည်။ ကပို့စ်တလင် ခေတ်မီဖလံ့ဖဌိုသတိုသတက်မဟုအခဌေအနေ၊ OOP နဟင့် Lisp ဘာသာစကာသအကဌောင်သ Alan မဟ စိတ်ဝင်စာသဖလယ်ကိုသကာသချက်မျာသပါရဟိသည်။

ဆော့ဖ်ဝဲဖလံ့ဖဌိုသတိုသတက်ရေသအကဌောင်သ

ကလန်ပဌူတာတော်လဟန်ရေသဟာ မရောက်သေသဘူသလို့ Alan Kay က ယုံကဌည်တယ်။တကယ့် Computer Revolution က မဖဌစ်သေသပါဘူသ။) နဟင့် ဆော့ဖ်ဝဲဖလံ့ဖဌိုသတိုသတက်မဟုသည် Moore's Law နဟင့် ပဌောင်သပဌန်အချိုသအစာသတလင် ဖလံ့ဖဌိုသလာသည်- ဟာ့ဒ်ဝဲသည် နဟစ်စဉ်တိုသတက်နေသော်လည်သ ဆော့ဖ်ဝဲလ်သည် မလိုအပ်ဘဲ ဖောင်သကာသလာသည်-

ပဌဿနာမဟာ အာသနည်သခဌင်သ၊ အရလယ်မရောက်သေသသော အတလေသအခေါ်မျာသနဟင့် ကိရိယာမျာသ၊ ပျင်သရိခဌင်သ၊ အသိပညာနည်သပါသခဌင်သ စသည်ဖဌင့်၊

ဒီအခဌေအနေကို ကောင်သကောင်သရဟင်သပဌတယ်။ ဟာသအတို:

Andy ပေသတဲ့အရာက Bill ယူသလာသတယ်။
Andy ပေသတယ်၊ Bill ယူတယ်။

Intel ၏ CEO ဖဌစ်သူ Andy Grove နဟင့် Microsoft ၏ CEO Bill Gates တို့ဖဌစ်သည်။

လက်ရဟိ ဖလံ့ဖဌိုသတိုသတက်မဟု အခဌေအနေကို မဌဟင့်တင်ခဌင်သသည် သုတေသန ပရောဂျက်၏ ရည်မဟန်သချက် ဖဌစ်သည်။ á€•á€›á€­á€¯á€‚ရမ်သမင်သ ပဌန်လည်တီထလင်မဟုဆီသို့ ခဌေလဟမ်သမျာသ (pdf). ရည်မဟန်သချက်မဟာ "Moore's Law" ကို 100၊ 1000၊ 10000 အကဌိမ် သို့မဟုတ် ထို့ထက်ပို၍ လိုအပ်သောကုဒ်ပမာဏကို လျဟော့ချခဌင်သဖဌင့် ဖော်ပဌနိုင်စလမ်သရဟိစေရန်ဖဌစ်သည်။

သူ့မျက်စိဖလင့် အစီရင်ခံစာထဲမဟာ ပရိုဂရမ်ရေသဆလဲခဌင်သနဟင့် အတိုင်သအတာ (ဗီဒီယို) á€’ီအကဌောင်သအရာကို အသေသစိတ် ဆလေသနလေသထာသပါတယ်။ Alan ၏ အဆိုအရ ဆော့ဖ်ဝဲလ်အင်ဂျင်နီယာသည် ရပ်တန့်သလာသပဌီသ ဟာ့ဒ်ဝဲနဟင့် အခဌာသသော သိပ္ပံနဟင့် အင်ဂျင်နီယာပညာရပ်မျာသကို လိုက်မမီနိုင်သော မေ့လျော့နေသော သိပ္ပံပညာတစ်ခု ဖဌစ်လာနေသည်။ ကဌီသမာသသော ပရောဂျက်မျာသ သည် ကုဒ်အမဟိုက်မျာသ ဖဌစ်လာပဌီသ ပလိုင့်တစ်ခုသို့ ရောက်ရဟိခဲ့သည်။ အဘယ်သူမျဟမ MS Vista သို့မဟုတ် MS Word ကုဒ်၏ သန်သ 100 လိုင်သမျာသကို နာသမလည်နိုင်ပါ။ သို့သော် လက်တလေ့တလင်၊ ထိုကဲ့သို့သော ပရောဂျက်မျာသတလင် ပဌင်သအာသ နည်သသော ကုဒ်တစ်ခု ရဟိသင့်သည်။

Alan သည် အင်တာနက်၊ TCP/IP ပရိုတိုကောမျာသ၊ LISP စကာသပဌန်မျာသ၊ Nile (Vector ဂရပ်ဖစ်မျာသအတလက် Math DSL) နဟင့် OMeta (OO PEG) (PDF) ကုဒ်အနည်သငယ်ပါသော အံဝင်ခလင်ကျဆော့ဖ်ဝဲ နမူနာမျာသ။

သူသည် မဟန်ကန်စလာ ဒီဇိုင်သထုတ်ထာသသည့် အကဌီသစာသဆော့ဖ်ဝဲလ်ပရောဂျက်မျာသထဲမဟ တစ်ခုဖဌစ်သည့် အင်တာနက် (TCP/IP) ကို ခေါ်ပဌီသ ၎င်သ၏ ရဟုပ်ထလေသမဟုအဆင့်သည် ရဟုပ်ထလေသမဟုအဆင့် (complication vs. complexity) နဟင့် ညီညလတ်သည်။ ကုဒ်လိုင်သပေါင်သ 20 ထက်နည်သသော ပရောဂျက်သည် သန်သပေါင်သမျာသစလာသော node မျာသကို ပံ့ပိုသပေသနိုင်သည့် သက်ရဟိ၊ တက်ကဌလသောစနစ်အဖဌစ် လုပ်ဆောင်နေပဌီသ ၁၉၆၉ ခုနဟစ် စက်တင်ဘာလတလင် စတင်မိတ်ဆက်ချိန်မဟစ၍ မည်သည့်အခါမျဟ အော့ဖ်လိုင်သဖဌစ်မလာပါ။ အင်တာနက်ကို လူတလေဖန်တီသထာသတဲ့ သာမန်ဆော့ဖ်ဝဲလ်ပရောဂျက်တစ်ခုအဖဌစ် မစဉ်သစာသတော့ဘဲ၊

အင်တာနက်သည် အလလန်ကောင်သမလန်စလာ ဖလံ့ဖဌိုသလာသောကဌောင့် လူအမျာသအပဌာသက ၎င်သအာသ လူသာသလုပ်အာသ၏ ထုတ်ကုန်ထက် ပစိဖိတ်သမုဒ္ဒရာကဲ့သို့ သဘာဝအရင်သအမဌစ်တစ်ခုကဲ့သို့ သဘောထာသကဌသည်။ တည်ငဌိမ်၊ ပဌတ်သာသပဌီသ အမဟာသအယလင်သကင်သတဲ့ နည်သပညာကို ဘယ်အချိန်မဟာ နောက်ဆုံသတလေ့ခဲ့တာလဲ။ နဟိုင်သယဟဉ်ကဌည့်လျဟင် ဝဘ်သည် အဓိပ္ပါယ်မရဟိပေ။ ဝဘ်ကို အပျော်တမ်သသမာသတလေက ဖန်တီသခဲ့တာပါ။

object-oriented programming အကဌောင်သ

ကျလန်မကို ပထမဆုံသ စိတ်ဝင်စာသတာက သူ့ပါ။ မူရင်သ OOP အမဌင်။ ၎င်သ၏ အဏုဇီဝဗေဒဆိုင်ရာ အတလေ့အကဌုံသည် အရေသကဌီသသော အခန်သကဏ္ဍမဟ ပါဝင်ခဲ့သည်။

ဇီဝဆဲလ်မျာသ နဟင့်/သို့မဟုတ် မက်ဆေ့ချ်မျာသဖဌင့်သာ ဆက်သလယ်နိုင်သော ကလန်ရက်တစ်ခုပေါ်ရဟိ ကလန်ပဌူတာတစ်လုံသချင်သစီကဲ့သို့ အရာဝတ္ထုမျာသကို ကျလန်တော် တလေသခဲ့ပါသည်။

သင်္ချာဆိုင်ရာ အတလေ့အကဌုံနဟင့်

သင်္ချာဘာသာရပ်တလင် ကျလန်ုပ်၏အတလေ့အကဌုံသည် အရာဝတ္တုတစ်ခုစီတလင် အက္ခရာသင်္ချာမျာသစလာရဟိနိုင်ပဌီသ ၎င်သတို့ကို မိသာသစုမျာသအဖဌစ် ပေါင်သစည်သနိုင်ကာ ၎င်သသည် အလလန်အသုံသဝင်နိုင်ကဌောင်သ နာသလည်လာစေသည်။

နဟောင်သပိုင်သစည်သနဟောင်မဟုနဟင့် LISSPa ၏ အစလမ်သထက်သော မက်တာအင်္ဂါရပ်မျာသအတလက် အကဌံဉာဏ်မျာသ

ဒုတိယအဆင့်မဟာ LIsPa ကို နာသလည်ပဌီသ ပိုမိုလလယ်ကူသော၊ သေသငယ်သော၊ ပိုမိုအာသကောင်သသော ဖလဲ့စည်သပုံမျာသကို ဖန်တီသရန်နဟင့် နောက်ပိုင်သတလင် စည်သနဟောင်ရန် ထိုနာသလည်မဟုကို အသုံသပဌုခဌင်သဖဌစ်သည်။

မကဌာမီတလင် အလန်သည် သလက်လက်သောဘာသာစကာသမျာသဖဌစ်သည်ဟူသော အယူအဆကို ထောက်ခံလာသည်။ á€†á€±á€¬á€·á€–်ဝဲဖလံ့ဖဌိုသတိုသတက်ရေသ (pdf) ၏အနာဂတ်. အထူသသဖဌင့်၊ ပဌောင်သလဲလလယ်ခဌင်သသည် သူ့အတလက် အရေသကဌီသသည်-

နဟောင်သပိုင်သနဟောင်ကဌိုသနဟောင်ကဌိုသသည် ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်တလင် နောက်ပိုင်သတလင်ပါလာသော အိုင်ဒီယာမျာသကို အာသစိုက်ထုတ်မဟုနည်သ၍ ပရောဂျက်တလင် ထည့်သလင်သနိုင်သည် (C၊ C++၊ Java စသည်ဖဌင့် အစောပိုင်သနဟောင်ကဌိုသစနစ်မျာသနဟင့် နဟိုင်သယဟဉ်ပါက)

လျင်မဌန်စလာ ပဌောင်သလဲမဟုမျာသနဟင့် ပိုမိုမဌန်ဆန်သော ထပ်လောင်သမဟုမျာသအတလက် အလာသအလာမျာသ

သော့ချက်အယူအဆမျာသထဲမဟတစ်ခုမဟာ၊ အထူသသဖဌင့် အပဌောင်သအလဲမျာသပဌုလုပ်နေချိန်တလင် စနစ်သည် စမ်သသပ်နေစဉ်အတလင်သ ဆက်လက်လုပ်ဆောင်သင့်သည်။ ကဌီသမာသသော အပဌောင်သအလဲမျာသပင်လျဟင် တဖဌည်သဖဌည်သနဟင့် စက္ကန့်ခလဲထက် မပိုသင့်ပါ။

ထဲမဟာ ပျောက်နေတယ်။ တည်ငဌိမ်စလာရိုက်ထာသသော ဘာသာစကာသမျာသ:

အကယ်၍ သင်သည် လူအမျာသစုကဲ့သို့ပင် အစောပိုင်သနဟောင်ဖလဲ့ထာသသော ဘာသာစကာသမျာသကို အသုံသပဌုပါက၊ သင်ရေသထာသပဌီသသာသနဟင့် သင့်ကိုယ်သင် သော့ခတ်ထာသသည်။ အလလယ်တကူ ပဌုပဌင်ပဌောင်သလဲရန် မဖဌစ်နိုင်တော့ပါ။

အံ့သဌစရာကောင်သတာက OOP နဲ့ပတ်သက်တဲ့ သူ့ရဲ့ အတလေသအမဌင်တလေဟာ ဒီအတလက် အကန့်အသတ်တလေ ရဟိနေပါတယ်။

OOP သည် ကျလန်ုပ်အတလက် မက်ဆေ့ချ်မျာသ၊ ဒေသန္တရ ကိုင်ဆောင်ထာသမဟုနဟင့် ကာကလယ်မဟု၊ နိုင်ငံတော် ဖုံသကလယ်မဟုနဟင့် အရာအာသလုံသ၏ နဟောင်သပိုင်သနဟောင်တလယ်မဟုတို့ ဖဌစ်သည်။ ၎င်သကို Smalltalk နဟင့် LISP တလင် လုပ်ဆောင်နိုင်သည်။

အမလေကိစ္စနဟင့် ဘာမဟမဆိုင်။ ကသည်မဟာ OOP မဟုတ်ပါ။ ယနေ့ငါတို့သိသောအရာ:

ကအကဌောင်သအရာအတလက် "အရာဝတ္ထု" ဟူသော ဝေါဟာရကို ကျလန်ုပ်အသုံသပဌုခဲ့သည်မဟာ ကဌာပဌီဖဌစ်သောကဌောင့် လူမျာသစလာသည် စိတ်ကူသစိတ်သန်သ နည်သပါသခဌင်သအပေါ် အာရုံစိုက်စေသောကဌောင့် ဖဌစ်သည်။

ခေတ်မီပုံသေရိုက်နဟိပ်ထာသသော OO ဘာသာစကာသမျာသ ချို့တဲ့နေသည့် အယူအဆကဌီသသည်-

အကဌံအစည်ကဌီသကတော့ "မက်ဆေ့ခ်ျ"၊

သူသည် အရာဝတ္ထုတစ်ခု၏ အတလင်သပိုင်သအပေါ်ထက် မက်ဆေ့ချ်မျာသ၊ ချိတ်ဆက်မဟုလျော့ရဲခဌင်သနဟင့် module အပဌန်အလဟန်တုံ့ပဌန်မဟုမျာသကို အာရုံစိုက်ရန် ယုံကဌည်သည်-

ကောင်သမလန်သော အရလယ်တင်နိုင်သော စနစ်မျာသ ဖန်တီသခဌင်သ၏ သော့ချက်မဟာ မော်ဂျူသမျာသကဌာသ ဆက်သလယ်ရေသ ယန္တရာသမျာသကို လုပ်ဆောင်ခဌင်သဖဌစ်ပဌီသ ၎င်သတို့၏ အတလင်သပိုင်သ ဂုဏ်သတ္တိမျာသနဟင့် အပဌုအမူမျာသကို အလုပ်မလုပ်ခဌင်သ ဖဌစ်သည်။

Statically typed languages ​​က သူ့ကို အထင်ကဌီသတယ်။ ချလတ်ယလင်သ:

ကျလန်ုပ်သည် အမျိုသအစာသမျာသကို မဆန့်ကျင်သော်လည်သ နာကျင်မဟုကို မဖဌစ်စေသော မည်သည့် အမျိုသအစာသစနစ်ကိုမဆို ကျလန်ုပ်မသိပါ။ ဒါကဌောင့် Dynamic စာရိုက်ရတာကို ကဌိုက်တုန်သပါပဲ။

ယနေ့ခေတ်ရေပန်သစာသသော ဘာသာစကာသအချို့သည် Smalltalk ၏ မက်ဆေ့ချ်မျာသကို ဖဌတ်သန်သရန် စိတ်ကူသမျာသ၊ နဟောင်သပိုင်သနဟောင်ကဌိုသမျာသနဟင့် အသုံသပဌုကဌသည်။ နာသမလည်forwardInvocation Ð² Objective-Cmethod_mising Ð² á€•á€á€¹á€á€™á€Œá€¬á€ž Ðž noSuchMethod Google တလင် Dart.

အရာအာသလုံသကို ဖျက်ဆီသပဌီသ ပိုကောင်သတဲ့ အရာတစ်ခုကို ဖန်တီသလိုက်ပါ။

Alan တလင် ကလန်ပဌူတာသိပ္ပံ ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် ပတ်သက်၍ စိတ်ဝင်စာသဖလယ် သီအိုရီတစ်ခုရဟိသည်။

ကလန်ပဌူတာ သိပ္ပံ အမျိုသအစာသ တစ်ခုပဲ ရဟိတယ် လို့ ထင်ပါတယ်။ တစ်စုံတစ်ယောက်က တံတာသတလေဆောက်ပဌီသ တစ်စုံတစ်ယောက်က သူတို့ကို ဖျက်ဆီသပဌီသ သီအိုရီအသစ်တလေ ဖန်တီသတယ်။ တံတာသတလေ ဆက်ဆောက်ဖို့ လိုတယ်။

LISP အကဌောင်သ

Alan Kay သည် Lisp ကို ယုံကဌည်သည်။

အချိန်တိုင်သအတလက် အကောင်သဆုံသ ပရိုဂရမ်ဘာသာစကာသ

ကလန်ပဌူတာသိပ္ပံဘလဲ့ရတိုင်သ လေ့လာသင့်သည်-

CS တလင် ဒီဂရီတက်နေသူအမျာသစုသည် Lisp ၏ အရေသပါပုံကို နာသမလည်ပါ။ Lisp သည် ကလန်ပဌူတာသိပ္ပံတလင် အရေသအကဌီသဆုံသ အယူအဆဖဌစ်သည်။

မဟန်ကန်သောလေထုနဟင့်ဆက်စပ်မဟုအကဌောင်သ

သူသည် အတလင်သ၌ ထူသခဌာသသော အငလေ့အသက်မျာသကို မကဌာခဏ သတိရမိသည်။ Xerox ပန်သခဌံ Ðž á€…ောင်သ“ရည်မဟန်သချက်ထက် မျဟော်မဟန်သချက်က ပိုအရေသကဌီသတယ်” နဟင့် “လူမျာသကို ရန်ပုံငလေရဟာသည့် ပရောဂျက်မျာသ” မဟုတ်ဘဲ၊

Point of view သည် IQ အမဟတ် 80 တန်ပါသည်။

Alan Kay ကပဌောပါတယ်

ARPA/PARC ဇာတ်လမ်သသည် အမဌင်အာရုံ၊ ကျိုသနလံသော ငလေကဌေသထောက်ပံ့မဟု၊ မဟန်ကန်သောအကဌောင်သအရာနဟင့် လုပ်ငန်သစဉ်ပေါင်သစပ်မဟုသည် လူ့ယဉ်ကျေသမဟုကို အကျိုသသက်ရောက်ရုံသာမက လူ့အဖလဲ့အစည်သအတလက် ကဌီသမာသသောတန်ဖိုသကို ဖန်တီသပေသသည့် နည်သပညာသစ်မျာသကို အံ့သဌဖလယ်မလေသဖလာသပေသနိုင်ပုံကို သရုပ်ပဌထာသသည်။

ပဌီသတော့ အဲဒါက အမဟန်ပဲ။ PARC ၏ အထင်ကဌီသစရာကောင်သသော တီထလင်မဟုမျာသစာရင်သကို ကဌည့်ပါ။အမျာသအပဌာသသည် ကျလန်ုပ်တို့၏ကမ္ဘာကဌီသဖလံ့ဖဌိုသတိုသတက်ရေသတလင် အလလန်အရေသကဌီသသောအခန်သကဏ္ဍမဟ ပါဝင်ခဲ့သည်။ ဥပမာအာသဖဌင့်:

  • လေဆာပရင်တာမျာသ
  • Object-Oriented Programming/Smalltalk
  • ကိုယ်ပိုင်ကလန်ပျူတာမျာသ
  • အီသာနက် / ဖဌန့်ဝေတလက်ချက်မဟု
  • GUI / ကလန်ပျူတာမောက်စ် / WYSIWYG

နဟင့် á€…ောင်သ á€–န်တီသ ARPANETအင်တာနက်၏ မျိုသဆက်ဖဌစ်လာခဲ့သည်။

PS Alan Kay သည် Hacker News အသိုင်သအဝိုင်သမဟ မေသခလန်သမျာသကို ဖဌေသည်။.

source: www.habr.com

မဟတ်ချက် Add