ሊስፕን ልዩ ያደረገው

«እስካሁን የተፈጠረው ትልቁ የፕሮግራም ቋንቋ«
- አላን ኬይ፣ "በሊፕ"

ሊስፕን ልዩ ያደረገው

ማካርቲ በ1950ዎቹ መገባደጃ ላይ ሊፕን ሲያዳብር፣ አሁን ካሉት ቋንቋዎች በእጅጉ የተለየ ነበር፣ ከእነዚህም ውስጥ በጣም አስፈላጊ የሆነው Fortran.

ሊፕ ዘጠኝ አዳዲስ ሀሳቦችን አስተዋወቀ፡-

1. ሁኔታዎች. ሁኔታዊ መግለጫዎች-ከዚያ-ሌላ ግንባታዎች ናቸው. አሁን እነሱን እንደ ቀላል ነገር እንይዛቸዋለን. ነበሩ። ፈለሰፈ ማካርቲ በሊፕፕ እድገት ወቅት. (በወቅቱ ፎርትራን ስለ ሃርድዌር ቅርንጫፍ መመሪያ ከቅርንጫፉ መመሪያ ጋር በቅርበት የጐቶ መግለጫዎች ብቻ ነበረው።) ማካርቲ በአልጎል ኮሚቴ ውስጥ እያለ ወደ ሌሎች ቋንቋዎች ከተሰራጨበት ቦታ ለአልጎል ቅድመ ሁኔታዎችን አበርክቷል።

2. የተግባር አይነት. በ Lisp ውስጥ ተግባራት አንደኛ ደረጃ እቃዎች ናቸው - እንደ ቁጥሮች, ሕብረቁምፊዎች, ወዘተ የመሳሰሉ የውሂብ አይነት ናቸው, እና ቀጥተኛ ውክልና አላቸው, በተለዋዋጮች ውስጥ ሊቀመጡ ይችላሉ, እንደ ክርክሮች, ወዘተ.

3. መደጋገም. መደጋገም በእርግጥ ከሊስፕ በፊት እንደ የሂሳብ ጽንሰ ሃሳብ ነበር፣ ነገር ግን ሊፕ እሱን ለመደገፍ የመጀመሪያው የፕሮግራም ቋንቋ ነበር። (ይህ ምናልባት እንደ አንደኛ ደረጃ ዕቃዎች ተግባራትን በመፍጠር አንድምታ ሊሆን ይችላል።)

4. አዲስ የተለዋዋጮች ጽንሰ-ሀሳብ. በሊፕፕ ውስጥ, ሁሉም ተለዋዋጮች ውጤታማ ጠቋሚዎች ናቸው. እሴቶች ዓይነቶች ያላቸው እንጂ ተለዋዋጮች አይደሉም፣ እና ተለዋዋጮችን መመደብ ወይም ማሰር ማለት ጠቋሚዎችን መቅዳት እንጂ የሚያመለክቱትን አይደለም።

5. ቆሻሻ መሰብሰብ.

6. መግለጫዎችን ያቀፈ ፕሮግራሞች. የሊፕ መርሃ ግብሮች የመግለጫ ዛፎች ናቸው, እያንዳንዳቸው አንድ እሴት ይመልሳሉ. (አንዳንድ የሊፕ አገላለጾች በርካታ እሴቶችን ሊመልሱ ይችላሉ።) ይህ ከፎርትራን እና ከሌሎች በርካታ ስኬታማ ቋንቋዎች ጋር ይቃረናል፣ በ"መግለጫዎች" እና "መግለጫዎች" መካከል።

ቋንቋው መስመር ላይ ያተኮረ ስለነበር ይህ ልዩነት በፎርራን መኖሩ ተፈጥሯዊ ነበር (የግብአት ቅርጸቱ የተደበደበ ካርድ ለሆነ ቋንቋ ምንም አያስገርምም)። የጎጆ መግለጫዎች ሊኖሩዎት አይችሉም። እና ለመስራት የሂሳብ አገላለጾችን እስካስፈለገዎት ድረስ ሌላ ነገር እንዲመለስ ማድረግ ምንም ፋይዳ አልነበረውም ምክንያቱም ለመመለስ የሚጠብቅ ነገር ላይኖር ይችላል።

እገዳዎቹ የተነሱት በብሎክ የተዋቀሩ ቋንቋዎች ሲመጡ ነው፣ ግን ያኔ በጣም ዘግይቷል። በመግለጫዎች እና በመግለጫዎች መካከል ያለው ልዩነት ቀድሞውኑ ተመስርቷል. ከፎርትራን ወደ አልጎል እና ከዚያም አልፎ ወደ ዘሮቻቸው አልፏል.

አንድ ቋንቋ ሙሉ በሙሉ በአገላለጾች ሲገለጽ፣ በፈለከው መንገድ አገላለጾችን መፃፍ ትችላለህ። ሁለቱንም መጻፍ ይችላሉ (አገባቡን በመጠቀም አርክ)

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

ወይም

(= x (if foo 1 2))

7. የምልክት ዓይነት. ቁምፊዎች ከሕብረቁምፊዎች የተለዩ ናቸው, በዚህ ጊዜ ጠቋሚዎችን በማነፃፀር እኩልነትን ማረጋገጥ ይችላሉ.

8. ለኮድ ማስታወሻ የምልክት ዛፎችን በመጠቀም.

9. መላው ቋንቋ ሁል ጊዜ ይገኛል።. በንባብ ጊዜ ፣በማጠናቀር እና በሂደት ጊዜ መካከል ግልፅ ልዩነት የለም። በሚያነቡበት ጊዜ ኮድ ማጠናቀር ወይም ማስኬድ ይችላሉ, ወይም ኮድ ሲያጠናቅቁ ማንበብ ወይም ማሄድ, ወይም ሲሰራ ኮድ ማንበብ ወይም ማጠናቀር ይችላሉ.

በማንበብ ጊዜ ኮድ ማስኬድ ተጠቃሚዎች የ Lispን አገባብ እንደገና እንዲያዘጋጁ ያስችላቸዋል; በማጠናቀር ጊዜ ኮድ ማስኬድ ለማክሮዎች መሠረት ነው ። Runtime ማጠናቀር Lisp እንደ ኢማክስ ባሉ ፕሮግራሞች ውስጥ እንደ የኤክስቴንሽን ቋንቋ ለመጠቀም መሰረት ነው; እና በመጨረሻ፣ የሩጫ ጊዜ ንባብ ፕሮግራሞች s-expressionsን በመጠቀም እንዲግባቡ ያስችላቸዋል፣ ይህ ሃሳብ በኤክስኤምኤል ውስጥ በቅርቡ የተፈጠረ።

መደምደሚያ

ሊስፕ ለመጀመሪያ ጊዜ ሲፈጠር፣ እነዚህ ሃሳቦች በ1950ዎቹ መገባደጃ ላይ ባለው ሃርድዌር ከታዘዙት ከተለመዱት የፕሮግራም አወጣጥ ተግባራት በጣም የራቁ ነበሩ።

በጊዜ ሂደት፣ በታዋቂ ቋንቋዎች ስኬት የተካተተ ነባሪ ቋንቋ ቀስ በቀስ ወደ ሊስፕ ተለወጠ። ከ1-5 ያሉት ነጥቦች አሁን በሰፊው ተቀባይነት አግኝተዋል። ነጥብ 6 በዋናው ላይ መታየት ጀምሯል። በፓይዘን ውስጥ, ምንም እንኳን ተስማሚ አገባብ ባይኖርም, በተወሰነ መልኩ 7 አንቀጽ አለ. ንጥል 8፣ (በንጥል 9) በሊስፕ ውስጥ ማክሮዎችን የሚቻል የሚያደርገው፣ አሁንም በሊስፕ ውስጥ ብቻ ነው ያለው፣ ምናልባት (ሀ) እነዚያን ቅንፎች ወይም እኩል የሆነ መጥፎ ነገር ስለሚፈልግ እና (ለ) ይህን የቅርብ ጊዜ የኃይል ጭማሪ ካከሉ፣ ይችላሉ ከአሁን በኋላ አዲስ ቋንቋ ፈለሰፈ አይልም፣ ነገር ግን አዲስ የሊፕ ቀበሌኛ ማዳበር ብቻ ነው። -)

ምንም እንኳን ይህ ለዘመናዊ ፕሮግራመሮች ጠቃሚ ቢሆንም ሊስፕ በሌሎች ቋንቋዎች ከተቀበሉት የዘፈቀደ ቴክኒኮች ልዩነት አንፃር መግለፅ እንግዳ ነገር ነው። McCarthy እያሰበ ያለው ይህ ላይሆን ይችላል። Lisp የፎርራን ስህተቶችን ለማስተካከል አልተነደፈም። የበለጠ እንደ ሙከራ ውጤት ታየ axiomatize ስሌቶች.

ምንጭ: hab.com

አስተያየት ያክሉ