লিস্প কেন আরও বিস্তৃত নয়? [বন্ধ]


50

আমি এসআইসিপি ভিডিওগুলি দ্বারা স্কিম শিখতে শুরু করছি এবং আমি পরবর্তী কমন লিস্পে যেতে চাই।

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

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

আমি আশা করি এটি কেবল প্রথম বন্ধনী নয়, কারণ তারা কিছুক্ষণ পরে বড় সমস্যা নয়।



5
ইস্পাত ব্যাংক (সাধারণ) এলআইএসপি আসলে আপনি যতটা কল্পনা করতে পারেন তার চেয়ে বেশি জনপ্রিয়। ম্যাক্রো প্রসেসরের মতো এলআইএসপি (যেমন এম 4 )ও ব্যাপকভাবে ব্যবহৃত হয়। আপনি এটি আপনার পছন্দের ডোমেনে দেখতে না পেয়ে দেখতে পারেন, তবে এটি এখনও বাইরে রয়েছে (ভাল বা আরও খারাপের জন্য)।
টিম পোস্ট

8
সাম্প্রতিক ভূমিকম্প এবং সুনামি জাপানের প্রথম বন্ধনী কারখানাটি নিশ্চিহ্ন করে দিয়েছে। :-(
অস্টারওয়াল

1
লিস্পের আমাদের কোন সংস্করণ ব্যবহার করা উচিত? মনে রাখবেন লিস্প উপভাষাগুলি কম বেশি বেমানান।

2
পাতার মর্মর (বা উপভাষা) সব জায়গায় বেশি ব্যবহার করা হয় যেমন AutoLISP অটোক্যাড দ্বারা ব্যবহৃত পাতার মর্মর একটি উপভাষা হল en.wikipedia.org/wiki/AutoLISP বা Emacs en.wikipedia.org/wiki/Emacs_Lisp
Jaydee

উত্তর:


68

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

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

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

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

মাতাপিতা সমস্যা নয়। হাস্কেল পাইথন বা রুবির অনুরূপ একটি সিনট্যাক্স সহ অবিশ্বাস্যভাবে শক্তিশালী এবং অভিব্যক্তিপূর্ণ ভাষা এবং এটি LISP এর মতো একই কারণে বেশিরভাগ ক্ষেত্রে ব্যাপকভাবে গৃহীত হয়নি।

এত কিছুর পরেও আমি আশা করছি ...

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

* এটি পেশাদার জেভিএম প্রোগ্রামার হিসাবে আমার জাভা, ক্লোজার, জেউবি, এবং স্কালায় অভিজ্ঞতার সাথে দৃষ্টিভঙ্গি।


24
যোগ্য প্রোগ্রামারদের সন্ধানে অসুবিধা সম্পর্কে আপত্তি হ'ল কুকুরটির লেজটি তাড়া করছে। লিস্প যদি আরও বেশি বিস্তৃত হয় তবে ভাল প্রোগ্রামারগুলি সন্ধান করা আরও সহজ।
আন্দ্রেয়া

2
@ আন্ড্রেয়া এটি অবশ্যই সত্য। যদিও লিস্প শেখা এটি আরও কঠিন, যা সমস্যার পাশাপাশি অবদান রাখে। আমি বুঝতে পারি যে একটি বিতর্কিত মতামত হতে পারে, অনেক অধ্যাপকরা প্রথম ভাষা হিসাবে স্কিম পড়ান।
dbyrne

8
হ্যাঁ, এপিএল একটি ভাবপূর্ণ ভাষার একটি দুর্দান্ত উদাহরণ। এছাড়াও, কেন ভাব প্রকাশ সবচেয়ে গুরুত্বপূর্ণ জিনিস নয় এর একটি ভাল উদাহরণ;)
ডাইবার্ন

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

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

17

লিস্প কেন বেশি বিস্তৃত হয় না? যদি এটি সত্যই শক্তিশালী হয় তবে লোকেরা এটিকে সর্বত্র ব্যবহার করা উচিত,

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

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

তবে পরিবর্তে এটি বলা অসম্ভব, লিস্প কাজের বিজ্ঞাপনগুলি job

মজাদারভাবে যথেষ্ট, লিস্প সংস্থাগুলি ঠিক এর বিপরীতে বলে: তাদের ক্রমাগত চাকরী খোলা থাকে তবে তাদের পূরণ করার মতো পর্যাপ্ত লোক খুঁজে পাচ্ছেন না। (একইটি হ্যাস্কেল, এমএল, ও'ক্যামল, ফোরথ, স্মলটাক, ...


3
আমি যেখানে থাকি (ইতালি) আমি সন্দেহ করি এমনকি একটিমাত্র লিস্প সংস্থার উপস্থিতি আছে ...
আন্দ্রেয়া

1
কোন বড় সংস্থা রুবি, পাইথন এবং জাভাস্ক্রিপ্ট চাপছে? জেএস একটি স্বীকৃত বিশেষ কেস, তবে অন্য দুটি বিশাল কর্পোরেট / বিক্রেতাদের সমর্থন ছাড়াই যথেষ্ট জনপ্রিয় বলে মনে হচ্ছে
বেন হিউজ

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

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

9

সত্যিকারের প্রতিষ্ঠানের হয়ে কাজ করার অভিজ্ঞতা আমার নেই, তবে এলআইএসপি কেন ব্যবহার করা আমার পক্ষে কঠিন ছিল তা আমি জানি।

প্রথমত, এটি আমাকে এই ব্লগ পোস্টটির স্মরণ করিয়ে দেয়: http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html

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

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

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

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

এই ধরণের অ-মানক জিনিসটি সর্বদা আমার জন্য সবসময় যন্ত্রণা হয়ে থাকে। সি ++ এর একই সমস্যা রয়েছে তবে বুস্টের মতো লাইব্রেরিতে আপনি এই দুর্বলতাগুলি পেতে পারেন around

এটি এস-এক্সপ্রেশন ব্যতীত অন্য সমস্ত কিছুর জন্য লিসপ সিনট্যাক্সটি একটু কুৎসিত হতেও সহায়তা করে না।


1
পিএলটি র‌্যাকেট (পূর্বে পিএলটি স্কিম) লিনাক্স এবং উইন্ডোজ উভয় ক্ষেত্রেই ভাল চলে।
ল্যারি কোলম্যান

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

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

কমান্ড লাইন যুক্তি C ++ এ ব্যবহার করা কঠিন? সত্যি?
নিক কেইগলি

লসপকে স্কিম থেকে ক্লোজারে পরিবর্তন করে এমন ক্রস-কমপ্লায়ার তৈরি করা কি তুচ্ছ নয়? লোকেরা সেগুলি ব্যবহার করে না কেন?
aoeu256

8

আইএমও, এটি বেশিরভাগ কারণে:

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

বিষয়গুলি যদিও কিছুটা আরও ভাল দেখতে শুরু করছে, বিশেষত ক্লোজারের চারপাশে রয়েছে।


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

2
"আপনাকে কাজ করার এবং চিন্তা করার সম্পূর্ণ ভিন্ন পদ্ধতিও শিখতে হবে এবং এটি শখের বিষয় হিসাবে যদি ঠিক করা হয় তবে এটি ব্যবসায়ের ক্ষেত্রে এটি করা উপযুক্ত কিনা তা প্রশ্নবিদ্ধ" ": বর্ধিত উত্পাদনশীলতা কি নয় ভাল যথেষ্ট কারণ?
জর্জিও

এই "বর্ধিত উত্পাদনশীলতা" প্রদর্শিত হয়েছে? এটি অবশ্যই আমার কাছে পরিষ্কার নয় (হ্যাঁ আমি একটি লিস্প উপভাষায় প্রোগ্রাম করেছি)। সিলভার বুলেট নেই।
নিক কেঘলি

5

আমি এক বিলিয়ন বছর আগে কলেজে এলআইএসপি শিখেছি।

LISP, যেমন FORTH, যুক্তির জন্য দুর্দান্ত। তবে বেশিরভাগ প্রোগ্রামিংটি যুক্তি সম্পর্কে নয়, এটি বিরক্তিকর পদ্ধতিতে ডেটা ম্যানিপুলেট করার বিষয়ে। উদাহরণস্বরূপ, সেই সময়টিতে সংখ্যার আউটপুটকে ন্যায়সঙ্গত করার কোনও উপায় নেই।

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

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

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


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

4
প্রোগ্রামিং সমস্যা সমাধান সম্পর্কে নয়? আমি তাই মনে করি না. এবং যাইহোক, আমি মনে করি না যে আপনিও কলেজে কোনও ভাষা শিখতে পারেন ।
অ্যাডাম আর্বল্ড

+1, আমার পক্ষে খুব প্রশংসাসূচক শোনায় যারা কোনও লিস্প জানেন না। আমি একই কারণে সি / জাভা এন্টারপ্রাইজ-আকারের সমাধানগুলির জন্য পাইথনের চেয়ে ভাল state
জোনাস বাইস্ট্রোম

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

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

5

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

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

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

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


2
কমন লিস্প, কমপক্ষে, স্পষ্টভাবে একটি ওও ভাষা: কমন লিস্প অবজেক্ট সিস্টেম স্ট্যান্ডার্ডের অংশ।
ফ্রাঙ্ক শায়ারার

সত্য, এবং আমি যেমন বুঝতে পেরেছি এটি একটি খুব শক্তিশালী, তবে এটি ভাষার একটি পার্শ্ব-বৈশিষ্ট্য হিসাবে আমার কাছে আসে। এটি জাভা-এর মতো নয় যেখানে আপনার প্রথম দিন থেকে জিনিসগুলি বোঝার প্রয়োজন P ।
কোডেক্সআর্কানিয়াম

লিস্প আপনাকে হালকা ওজনের ওওপি-র জন্য বস্তুর পরিবর্তে ক্লোজার (লেট-ওভার-ল্যাম্বদা) ব্যবহার করার অনুমতি দেয় তবে আমি বিশ্বাস করি যে এটি সিএএলএস এর মাধ্যমে ওওপি ব্যবহারের জন্য আপগ্রেড করা সহজ।
aoeu256

2

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

আমি কোনও পুরো শালীন উত্তর খুঁজে পাইনি।

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

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

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

ধাতব প্রোগ্রামিং অন্তর্নিহিত আরও বেশি কঠিন (এবং আরও অনেক বেশি মেটা-মেটাগ্রোগ্রামিং) এবং বেশিরভাগ প্রোগ্রামার এবং পরিচালকরা সম্ভবত "কোনওটির প্রয়োজন হবে না" উত্তরটি পছন্দ করেন।

আমি বিশেষভাবে দুঃখ পেয়েছি যে "নতুন" ভাষা goযেমন প্রয়োজন হয় তখন পাঠ্য-ভিত্তিক মেটাগ্রোগ্রামিং ব্যবহার করে শেষ হয় (বহিরাগত কোড জেনারেটর পাঠ্য ফাইলগুলি লেখার জন্য) এবং "যাদু" (অর্থাৎ সংকলক প্রোগ্রামাররা যা করতে পারে না তা করতে পারে)।

আমি মনে করি জটিলতার সমস্যার সমাধানটি শক্তিশালী সরঞ্জাম এবং শিক্ষা education প্রবণতাটি সম্ভবত স্পষ্টতই ভোঁতা সরঞ্জাম এবং ভান করা সমস্যার উপস্থিতি নেই।


"আমি মনে করি জটিলতা সমস্যার সমাধানটি শক্তিশালী সরঞ্জাম এবং শিক্ষা education"
জর্জিও 14

50 বছর পরে 'অজ্ঞতা' অজুহাত বেশ পাতলা
নিক কেইগলি

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

@ 50৫০২: খাঁটিভাবে কার্যকরী না হয়েও আইএমও লিস্প সি #, জাভা, সি ++ ইত্যাদির মতো অনেক মূলধারার ভাষার চেয়ে ফাংশনাল প্রোগ্রামিং সমর্থন করে better অনেক প্রোগ্রামারদের জন্য, এফপি এর অর্থ সময়ে সময়ে কেবল একটি ল্যাম্বডা এক্সপ্রেশন ব্যবহার করা হয়: এই প্রোগ্রামাররা লিস্প বা ক্লোজার বা হাস্কেলকে মিস করবেন না। সুতরাং আমি যুক্ত করব: (১) লিস্প এফপিকে বেশ ভাল সমর্থন করে এবং কার্যকরী প্রোগ্রামাররা এতে উপকৃত হতে পারে তবে (২) এফপি সম্পর্কে অজ্ঞতা এবং এর সুবিধাগুলি লিস্পকে প্রায়শই ব্যবহার না করার একটি কারণ।
জর্জিও

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

1

দেখে মনে হচ্ছে এমনকি সিএল-তে খুব ভাল গ্রন্থাগার সমর্থন নেই। কমপক্ষে এমন লোকদের মতে যারা লিস্প থেকে পাইথন পরিবর্তন করেছিলেন:

http://www.redmountainsw.com/wordpress/archives/reddit-switches-from-lisp-to-python

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


2
এটি আর সত্য নয়। কুইকলিপস সেই সমস্যার সমাধান করেছে।

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

আমি স্কিমে একটি অ-তুচ্ছ প্রকল্প করেছি এবং এমন একটি সংস্থা জানি যা বেশ কয়েকটি পণ্যের জন্য স্কিম (চিকেন স্কিম) ব্যবহার করে।
জর্জিও

1

শক্তিশালী হওয়া অগত্যা বিস্তৃত ব্যবহার বোঝায় না। আপনি 'সাধারণ ক্ষেত্রে অনুকূলিতকরণ' শব্দটি শুনেছেন? দুর্ভাগ্যক্রমে অনেকে মধ্যস্বত্বের আগে বলেছিলেন যে যদি নিয়মিতভাবে আশ্বাস দেওয়া হয় তবে লোকদের মধ্যে অনেকগুলি ব্যর্থতা হ'ল তার চেয়ে অনেক বেশি ভাল for

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

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

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

লিস্প প্রায় দীর্ঘ সময় ধরে থাকবে তবে প্রয়োজনীয়ভাবে এটি বিস্তৃত নয়। আপনি দেখতে পাবেন যে প্রতিটি সরঞ্জাম এর কুলুঙ্গি আছে। এবং তারা বাক্সের বাইরে খুব ভাল সমস্যার সমাধান করে solve আমি মনে করি এবং আমি নিশ্চিত যে লিস্প ভালভাবে ভাল করতে পারে এমন অঞ্চল এবং সমস্যাগুলির জন্য যার জন্য এটির সমাধানের জন্য এটি ভালভাবে তৈরি করা হয়েছে।


"সাধারণ ক্ষেত্রে অনুকূলিতকরণ" নীতিটি উদ্ধৃত করার জন্য +1।
জর্জিও

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

1

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


0

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

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