লিস্প সম্পর্কে এত দুর্দান্ত কী? [বন্ধ]


103

ভাল বা খারাপ কিনা তা বলতে আমি যথেষ্ট লিপ্প জানি না know দেখে মনে হচ্ছে যে লিস্প ব্যবহার করেছেন তারা সবাই এটি পছন্দ করে, তবু এই দিনগুলিতে সর্বাধিক জনপ্রিয় ভাষাগুলি সি থেকে এসেছে are

সুতরাং এটি এত বড় যে লিস্প সম্পর্কে কী এবং কেন এটি বেশি ব্যবহৃত হয় না? লিস্প (অবিচ্ছিন্ন পরিমাণে প্রথম বন্ধনী ব্যতীত) সম্পর্কে কি সাধারণ কিছু খারাপ আছে?


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

11
ভাষার মতো সি দেখতে দেখতে লিস্পের মতো কাজ করে এমন একটি জাভাস্ক্রিপ্টের একটি ভাল উদাহরণ। এর নকশা অনেকটাই স্কিমের অনুরূপ।
জাল

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

6
লিস্প চারদিক থেকে ধারণা নিয়েছে, কিন্তু কীসের জবাবে সিএলওএস? ক্লোস (1986-1987) মূলত লিস্পের জন্য পূর্ববর্তী অবজেক্ট সিস্টেমগুলির একটি মানককরণ ছিল, উদাহরণস্বরূপ, লিস্প মেশিন লিস্প (1980) স্বাদযুক্ত অন্তর্ভুক্ত। আমি মনে করি না যে "ওও দৃষ্টান্তের সাফল্য" 1980 সালে এখনও স্পষ্ট ছিল: "সি ক্লাস ক্লাস" তখন মাত্র এক বছর বয়সী ছিল (এবং এখনও "সি ++" নামকরণ করা থেকে 3 বছর দূরে ছিল) এবং আমি জানি না যে সিমুলা -67 কখনও খুব জনপ্রিয় ছিল। লিস্পে এমন আরও কয়েকটি উন্নত বৈশিষ্ট্য রয়েছে যা বর্তমানে জনপ্রিয় ভাষাগুলিতে নেই; ওও সফল হয়েছে বলে মনে হয় তবে লিস্প এটি পায় নি কারণ (বা কখন) এটি জনপ্রিয় ছিল।
কেন

আমি মনে করি না যে লিস্প ব্যবহার করেছে তারা সবাই এটি পছন্দ করে। আমার অভিজ্ঞতা অন্যরকম। স্কিম দিয়ে শুরু করা কম্পিউটার বিজ্ঞানের শিক্ষার্থীদের জিজ্ঞাসা করার চেষ্টা করুন। সম্ভবত প্রায় 10% এটি পছন্দ করবে, 30% এটি সম্মান করবে এবং 60% এটি ঘৃণা করবে। আমিও মনে করি না যে সর্বাধিক জনপ্রিয় ভাষাগুলি সি থেকে
উদ্ভূত হয়েছে

উত্তর:


59

লিস্প হ'ল প্রোগ্রামিং ভাষার চক নরিস।

অন্যান্য ভাষাগুলির বিপরীতে মাপানো বারটি লিস্প।

লিস্প জানার ফলে বিকাশকারী আলোকিতকরণ প্রদর্শিত হয়।

আমি 3 টি দুর্বলতা (এবং তাদের পাল্টা যুক্তি) শুনেছি:

  1. গতিশীল টাইপিং

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

    এই নিবন্ধটি আরও পরীক্ষার পাশাপাশি গতিশীল টাইপিংয়ের পক্ষে যুক্তিযুক্ত: স্ট্রং টাইপিং বনাম শক্তিশালী পরীক্ষার

  2. বাছাই করা শক্ত।

    এর আসলে দুটি অংশ রয়েছে: শেখা এবং সরঞ্জামগুলি।

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

    আমি দ্য লিটল স্কিমার পড়েছি এবং প্রাকটিক্যাল কমন লিস্প পড়ছি , যা উভয়ই দুর্দান্ত।

    এরপরে রয়েছে সরঞ্জামগুলি। আমি একটি ম্যাকের উপর আছি, তাই আমি অ্যাকোম্যাকাস ইমা্যাক্সে শূন্য করেছি ( ইমাসকে একজন নবজাতকের জন্য বাসযোগ্য করে তোলে) এবং স্টিল ব্যাংক কমন লিস্প (এসবিসিএল)।

  3. গ্রন্থাগারের অভাব।

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


4
সম্বোধন করতে (3) - আপনি ক্লোজুরে তাকিয়েছেন?
viksit

5
"তবে সত্যিই আমি লিস্টারদের গ্রন্থাগারের অভাব সম্পর্কে অভিযোগ করতে দেখছি না (সম্ভবত কারণ লিস্প এত শক্তিশালী যে তাদের কেবল দরকার নেই?)"। আমি সর্বশেষ বিবৃতিটি "এ সংশোধন করব (সম্ভবত লিস্প এত শক্তিশালী কারণ তাদের জন্য কেবল তাদের প্রয়োজন নেই?)" এটি একটি বিশাল পার্থক্য করে।
অগ্নিওস ভ্যাসিলিয়াসকাস

49
লিসপ কেন দুর্দান্ত তা কোনও কথা বলে না, আমার কাছ থেকে ডাউনওয়েট।
কিলন

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

1
লিস্প হ'ল প্রোগ্রামিং ভাষার চক নরিস। সুতরাং এটি এটিকে এত ভাল করে তোলে। বুঝেছি. Downvoted।
নিকক নিউম্যান

71

"লিস্প একটি প্রোগ্রামেবল প্রোগ্রামিং ভাষা” "
- জন ফোডেরারো, সিএসিএম, সেপ্টেম্বর 1991

এখানে আমার মতামত:

পৃষ্ঠতলে, লিস্প একটি দুর্দান্ত, সাধারণ কার্যকরী প্রোগ্রামিং ভাষা। প্রায় কোনও বাক্য গঠন নেই এবং সমস্ত টুকরা যৌক্তিক উপায়ে একসাথে ফিট করে।

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

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


1
আপনি তাত্ত্বিকভাবে কোনও ভাষা জং, রুবি, সি, জাভা, পাইথন, এরলং এর মতো লিস্পে এম্বেড করতে পারেন। সুতরাং পাইথন (হাই) এবং দ্য জাস্টের এস-এক্সপ্রেশন সংস্করণটিকে (রিস্ক) বলা হয় [যদিও এগুলি কতটা স্থিতিশীল তা আমি জানি না]। আপনি পাইথনের পরিবর্তে হাইতে কোড লিখলে আপনার প্যারিনফার / পেরেডিট ( শানলেব্রোন . github.io/parinfer ) এর মতো ম্যাক্রো এবং কাঠামোগত সম্পাদনার ক্ষমতা রয়েছে । ম্যাক্রোস আপনাকে লিস্পে আপনার নিজস্ব ডিএসএল এম্বেড করার অনুমতি দেয় এবং সেগুলি সংকলক ম্যাক্রোর মাধ্যমে ধীর কোডটি দ্রুত কোডে পরিণত করতে ব্যবহার করা যেতে পারে। আপনি লিঙ্গ গাছকে রূপান্তর করে পাইথন (হাই) কোডকে মরিচা (ঝুঁকি) এ পরিণত করতে পারেন।
aoeu256

আমি এই কথাটি একাধিকবার শুনেছি। আপনি কি আরও কিছু @ eoeu256 কে আরও প্রশ্ন করতে চান?
শিক্ষার্থী

66

লিস্প ভাল কারণ এটির একটি খুব ন্যূনতম, সাধারণ, নিয়মিত বাক্য গঠন রয়েছে।

লিস্পটি খারাপ কারণ এটির একটি খুব ন্যূনতম, সাধারণ, নিয়মিত বাক্য গঠন রয়েছে।


4
একটি ন্যূনতম, সাধারণ, নিয়মিত বাক্য গঠন সম্পর্কে খারাপ কী?
oskarkv

27
@oskarkv - সম্পূর্ণ নিয়মিত নূন্যতম সিনট্যাক্সের অর্থ হল যে কোনও বিশেষ ব্যবহারের প্রতি পক্ষপাত নেই। এটি আপনার পক্ষে ভাল লাগবে যতক্ষণ না আপনি পেরিটো নীতিটির মুখোমুখি হন: সর্বাধিক দেখা যায় এমন মামলার প্রতি পক্ষপাতদুষ্ট হওয়া আরও দক্ষ এবং সমস্ত ক্ষেত্রে সমান সম্ভাবনা রয়েছে এমন ভান করা বন্ধ করুন। যদি আপনার 20% গ্রাহক এনওয়াইসি এবং 80% এলএ-তে থাকে, তবে কি কানসাস / ওকলাহোমা সীমান্তে কোথাও বেড়াতে বসে বৌদ্ধিকতার দিক থেকে "নিরপেক্ষ" থাকতে বোধ করা যায়? বা আরও বুদ্ধি কোথায় যেতে হবে বেশিরভাগ গ্রাহক? আমরা এমন ভাষাগুলি পছন্দ করি যা সম্ভাব্য সমস্যার দিকে তাদের বৈশিষ্ট্যগুলি আঁকিয়ে দেয়।
ড্যানিয়েল আরউইকার

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

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

22

"পর্যাপ্ত জটিল সি বা ফোর্টরান প্রোগ্রামে একটি অ্যাডহক রয়েছে, অনানুষ্ঠানিকভাবে নির্দিষ্ট, বাগ-চালিত, সাধারণ লিস্পের অর্ধেকের ধীর প্রয়োগ।"

গ্রিনস্পানের দশম বিধি


16

এখানে কিছু সহায়ক লিঙ্ক রয়েছে:


1
অন ​​লিসপ দুর্দান্ত (আমি কেবল অর্ধেক পথ পেরিয়ে এসেছি, যদিও আমি স্বীকার করি ম্যাক্রোরা কিছুটা ঘন হচ্ছে); এটি পড়ার জন্য আপনাকে লিস্পের জানা দরকার। এই সামান্য সমস্যাটি ছাড়াও এটি কেবলমাত্র লিস্প সম্পর্কে নয়, সাধারণভাবে সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের একটি দুর্দান্ত বই।
জেএস

9

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


3

একটি লিস্প প্রোগ্রাম প্রোগ্রামটি কীভাবে কাজ করে এবং আপনি যে কোডটি লিখেছেন তা সম্পর্কে আপনার ধারণাগুলির মধ্যে আরও স্পষ্ট ম্যাপিং সরবরাহ করে।

সূত্র: http://www.gigamonkeys.com/book/intr پيداوار- why- lisp.html

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