লিস্প একটি বৃহত এবং জটিল ভাষা এটি সমর্থন করার জন্য একটি বৃহত এবং জটিল রানটাইম সহ। যে কারণে লিস্প বড় এবং জটিল সমস্যার পক্ষে সবচেয়ে উপযুক্ত।
এখন, এক জটিল সমস্যা হিসাবে একই নয় জটিল এক। একটি জটিল সমস্যা হ'ল অনেকগুলি ছোট বিবরণ সহ, তবে যা কঠিন নয়। এয়ারলাইনের বুকিং সিস্টেম লেখা একটি জটিল ব্যবসা, তবে পর্যাপ্ত অর্থ এবং প্রোগ্রামার সহ এটি কঠিন নয়। পার্থক্য পাবেন?
একটি জটিল সমস্যা হ'ল যা সঙ্কুচিত, এমন একটি যেখানে traditionalতিহ্যবাহী বিভাজন এবং বিজয় কাজ করে না। একটি রোবট নিয়ন্ত্রণ করা, বা টেবুলার নয় এমন ডেটা নিয়ে কাজ করা (উদাহরণস্বরূপ ভাষা), বা অত্যন্ত গতিশীল পরিস্থিতি।
লিস্প এমন সমস্যার সাথে সত্যই উপযুক্ত যেখানে সমাধানটি প্রসারণযোগ্য হতে হবে; ক্লাসিক উদাহরণটি হল ইম্যাক্স পাঠ্য সম্পাদক। এটি সম্পূর্ণরূপে প্রোগ্রামযোগ্য, এবং এইভাবে এটির নিজস্ব একটি প্রোগ্রামিং পরিবেশ।
তাঁর বিখ্যাত বই পিএআইপি-তে নরভিগ বলেছেন যে লিসপ অনুসন্ধানের প্রোগ্রামিংয়ের জন্য আদর্শ। এটি হ'ল, এমন কোনও সমস্যার সমাধানের প্রোগ্রামিং যা সম্পূর্ণ বোঝা যায় না (অন-লাইন বুকিং সিস্টেমের বিপরীতে)। অন্য কথায়: জটিল সমস্যা
তদতিরিক্ত, লিস্প শেখা আপনাকে এমন কিছু মৌলিক কথা স্মরণ করিয়ে দেবে যা ভুলে গেছে: ভন নিউমান এবং টুরিংয়ের মধ্যে পার্থক্য। যেমনটি আমরা জানি, টিউরিংয়ের গণনার মডেল একটি আকর্ষণীয় তাত্ত্বিক মডেল, তবে কম্পিউটার ডিজাইনের মডেল হিসাবে অকেজো। অন্যদিকে ভন নিউমান, কম্পিউটার এবং গণনা চালানোর জন্য কীভাবে মডেলটি তৈরি করেছিলেন: ভন নিউমান মডেল। ভন নিউমান মডেলটির কেন্দ্রস্থল হ'ল আপনার কাছে একটি মাত্র মেমরি রয়েছে এবং সেখানে আপনার কোড এবং আপনার ডেটা উভয়ই সংরক্ষণ করুন। সাবধানতার সাথে লক্ষ্য করুন যে একটি জাভা প্রোগ্রাম (বা সি #, বা যা আপনার পছন্দ হয়) টুরিং মডেলের প্রকাশ। আপনি একবার এবং সর্বদা আপনার প্রোগ্রামটি কংক্রিটে সেট করেছেন। তারপরে আপনি আশা করেন যে আপনি এতে থাকা সমস্ত ডেটা মোকাবেলা করতে পারবেন।
লিস্প ভন নিউমন মডেল বজায় রাখে; কোড এবং ডেটার মধ্যে কোনও তীক্ষ্ণ, পূর্ব নির্ধারিত সীমানা নেই। লিস্পে প্রোগ্রামিং আপনার মনকে ভন নিউমান মডেলের শক্তিতে উন্মুক্ত করে। লিসপে প্রোগ্রামিং আপনাকে নতুন আলোতে পুরানো ধারণাগুলি দেখতে দেয়।
অবশেষে, ইন্টারেক্টিভ হওয়ার কারণে, আপনি আপনার প্রোগ্রামগুলি বিকাশ করার সাথে সাথে তাদের সংযোগ করতে শিখবেন (সংকলন ও চালনার বিপরীতে)। এটি আপনার প্রোগ্রামের পদ্ধতি এবং আপনি প্রোগ্রামিং দেখার পদ্ধতিও পরিবর্তন করে।
এই পরিচিতির সাহায্যে আমি অবশেষে আপনার প্রশ্নের জবাব দিতে পারি: আপনি কি এমন জায়গাগুলি খুঁজে পাবেন যেখানে এটি "traditionalতিহ্যবাহী" ভাষাগুলির চেয়ে বড়?
আপনি যদি উন্নত প্রোগ্রামার হন তবে আপনার উন্নত সরঞ্জামের প্রয়োজন। এবং লিস্পের চেয়ে উন্নত কোনও সরঞ্জাম নেই। অথবা, অন্য কথায়: আপনার সমস্যাগুলি যদি শক্ত হয় তবে উত্তরটি হ্যাঁ। অন্যথায় না।