প্রোগ্রামিংয়ের ভাষাটি ভার্বোস বা সংশ্লেষ কিনা তা কীভাবে নির্ধারণ করবেন?


17

প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি প্রায়শই ভার্বোস বা সংশ্লেষ হিসাবে বর্ণনা করা যেতে পারে ।

আমার বোধগম্যতা থেকে, একটি ভার্জোজ ভাষা পড়া এবং বুঝতে সহজ, যখন একটি সংক্ষিপ্ত ভাষা সংক্ষিপ্ত এবং ঝরঝরে, তবে পড়া আরও কঠিন difficult সংজ্ঞাগুলিতে বিবেচনা করার মতো অন্যান্য জিনিসও থাকা উচিত?

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

আমরা কীভাবে নির্ধারণ করব যে কোনও প্রোগ্রামিংয়ের ভাষা অন্যের চেয়ে বেশি ভার্বোস / সংশ্লেষ হয়?

উদাহরণ: জাভা চেয়ে সি # আরও ভার্বোস?

উত্তর:


30

আমার বোধগম্যতা থেকে, একটি ভার্জোজ ভাষা পড়া এবং বুঝতে সহজ, যখন একটি সংক্ষিপ্ত ভাষা সংক্ষিপ্ত এবং ঝরঝরে, তবে পড়া আরও কঠিন difficult

এটা মিথ্যা। ভার্বোজের অর্থ প্রচুর প্রতীক। সংশ্লেষ মানে কম চিহ্ন।

পড়ার স্বাচ্ছন্দ্য বা বোঝার স্বাচ্ছন্দ্যের সাথে এর কোনও যোগসূত্র নেই।

কিছু লোকেরা ভার্বোজ কোবলটি সহজেই পড়তে সহজ খুঁজে পান, অন্যরা এটি বিভ্রান্তিকর বলে মনে করেন কারণ এতগুলি চিহ্নের জন্য খুব কম কাজ করার দরকার পড়ে।

কিছু লোকেরা I / J / K এবং APL পড়তে সহজ বলে প্রোগ্রামটি খুব সংক্ষিপ্ত বলে মনে হয়। অন্যদের পড়তে অসুবিধা হচ্ছে কারণ প্রতীকগুলি অস্পষ্ট।

পড়তে সহজ বা সহজে বোঝার সাথে টার্স / ভার্বোজের কোনও সম্পর্ক নেই।

সংজ্ঞাগুলি বিবেচনার জন্য অন্যান্য জিনিস থাকা উচিত?

না। সংশ্লেষ এবং ভার্বোজের সংজ্ঞা ঠিক আছে।

গুরুত্বপূর্ণটি হ'ল এই সংজ্ঞাগুলির "পড়তে ও বুঝতে সহজ" সাথে কোনও সম্পর্ক নেই

মনে হচ্ছে আজকের জনপ্রিয় প্রোগ্রামিং ভাষার বেশিরভাগ ভাষা ভার্জোজ।

সত্যি?

আমরা কীভাবে নির্ধারণ করব যে কোনও প্রোগ্রামিংয়ের ভাষা অন্যের চেয়ে বেশি ভার্বোস / সংশ্লেষ হয়?

কিছু করার জন্য টোকেনগুলি গণনা করুন।

Add 2 TO A GIVING B.

7 টোকেন

b = a + 2;

6 টোকেন

http://dictionary.reference.com/browse/verbose

http://dictionary.reference.com/browse/terse


5
"টার্স / ভার্বোজের পড়তে সহজ বা সহজে বোঝার সাথে কোনও সম্পর্ক নেই for" আমি সবসময় গাণিতিক স্বরলিপি সম্পর্কে চিন্তা করি যা সঠিকভাবে করা হয়ে গেলে উল্লেখযোগ্যভাবে ঘন হলেও এখনও অপেক্ষাকৃত পাঠযোগ্য।
ফ্র্যাঙ্ক শেয়ার

5
@ সুনপেক: ইংরেজি শব্দটির অর্থ এটিই That's "ভার্বোজ" অর্থ প্রচুর শব্দ। "সংশ্লেষ" এর অর্থ কম শব্দ। পঠনযোগ্যতার সাথে কিছুই করার নেই। কেবল শব্দ গণনা করা। আমি যা করেছি তা হ'ল "শব্দ" এর সাথে "টোকেন" দিয়ে। এটি কেবল ইংরেজী, বিশেষ কিছু নয়।
এস। লট

1
আমরা টোকেনগুলির দৈর্ঘ্যটিও বিবেচনা করতে পারি। প্রচলিত লিস্পটি বর্ণনামূলক বলে মনে হয় কারণ অনেকগুলি কীওয়ার্ড দীর্ঘ, এবং এটি সিওবিওএল এর শব্দভাণ্ডারে যুক্ত করে।
ডেভিড থর্নলি

1
@ ফ্র্যাঙ্ক শিয়েরার: একেবারে অসত্য, শিক্ষার্থীদের গণিত শিখতে যে সময় লাগে তা ভেবে দেখুন। এটি পড়ার মতোই অপঠনযোগ্য (গুরুতর গণিত) এবং 6 বছরের মাধ্যমিক শিক্ষার পরেও সংখ্যাগরিষ্ঠরা এখনও এটি গুরুত্ব সহকারে পড়তে অক্ষম। অপঠনযোগ্য হওয়া খারাপ জিনিস নয়! তবে গণিতটি একটি পাঠযোগ্য স্বরলিপি বলে মন্তব্য করা একটি সংক্ষিপ্ত মন্তব্য comment
ডেভিড মুলদার

2
@ ডেভিড মুল্ডার: গাণিতিক স্বরলিপি বুনোভাবে পরিবর্তিত হয়, তাই আমি সন্দেহ করি যে আমরা দুজনেই হাইপারবোলের পাপ করছি। নিশ্চয় আপনি বীজগণিত, সেট তত্ত্ব, বেসিক ক্যালকুলাস স্বচ্ছ হতে স্বীকৃতি বিবেচনা? অন্যদিকে, আমি টেনারগুলির বিমূর্ত স্বরলিপিটি অপঠনযোগ্য বাজে হিসাবে বিবেচনা করি। (তবে, আমি স্বরলিপিটি সঠিকভাবে শেখার জন্যও সময়
নিইনি

6

আমরা কীভাবে নির্ধারণ করব যে কোনও প্রোগ্রামিংয়ের ভাষা অন্যের চেয়ে বেশি ভার্বোস / সংশ্লেষ হয়?

সমান বা অনুরূপ ভাষা নির্মানের সাথে তুলনা করে, বিশেষভাবে কীভাবে একই বা সমমানের কাজটি অন্য ভাষায় বনাম অন্য ভাষায় সমাধান করা যায়।

সি # জাভা চেয়ে আরও ভার্বোস?

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


1
জাভা এখন জাভা 8 এর সাথে ল্যাম্বডা এক্সপ্রেশনকে সমর্থন করে ( ডকস.ওরকল
জাভাসে /

1
@ শানরাইশান: হ্যাঁ, সময়ের সাথে সাথে এটি আরও ভাল হয়ে উঠেছে, তবে আফাইক জাভা এখনও কিছুটা বেশি ভার্বোস is উদাহরণস্বরূপ, আপনি যে দস্তাবেজে লিঙ্ক করেছেন সেগুলিতে কোডটিতে প্রচুর p.getAge()বিবৃতি রয়েছে । সি # তে, আমি একটি সম্পত্তি তৈরি করব Age, যা সদস্য ফাংশন হিসাবে একই ডিগ্রি এনক্যাপসুলেশন নিয়ে আসে getAgeতবে p.Ageপরিবর্তে এটি লিখতে সক্ষম করে।
ডক ব্রাউন

1
এছাড়াও, জাভা উন্নতি করার সময়, সি # হ'ল স্থির লক্ষ্যমাত্রা হয়ে ওঠেনি ... জেনারেটর ফাংশন এবং অ্যাসিঙ্ক / অপেক্ষার মতো উত্তরগুলির উত্তর থেকে নতুন বৈশিষ্ট্যগুলিও জা # এর সমমানের চেয়ে সি # কোডকে আরও ছোট করার অনুমতি দেয়।
জুলে

3

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


2

পরিমাপকে ভাষাটির অভিব্যক্তি বলে । এর জন্য আদর্শ মেট্রিক হ'ল মানকযুক্ত কোডগুলি বা একই কার্যকারিতা বাস্তবায়নের জন্য প্রয়োজনীয় বিবৃতিগুলির লাইন পরিমাপ করা।

উইকির কয়েকটি মান - একটি বিবৃতি / লাইনের একটি কার্যকারিতা বাস্তবায়নে সি কোডের কতগুলি বিবৃতি / লাইন লাগে?

  • সি - বিবৃতি: 1 লাইন: 1
  • সি ++ - বিবৃতি: 2.5 লাইন: 1
  • ফরট্রান - বিবৃতি: 2.5 লাইন: 0.8
  • জাভা - বিবৃতি: 2.5 লাইন: 1.5
  • পার্ল - বিবৃতি: 6 লাইন: 6
  • ছোট্ট টাল - বিবৃতি: 6 লাইন: 6.25
  • পাইথন - বিবৃতি: 6 লাইন: 6.5

আমি মনে করি যে এই পরিমাপগুলির মধ্যে একটি থেকে বোঝা যায় যে ফরট্রান কিছু মার্জিন (!) দ্বারা সি এর চেয়ে বেশি স্পষ্টবাদী এবং অন্যটি বিপরীতে উল্লিখিত হয়েছে যে সি ++ সমানভাবে সি (!!) এর সাথে সংবেদনশীল, এই জাতীয় "মেট্রিকগুলির কার্যকারিতাটি যোগ করে? "।
জুলে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.