லிஸ்ப்பின் சிறப்பு என்ன

«இதுவரை உருவாக்கப்பட்ட மிகப் பெரிய நிரலாக்க மொழி«
- ஆலன் கே, "ஆன் லிஸ்ப்"

லிஸ்ப்பின் சிறப்பு என்ன

1950 களின் பிற்பகுதியில் மெக்கார்த்தி லிஸ்பை உருவாக்கியபோது, ​​அது ஏற்கனவே உள்ள மொழிகளில் இருந்து முற்றிலும் வேறுபட்டது, அதில் முக்கியமானது FORTRAN.

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

1. நிபந்தனைகள். நிபந்தனை அறிக்கைகள் என்றால், வேறு கட்டுமானங்கள். இப்போது நாம் அவற்றை சாதாரணமாக எடுத்துக்கொள்கிறோம். அவர்கள் இருந்தனர் கண்டுபிடிக்கப்பட்டது லிஸ்ப்பின் வளர்ச்சியின் போது மெக்கார்த்தி. (அந்த நேரத்தில் ஃபோர்ட்ரான் கோட்டோ அறிக்கைகளை மட்டுமே கொண்டிருந்தார், இது அடிப்படை வன்பொருளின் கிளை அறிவுறுத்தலுடன் நெருக்கமாக இணைக்கப்பட்டுள்ளது.) மெக்கார்த்தி, அல்கோல் குழுவில் இருந்தபோது, ​​அல்கோலுக்கு நிபந்தனைகளை வழங்கினார், அங்கிருந்து அவை மற்ற மொழிகளுக்கும் பரவியது.

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

3. மறுநிகழ்வு. ரிகர்ஷன், நிச்சயமாக, லிஸ்ப்க்கு முன் ஒரு கணிதக் கருத்தாக இருந்தது, ஆனால் லிஸ்ப்தான் அதை ஆதரிக்கும் முதல் நிரலாக்க மொழியாகும். (இது ஒருவேளை செயல்பாடுகளை முதல்-வகுப்புப் பொருள்களாக உருவாக்குவதில் மறைமுகமாக இருக்கலாம்.)

4. மாறிகள் பற்றிய புதிய கருத்து. Lisp இல், அனைத்து மாறிகளும் பயனுள்ள சுட்டிகள். மதிப்புகள் என்பது வகைகளில் உள்ளன, மாறிகள் அல்ல, மற்றும் மாறிகளை ஒதுக்குவது அல்லது பிணைப்பது என்பது சுட்டிகளை நகலெடுப்பதாகும், அவை சுட்டிக்காட்டுவதை அல்ல.

5. குப்பை சேகரிப்பு.

6. வெளிப்பாடுகள் கொண்ட நிகழ்ச்சிகள். லிஸ்ப் நிரல்கள் வெளிப்பாடுகளின் மரங்கள், அவை ஒவ்வொன்றும் ஒரு மதிப்பை வழங்கும். (சில லிஸ்ப் வெளிப்பாடுகள் பல மதிப்புகளை வழங்கலாம்.) இது ஃபோர்ட்ரான் மற்றும் "வெளிப்பாடுகள்" மற்றும் "அறிக்கைகள்" ஆகியவற்றை வேறுபடுத்தும் பல வெற்றிகரமான மொழிகளுடன் முரண்படுகிறது.

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

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

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

(if foo (= x 1) (= x 2))

அல்லது

(= x (if foo 1 2))

7. ஒரு சின்ன வகை. எழுத்துக்கள் சரங்களிலிருந்து வேறுபட்டவை, இதில் சுட்டிகளை ஒப்பிடுவதன் மூலம் சமத்துவத்தை நீங்கள் சரிபார்க்கலாம்.

8. குறியீட்டிற்கான ஒரு குறிப்பு சின்ன மரங்களைப் பயன்படுத்தி.

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

படிக்கும் போது குறியீட்டை இயக்குவது பயனர்களை Lisp இன் தொடரியல் மறுபிரசுரம் செய்ய அனுமதிக்கிறது; தொகுக்கும் நேரத்தில் இயங்கும் குறியீடு மேக்ரோக்களுக்கான அடிப்படையாகும்; இமேக்ஸ் போன்ற நிரல்களில் லிஸ்ப்பை நீட்டிப்பு மொழியாகப் பயன்படுத்துவதற்கான அடிப்படையானது இயக்க நேரத் தொகுப்பாகும்; இறுதியாக, இயக்க நேர வாசிப்பு நிரல்களை எஸ்-எக்ஸ்பிரஷன்களைப் பயன்படுத்தி தொடர்பு கொள்ள அனுமதிக்கிறது, இது சமீபத்தில் எக்ஸ்எம்எல்லில் மீண்டும் கண்டுபிடிக்கப்பட்டது.

முடிவுக்கு

லிஸ்ப் முதன்முதலில் கண்டுபிடிக்கப்பட்டபோது, ​​இந்த யோசனைகள் 1950 களின் பிற்பகுதியில் கிடைத்த வன்பொருளால் கட்டளையிடப்பட்ட வழக்கமான நிரலாக்க நடைமுறைகளிலிருந்து வெகு தொலைவில் இருந்தன.

காலப்போக்கில், பிரபலமான மொழிகளின் வெற்றியால் உருவான இயல்புநிலை மொழி படிப்படியாக லிஸ்ப்பை நோக்கி உருவானது. 1-5 புள்ளிகள் இப்போது பரவலாக ஏற்றுக்கொள்ளப்படுகின்றன. புள்ளி 6 பிரதான நீரோட்டத்தில் தோன்றத் தொடங்குகிறது. பைத்தானில், பொருத்தமான தொடரியல் இல்லாவிட்டாலும், ஏதேனும் ஒரு வடிவத்தில் உட்பிரிவு 7 உள்ளது. (உருப்படி 8 உடன்) Lisp இல் மேக்ரோக்களை சாத்தியமாக்கும் உருப்படி 9, இன்னும் Lisp இல் மட்டுமே உள்ளது, ஒருவேளை (a) அதற்கு அந்த அடைப்புக்குறிகள் அல்லது அதற்கு சமமான மோசமான ஏதாவது தேவை, மேலும் (b) இந்த சமீபத்திய சக்தியை நீங்கள் சேர்த்தால், உங்களால் முடியும் ஒரு புதிய மொழியைக் கண்டுபிடித்ததாகக் கூறவில்லை, ஆனால் லிஸ்ப்பின் புதிய பேச்சுவழக்கை மட்டுமே உருவாக்கினேன்; -)

நவீன புரோகிராமர்களுக்கு இது பயனுள்ளதாக இருந்தாலும், பிற மொழிகளில் ஏற்றுக்கொள்ளப்பட்ட சீரற்ற நுட்பங்களிலிருந்து லிஸ்பை அதன் வேறுபாட்டின் அடிப்படையில் விவரிப்பது விசித்திரமானது. இது மெக்கார்த்தி நினைத்தது அல்ல. Fortran இன் பிழைகளை சரிசெய்வதற்காக Lisp வடிவமைக்கப்படவில்லை; இது முயற்சியின் ஒரு துணைப் பொருளாகத் தோன்றியது கணக்கீடுகளை axiomatize.

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

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