এলআইএসপি কি আজকের বিশ্বে কার্যকর? কোন সংস্করণটি সবচেয়ে বেশি ব্যবহৃত হয়?


117

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

  1. আজকের বিশ্বে এখনও LISP চর্চা / ব্যবহৃত হয়, বা এটি ফরটারান / কোবোলের মতো কোনও উত্তরাধিকারের ভাষা? মানে, বিদ্যমান কোড বজায় রাখা ছাড়াও, এটি কি নতুন প্রকল্পগুলিতে আদৌ ব্যবহৃত হয়?

  2. সর্বাধিক ব্যবহৃত উপভাষা কোনটি? আমি সর্বাধিক 2 টি প্রচলিত উপভাষা হিসাবে স্কিম এবং কমন লিস্প জুড়ে এসেছি এবং আপনার মতামতটি সবচেয়ে পছন্দসই / উপকারী যেটি শেখা উচিত তা জানতে চেয়েছি - এবং আপনি যদি কোনও র‌্যাঙ্ক শুরুর জন্য কোনও উত্স থেকে শুরু করার পরামর্শ দিতে পারেন তবে আপনি অত্যন্ত সন্তুষ্ট হবেন।

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


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


প্রাকটিক্যাল কমন লিস্প: গিগামনকাইস
জো ইন্টারনেট

"এখনও"? (আমি কৌতুক করছি!)
14-15

: আমি ঠিক তাই এই অন্যান্য, এর সাথে সম্পর্কিত থ্রেড পাওয়া stackoverflow.com/q/1614724/212942
TCSGrad

উত্তর:


59

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

এম্বেড থাকা স্কিমের জন্য গিলির চেষ্টা করুন : http://www.gnu.org/s/guile/


সি / সি ++ এর সাথে ভাল কাজ করে এমন কোন উপভাষা আছে কেননা আমি মূলত একজন সি ++ লোক? সেই উপভাষা শিখতে শুরু করতে আপনি কি কোনও পদমর্যাদার নবজাতকের জন্য কিছু সংস্থান উল্লেখ করতে পারেন?
টিসিএসগ্রাড

10
স্কিম শেখার সেরা বই হ'ল "দি লিটল স্কিমার" এবং "এসআইসিপি" mitpress.mit.edu/sicp । বেশ কয়েকটি স্কিম বাস্তবায়ন রয়েছে যা সি / সি ++ এর অভ্যন্তরে এম্বেড করা যেতে পারে তবে আজকাল কোনটি ভাল তা আমি সত্যিই জানি না তাই আপনাকে কিছু গুগলিং করতে হতে পারে।
জ্যাচারি কে

1
আমার এই স্কীমটি খুব সহজ! আপনি 2 ঘন্টার মধ্যে 90% ভাষা শিখবেন। অবশ্যই এর অর্থ এই নয় যে আপনি এটিতে দক্ষতা অর্জন করবেন, বাক্য গঠন কীভাবে কাজ করবে তা কেবল আপনিই জানবেন।
জ্যাচারি কে

5
@ শান 23 স্কিমটি শিক্ষার জন্য তৈরি করা হয়েছিল। এটি কোনও প্রোগ্রামকে নতুন করে শেখানোর জন্য কোনও সন্দেহ ছাড়াই ব্যবহার করা যেতে পারে তাই এটি শিখতে আপনার কোনও সমস্যা হবে না আমার সন্দেহ নেই। আপনি যদি সি বা সি ++ ইন্টিগ্রেশন চান তবে গুইলে ( en.wikedia.org/wiki/GNU_Guile ) দেখুন।
পাই 28

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

68

প্রশ্ন 2 এর উত্তরে, "সর্বাধিক ব্যবহৃত উপভাষা":

আপনি কীভাবে "সর্বাধিক ব্যবহৃত" বলে ব্যাখ্যা করেন তার উপর নির্ভর করে। কয়েকটি নির্বাচিত উপভাষার প্রত্যেকটি কতটুকু ব্যবহার করে তা নিম্ন সীমাগুলির জন্য এখানে কিছু ন্যাপকিন গণিত রয়েছে ।

বেশিরভাগ কাঁচা কোড লেখা

  • সম্ভবত শিক্ষামূলক অ্যাপ্লিকেশনগুলির কারণে স্কিম (সমস্ত উপভাষা)
    • 270 স্কুল ... আসুন অনুমান করি 50 ছাত্র / বছর, 500 লাইন কোড / শিক্ষার্থী, 10 বছর চলছে। ন্যাপকিন ম্যাথের উপর ভিত্তি করে 1,000,000+ লাইন
    • র‌্যাকেটে নিজেই এর সরঞ্জামগুলির 500,000 লাইন।
  • সম্ভবত এআই এবং সম্পূর্ণ ওপেন সোর্স কোড এবং উত্পাদন কোডের কারণে প্রচলিত লিস্প (প্রোডাকশন কোড দেখুন)।
  • সম্ভবত ইমাস লিস্পের কারণে ...
    • ইমাস নিজেই: 1,000,000 লাইনেরও বেশি
    • প্রকাশ্যে লিখিত ইমাস লিস্পের পরিমাণ - 237 মডিউল, প্রায় 200 লাইন / মডিউলগুলি কেবল ইমাসউইকি-তে 40,000+ লাইন, সম্ভবত ELPA এ আরও অনেক বেশি
    • ইমাস লিস্প, .emacs ফাইল, ইত্যাদিতে লেখা প্লাস অ্যাপ্লিকেশন
  • Clojure
    • অনুমান করা শক্ত। বেশিরভাগ ছোট ডটকমস অনেক হতে পারে।

বিজয়ী: স্কিম বা কমন লিস্প। অনেক অজানা।

সর্বাধিক 'উত্পাদন' কোড '

বিজয়ী: আমি কমন লিস্প অনুমান করছি । আমি মনে করি আমরা কমন লিস্প এবং ক্লোজারের ব্যবহারের ভিত্তিতে প্রশ্ন 1 এর "হ্যাঁ" এর উত্তর দিতে পারি।

বেশিরভাগ শেষ ব্যবহারকারী

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

বিজয়ী: স্কিমটির এখানে নিচের দিকে সবচেয়ে ভাল বেঁধে রয়েছে, যেহেতু আনচার্টে বিক্রয় সংখ্যা রয়েছে তবে এটি যথেষ্ট বিতর্কযোগ্য।

উপসংহার

উপসংহারে, আমি দেখতে পাই যে বড় আপেল।


4
ছোট কমলা নয়? নাকি বেগুনী লেবু?
ভ্যাটাইন

প্রকৃতপক্ষে স্কিম - স্পষ্টভাবে র‌্যাকেট স্কিম - এটি আপ-টু-ডেট লিস্প উপভাষা বলে মনে হচ্ছে। একটি পেশাদার গ্রেড সরঞ্জাম এবং গ্রন্থাগার।
বিকাল লেম

@ বিকাল আমি আশা করি ওপেনগিএল সমর্থনটি এতটা তারিখের না হয় তবে ডাইরেক্ট মোডটি আমার র‌্যাকেট কোডের বৃহত্তম দোষ নয় ...
জেসি মিলিকান

অরবিত্জ সিএল ব্যবহার করেছেন এমন কোনও ধারণা ছিল না ... আমি জানি আমার পরবর্তী কাজটি কোথায় সন্ধান করতে হবে: ডি
রিগ

2
র‌্যাকেটে 100k এরও বেশি এলওসি লেখা হয়েছে। র‌্যাকেট স্ট্যান্ডার্ড লাইব্রেরি / আইডিই / সরঞ্জামগুলি 500k এরও বেশি, এটি সেট, বোয়িং এবং দুষ্টু কুকুরের মতো সংস্থাগুলিতে ব্যবহৃত হয়।
স্যাম টোবিন-হচস্টাড্ট

43

আজকের বিশ্বে LISP এখনও চর্চা / ব্যবহৃত হয়, বা এটি কোনও উত্তরাধিকারের ভাষা

হ্যাঁ, এটি তবে আপনাকে কোথায় দেখতে হবে তা জানতে হবে। এলআইএসপি ব্যবহার করে এমন লোকেরা এ সম্পর্কে খুব জোরে চিত্কার করার ঝোঁক রাখে না তবে কয়েকটি উচ্চ-প্রারম্ভিক স্টার্টআপসের বিস্তৃত উদাহরণ রয়েছে যা গত 20 বছরে দুর্দান্ত প্রভাব ফেলতে পেরেছে to এটি ইউরোপের ছোট সংস্থাগুলিতেও খুব জনপ্রিয়।

সর্বাধিক ব্যবহৃত উপভাষা কোনটি?

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

এলআইএসপি ভাষার একটি পরিবার এবং সেগুলির প্রত্যেকটিরই উপভাষা এবং প্রয়োগের একটি পরিবার রয়েছে। বিস্তৃতভাবে উপভাষাগুলি দুটি "শিবির" এলআইএসপিগুলিতে পড়ে mes

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

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

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

বর্তমানে দুটি স্কিম পরিবার রয়েছে: 5 তম সংস্করণ (আর 5 আরএস) এর ভিত্তিতে এবং 6 তম সংস্করণ (আর 6 আরএস) এর উপর ভিত্তি করে। আর 6 আরএস এর জটিলতা তার পূর্বসূরীদের যে কোনওটির চেয়ে মারাত্মকভাবে বৃহত্তর ছিল এবং এতগুলি R5RS বাস্তবায়ন এটি এড়িয়ে যাওয়ার পক্ষে বেছে নিয়েছে, এই আশা করে যে R7RS আর 6 আরএসের তুলনায় আর 5 আরএসের সাথে আরও সমান হবে। আর 7 আরএস মানককরণ প্রক্রিয়া বর্তমানে চলমান রয়েছে এবং আর 5 আরএস প্রয়োগকারীদের উভয় তেমনি আর 6 আরএস লোক উভয়কে তাদের প্রথম কার্যক্ষম গ্রুপে একটি ছোট বেস ভাষা মানীকরণের মাধ্যমে এবং তারপরে বৃহত্তর বৈশিষ্ট্যগুলিকে মানক করার জন্য একটি দ্বিতীয় কার্যকরী কমিশন কমিশনকে অন্তর্ভুক্ত করার চেষ্টা করেছে। এটি ভাষার ক্ষুদ্র এমবেডেড হার্ডওয়্যার পাশাপাশি আরও সক্ষম মেশিন উভয়ের দক্ষ ও কার্যকর প্রয়োগকরণের অনুমতি দেবে।

এখন আমি আরও নির্দিষ্ট করব:

পিকোলিপস সত্যই একটি দুর্দান্ত এলআইএসপি। এটা ক্ষুদ্র! এটি লেখক এটি নিজের জন্য লিখেছিলেন এবং আমি যেমন বুঝতে পেরেছি, তিনি ১৯৮০ এর দশক থেকে এটিকে উপার্জন করতে চলেছেন। যদি আপনি কখনও তাঁর দ্বারা কোনও আলোচনায় অংশ নেওয়ার সুযোগ পান তবে আপনার এটি করা উচিত: তিনি সত্যই আকর্ষণীয় এবং তাঁর জিনিসগুলি সত্যই জানেন এবং আপনি মূলধারার বা বিরক্তিকর কোনও কিছুর ক্ষুদ্রতম ঘ্রাণও পাবেন না।

আমি কমন লিস্প বাস্তবায়নের সাথে পরিচিত নই তাই তাদের বিষয়ে আমি আর মন্তব্য করব না।

গাইলিটি সরকারী জিএনইউ স্কিম।

র‌্যাকেট একটি আর R আরএস স্কিম তবে ইদানীং এটি জালটিকে প্রশস্ত করেছে বলে মনে হচ্ছে এবং "ভাষা তৈরি, নকশা এবং বাস্তবায়নের প্ল্যাটফর্ম হিসাবে কাজ করার চেষ্টা করছে"।

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

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

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

আমি চিকেনকে সেটাই ব্যবহার করব যা আমি ব্যবহার করি। আমি এটি আমার ব্যক্তিগত প্রকল্পগুলিতে ব্যবহার করেছি এবং আমি এটি পেশাদারভাবে ব্যবহার করেছি (এবং বর্তমানে এটি ব্যবহার করছি)।

আমি যদি কোনওরকম অপ্রচলিত হয়ে পড়ে তবে অপ্রয়োজনীয় প্রচেষ্টা বিনিয়োগ করতে চাই না - আমি পেশাগতভাবে "মৃত" থাকলে তা এখনও শিখতাম, তবে কেবল একাডেমিক দৃষ্টিকোণ দিয়ে ...

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


3
র‌্যাকেট কোনও আর 6 আরএস স্কিম নয়; র‌্যাকেট বিতরণ সরবরাহকারী বিভিন্ন ভাষার মধ্যে একটি রয়েছে among আসল র‌্যাকেট ভাষাটি এমন একটি স্কিম যা আরএনআরএস থেকে বিভিন্ন গুরুত্বপূর্ণ উপায়ে প্রস্থান করে (যার সম্পর্কে আমার মিশ্র অনুভূতি রয়েছে)।
জেসনফ্রুট

27

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

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

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

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

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

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


9

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

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

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

এছাড়াও, আপনি বিভিন্ন দৃষ্টান্ত শিখতে সক্ষম হচ্ছেন আপনি যদি চাকরিতে লিস্প ব্যবহার না করেন তবুও আরও বেশি দরজা খুলে দিতে পারবেন to

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

[/ Edit]


7
এফডাব্লুআইডাব্লু, এসবিসিএল হ'ল কমন লিস্পের একটি বাস্তবায়ন এবং অ্যালেগ্রো সিএলও তাই।
ভ্যাটাইন

@ ভ্যাটাইন - আপনি সঠিক হবে। যদি কোনও লজ্জাজনক মুখ থাকে তবে আমি এখনই এটি তৈরি করব। আমি কেন জানি না যে তারা আলাদা ছিল। বোকা আমাকে আলাদা সংকলক! = ভিন্ন উপভাষা :) ধন্যবাদ!
জেটি

@ জেফ: আচ্ছা, তারা উভয়ই "সিএল কোর "টিকে আন্তঃযোগে রাখতে সক্ষম রেখে ভাষাটিকে বিভিন্ন দিকে প্রসারিত করে।
ভ্যাটাইন

@ জেটি আপনি প্রথমে কী ব্যবহার করছেন?
সি

আমি বিশ্বাস করি যে আমি সিএলআইএসপি ব্যবহার করছিলাম, এটি কোনও ভিএম চিত্রে ছিল যা আমার আর নেই। আমি মনে করি আমার অজ্ঞতা আমাকে বিশ্বাস করতে বাধ্য করেছে এটি সাধারণ ছাপ ছিল। কমপক্ষে এখন আমি আরও ভাল জানি।
জেটি

8

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

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


3
স্কিমের সমস্যাটি হ'ল যখন আপনি এটি নিয়ে কিছু অনুশীলন শুরু করেন আপনি অন্য ভাষায় ফিরে যেতে চান না। আমি সদ্য C ++ এ স্ট্রিমগুলি (সম্ভবত অসীম, অলসভাবে মূল্যায়ন, অপরিবর্তনীয় ক্রম) বাস্তবায়ন শুরু করেছি এবং এটি স্কিমের চেয়ে অনেক বেশি কোড! সরকারীতা এবং শক্তির সংমিশ্রণে আমি সত্যিই অবাক হয়েছিলাম।
জর্জিও

র‌্যাকেটের জন্য ++। এটি সত্যিই অবিশ্বাস্যভাবে সম্পূর্ণ, যা অন্যান্য প্রকল্পের অন্যতম সমালোচনা। এবং স্কিম আপনার নিজস্ব ভাষা তৈরির ক্ষেত্রে কী করতে পারে তা উপরে এবং অতিক্রম করে।
স্কট ক্লেরেনবাচ

7

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

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

অটোক্যাডে ম্যাক্রো সিস্টেমটির জন্য একটি লিস্প উপভাষা ব্যবহৃত হত। আমি জানি না এটি এখনও হয় কিনা।

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


স্কিমের জন্য একটি শুরুর বই / সংকলক হিসাবে আপনি কী সুপারিশ করবেন? আমি লিনাক্স ব্যবহার করি, সুতরাং যদি এমন কোনও সম্পাদক থাকে যা স্পষ্টতই নবাগতদের জন্য কার্যকর, (যেমন কিল ল্যাটেক্সের জন্য), আমাকে
জানাবেন

1
@ শান 23 দি লিটল স্কিমার ( ccs.neu.edu/home/matthias/BTLS ) আপনার সেরা বাজি। আমি বিশ্বাস করি যে ইম্যাকসটি স্কিমের জন্য সর্বাধিক সাধারণ সম্পাদক তবে এটি ব্যবহারে কিছুটা সময় লাগে।
পাই

1
লিস্পের জন্য সম্পাদক, সহজেই ইমাক ব্যবহার করুন। এটি লিস্প ছেলেরা লিখেছিল, এবং লিস্পে।
জাচারি কে

আপনি র‌্যাকেট আইডিই (র‌্যাকেট- অং.অর্গ.অর্গ ) ব্যবহার করতে পারেন ; এটি ইমাস-এর মতো তবে স্কিম ইন্টারপ্রেটারের সাথে স্ব-ফর্ম্যাট এবং ইন্টারঅ্যাকশন রয়েছে।
যেরেমিয়া উইলকক

লিসপবক্স ( কমন- ইলস্প.নেট / প্রজেক্ট / ফিলিপবক্স ) বাক্সের বাইরে কাজ করে (কিছু ইমাক অভিজ্ঞতা কার্যকর)। এটি সিসিএল ( ccl.clozure.com ) এর উপর ভিত্তি করে তৈরি হয়েছে, গিগামনকাইজস / বই / দেখুনও দেখুন
জর্জিও

4

আজকের বিশ্বে এখনও LISP চর্চা / ব্যবহৃত হয়, বা এটি ফরটারান / কোবোলের মতো কোনও উত্তরাধিকারের ভাষা? মানে, বিদ্যমান কোড বজায় রাখা ছাড়াও, এটি কি নতুন প্রকল্পগুলিতে আদৌ ব্যবহৃত হয়?

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

তবে একটি সংস্থা নজর রাখার বিষয় হ'ল দুষ্টু কুকুর । তাদের সমস্ত গেমগুলি লিস্পের উপভাষার সাথে লেখা। মূলত, তারা তাদের নিজস্ব রোলড, তবে তারা অচিহ্নিত সিরিজটিতে এমজেডস্কেম ব্যবহার করে।

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

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

আমি বরং এসআইসিপি এবং লিটল স্কিমার পছন্দ করি, যেমন অন্যরা পরামর্শ দিয়েছিল, তবে আমি ল্যান্ড অফ লিস্পেরও পরামর্শ দেব , এটি একটি মনোরম পাঠ্য। :)


প্রকৃতপক্ষে, ল্যান্ড অফ লিস্প একটি আশ্চর্যজনক পঠন।
চিরন

@ 4bu3li আপনি কি আপলোড করবেন না?
মার্ক সি

1
দুষ্টু কুকুর সম্পর্কে: এটি সম্পূর্ণরূপে সঠিক নয়, তাদের PS2 গেমগুলি গোয়াল ভাষায় লেখা হয়েছিল, একটি লম্পপের মতো ভাষা ... তবে পিএস 3 এ যাওয়ার পর থেকে তারা সি ++ ব্যবহার শুরু করেছে। এমজেডশ্মিমে বেশিরভাগ ম্যাক্রো প্রিপ্রসেসর হিসাবে ব্যবহৃত হয়, সি ++ এর সাথে লাইন লেখা থাকে এবং কিছু সম্পদ প্রক্রিয়াকরণের জন্য ব্যবহৃত হয় এবং তাদের কিছু স্ক্রিপ্ট এস-এক্সপ্রেসে লেখা হয়। তবে কোনও এমজেডস্কেম কোড PS3 তে আসলে চলবে না।
আরেলিয়াস

2

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

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


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

2

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

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

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

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

MAX (MAX (a, b), c)

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


3
আপনি প্রকৃতপক্ষে ম্যাক্সকে সহজ করতে পারেনMAX(MAX(a b) c)
এন্ড্রেয়া

আপনি ঠিক বলেছেন, ঘুম থেকে ওঠার পরেই আমি উত্তরটি পেয়েছি। আমি উত্তর সামঞ্জস্য।
সার্ভো

2
নাসা প্রকল্পটি ছিল গভীর স্পেস 1: flownet.com/gat/jpl-lisp.html
ফ্রাঙ্ক শায়ারার

2

দুটি অতিরিক্ত পয়েন্ট:

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

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


1

এখনই আমার ধারণাটি পাওয়া যায় যে লিস্প বেশিরভাগ ক্ষেত্রে পরামর্শের দোকানে ব্যবহৃত হয় (পরামর্শের দোকানগুলি বেশিরভাগ ক্ষেত্রে এটি ব্যবহার করে না)।

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

Ditionতিহ্যগতভাবে, স্কিমটি লিস্পের মোটামুটি একাডেমিক উপভাষা এবং প্রচলিত লিস্প ছিল শিল্প উপভাষা।

লিস্প প্রতীকী ম্যানিপুলেশন এবং প্রতিবিম্ব-এস্কো ক্ষমতাগুলির জন্য বিশেষভাবে কার্যকর।

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


স্কিম / কমন লিস্পের মধ্যে পার্থক্য সম্পর্কে আপনি যে আকর্ষণীয় বিষয়টি তৈরি করেছেন - আপনি কেন এটি / কেন তা ব্যাখ্যা করতে পারেন?
টিসিএসগ্র্যাড


1

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

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

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

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

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

TLDR; যদি আপনার লক্ষ্যটি শিখতে হয় তবে আমি স্কিমের প্রস্তাব দিই। তবে আপনি যদি সফ্টওয়্যার তৈরি করতে চান তবে আমি দুটি বড় লিস্প ভেরিয়েন্টের কমন লিস্পের পরামর্শ দেব।


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

0

আমি উত্তরগুলি থেকে অনেক কিছু শিখেছি। যারা এই আলোকিত কথোপকথনে অবদান রেখেছেন তাদের সবাইকে ধন্যবাদ।

আমি উল্লেখ করা উচিত newLISP । যদিও এটি সিএল এবং স্কিম উভয়ের থেকে কিছুটা পৃথক, এটি প্রচুর কার্যকর কার্যকরীকরণ প্রয়োগ করে। আমি HTTP সার্ভার, মাল্টি-প্রসেসিং কার্যকারিতা (Cilk) এবং দূরবর্তী মূল্যায়ন ফাংশনগুলি খুব পরিষ্কার এবং সহজেই ব্যবহারযোগ্য find

একক এক্সিকিউটেবলটি ছোট, দ্রুত এবং এতে প্রচুর শীতল ব্যাটারি অন্তর্ভুক্ত থাকে।


এটি উল্লেখ করা সম্ভবত ন্যায্য তবে আমি ঠিক এটির সুপারিশ করব না ... কোনও লেজিকাল স্কোপিং নেই এবং উদাহরণস্বরূপ কোনও মডিউল নেই - গুরুত্ব সহকারে? নতুন এলআইএসপি যা সম্পাদন করার চেষ্টা করছে তা আমি সত্যিই পাই না।
সিজিজি

2
আপনি ঠিক বলেছেন - এটি আলাদা। এটি প্রসঙ্গ এবং গতিশীল স্কোপিং ব্যবহার করে এবং আমার অভিজ্ঞতা থেকে মডিউল এবং প্রসঙ্গগুলি একে অপরের সাথে সম্পর্কিত। এটি অন্য সিএল বা স্কিম হওয়ার চেষ্টা করে না। পৃষ্ঠাটি কীভাবে পৃথক হয় তার উপর পড়তে ( newlisp.org/index.cgi?page=Differences_to_Oथर_LISPs ) নকশার বিষয়গুলিতে আলোকপাত করে। তেমনি, আমি সিএল বা স্কিমের অভিজ্ঞতা চায় এমন কাউকে এটির পরামর্শ দেব না। তবে কিছু ব্যবহারের ক্ষেত্রে এটি একটি কার্যকর বিকল্প হতে পারে। ওপেন সোর্স ইকোসিস্টেমের সৌন্দর্য এটি - প্রচুর পছন্দ!
সাইবারফোনিক

0

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


ঠিক আছে যে বেঞ্চমার্ক অনুসারে
এসবিসিএল এর

ধন্যবাদ আন্ড্রেয়াস তুমি ঠিক বলছো. আমি জেভিএম সম্পর্কে কতটা জানি তা দেখায় - বেশি নয়। অংশে আমাকে এবিসিএল দ্বারা বিভ্রান্ত করা হয়েছিল, তুলনামূলকভাবে ধীর কিন্তু অন্যথায় দুর্দান্ত জেভিএম ভিত্তিক সিএল।
মঙ্গলবার

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