ஆலன் கே, ஓஓபியை உருவாக்கியவர், மேம்பாடு, லிஸ்ப் மற்றும் ஓஓபி பற்றி

ஆலன் கே, ஓஓபியை உருவாக்கியவர், மேம்பாடு, லிஸ்ப் மற்றும் ஓஓபி பற்றி

ஆலன் கேயைப் பற்றி நீங்கள் கேள்விப்பட்டிருக்கவில்லை என்றால், அவருடைய பிரபலமான மேற்கோள்களை நீங்கள் கேட்டிருப்பீர்கள். எடுத்துக்காட்டாக, 1971 இல் இருந்து இந்த மேற்கோள்:

எதிர்காலத்தை கணிக்க சிறந்த வழி அதை கண்டுபிடிப்பதாகும்.
எதிர்காலத்தை கணிக்க சிறந்த வழி அதை கண்டுபிடிப்பதாகும்.

ஆலன் கணினி அறிவியலில் மிகவும் வண்ணமயமான வாழ்க்கையைக் கொண்டுள்ளார். அவர் பெற்றார் கியோட்டோ பரிசு и டூரிங் விருது பொருள் சார்ந்த நிரலாக்க முன்னுதாரணத்தில் அவரது பணிக்காக. அவர் தனிப்பட்ட கணினிகள் மற்றும் வரைகலை இடைமுகங்கள் துறையில் முன்னோடிகளில் ஒருவராக இருந்தார், அவர் உருவாக்கினார் ஸ்மால்டாக்கில் எல்லா காலத்திலும் மிகவும் செல்வாக்கு மிக்க முதல் நிரலாக்க மொழிகளில் ஒன்றாகும்.

எங்கள் ஹெக்ஸ்லெட், குறிப்பாக இல் அரட்டையில், "OOP என்றால் என்ன" மற்றும் "ஆலன் கே உண்மையில் என்ன அர்த்தம்" என்ற கேள்வி தொடர்ந்து எழுப்பப்படுகிறது. இந்த இடுகையில் நவீன வளர்ச்சியின் நிலை, OOP மற்றும் லிஸ்ப் மொழி பற்றிய ஆலனின் சுவாரஸ்யமான மேற்கோள்கள் உள்ளன.

மென்பொருள் உருவாக்கம் பற்றி

கணினி புரட்சி இன்னும் வரவில்லை என்று ஆலன் கே நம்புகிறார் (உண்மையான கணினிப் புரட்சி இன்னும் நிகழவில்லை), மற்றும் மென்பொருள் மேம்பாடு மூரின் விதிக்கு நேர்மாறான விகிதத்தில் உருவாகிறது: வன்பொருள் ஒவ்வொரு ஆண்டும் மேம்படுகிறது, ஆனால் மென்பொருள் தேவையில்லாமல் வீங்குகிறது:

பிரச்சனை பலவீனமானது, மோசமாக அளவிடக்கூடிய யோசனைகள் மற்றும் கருவிகள், சோம்பல், அறிவு இல்லாமை போன்றவை.

இந்த சூழ்நிலையை நன்றாக விவரிக்கிறது குறுகிய நகைச்சுவை:

ஆண்டி கொடுப்பதை, பில் எடுத்துச் செல்கிறார்
ஆண்டி கொடுத்தார், பில் எடுத்தார்

இன்டெல் நிறுவனத்தின் தலைமை நிர்வாக அதிகாரி ஆண்டி குரோவ் மற்றும் மைக்ரோசாப்ட் நிறுவனத்தின் தலைமை நிர்வாக அதிகாரி பில் கேட்ஸ்.

தற்போதைய வளர்ச்சி நிலையை மேம்படுத்துவதே ஆராய்ச்சித் திட்டத்தின் குறிக்கோளாக இருந்தது நிரலாக்கத்தின் மறு கண்டுபிடிப்பை நோக்கிய படிகள் (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). குறிப்பாக, மாற்றத்தின் எளிமை அவருக்கு முக்கியமானது:

லேட் பைண்டிங், வளர்ச்சி செயல்பாட்டில் பின்னர் வந்த யோசனைகளை குறைந்த முயற்சியுடன் திட்டத்தில் இணைக்க அனுமதிக்கிறது (சி, சி++, ஜாவா போன்ற முந்தைய பிணைப்பு அமைப்புகளுடன் ஒப்பிடும்போது)

பறக்கும் போது மாற்றங்கள் மற்றும் விரைவான மறு செய்கைகளுக்கான சாத்தியம்:

முக்கிய யோசனைகளில் ஒன்று, சோதனையின் போது, ​​குறிப்பாக மாற்றங்கள் செய்யப்படும்போது கணினி தொடர்ந்து செயல்பட வேண்டும். பெரிய மாற்றங்கள் கூட படிப்படியாக இருக்க வேண்டும் மற்றும் ஒரு நொடிக்கு மேல் எடுக்கக்கூடாது.

இதில் காணவில்லை நிலையான தட்டச்சு மொழிகள்:

பெரும்பாலான மக்கள் செய்வது போல, நீங்கள் ஆரம்ப-பிணைப்பு மொழிகளைப் பயன்படுத்தினால், நீங்கள் ஏற்கனவே எழுதியவற்றில் உங்களைப் பூட்டிக் கொள்வீர்கள். இனி எளிதாக சீர்திருத்த முடியாது.

ஆச்சரியப்படும் விதமாக, OOP பற்றிய அவரது எண்ணங்கள் இதற்கு மட்டுப்படுத்தப்பட்டன:

என்னைப் பொறுத்தவரை OOP என்பது மெசேஜ்கள், லோக்கல் ஹோல்ட் அண்ட் ப்ரொடெக்ட், நிலை மறைத்தல் மற்றும் எல்லாவற்றையும் தாமதமாகப் பிணைத்தல். இதை Smalltalk மற்றும் LISP இல் செய்யலாம்.

மற்றும் பரம்பரை பற்றி எதுவும் இல்லை. இது OOP அல்ல இன்று நாம் அறிந்தவை:

இந்த தலைப்புக்கு "பொருள்" என்ற சொல்லை நான் நீண்ட காலத்திற்கு முன்பு பயன்படுத்தியிருக்க விரும்புகிறேன், ஏனெனில் இது பலரை குறைவான யோசனைகளில் கவனம் செலுத்துகிறது.

நவீன நிலையான தட்டச்சு செய்யப்பட்ட OO மொழிகளில் இல்லாத பெரிய யோசனை:

பெரிய யோசனை "செய்திகள்"

ஒரு பொருளின் உட்புறங்களில் கவனம் செலுத்துவதை விட செய்திகள், தளர்வான இணைப்பு மற்றும் தொகுதி இடைவினைகள் ஆகியவற்றில் கவனம் செலுத்துவதை அவர் நம்புகிறார்:

நல்ல அளவிடக்கூடிய அமைப்புகளை உருவாக்குவதற்கான திறவுகோல் தொகுதிகளுக்கு இடையேயான தகவல்தொடர்பு வழிமுறைகளை உருவாக்குகிறது, மேலும் அவற்றின் உள் பண்புகள் மற்றும் நடத்தைக்கு வேலை செய்யவில்லை.

நிலையான தட்டச்சு மொழிகள் அவருக்குத் தெரிகிறது குறைபாடுள்ள:

நான் வகைகளுக்கு எதிரானவன் அல்ல, ஆனால் வலியை ஏற்படுத்தாத எந்த வகை அமைப்பும் எனக்குத் தெரியாது. அதனால் டைனமிக் டைப்பிங் எனக்கு இன்னும் பிடிக்கும்.

இன்று சில பிரபலமான மொழிகள் Smalltalk இன் செய்தி அனுப்பும் யோசனைகள், தாமதமான பிணைப்பு மற்றும் புரியவில்லைமுன்னோக்கி அழைப்பு в குறிக்கோள் சிமுறை_காணவில்லை в ரூபி и அத்தகைய முறை இல்லை கூகுளில் டார்ட்.

எல்லாவற்றையும் அழித்து, சிறந்த ஒன்றை உருவாக்குங்கள்

கணினி அறிவியலின் வளர்ச்சியைப் பற்றி ஆலனுக்கு ஒரு சுவாரஸ்யமான கோட்பாடு உள்ளது:

கம்ப்யூட்டர் சயின்ஸ்ல ஒரே ஒரு வகைதான் இருக்கு, அறிவியல் பாலம் கட்டற மாதிரிதான் எனக்கு தோணுது. யாரோ பாலங்களை உருவாக்குகிறார்கள், யாரோ அவற்றை அழித்து புதிய கோட்பாடுகளை உருவாக்குகிறார்கள். மேலும் பாலங்கள் கட்டிக்கொண்டே இருக்க வேண்டும்.

LISP பற்றி

ஆலன் கே லிஸ்ப்பை நம்புகிறார்

எல்லா காலத்திலும் சிறந்த நிரலாக்க மொழி

ஒவ்வொரு கணினி அறிவியல் பட்டதாரியும் அதைப் படிக்க வேண்டும்:

CS இல் பட்டம் பெறும் பெரும்பாலான மக்கள் Lisp இன் முக்கியத்துவத்தைப் புரிந்து கொள்ளவில்லை. கணினி அறிவியலில் லிஸ்ப் மிக முக்கியமான யோசனை.

சரியான சூழல் மற்றும் சூழல் பற்றி

அவர் அடிக்கடி தனித்துவமான சூழ்நிலையை நினைவுபடுத்துகிறார் ஜெராக்ஸ் PARC и அர்பா, "இலக்குகளை விட பார்வை முக்கியமானது" மற்றும் "மக்களுக்கு நிதியளிப்பது, திட்டங்களுக்கு அல்ல."

பார்வையின் மதிப்பு 80 IQ புள்ளிகள்.

ஆலன் கே கூறுகிறார்:

ARPA/PARC கதை, பார்வை, மிதமான நிதி, சரியான சூழல் மற்றும் செயல்முறை ஆகியவற்றின் கலவையானது எவ்வாறு புதிய தொழில்நுட்பங்களை மாயமாக உருவாக்க முடியும் என்பதை நிரூபிக்கிறது.

மேலும் அது உண்மைதான். PARC இன் கண்டுபிடிப்புகளின் ஈர்க்கக்கூடிய பட்டியலைப் பாருங்கள், அவற்றில் பல நமது உலகின் வளர்ச்சியில் மிக முக்கிய பங்கு வகித்தன. உதாரணத்திற்கு:

  • லேசர் அச்சுப்பொறிகள்
  • பொருள் சார்ந்த நிரலாக்கம் / ஸ்மால்டாக்
  • தனிப்பட்ட கணினிகள்
  • ஈதர்நெட் / விநியோகிக்கப்பட்ட கணினி
  • GUI / கணினி சுட்டி / WYSIWYG

மற்றும் உள்ளே அர்பா உருவாக்கப்பட்டது ஆர்பாநெட், இது இணையத்தின் முன்னோடியாக மாறியது.

சோசலிஸ்ட் கட்சி ஹேக்கர் நியூஸ் சமூகத்தின் கேள்விகளுக்கு அலன் கே பதிலளிக்கிறார்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்