Alan Kay, OOP නිර්මාතෘ, සංවර්ධන, Lisp සහ OOP ගැන

Alan Kay, OOP නිර්මාතෘ, සංවර්ධන, Lisp සහ OOP ගැන

ඔබ ඇලන් කේ ගැන කවදාවත් අසා නොමැති නම්, ඔබ අවම වශයෙන් ඔහුගේ සුප්‍රසිද්ධ උපුටා දැක්වීම් අසා ඇත. උදාහරණයක් ලෙස, 1971 සිට මෙම උපුටා දැක්වීම:

අනාගතය ගැන අනාවැකි කීමට හොඳම ක්රමය වන්නේ එය නිර්මාණය කිරීමයි.
අනාගතය ගැන අනාවැකි කීමට හොඳම ක්රමය වන්නේ එය නිර්මාණය කිරීමයි.

ඇලන්ට පරිගණක විද්‍යාව පිළිබඳ ඉතා වර්ණවත් වෘත්තියක් ඇත. ඔහුට ලැබුණි කියෝතෝ ත්‍යාගය и ටියුරින් සම්මානය වස්තු-නැඹුරු ක්‍රමලේඛන ආදර්ශය පිළිබඳ ඔහුගේ වැඩ සඳහා. ඔහු පුද්ගලික පරිගණක සහ චිත්රක අතුරුමුහුණත් ක්ෂේත්රයේ පුරෝගාමීන්ගෙන් කෙනෙකි, ඔහු වර්ධනය විය ස්මාල්ටෝක් සෑම කාලයකම වඩාත්ම බලගතු ක්‍රමලේඛන භාෂාවන්ගෙන් එකකි.

අපේ හෙක්ස්ලෙට්, විශේෂයෙන්ම චැට්, "OOP යනු කුමක්ද" සහ "Alan Kay ඇත්තටම අදහස් කළේ කුමක්ද" යන ප්‍රශ්නය නිරන්තරයෙන් මතු වේ. මෙම සටහනෙහි නවීන සංවර්ධන තත්ත්වය, OOP සහ Lisp භාෂාව පිළිබඳ ඇලන්ගේ රසවත් උපුටා දැක්වීම් අඩංගු වේ.

මෘදුකාංග සංවර්ධනය ගැන

පරිගණක විප්ලවය තවම පැමිණ නැති බව ඇලන් කේ විශ්වාස කරයි (සැබෑ පරිගණක විප්ලවය තවම සිදුවී නැත), සහ මෘදුකාංග සංවර්ධනය මුවර්ගේ නීතියට ප්‍රතිලෝම සමානුපාතිකව වර්ධනය වේ: දෘඪාංග සෑම වසරකම වැඩිදියුණු වේ, නමුත් මෘදුකාංගය අනවශ්‍ය ලෙස පුම්බා ඇත:

ගැටලුව දුර්වල, දුර්වල ලෙස පරිමාණය කළ හැකි අදහස් සහ මෙවලම්, කම්මැලිකම, දැනුම නොමැතිකම යනාදියයි.

මෙම තත්ත්වය හොඳින් විස්තර කරයි කෙටි විහිළුවක්:

ඇන්ඩි දෙන දේ බිල් රැගෙන යයි
ඇන්ඩි දුන්නා, බිල් ගත්තා

ඉන්ටෙල් හි ප්‍රධාන විධායක නිලධාරී ඇන්ඩි ග්‍රෝව් සහ එවකට මයික්‍රොසොෆ්ට් හි ප්‍රධාන විධායක නිලධාරී බිල් ගේට්ස්.

වර්තමාන සංවර්ධන තත්ත්වය වැඩිදියුණු කිරීම පර්යේෂණ ව්‍යාපෘතියේ අරමුණ විය ක්‍රමලේඛනය ප්‍රතිනිර්මාණය කිරීම සඳහා පියවර (pdf). ඉලක්කය වන්නේ "අවශ්‍ය කේත ප්‍රමාණය 100, 1000, 10000 ගුණයකින් හෝ ඊට වැඩි ප්‍රමාණයකින් අඩු කිරීම" මගින් "මුවර්ගේ නියමය" ප්‍රකාශිතභාවයෙන් සාක්ෂාත් කර ගැනීමයි.

ඔහුගේ ඇස් ඇරෙන වාර්තාවේ ක්‍රමලේඛනය සහ පරිමාණය (වීඩියෝ) මෙම මාතෘකාව වඩාත් විස්තරාත්මකව සාකච්ඡා කෙරේ. ඇලන්ට අනුව, මෘදුකාංග ඉංජිනේරු විද්‍යාව ඇනහිට ඇති අතර, දෘඪාංග සහ අනෙකුත් විද්‍යාවන් සහ ඉංජිනේරු විෂයයන් සමඟ ඉදිරියට යා නොහැකි අමතක වූ විද්‍යාවක් බවට පත්වෙමින් තිබේ. විශාල ව්‍යාපෘති කේත ඩම්ප් බවට පත් වී ඇති අතර එය යම් තැනකට පැමිණ ඇත කවුරුවත් නැහැ MS Vista හෝ MS Word කේතයේ පේළි මිලියන 100 ක් තේරුම් ගැනීමට නොහැකි විය. නමුත් ඇත්ත වශයෙන්ම, එවැනි ව්යාපෘතිවල විශාලත්වය අඩු කේතයක් අනුපිළිවෙලක් තිබිය යුතුය.

ඇලන් අන්තර්ජාලය, TCP/IP ප්‍රොටෝකෝල, LISP පරිවර්තකයන් සලකා බලයි, නයිල් (දෛශික ග්‍රැෆික්ස් සඳහා ගණිත DSL) සහ OMeta (OO PEG) (PDF) අවම කේතයක් සහිත අලංකාර මෘදුකාංග සඳහා උදාහරණ.

ඔහු අන්තර්ජාලය (TCP/IP) ලෙස හඳුන්වන්නේ නිවැරදිව නිර්මාණය කරන ලද මහා පරිමාණ මෘදුකාංග ව්‍යාපෘති කිහිපයෙන් එකක් වන අතර එහි සංකීර්ණතා මට්ටම සංකීර්ණතා මට්ටම (සංකීර්ණත්වය එදිරිව සංකීර්ණත්වය) සමඟ සමතුලිත වේ. කේත රේඛා 20කට වඩා අඩු සංඛ්‍යාවක් සමඟ, ව්‍යාපෘතිය ජීවමාන, ගතික පද්ධතියක් ලෙස ක්‍රියාත්මක වන අතර, නෝඩ් බිලියන ගණනකට සහය දැක්විය හැකි අතර, 1969 සැප්තැම්බර් මාසයේදී එහි ආරම්භක දියත් කිරීමේ සිට කිසි විටෙකත් නොබැඳි වී නොමැත. අන්තර්ජාලය මිනිසුන් විසින් නිර්මාණය කරන ලද සාමාන්‍ය මෘදුකාංග ව්‍යාපෘතියක් ලෙස සැලකීම අපි සරලව නතර කළෙමු:

අන්තර්ජාලය කෙතරම් දියුණු වී ඇත්ද යත්, බොහෝ අය එය මිනිස් ශ්‍රමයේ නිෂ්පාදනයක් වෙනුවට පැසිෆික් සාගරය වැනි ස්වභාවික සම්පතක් ලෙස සලකති. එවැනි ස්ථාවර, පැහැදිලි, දෝෂ රහිත තාක්ෂණයක් අප අවසන් වරට දුටුවේ කවදාද? සැසඳීමේදී, වෙබ් යනු විකාරයකි. වෙබ් අඩවිය ආධුනිකයන් විසින් නිර්මාණය කරන ලදී.

වස්තු-නැඹුරු වැඩසටහන්කරණය ගැන

මා උනන්දු වූ පළමු දෙය ඔහුගේ ය මුල් OOP දැක්ම. ක්ෂුද්‍රජීව විද්‍යාව පිළිබඳ ඔහුගේ අත්දැකීම් වැදගත් කාර්යභාරයක් ඉටු කළේය:

වස්තු ජීව විද්‍යාත්මක සෛල, සහ/හෝ පණිවිඩ හරහා පමණක් සන්නිවේදනය කළ හැකි ජාලයක තනි පරිගණක වැනි යැයි මම සිතුවෙමි.

සහ ගණිතය පිළිබඳ අත්දැකීම්:

සෑම වස්තුවකටම වීජ ගණිතය කිහිපයක් තිබිය හැකි බවත්, ඒවා පවුල්වලට ඒකාබද්ධ කළ හැකි බවත්, මෙය ඉතා ප්‍රයෝජනවත් විය හැකි බවත්, ගණිතය පිළිබඳ මගේ අත්දැකීම් මට අවබෝධ විය.

LISPa හි ප්‍රමාද බන්ධන සහ බලවත් මෙටා විශේෂාංග සඳහා අදහස්:

දෙවන අදියර වන්නේ LISPa අවබෝධ කර ගැනීම සහ එම අවබෝධය භාවිතයෙන් පහසු, කුඩා, වඩා බලවත් ව්‍යුහයන් සහ පසුව බන්ධන නිර්මාණය කිරීමයි.

වැඩි කල් නොගොස් ඇලන් ගතික භාෂා යන අදහසට සහාය වීමට පටන් ගත්තේය මෘදුකාංග සංවර්ධනයේ අනාගතය (pdf). විශේෂයෙන්, වෙනස් කිරීමේ පහසුව ඔහුට වැදගත් ය:

ප්‍රමාද බන්ධනය මඟින් සංවර්ධන ක්‍රියාවලියේ පසුව ඇති වූ අදහස් අඩු උත්සාහයකින් ව්‍යාපෘතියට ඇතුළත් කිරීමට ඉඩ සලසයි (C, C++, Java වැනි පෙර බැඳුනු පද්ධති හා සසඳන විට)

පියාසර කිරීමේදී වෙනස්වීම් සහ වේගවත් පුනරාවර්තන සඳහා ඇති හැකියාව:

එක් ප්‍රධාන අදහසක් නම්, පද්ධතිය පරීක්ෂා කිරීමේදී, විශේෂයෙන් වෙනස්කම් සිදු කරන අතරතුර දිගටම ක්‍රියා කළ යුතු බවයි. ප්‍රධාන වෙනස්කම් පවා ක්‍රමානුකූල විය යුතු අතර තත්පරයකට වඩා වැඩි කාලයක් ගත නොවිය යුතුය.

අතුරුදහන් වන ස්ථිතිකව ටයිප් කළ භාෂා:

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

පුදුමයට කරුණක් නම්, OOP ගැන ඔහුගේ සිතුවිලි මෙයට සීමා විය:

මට OOP යනු පණිවිඩ, දේශීය රඳවා තබා ගැනීම සහ ආරක්ෂා කිරීම, රාජ්‍ය සැඟවීම සහ සියල්ල ප්‍රමාද වී බැඳීමයි. මෙය Smalltalk සහ LISP වලින් කළ හැක.

සහ උරුමය ගැන කිසිවක් නැත. මෙය OOP නොවේ අද අපි දන්නා:

මම බොහෝ කලකට පෙර මෙම මාතෘකාව සඳහා "වස්තුව" යන යෙදුම භාවිතා කළා නම් හොඳයි, මන්ද එය බොහෝ මිනිසුන්ගේ අඩු අදහස් කෙරෙහි අවධානය යොමු කිරීමට හේතු වන බැවිනි.

නවීන ස්ථිතික ලෙස ටයිප් කරන ලද OO භාෂා නොමැති විශාල අදහස:

ලොකු අදහස නම් "පණිවිඩ"

වස්තුවක අභ්‍යන්තරයට වඩා පණිවිඩ, ලිහිල් සම්බන්ධ කිරීම සහ මොඩියුල අන්තර්ක්‍රියා කෙරෙහි අවධානය යොමු කිරීම ඔහු විශ්වාස කරයි:

හොඳ පරිමාණය කළ හැකි පද්ධති නිර්මාණය කිරීමේ යතුර වන්නේ මොඩියුල අතර සන්නිවේදන යාන්ත්‍රණයන් ක්‍රියාත්මක කිරීම සහ ඒවායේ අභ්‍යන්තර ගුණාංග සහ හැසිරීම් ක්‍රියා නොකිරීමයි.

ස්ථිතික ලෙස ටයිප් කළ භාෂා ඔහුට පෙනේ දෝෂ සහිත:

මම වර්ග වලට විරුද්ධ නැත, නමුත් වේදනාව ඇති නොවන ආකාරයේ පද්ධතියක් ගැන මම නොදනිමි. ඒ නිසා මම තවමත් ගතික ටයිප් කිරීමට කැමතියි.

අද සමහර ජනප්‍රිය භාෂා Smalltalk හි පණිවිඩ යැවීමේ අදහස්, ප්‍රමාද බන්ධන සහ භාවිතා කරයි නොතේරෙනවාඉදිරියට ආමන්ත්‍රණය в පරමාර්ථය-සීක්‍රමය_අතුරුදහන් в රූබි и එවැනි ක්රමයක් නැත Google හි උල්.

සියල්ල විනාශ කර වඩා හොඳ දෙයක් නිර්මාණය කරන්න

පරිගණක විද්‍යාවේ දියුණුව ගැන ඇලන්ට රසවත් න්‍යායක් ඇත:

මට නම් පෙනෙන්නේ පරිගණක විද්‍යාවේ ඇත්තේ එක වර්ගයක් පමණක් බවත් විද්‍යාව යනු පාලම් හදනවා වැනි දෙයක් බවත්ය. කවුරුහරි පාලම් හදනවා, කවුරුහරි ඒවා විනාශ කරලා අලුත් න්‍යායන් හදනවා. ඒ වගේම අපි දිගටම පාලම් හදන්න ඕන.

LISP ගැන

ඇලන් කේ ලිස්ප් විශ්වාස කරයි

සෑම කාලයකම හොඳම ක්‍රමලේඛන භාෂාව

සෑම පරිගණක විද්‍යා උපාධිධාරියෙකුම එය හැදෑරිය යුතුය:

CS වල උපාධි හදාරන බොහෝ දෙනෙකුට Lisp වල වැදගත්කම තේරෙන්නේ නැහැ. Lisp යනු පරිගණක විද්‍යාවේ වැදගත්ම අදහසයි.

නිවැරදි වාතාවරණය සහ සන්දර්භය ගැන

ඔහු බොහෝ විට එහි ඇති අද්විතීය වාතාවරණය සිහිපත් කරයි සෙරොක්ස් PARC и ආර්පීඒ, “ඉලක්කවලට වඩා දැක්ම වැදගත්” සහ “ජනතාවට අරමුදල් සැපයීම මිස ව්‍යාපෘති නොවේ.”

දෘෂ්ටිකෝණය IQ ලකුණු 80ක් වටිනවා.

ඇලන් කේ මෙහෙම කියනවා:

ARPA/PARC කතාවෙන් පෙන්නුම් කරන්නේ දර්ශනය, නිහතමානී අරමුදල්, නිවැරදි සන්දර්භය සහ ක්‍රියාවලියේ සංකලනයක් ශිෂ්ටාචාරයට පමණක් නොව සමාජයට දැවැන්ත වටිනාකමක් ඇති කරන නව තාක්ෂණයන් ඉන්ද්‍රජාලිකව බිහි කළ හැකි ආකාරයයි.

ඒ වගේම ඒක ඇත්ත. PARC හි ආකර්ෂණීය නව නිපැයුම් ලැයිස්තුව දෙස බලන්න, ඒවායින් බොහොමයක් අපේ ලෝකයේ සංවර්ධනය සඳහා ඉතා වැදගත් කාර්යභාරයක් ඉටු කළේය. උදාහරණ වශයෙන්:

  • ලේසර් මුද්‍රණ යන්ත්‍ර
  • වස්තු-නැඹුරු වැඩසටහන්කරණය / Smalltalk
  • පුද්ගලික පරිගණක
  • ඊතර්නෙට් / බෙදා හරින ලද පරිගණකකරණය
  • GUI / පරිගණක මූසිකය / WYSIWYG

සහ ඇතුළත ආර්පීඒ නිර්මාණය කරන ලදි ආර්පනෙට්, එය අන්තර්ජාලයේ පූර්වගාමියා බවට පත් විය.

ප්රාදේශීය සභා ඇලන් කේ හැකර් ප්‍රවෘත්ති ප්‍රජාවේ ප්‍රශ්නවලට පිළිතුරු දෙයි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න