কেন লিস্পে একটি লিস্প ইন্টারপ্রেটার অধ্যয়ন এত গুরুত্বপূর্ণ?


30

আমি অনেক সিএস পাঠ্যক্রম এবং নতুন প্রোগ্রামারদের জন্য শিখার পরামর্শ দেখেছি যা উচ্চাভিলাষী প্রোগ্রামারকে একটি লিস্প ইন্টারপ্রেটার যা বিশেষত লিস্পে লেখা আছে তা অধ্যয়নের জন্য আহ্বান করে। এই সমস্ত সাইটগুলি এর অনুরূপ জিনিস বলে, "এটি একটি বৌদ্ধিক প্রকাশ", "এটি প্রতিটি গুরুতর প্রোগ্রামারের হওয়া উচিত একটি আলোকিত অভিজ্ঞতা," বা "এটি আপনাকে হার্ডওয়্যার / সফ্টওয়্যার সম্পর্কগুলি দেখায়," এবং অন্যান্য অস্পষ্ট বিবৃতি, বিশেষত নেওয়া নিবন্ধ থেকে নেওয়া এই নামকরা কিভাবে

আমার প্রশ্নের সাধারণ অনুভূতি হ'ল লিসপ কীভাবে উপরের লক্ষ্যগুলি অর্জন করে এবং কেন লিসপ? অন্য কিছু ভাষা কেন নয়?

আমি এটি জিজ্ঞাসা করছি কারণ আমি সবেমাত্র স্কিমের স্কিম ইন্টারপ্রেটার লেখার কাজ শেষ করেছি (এসআইসিপি http://mitpress.mit.edu/sicp/ থেকে নেওয়া ) এবং এখন আমি স্কিমের একটি পাইথন ইন্টারপ্রেটার লিখছি এবং আমি এই কিংবদন্তি এপিফ্যানির জন্য লড়াই করছি এটি পূর্বের থেকে বিশেষভাবে আসার কথা। প্রোগ্রামগুলি কীভাবে কাজ করে সে সম্পর্কে বোঝার জন্য আমি দুটি ভাষাগুলির মধ্যে সুনির্দিষ্ট প্রযুক্তিগত বিবরণ সন্ধান করছি their

আরো নির্দিষ্টভাবে:

কেন এমন একজন দোভাষীর অধ্যয়ন যা এই ভাষায় এতটা জোর দেওয়া হয় যে ভাষায় লেখা হয় - এটি কি মূল ভাষা এবং নির্মিত ভাষাটিকে সোজা রাখা কেবল একটি দুর্দান্ত মানসিক অনুশীলন বা নির্দিষ্ট সমস্যা রয়েছে যার সমাধানগুলি কেবলমাত্র প্রকৃতিতে পাওয়া যেতে পারে? মূল ভাষা?

লিসপ ইন্টারপ্রেটাররা কীভাবে কারও ভবিষ্যতের সফ্টওয়্যার ডিজাইনের জন্য ভাল আর্কিটেকচার ধারণাটি প্রদর্শন করে?

আমি যদি এই অনুশীলনটি সি ++ বা জাওয়ার মতো আলাদা ভাষায় করি তবে আমার কী মিস হবে?

কি সর্বাধিক ব্যবহৃত takeaway হয় অথবা "মানসিক টুল" এই ব্যায়াম থেকে? **

** আমি উত্তর কারণ আমি আমি নির্বাচিত হয়েছে লক্ষ্য করেছি যে, আমি এই ব্যায়াম আরো দক্ষতা থেকে অর্জন করেছেন অন্য কোন একক টুল চেয়ে আমার মাথায় পার্স সরঞ্জাম নকশা এবং আমি পার্স যে পরিকল্পনা জন্য আরো ভালোভাবে কাজ করতে পারে বিভিন্ন পদ্ধতি এটি চাই পাইথন ইন্টারপ্রেটারের চেয়ে দোভাষী।



4
@gnat ক্যারিয়ারের ঠিক পরামর্শ নয়, একটি "লিপ্পের মধ্যে এত দুর্দান্ত কী" প্রশ্ন।
রবার্ট হার্ভে

1
@ রবার্টহারভে যে লিঙ্কটি কেবল ক্যারিয়ারের জন্য নয় , শিক্ষার পরামর্শের জন্যও , আমি এটি বোঝাতে চাইছি। তবে, ভাল, লিস্প-তাই-দুর্দান্ত সম্ভবত খুব ভাল ফিট
জিনাত

1
আপনি একটি বিশেষ অনুশীলন থেকে কী শিখবেন তা আপনি জিজ্ঞাসা করছেন বলে মনে হচ্ছে। আপনার সুদৃ .়তা কোনও অলসতার লক্ষণ, যে কোনও ভাল প্রোগ্রামারের মূল চাবিকাঠি, তবে আপনি অনুশীলন থেকে কী শিখবেন তা খুঁজে বের করার একমাত্র উপায় এটি করা এবং দেখা। আপনি এটি করতে থেকে কী শিখবেন তা কেউ আপনাকে বলতে পারে না, আপনাকে কেবল এটি করতে হবে।
জিমি হোফা

2
যদিও এই প্রশ্নটি সামগ্রিকভাবে শিক্ষার সাথে সম্পর্কিত, আমি "শিক্ষার পরামর্শ" হিসাবে "আমার কোন ভাষা শিখতে হবে?" হিসাবে এটি শ্রেণিবদ্ধ করব না? হয়। এটি একটি নির্দিষ্ট ধরণের কোর্স বা কাজের সাথে সুনির্দিষ্ট নয়। প্রকৃতপক্ষে, আপনি যদি কিছু শিক্ষার বাজওয়ার্ডগুলি ছাঁটাই করেন তবে এটি সামগ্রিকভাবে প্রোগ্রামিং ভাষা সম্পর্কিত একটি প্রশ্ন, যার উত্তরগুলি ভাষার বৈশিষ্ট্যগুলি নিয়ে আলোচনা করে। এটি সত্যিই লিস্পের সাথে নির্দিষ্ট নয়, তবে এক্সএসল্টের মতো অন্যান্য হোমিকোনিক ভাষায় প্রয়োগ করা যেতে পারে। সুতরাং আমি এটি একটি নিখুঁত প্রশ্ন বলব না, কেবল এটি "ক্যারিয়ার পরামর্শ" নয়।
TheRubberDuck

উত্তর:


17

"আমিও" উত্তর দেওয়ার ঝুঁকিতে, যদি আপনি এটি চেষ্টা করেন তবে আপনি দেখতে পাবেন ...

আপনি যদি কম্পিউটারের ভাষা অধ্যয়ন করেন তবে আপনি সম্ভবত এই ধারণাটি পেয়ে যাবেন যে পার্সিংয়ের ক্ষেত্রে এটি কমপক্ষে অর্ধেক। আপনি যদি লিস্প শিখেন তবে আপনি বুঝতে পারবেন যে পৃষ্ঠের বাক্য গঠনটি পার্স করা লোকেদের জন্য সুবিধার চেয়ে বেশি কিছু নয় (আমাদের মতো বেশিরভাগ লোক) যারা প্রচুর জ্বালাময়ী একক প্যারেন্টেসিস পছন্দ করেন না।

তারপরে আপনি বুঝতে পারবেন যে সেই সুবিধার জন্য একটি বড় দাম দেওয়া হয়েছিল। লিস্পে কোনও প্রোগ্রামের জন্য অন্য প্রোগ্রাম তৈরি করা এবং তা কার্যকর করা তুচ্ছ। অন্য ভাষায় এটি রোমান সংখ্যায় গুণ করার মতো একটি উন্নত প্রযুক্তি।

অবশ্যই, প্রায় সবাই জিজ্ঞাসা করবে "এটি করা দরকার কার?" ঠিক আছে, আপনি খুব ভালভাবে দেখতে পেলেন যে এটি এমন একটি সম্পূর্ণ ভিস্তা খুলেছে যা আপনি কখনও বুঝতে পারেননি যে আপনি আগে করতে পারবেন না। আপনি অন্যান্য ভাষায় এটি করতে পারেন, তবে প্রায় খুব সহজে নয়।

ইজকাটার মন্তব্যের জবাব দেওয়ার জন্য অন্তর্ভুক্ত:

  • SHRDLU প্রাকৃতিক-ভাষা-বোঝার প্রোগ্রামটি মাইক্রো-প্ল্যানার নামে একটি লিস্প উপভাষায় একটি ইংরেজী বিবৃতি বা প্রশ্নকে একটি প্রোগ্রামে অনুবাদ করে এবং এটি সম্পাদন করে worked
  • যে প্রোগ্রামগুলি প্রোগ্রামগুলিতে হেরফের হয়, উদাহরণস্বরূপ তাদের সরলকরণ বা তাদের সঠিক প্রমাণ করার জন্য প্রাকৃতিকভাবে লিস্পে লেখা হয়।
  • আমি ভিজ্যুয়াল দৃশ্যগুলি বোঝার জন্য একটি প্রোগ্রামে প্রোগ্রাম জেনারেশনটি ব্যবহার করেছি, যেখানে কোডটি গুণিত না করে ত্রি-মাত্রিক বস্তুতে সক্ষম সমস্ত প্রতিসাম্যগুলির সাথে ডিল করতে হয়েছিল।
  • যৌক্তিক অভিব্যক্তিগুলিতে হস্তক্ষেপের জন্য যুক্তি এবং উপপাদ্য-প্রমাণকারী ডিলগুলির সাথে যে কোনও সম্পর্ক রয়েছে যা প্রোগ্রামের একটি রূপ।
  • সিম্বলিক ম্যাথ, যেমন সিম্বলিক ইন্টিগ্রাল বা ডিফারেনশিয়াল ক্যালকুলাস, গণিতের এক্সপ্রেশনগুলি ম্যানিপুলেট করার সাথে জড়িত যা ক্ষুদ্রতর প্রোগ্রামগুলির মতো।
  • কোড জেনারেশন বা আরও হাইব্রো টার্ম "আংশিক মূল্যায়ন" জড়িত যে কোনও সমস্যা লিস্পে প্রাকৃতিক। আমি অনেক আগে একটি ডাটাবেস ব্রিজ প্রোগ্রামের জন্য এটি করেছি। আমি সি তে এটি করেছি, যা লিস্পের মতো সহজ ছিল না, তবে আমি লিস্পের কাছ থেকে ধারণাটি পেয়েছি। এটিকে এমন কৌশল হিসাবে বিবেচনা করা হত যা প্রায় কেউই তখন করতে পারেনি (বিশেষত সিওবিওএল)। সম্ভবত আরও এখন, আমি আশা করি।

... এটি কেবল কয়েক ...

তারপরে আপনি বুঝতে পারেন যে কিছু জিনিস যা "আধুনিক" হিসাবে বিবেচিত হয় তারা 40-কয়েক বছর ধরে লিস্পে পুরানো-টুপি রয়েছে। ফাংশনাল প্রোগ্রামিংয়ের মতো। আবর্জনা সংগ্রহের মতো। ক্লোজারের মতো।

এটি বলতে না যে আধুনিক ভাষাগুলিতে ওওপি ইত্যাদির মতো নতুন ভাল ধারণা নেই, তবে আপনি যদি লিস্প শিখেন তবে এটি আপনার দৃষ্টিভঙ্গি আরও প্রশস্ত করবে en


You can do it in other languages, but not nearly so easily.- লাইক? (আমার কাছে প্রশ্নটি মনে হচ্ছে কারণ এ জাতীয় বিবৃতি প্রায়শই দেওয়া হয় তবে প্রায় কখনও সুনির্দিষ্ট হয় না)
ইজকাটা

আমি প্রথমে ভেবেছিলাম যে পৃথিবীটি বিপ্লব হয়েছিল যখন আমি বুঝতে পারলাম জাভাস্ক্রিপ্ট তার নিজস্ব উত্স কোডটি মুদ্রণ করতে পারে এবং স্ট্রিং আক্ষরিক যা বস্তুকে আক্ষরিকরূপে ব্যাখ্যা করতে পারে তা পেতে বস্তুগুলি ট্র্যাভার করা যেতে পারে। তারপরে আমি বুঝতে পারলাম পার্ল এর সাথে $ ডেটা :: ডাম্পার :: ডিপারস সহ সমস্ত ছিল এবং তারপরে আমি বুঝতে পারি যে লিস্পটি চিরদিনের জন্য রয়েছে। দোভাষীকে বোঝার ফলে এই শক্তিটি আনলক হয় যা সর্বদা জীবিত মডিউল তৈরির জন্য রয়েছে এবং লিস্পে এটি অন্য যে কোনও ভাষার চেয়ে অ্যাক্সেসযোগ্য।
দিমিত্রি

মজার বিষয় হ'ল লিসপ প্রোগ্রামার সচেতন লিস্প ইন্টার্নালরা সর্বদা জাভাস্ক্রিপ্ট থেকে বাশ বা পার্ল বা পাইথন পর্যন্ত যে কোনও গতিময় ভাষায় নিজের লিপকে অগ্রণী রূপ দিতে পারে; উপলভ্য পরিবেশ থেকে ভালভাবে বুটস্ট্র্যাপগুলি।
দিমিত্রি

19

আপনার প্রশ্নের সহজ উত্তর হ'ল লিস্প চেষ্টা করা, এস আই সি পি এর সাথে মিল রেখে । তাহলে আপনি আলোকিত হবেন।

বলেছিল ...

কোড ডেটা হয়
বেশিরভাগ ভাষা কোড এবং ডেটার মধ্যে একটি তাত্পর্যপূর্ণ পার্থক্য করে; লিস্প না। এটি উদাহরণস্বরূপ, তুচ্ছভাবে লিস্পে একটি লিস্প পার্সার লিখতে এবং লিস্পের মধ্যে লিস্প কোডটি ম্যানিপুলেট করা সম্ভব করে তোলে। এই আলোকিতকরণের সর্বাধিক বর্ণনা যা আমি পেয়েছি তা হ'ল দ্য নেচার অফ লিস্প

এটি অংশে সত্য কারণ ভাষার বাক্য গঠনটি এত সহজ। এটি লিস্পে (মেটাপোগ্রোমিংয়ের মতো) জিনিসগুলি সম্ভব করে তোলে যা অন্য ভাষায় ব্যবহার্য নয় কারণ সিনট্যাক্সটি পথটি পায়।

আরো পড়ার
গড় পিটিয়ে


3
২ য় অনুচ্ছেদে কোনও অর্থ হয় না: হোমোসোনসিটিটি = = সরল বাক্য গঠন; সহজ সিনট্যাক্স এটা সহজ একটি পাতার মর্মর পার্সার লিখতে করে তোলে কোন ভাষায় (দেখুন এই )। তৃতীয় অনুচ্ছেদটি অস্পষ্ট, উদাহরণ (গুলি) দরকার।

@ ম্যাটফেনউইক এটি সত্য যে জটিল সিনট্যাক্সের সাহায্যে হোমোসোনসিটি করা যেতে পারে, তবে এটি অত্যন্ত কঠিন হবে be এটি অনুমান করা ন্যায়সঙ্গত যে আপনি যদি একটি হোমিকোনিক সিনট্যাক্সের সাথে কাজ করে থাকেন তবে এটি সহজ হবে, যদি এটির দাবি করা ধারাবাহিকতা ছাড়া অন্য কোনও কারণে এটি অ-হোমিকনিক সিনট্যাক্সের চেয়ে অকার্যকরভাবে অনুসরণ করা সহজ করে তোলে। যদিও আপনার দ্বিতীয় পয়েন্টটি একটি ভাল, এলআইএসপি পার্স করা সহজ কারণ এটি সাধারণ বাক্য গঠন যা হোমোসোনসিটির কারণে নয় (এমনকি যদি হোমসিওনিসিটি সেই সরলতার কারণ হয়)
জিমি হোফা

1
যাই হোক না কেন, একটি ডেটা মান গ্রহণ এবং এটি একটি প্রোগ্রাম হিসাবে ব্যাখ্যা করার জন্য সামান্য ওভারহেড থাকে। এটি একটি দুর্দান্ত জিনিস। কনফিগারেশন দ্বারা প্রোগ্রামিং সোজা-ফরওয়ার্ড যখন আপনাকে যা করতে হবে তা কনফিগারেশন ডেটার জন্য একজন দোভাষী লিখতে হবে। উন্নত গাণিতিক ট্রান্সফরমেশনগুলি (যা রাষ্ট্রীয় ল্যাঙ্গুয়েজে প্রয়োগ করা কঠিন) প্রায়শই লিস্পের খাঁটি খণ্ডটির সিনট্যাক্টিক রূপান্তরকে "হ্রাস" করা হয়।
নাম 17

1
@ ম্যাটফেনউইক: আমি আমার উত্তর থেকে "হোমোকোনসিটি" শব্দটি সরিয়েছি।
রবার্ট হার্ভে

1
আমি আশা করি লিস্পের দ্য নেচারের জন্য আমি আরও একটি +1 দিতে পারতাম; এত বড় ব্যাখ্যা আমি আর কখনও দেখিনি।
ডোভাল

9

কেন এমন একজন দোভাষীর অধ্যয়নকে এতটা গুরুত্ব দেওয়া হয় যে ভাষায় এটি অনুবাদ করা হয়?

সাধারণভাবে, একজন দোভাষীর অধ্যয়ন আপনাকে এর ভাষা এবং বৈশিষ্ট্যগুলির অন্তর্দৃষ্টি দেয়। সাধারণভাবে, প্রোগ্রামিং ল্যাঙ্গুয়েজে কোড অধ্যয়ন করা কথা শোনার এবং পড়ার দ্বারা কথ্য ভাষার অনুশীলনের মতো: এটি আপনাকে সেই ভাষা কী করতে পারে, কীভাবে এটি ব্যবহার করা হয় এবং সাধারণ "আইডিয়োম" ব্যবহার করে তার সাথে পরিচিত হয়। আরও সুনির্দিষ্টভাবে বলা যায় যে লিস্প একটি সমজাতীয় ভাষা, যার অর্থ হল এর অভিব্যক্তিগুলির বাক্য গঠনটি ডেটার জন্য সিনট্যাক্সের সমান। লিস্পে রাইটিং কোডটি দুর্দান্তভাবে দেখে মনে হচ্ছে আপনি কোনও তালিকা লিখেছেন এবং তদ্বিপরীত। সুতরাং, লিস্প কোডের সাথে লিস্প কোডটি ব্যাখ্যা করা তত সহজ carএবং এর সাথে তালিকাগুলির মধ্য দিয়ে চলার মতোই সহজ cdr

ধারণাটিগতভাবে এর থেকে সর্বাধিক সুবিধা অর্জন করার জন্য কীভাবে আমি এই অনুশীলনটির মূলধন করব?

দোভাষী কীভাবে নিজেকে ব্যাখ্যা করবেন সে সম্পর্কে চিন্তা করুন - অনেক মেটা-বিজ্ঞপ্তি দোভাষী বাস্তবায়নে (যেখানে একটি হোমোকোনিক ভাষা নিজেই ব্যাখ্যা করে) কেবল ফাংশনটি "পাস" করতে পারে। উদাহরণস্বরূপ, বাস্তবায়ন করতে car, কেবল carআর্গুমেন্টটি গ্রহণ করুন। এটি ডেটা স্টোরেজ প্রক্রিয়া থেকে জোরকে দূরে সরিয়ে দেয় এবং কার্যকারিতাটিতে ফোকাস করে।

লিসপ ইন্টারপ্রেটাররা কীভাবে কারও ভবিষ্যতের সফ্টওয়্যার ডিজাইনের জন্য ভাল আর্কিটেকচার ধারণাটি প্রদর্শন করে?

দোভাষী খুব জটিল হতে পারে, যা তাদের নকশায় ভাল আর্কিটেকচারকে উত্সাহ দেয়। এই বিষয়টি মনে রেখে, এটি পৃথক দোভাষীর উপর বেশি নির্ভরশীল।

আমি যদি এই অনুশীলনটি সি ++ বা জাওয়ার মতো আলাদা ভাষায় করি তবে আমার কী মিস হবে?

এই ভাষাগুলি হোমোকোনিক নয়, সুতরাং তারা একটি মেটা-বিজ্ঞপ্তি লিস্প দোভাষী এর অনুগ্রহ এবং সরলতার দ্বারা উপকৃত হয় না। এটি অনুশীলনকে আরও শক্ত এবং সম্ভবত কম সাধারণ করে তোলে তবে আমি এটি বলব না যে এটি আসলে কোনও কম উপকারী।

এই অনুশীলন থেকে সর্বাধিক ব্যবহৃত টেকওয়ে বা "মানসিক সরঞ্জাম" কী?

আমি নিশ্চিত নই যে এর উত্তরটির জন্য আমার ভাল উত্তর আছে; কেবল যে এটি দোভাষী কীভাবে কাজ করে তা দেখতে এবং সম্ভবত আরও গুরুত্বপূর্ণভাবে ভাষাতে ছোটখাটো পরিবর্তনগুলি কীভাবে সহজেই প্রয়োগ করা যায় তা দেখতে এটির সাথে চারপাশে টিঙ্কারটি দেখায় helps


5

এলআইএসপি নিজেই এমনভাবে কাঠামোযুক্ত যা এটি পার্স করা অত্যন্ত সহজ করে তোলে। আপনি যদি একটি সংকলক লেখার চেষ্টা করেন, আপনি খেয়াল করবেন যে আপনার ভাষার প্রতিটি জিনিসই যদি একটি মত প্রকাশ এবং স্বল্প মাত্রায় অস্পষ্টতা থাকে তবে তা অনেক সহজ। এলআইএসপি অস্পষ্টতা দূর করতে সর্বত্র বন্ধনীকে বাধ্য করে এবং এর কোনও বিবৃতি নেই, কেবলমাত্র অভিব্যক্তি।

এলআইএসপি পার্স করা খুব সহজ যে সত্যটি ব্যবহারকারীরা তাদের নিজস্ব উত্স কোডটি বিশ্লেষণ করতে এবং এর সাথে যাদু কৌশলগুলি করতে উত্সাহিত করে। ডেটা এবং কোডের মধ্যে লাইনটি অস্পষ্ট হয়ে যায় এবং আপনি সহজেই এমন কিছু করতে পারেন যা সাধারণত সাধারণত কিছু প্রচেষ্টা প্রয়োজন যেমন রিফ্লেকশন, ডায়নামিক কোড পুনর্লিখন, প্লাগইন এবং সিরিয়ালাইজেশন।

এটি এর সংক্ষেপে। অনুশীলনটি সম্ভবত কোডটি যখন নিজের থেকে সহজেই বিশ্লেষণযোগ্য হয় তখন কী কী সম্ভব তার কিছুটা অন্তর্দৃষ্টি দেওয়ার জন্য বোঝানো হয়েছিল।


এটি পার্স করা সহজ লিস্প নয়। এস-এক্সপ্রেশনগুলি পার্স করা সহজ। তারপরে আপনাকে লিস্প পার্স করা দরকার।
রেনার জোসভিগ

@ রাইনার: এটা কি নিটপিকিং নয়? আমার বিশ্বে পার্সিংয়ের অর্থ পাঠ্য থেকে একটি এএসটিতে চলে যাওয়া, যা আদেশগুলি ব্যাখ্যা করার বিষয়ে কিছুই বলে না।
আলেকজান্ডার টর্সলিং

সি ++ এ পার্সার একটি সিনট্যাক্টিক্যালি ভুল ফাংশন ঘোষণা সনাক্ত করবে। লিস্পে না। প্রোগ্রামিং ভাষা লিস্প সম্পর্কে পাঠক কিছুই জানেন না। সি ++ পার্সার পুরো সি ++ সিনট্যাক্সটি জানে। লিস্প পাঠক কেবল এস-এক্সপ্রেশনগুলি জানেন।
রাইনার জোসভিগ

আহ, তাহলে আমি বুঝতে চাইছি আপনি কী বোঝাতে চাইছেন। সত্য, যদিও আমি এখনও মনে করি একটি সাধারণ লিস্প মূল্যায়নকারী একটি সাধারণ সি ++ এর চেয়ে আরও সহজ নির্মাণ করতে পারে। এস আই সি পি-তে তারা এটাই করে, এটি পড়েছি (আমি যখন পড়েছি তখন কিছুক্ষণ হয়নি)?
আলেকজান্ডার টর্সলিং

এস আই সি পি-তে ব্যবহৃত ভাষা খুব সহজ, এমনকি সম্পূর্ণ স্কিমও নয়। ভাষার মতো ক্ষুদ্র সি এর জন্য দোভাষীও সহজ হওয়া উচিত। সি ++ বড়। এর কিছু অসুবিধা অপেক্ষাকৃত উচ্চ সংখ্যক বিল্ট-ইন সিনট্যাক্স থেকে আসে comes একটি সাধারণ লিস্প সিস্টেমে সিনট্যাক্সের বেশিরভাগ অংশ ম্যাক্রো দিয়ে তৈরি করা হয় - দোভাষীর বাইরে। ম্যাক্রোস সিনট্যাক্স এবং উত্স রূপান্তরগুলির জন্য একটি এক্সটেনশন প্রক্রিয়া প্রয়োগ করে। এটি কোরকে আরও ছোট রাখে। তবে ম্যাক্রোগুলি ব্যাপক হতে পারে। উদাহরণস্বরূপ, এলওওপি নির্মাণের বাস্তবায়নে জটিল ম্যাক্রো কোডের 2000 টিরও বেশি লাইন রয়েছে।
রেনার জোসভিগ

4

আমি নিশ্চিত না যে এটি সবার জন্য সত্যই গুরুত্বপূর্ণ। লিস্পের দোভাষী কীভাবে কাজ করে তা না জেনে আপনি একজন সফল বিকাশকারী হতে পারেন। কম্পিউটার সায়েন্স অধ্যয়ন করার সময়, লিস্পের প্রাথমিক ধারণাগুলি যদিও জানা উচিত।

লিস্প ইন্টারপ্রেটারগুলি লিস্প প্রোগ্রামারদের জন্য গুরুত্বপূর্ণ। তাদের কীভাবে কোনও ইন্টারপ্রেটার ([এবং সংকলক] 1 ) কাজ করে, ভাষাটি কীভাবে ব্যবহার করতে হয় তা পুরোপুরি বুঝতে understand

শিক্ষার্থীদের কয়েকটি জিনিস শেখানোর জন্য প্রায়শই কম্পিউটার বিজ্ঞানের একটি সরঞ্জাম হিসাবে লিস্পের দোভাষী ব্যবহৃত হয়:

একটি শিক্ষণ ডিভাইস হিসাবে, একটি লিস্প দোভাষী সাহায্যকারী, কারণ এটি অল্প সময়ে শিখতে এবং বোঝা যায়। যেহেতু অল্প সংখ্যক শিক্ষার্থী ইতিমধ্যে লিস্প সম্পর্কে জানে তাই শিক্ষার্থীরা একটি স্তরের মাঠে থাকে যখন এটি ধারণার উপরোক্ত বিষয়গুলি শেখার ক্ষেত্রে আসে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.