আপনি কি একটি বাস্তব-বিশ্ব অ্যাপ্লিকেশনের জন্য (উপভাষার) এলআইএসপি ব্যবহার করবেন? কোথায় এবং কেন? [বন্ধ]


31

এলআইএসপি (এবং স্কিম, প্রচলিত এলআইএসপি এবং ক্লোজারের মতো উপভাষাগুলি) তারা বেশ শালীন প্রোগ্রামিং ভাষা সত্ত্বেও খুব বেশি শিল্প সমর্থন অর্জন করতে পারেনি। (এই মুহুর্তে যদিও মনে হচ্ছে তারা কিছুটা ট্র্যাকশন লাভ করছে)।

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


6
ইমাসগুলি কি "বাস্তব বিশ্বের" অ্যাপ্লিকেশন হিসাবে গণনা করা হয়? gnu.org/software/emacs/emacs-lisp-intro
এস। লট

1
@ এসলট: হ্যাঁ। আপনি যদি ইমাসের জন্য এক্সটেনশান তৈরি করতে এলিস্প ব্যবহার করেন তবে তা ঠিক আছে এবং এলআইএসপি উপভাষার প্রয়োগ
Anto

জিএনইউ গাইলি ঠিক এই উদ্দেশ্যে তৈরি।

1
আকর্ষণীয় হলেও, আমি মনে করি না যে এই প্রশ্নটি এই সাইটের জন্য আর উপযুক্ত। একাধিক কারণ: 1- অত্যধিক বিস্তৃত, 2- এটি উত্তরের তালিকাকে আমন্ত্রণ জানায়, 3- কোনটি "সঠিক" উত্তর তা ঠিক করার কোনও সুস্পষ্ট উপায় নয়, 4- সময়মতো স্থানীয়ভাবে ("খুব বেশি শিল্প সমর্থন লাভ করেনি"), 5- এটি আলোচনা এবং বিতর্ককে আমন্ত্রণ জানায়।
অ্যান্ড্রেস এফ

উত্তর:


18

আপনি একটি উত্পাদন প্রোগ্রামের জন্য একটি LISP উপভাষা ব্যবহার করবেন?

একেবারে

কি ধরনের প্রোগ্রাম এবং কেন?

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

স্থানীয় থ্রেডগুলি লিস্প ওয়ার্কস এবং এসবিসিএল দ্বারা অর্জন করা হয়েছে, আমি বিশ্বাস করি। সম্ভবত অন্যরা? আমি পুরোপুরি তদন্ত করিনি।

লিস্প ওয়ার্কস এবং ফ্রাঞ্জ কমন লিস্প - বাণিজ্যিক পণ্যগুলি - জিইউআইতে সাফল্যের ডিগ্রীতে একীভূত হয়। এগুলি কেনার জন্য, না থাকা, আমি জানি না এটি কতটা ভাল কাজ করে। আমি সন্দেহ করি তারা বেশ ভাল কাজ করে ...

একটি নির্বিচার জিসি অপারেশন করা যেতে পারে (এটি জাভাতে কিছুটা সাফল্যের জন্য সম্পন্ন হয়েছে), কিন্তু আমি জানি না যে বিদ্যমান লিস্প সিস্টেমে (রক্ষণাবেক্ষণগুলি) এর কোনও কোড আছে কিনা।

আমি বিশ্বাস করি ছোট মেমরির পদচিহ্ন কিছু লিপস দ্বারা অর্জন করা হয়েছে।

আমার মূল কথাটি হ'ল, কমন লিস্প প্রযুক্তিগতভাবে উত্পাদন সিস্টেম তৈরির জন্য প্রস্তুত। এবং এটা করে

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

ব্যক্তিগতভাবে আমি একটি দলের পরিবেশে গ্রাউন্ড আপ থেকে কমন লিস্পে একটি পূর্ণাঙ্গ উত্পাদন ব্যবস্থা গড়ে তোলাতে ঝাঁপিয়ে পড়তাম।

সম্পাদনা করুন: লিস্প কেন অন্য ভাষার বিরোধী তা আমি সত্যিই উত্তর দেইনি।

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

একটি সরল উদাহরণ উদাহরণ পাইথনের দৈর্ঘ্য-তালিকার রুটিন। পাইথন পন্থা কল করা হয় len(mysequence)। তবে, আমরা যদি এটি সম্পর্কে চিন্তা করি, একটি দৈর্ঘ্য একটি ক্রমের সম্পত্তি is সুতরাং, mysequence.len()একটি আরও উপযুক্ত ধারণা। লিস্প মূলত সেই সিনট্যাক্টিক পার্থক্যটিকে সরিয়ে দেয়। (length thing)ফাংশন কল সিনট্যাক্স এবং পদ্ধতি সিনট্যাক্স উভয়ই। অবশ্যই, কিছু লোকেরা হতাশাকে খুঁজে পান এবং সিনট্যাক্টিক পার্থক্য চান। আমি বরং নিয়মিততা চাই।

সম্পাদনা 2: আমি আমার এমএস থিসিসের অংশটি ডেস্কটপে চালিত কমন লিস্পে রূপান্তরিত করেছি এবং এ পর্যন্ত কাজ করে আনন্দিত হয়েছে।


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

4
@ ফ্রাস্ট্রেটেড: হ্যাঁ, এগুলি গ্রিনস্পানের নবম আইন এবং জেজেডজির আইন।
পল নাথান

2
এগুলির অনেকগুলি ক্লোজার দ্বারা সমাধান করা হয়েছে, কেবলমাত্র জাভাটির সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য বিশেষভাবে ডিজাইন করার কারণে for তবে অবশ্যই, জেভিএমের জন্য স্কিম এবং সিএল বাস্তবায়নও রয়েছে (যেমন কাওয়া, এবিসিএল)।
জার্গ ডব্লু মিট্টাগ

4
ক্লোজার আমার পক্ষে অস্পষ্টভাবে বিরক্তিকর কারণ এটি আরও একটি খণ্ডন।
পল নাথান

খণ্ডন কোনও খারাপ জিনিস নয়। ক্লোজুরে যা সত্যই বিরক্তিকর তা হ'ল বিন্দুযুক্ত জোড়ার অভাব। এ জাতীয় মৌলিক জিনিস ছাড়া এটিকে কি লিস্প-জাতীয় ভাষা হিসাবে গণ্য করা যায়?
এসকে-লজিক

11

আমি ব্যক্তিগতভাবে লন্ডনে কয়েকটি বিনিয়োগ ব্যাংক এবং স্টার্টআপগুলিতে ক্লোজচার আকারে লিস্প ব্যবহার করা লোকদের সম্পর্কে জানি। আমি আমার নিজের প্রারম্ভের জন্য ক্লোজারকে প্রাথমিক বিকাশের ভাষা হিসাবে বেছে নিয়েছি, তাই আমি যেখানে আমার মুখ থাকি সেখানে আমার অর্থ রাখতে চাই :-)

গত এক বছরে ক্লোজার শিখতে (জাভা এবং সি # এর সাথে অনেক অভিজ্ঞতার পরে) শিখতে আমি এটি খুব আলোকিত করার অভিজ্ঞতা পেয়েছি। এর প্রধান কারণগুলি হ'ল:

  • এটি কার্যকরী প্রোগ্রামিংয়ের উপর বেশ জোর দিয়ে থাকে (অন্যান্য লিপসের চেয়ে বেশি)। লেখক এবং বিডিএফএল রিচ হিকি প্রায়শই ভাষা নকশার জন্য হাস্কেলকে তার অন্যতম অনুপ্রেরণা হিসাবে উল্লেখ করেছেন যার অর্থ আপনি সম্পূর্ণরূপে অবিচ্ছেদ্য ডেটা স্ট্রাকচার এবং অলস অসীম অনুক্রম ইত্যাদির মতো জিনিসগুলি পান get
  • ম্যাক্রো রূপান্তরকারী - লিস্প "কোডটি ডেটা" দর্শনের বিষয়টি বুঝতে অসুবিধা হয় যদি না আপনি বাস্তবে তা না অনুভব করেন তবে লিসপস এতটা ভাববাদী এবং ফলদায়ক হওয়ার কারণগুলির মধ্যে এটি একটি। আপনার সমস্যাটি ডোমেনের সাথে মিলিয়ে দেওয়ার জন্য আপনার ভাষাটি মূলত প্রসারিত করার ক্ষমতা রাখে।
  • মাল্টি-কোর কনজ্যুরেন্সির জন্য দুর্দান্ত সমর্থন - আমি আসলে আমার কাছে মনে করি এখনই সমকালীন প্রোগ্রামিংয়ের জন্য ক্লোজিউর সেরা ভাষা। এই সম্পর্কে একটি আলোকিত উপস্থাপনার জন্য http://www.infoq.com/preferencesations/Value-Identity-State-Rich-Hickey দেখুন
  • আরইপিএলে ইন্টারেক্টিভ বিকাশ অ্যাপ্লিকেশন নির্মাণের এক দুর্দান্ত, উত্পাদনশীল উপায় way এটি আপনাকে আপনার চলমান অ্যাপ্লিকেশন কোডকে গতিশীল পরিবর্তন করতে এবং প্রগতিগতভাবে লাইভ ডেটা স্ট্রাকচারগুলি পরিদর্শন করার শক্তির একটি বাস্তব অনুভূতি দেয় .....

এটি নিম্নলিখিত কারণে বাস্তব উত্পাদন ব্যবহারের জন্য ব্যবহারিক পছন্দ বলে মনে হচ্ছে:

  • খুব সহজ জাভা আন্তঃক্রিয়াবিভাজনে JVM এ চালনা আপনাকে জাভা বাস্তুতন্ত্রের সমস্ত লাইব্রেরি এবং সরঞ্জামগুলিতে অ্যাক্সেস দেয়
  • আপনি জেভিএম-তে চলছে যা এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলির জন্য একটি পরীক্ষিত এবং পরীক্ষিত প্ল্যাটফর্ম । চমত্কার জিসিএম এবং জেআইটি সংকলনের মতো দুর্দান্ত সমস্ত জেভিএম বৈশিষ্ট্যগুলি থেকে ক্লোজারের সুবিধা benefits
  • এটি একটি গতিশীল ভাষা ডিফল্টরূপে , যা এটিকে বিকাশ এবং খুব দ্রুত কোনও বয়লারপ্লেট সহ দ্রুত প্রোটোটাইপিংয়ের জন্য খুব সুবিধাজনক করে তোলে। তবে আপনি যেখানে প্রয়োজন সেখানে বেশ ভাল পারফরম্যান্স পেতে আপনি স্ট্যাটিক টাইপের ইঙ্গিতগুলি যুক্ত করতে পারেন।
  • এটি একটি বাস্তববাদী এবং সহায়ক সম্প্রদায় - এমন ধরণের সংস্কৃতি যেখানে লোকেরা কাজগুলি সম্পন্ন করে এবং ফোকাসটি হ'ল নকশাকৃত সমাধানগুলিতে যা প্রকৃত সমস্যাগুলি সমাধান করে
  • নেই একাধিক IDEs এই সরঞ্জামটি সমর্থন । আমি ব্যক্তিগতভাবে কাউন্টার ক্লকওয়াইজ প্লাগইন সহ Eclipse ব্যবহার করি (কারণ আমার জাভা ইন্টিগ্রেশন প্রয়োজন) তবে প্রচুর অন্যান্য বিকল্প রয়েছে।

8

আমি যদি এলআইএসপি ব্যবহার করতাম তবে যদি এটি কাজের জন্য সেরা পছন্দ ছিল। "সেরা পছন্দ" কে প্রভাবিত করে এমন কিছু জিনিস:

  • বিক্রেতা সমর্থন। আমরা যে এলআইএসপি বাস্তবায়নটি ব্যবহার করি - যদি কিছু ভুল হয়ে যায় এবং আমাদের উন্নয়নের সাথে হস্তক্ষেপ করে এবং এভাবে আমাদের সময়সীমা বেঁধে দেয় তবে বিক্রেতা কী আমাদের সাথে সমাধানের দিকে কাজ করবে?
  • লাইব্রেরি সমর্থন। কি লাইব্রেরি পাওয়া যায়? স্ট্রিং ম্যানিপুলেশন, গণিত, ডেটা অ্যাক্সেস, ওয়েব-সার্লেটস (বা এলআইএসপি-সমতুল্য), উইন্ডোং টুলকিট, ইত্যাদি ... আমি এই জিনিসটি স্ক্র্যাচ থেকে লিখতে চাই না।
  • সরঞ্জাম সমর্থন - IDE কতটা ভাল? সলিড / স্থিতিশীল না ফ্লেকি? ভাল সম্পাদক সমর্থন? ইন্টিগ্রেটেড ডিবাগার? আমার যদি এলআইএসপি-তে জিইউআই ডেভ করার দরকার হয়, তবে কি কোনও ভিজ্যুয়াল আইডিই আছে বা আমাকে জিইআইআই লেআউটটি হাতে হাতে কোড করতে হবে (আমি তা করে ঘৃণা করি)।
  • বিকাশকারী ক্রয় ইন (আমি সত্যিই আমার সতীর্থদের পুরো নতুন ভাষা শেখাতে খুব বেশি সময় ব্যয় করতে চাই না)

এলআইএসপি কোনও প্রকল্পের জন্য উপযুক্ত কিনা তা সিদ্ধান্ত নেওয়ার সময় এই সমস্ত বিষয় বিবেচনা করা উচিত। কর্পোরেট জগতে, আমি এটি কখনও অভিজ্ঞতা করি নি।


আমি আপনার সাথে একমত যে উত্পাদনশীলতা প্রায়শই উপলব্ধ ভাষা এবং ভাষা দ্বারা উপলব্ধ গ্রন্থাগারগুলির দ্বারা বেশি প্রভাবিত হয় (যদি ভাষা কিছু প্রাথমিক কার্যকারিতা সরবরাহ করে)।
জর্জিও

6

একেবারে। পল গ্রাহাম এটি ভাল ব্যাখ্যা

... 1995 সালে, আমরা এমন কিছু জানতাম যা আমি মনে করি না যে আমাদের প্রতিযোগীরা বুঝতে পেরেছিল, এবং এখনও কিছু লোক বুঝতে পারে: আপনি যখন এমন একটি সফ্টওয়্যার লেখেন যা কেবল আপনার নিজের সার্ভারে চালাতে হয়, আপনি যে কোনও ভাষা ব্যবহার করতে পারেন। ..

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

অন্যান্য সংস্থাগুলি যদি লিস্প ব্যবহার করতে না চান, তবে আরও ভাল। এটি আমাদের একটি প্রযুক্তিগত প্রান্ত দিতে পারে এবং আমরা যে সমস্ত সহায়তা পেতে পারি তার প্রয়োজন আমাদের ...

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

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

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


8
"... পল গ্রাহাম প্রথমে একটি কফির জন্য অপেক্ষা করার সময় ন্যাপকিনের পিছনে লিপসে লিখেছিলেন। এটি এতই শক্তিশালী ছিল যে সাধারণ কম্পিউটারগুলি এটি বুঝতে পারে, তাই এটি অজগরটিতে আবার লিখতে হয়েছিল Because কারণ এটি পুরোপুরি পুনর্লিখনের জন্য প্রায় কোনও প্রচেষ্টা ছিল না, এবং দুটি প্রসেসরের চক্রের মধ্যে পুনরায় লেখার কাজটি সম্পন্ন হয়েছিল Paul পল গ্রাহাম নিজেই লিপ-এ সম্পূর্ণ লিখেছিলেন, নিজের একটি পূর্ববর্তী সংস্করণও, লিস্পে লিখেছিলেন, একটি দ্বারা লিস্পের পূর্ববর্তী সংস্করণ It's
জন কার্টরাইট

5

যেখানে: ইমাকস একটি বাস্তব-বিশ্ব অ্যাপ্লিকেশন যা এলআইএসপি ব্যবহার করে।

কেন: কীস্ট্রোক এবং অ্যাকশনের মধ্যে ম্যাপিংটি প্রকাশ করার দুর্দান্ত উপায় ছিল। এটি ব্যাখ্যা করা হয়েছে এবং এটি দ্রুত এবং এটি ভাল সংজ্ঞাযুক্ত এবং এটি সহজ।


কেনসট্রোক এবং ক্রিয়াকলাপগুলির মধ্যে ম্যাপিংটি প্রকাশ করার জন্য কেন এটি ভাল ছিল তা বলে আমি এই উত্তরটি প্রসারিত করব
এন্টো

@ এন্টো: আমার অভিজ্ঞতায় লিস্প এমন শক্তিশালী বিমূর্ততা তৈরি করা সত্যিই সহজ করে তোলে যা সম্পাদকের পক্ষে খুব সামঞ্জস্যপূর্ণভাবে আপনি যে কোনও ক্রিয়াকলাপ উপস্থাপন করতে পারেন - কিছুটা ইম্যাক ব্যবহার করার পরে, আপনি আন্দাজ করতে পারেন যে প্রায় কীভাবে কিছু করা হয়েছে । এটি সম্পাদককে কী স্ট্রোকের জন্য আপনি যা কিছু করতে পারেন তা ম্যাপ করা সম্ভব করে তোলে , প্রতিটি বাঁধাই একে অপরের সাথে সত্যিই অনুরূপ বাঁধার সাথে এটি লেখার পক্ষে আরও সহজ এবং বজায় রাখা সহজতর করে তোলে।
টিখন জেলভিস

4

ম্যাকসিমা এবং অটোক্যাড উভয়ই লিস্পের একটি উপভাষার উপর ভিত্তি করে। আমি তাদেরকে 'রিয়েল ওয়ার্ল্ড' পাশাপাশি ইমাকস হিসাবে শ্রেণিবদ্ধ করব।


ম্যাথমেটিকা ​​লিস্পের উপর ভিত্তি করে নয়।
রেনার জোসভিগ

2
অটোক্যাড একটি এপিআই হিসাবে অটোলিএসপি সরবরাহ করে তবে এটি সি ++ এবং। নেট পরিচালিত কোডে লিখিত।
সিএডি

1
@ রাইনার জোসভিগ ম্যাকসিমা সম্ভবত গণিতের পরিবর্তে বোঝানো হয়েছিল।
ব্যবহারকারীর 40989 19

2

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


2

সংকলক বাস্তবায়নের জন্য লিস্প অন্যতম সেরা পছন্দ। এবং, এখন যেমন ডিএসএল এবং ইডিএসএল ব্যবহার বাড়ছে, লিস্প আরও মূল্যবান হয়ে উঠছে। আমি আমার ডিএসএল সম্পর্কিত সমস্ত কাজের জন্য একটি লিস্প উপভাষা ব্যবহার করছি।


0

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

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

তবে সত্যি বলতে, আমি রুবিকে লিস্পের চেয়ে পছন্দ করি ... তবে এটি বেশিরভাগ সম্প্রদায় এবং ডকুমেন্টেশনের বিষয়।


0

আমি কমন লিস্পে মালিকানাধীন, বাণিজ্যিক অ্যাপ্লিকেশন বাস্তবায়ন করেছি যেটি টানকান নামে পরিচিত যা মাইক্রোসফ্ট উইন্ডোজে নেটিভ এক্সিকিউটেবল হিসাবে চালিত হয়।

নিজেকে জাপানীজ কঞ্জি চরিত্রগুলি মুখস্ত করতে প্রশিক্ষণের জন্য এটি একটি প্রোগ্রাম।

প্রোগ্রামটি ব্যাকগ্রাউন্ড এইচটিটিপি সার্ভার হিসাবে চলে। এই সার্ভারটির সম্পাদন এবং এর পৃষ্ঠাগুলিতে নেভিগেট করা, একটি ক্ষুদ্র সিস্টেম নোটিফিকেশন এরিয়া (ওরফে "ট্রে") আইকন অ্যাপ্লিকেশন দ্বারা সমন্বিত হয় যা আমি ভিজ্যুয়াল সি ++ ব্যবহার করে তৈরি করেছি।

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

লিস্প প্রোগ্রামটি তার স্মৃতিতে মোটামুটি জটিল একটি সেশন স্টেট বজায় রাখে যাতে ব্যবহারকারীর ইনপুট ইতিহাস এবং বিভিন্ন অবজেক্টের মধ্যে বিভিন্ন সম্পর্ক থাকে। লিস্পের বিজ্ঞপ্তিযুক্ত অবজেক্ট স্বরলিপি ( *print-circle*ভেরিয়েবল দ্বারা সক্ষম ) এবং এটি কীভাবে কাস্টম সিএলওএস print-objectপদ্ধতিতে কাজ করে তা দৃ implementing ়তা বাস্তবায়নে এক বিরাট সহায়ক: ব্যবহারকারীরা রাষ্ট্রকে ডিস্কে সংরক্ষণ করতে এবং যেখানে ছেড়ে গিয়েছিলেন সেগুলি আবার শুরু করতে পারে। ইউআই এর রাজ্য সহ সমস্ত কিছু সংরক্ষণ করা হয়েছে। অবজেক্ট গ্রাফে প্রচুর অংশীদারি যেমন রয়েছে তেমন চক্রও রয়েছে। এছাড়াও, প্রচুর স্ট্যাটিক ক্রাফ্ট যা চালিয়ে চলতে হবে না, যেমন অভিধান এন্ট্রি অবজেক্টের সামগ্রী। এএনএসআই কমন লিস্প কাস্টম প্রিন্ট অবজেক্ট পদ্ধতিগুলির সাহায্যে আপনি অবজেক্টগুলির জন্য কনডেন্সড মুদ্রিত উপস্থাপনা তৈরি করতে পারেন যা মেশিনটি পঠনযোগ্য,

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

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

CLISP পরিত্যাগ করা হয় নি; এটি এখনও একই সাধারণ কোড বেসটি ব্যবহার করে লাইসেন্স ব্যাক এন্ড পাওয়ার করার জন্য ব্যবহৃত হয়।

আমি প্রোগ্রামটির জন্য একটি আসল লাইসেন্সিং সিস্টেম তৈরি করেছি, আয়রনক্ল্যাড লাইব্রেরি দ্বারা প্রদত্ত উপবৃত্তাকার বক্ররেখা ব্যবহার করে, যা লাইসেন্সিং সার্ভার তাদের লাইসেন্সগুলি স্বাক্ষর করতে স্বাক্ষর করতে ব্যবহার করে। (মনে আছে মনে হচ্ছে আমি সার্ভার কী এর ইসি প্যারামিটার তৈরি করতে ওপেনএসএসএল-এর কমান্ড লাইন প্রোগ্রামটি ব্যবহার করেছি have)

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

সার্ভারে, সিজিআই-ভিত্তিক লাইসেন্সিং পরিষেবা ছাড়াও, লাইসেন্স পরিচালনার জন্য আমি সাধারণ কমান্ড লাইন এপিআই। আপনি লাইসেন্সগুলি তালিকাবদ্ধ করতে পারেন, নির্দিষ্ট সন্ধান করতে পারেন এবং তাদের বৈশিষ্ট্যগুলি সম্পাদনা করতে পারেন: যেমন কোনও ব্যবহারকারীকে ব্যতিক্রম দেওয়ার জন্য অস্থায়ী লাইসেন্সের মেয়াদোত্তীর্ণ তারিখ সম্পাদনা করার জন্য। লাইসেন্সিং ব্যাক-এন্ড এছাড়াও ই-মেইল জেনারেট করে। সার্ভার সাইডে সিজিআই হ্যান্ডলিংয়ের জন্য আমি কোনও লাইব্রেরি ব্যবহার করি নি: অ্যাপাচি এনভায়রনমেন্ট ভেরিয়েবল এবং কমান্ড লাইন আর্গুমেন্টগুলি মোকাবেলার জন্য কেবল হ্যান্ড-রোলড লিসপ কোড। (যদিও ইউআরএল এনকোডিং এবং এইচটিএমএল জেনারেশন নিয়ে কাজ করার জন্য লাইব্রেরি কোড ব্যবহার করা হয়)) স্টোরেজের জন্য কোনও ডাটাবেস ব্যবহার করা হয় না; লাইসেন্সগুলি একটি ফাইল হিসাবে পরিচিত হয় licenses.lispএবং এটি হ'ল ।


-1

কেউ যদি আমাকে অর্থ প্রদান করেন, অবশ্যই

যদিও তারা ভাষা জানেন এমন কাউকে অর্থ প্রদানের ক্ষেত্রে আরও আগ্রহী হবেন। আমি কয়েকবার এলিজপ এবং স্কিমের সাথে খেলেছি।

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