ভার্বোসিটি বিস্তৃত পরিমাণে পাঠ্য ব্যবহারের প্রবণতা, এবং খুব অল্প পাঠ্যের ব্যবহারকে অস্পষ্টতা বলে ...
ভার্বোসিটি খারাপ কারণ:
- এটি টাইপোগ্রাফিক ত্রুটির জন্য আরও সুযোগের পরিচয় দেয়
- স্ক্রিন বা কাগজে কোড পড়া এবং / অথবা পাঞ্চকার্ডে প্রবেশ করা আরও শক্ত করে তোলে
- এটি ডিবাগ বার বৃদ্ধি
- এটি আপগ্রেড / রক্ষণাবেক্ষণের জন্য কোডকে বোঝা শক্ত করে তোলে
- এটি অনিচ্ছাকৃত কোড সদৃশ হতে পারে
- এটি কিছুটা সিনট্যাক্স ত্রুটির সম্ভাবনা বাড়িয়ে তোলে
- এটি কোডিংয়ের নমনীয়তা হ্রাস করে, এটিতে, বেশিরভাগ ভার্বোজ ভাষা অত্যন্ত কাঠামোগত এবং একই জিনিস বলার একাধিক উপায় নেই।
- এটি কোডিং এবং সংকলনের বার বৃদ্ধি করে
- এটি আরও সঞ্চয় স্থান নিতে পারে।
স্পষ্টতার জন্য ভারবোসিটির একটি নির্দিষ্ট স্তর প্রয়োজনীয়, তবে ...
ভার্বোসিটির একটি সর্বনিম্ন স্তর ভাল কারণ:
- নিখুঁত প্রতীকী কোডের চেয়ে মনস্তাত্ত্বিক মূল্য পড়ার এবং সংজ্ঞা দেওয়া সহজ easier
- পরিবর্তনশীল এবং ফাংশন নামকরণে, এটি ডিবাগ, পোর্ট এবং কোড বজায় রাখা সহজ করে
- বেস লেভেল ল্যাংগুয়েজ অপারেশন এবং জটিল ভাষার কীওয়ার্ডগুলিতে এটি কম অপারেশন / কীওয়ার্ড অ্যাসাইনমেন্টের দিকে নিয়ে যায়।
অনেক মানুষের জন্য মাত্রাতিরিক্ত বাহুল্যবর্জিত কমান্ড কিছু বিস্ময়কর উদাহরণ পুরোনো বেসিক standbys অন্তর্ভুক্ত val(x$)
, str$(x)
এবং, chr$(x)
... তার স্ট্রিং উপস্থাপনা থেকে একটি নম্বরে ফিরে একটি সংখ্যা জন্য একটি স্ট্রিং ফিরে আসুন, এবং একটি স্ট্রিং হিসাবে আসতে একটি অক্ষর থাকার ASCII মান x।
অথবা সি / সি ++ পয়েন্টার এবং রেফারেন্স অপারেটর &
এবং *
বনাম বেসিক byref
কীওয়ার্ড দ্বারা। সি / সি ++ এ আমার একটি ভেরিয়েবল এক্স থাকতে পারে এবং সেই ভেরিয়েবলের কাছে একটি পয়েন্টারও থাকতে পারে তবে আমাকে মনে রাখতে হবে কোনটি পয়েন্টার এবং কোনটি "ভেরিয়েবল হিসাবে এটি পয়েন্টার হিসাবে পয়েন্টার ব্যবহার করে"; প্রাথমিকভাবে, আমি কেবল ফাংশন কলে একটি বাইরেফ কীওয়ার্ড সহ রেফারেন্সটি পাস করি, যা আরও স্পষ্ট, তবে কম নমনীয়:
def fn Foo(x byref as float) foo= (x += x+1)
...
Foo(x)
এই কোডে, এক্সের সামগ্রীগুলি বাইরেফ পতাকার কারণে সংশোধিত হবে। কিছু স্বাদ ফোনটিতে বাইরেফকে, অন্যদের সংজ্ঞায়, কিছুকে মঞ্জুরি দেয়।
আকস্মিক প্রোগ্রামারদের পক্ষে প্রতীকতাকে আরও সহজভাবে ব্যবহার করতে সক্ষম করার জন্য ভারবোসিটি গুরুত্বপূর্ণ; বেসিক বা পাইথন হ'ল সি / সি ++ এর চেয়ে বেশি মানব পাঠযোগ্য এবং আরও ভার্বোজ এবং এটি নৈমিত্তিক প্রোগ্রামারদের জন্য আরও কার্যকর; সি / সি ++ এর ক্ষুদ্রতা আরও অভিজ্ঞ প্রোগ্রামারদের পক্ষে এটি আরও ভাল করে তোলে, যাদের এক স্ক্রিনফুলে আরও কোড এবং আরও জটিল কোড দেখতে হবে তবে বিভিন্ন প্রতীকী কাঠামো কনভেনশন শিখতে হয়েছিল। এর শেষ প্রান্তে এপিএল, যা প্রায় সম্পূর্ণরূপে মানুষের অপঠনযোগ্য।
একটি ঘনিষ্ঠভাবে সম্পর্কিত সমস্যা হ'ল স্পষ্টতা - সংশ্লেষ কোডটি প্রায়শই অস্পষ্ট এবং অতিরিক্ত ভার্বোস কোড (অ্যাপলস্ক্রিপ্ট হিসাবে) সমান অস্পষ্ট হতে পারে। প্রদত্ত ভাষার সাথে পরিচিতি সেই ভাষার মধ্যে টার্স কোডের স্পষ্টতা বাড়ে - একটি কাঁচা শিক্ষানবিস, সি ++ কোডের মুখোমুখি হতে পারে কেবলমাত্র সূত্রগুলি বিশ্লেষণ করতে সক্ষম হতে পারে, এবং এমনকি অনেক কার্যকরী বেসিক বা পাইথন কোডও বোঝার জন্য খুব সংক্ষিপ্ত, তবে অ্যাপ্লাস্ক্রিপ্ট করতে পারে বিস্মিত হয়ে পড়ুন, সাধারণত, অভিধান অভিধানের আশ্রয় ছাড়াই। ইচ্ছাকৃত অবহেলা ছাড়াই আমি স্বল্পতম পরিষ্কার হয়েছি In
পুরানো দিনগুলিতে
অতীতে আরেকটি গুরুত্বপূর্ণ বিবেচনা, তবে শখ কোডারের পক্ষে এটি আর গুরুত্বপূর্ণ নয়, এটি অপারেশন এবং স্টোরেজ স্পেস। (এটি এখনও উচ্চ প্রান্তে গুরুত্বপূর্ণ)
বেশ কয়েকটি সমাধান বিদ্যমান ছিল - বেসিকে টোকেনাইজেশন অত্যন্ত সাধারণ ছিল; পৃথক ভাষার কীওয়ার্ডগুলি উপরের 128 বা নিয়ন্ত্রণ অক্ষরের জায়গার মধ্যে 1 বা 2 বাইট শব্দে হ্রাস পেয়েছিল। টোকেনাইজেশন বাইটোকোড সংকলনেও লিড করে (ইনফর্ম এবং জেড-মেশিন হিসাবে)।
একাধিক অবজেক্ট ফাইল সংকলন এবং লিঙ্কিংও স্থান সীমাবদ্ধতা পেতে ব্যবহার করা হয়েছিল। একটি 100KiB পাসকাল কোড বিভাগটি কেবল 5KiB তে সংকলন করতে পারে; একাধিক সংকলিত ফাইলগুলি সংযুক্ত করে, কেউ বড় ফর্ম্যাট ড্রাইভে অ্যাক্সেস না করেই বিশাল অ্যাপ্লিকেশন তৈরি করতে পারে (মনে করে যে 10MiB আশ্চর্যজনকভাবে বড় ছিল এবং একটি নতুন গাড়ি কিনে)।
আরও সংক্ষিপ্ত ভাষাগুলি, তবে উভয় ডিস্ক এবং মেষের একটি প্রদত্ত অংশে আরও কোড পেয়েছিল এবং এভাবে এক সময় বৃহত্তর অংশগুলি সংকলন করে। মাথায় রেখে: ১৯ 1970০ এর দশকের গোড়ার দিকে "মিনি কম্পিউটারগুলি" কেবলমাত্র 64KiB মেষ থাকতে পারে (হানিওয়েল 800 এর প্রতিটি 8 বি এর 2048 শব্দের প্রত্যেকটিতে 4 টি ব্যাঙ্কের বেস ইনস্টল ছিল)। এপিএল এবং অনুরূপ প্রতীকী ভাষাগুলি নির্দেশ প্রতি প্লাস অপারেন্টগুলির তুলনায় আরও বড় 3B-10B বনাম প্রতি নির্দেশাবলীর সাথে তার অপারেশনগুলিতে 1B এর কাছে পৌঁছেছিল। (পাঞ্চকার্ডগুলিতে টাইপ করা একটি দুঃস্বপ্ন ছিল, বিশেষত যেহেতু প্রতীকগুলি মূলত টাইপ-বলের ফন্ট ছিল এবং অনেকগুলি কার্ডপঞ্চগুলিতে কীগুলিতে চিহ্ন ছিল না ...)
এছাড়াও, মনে রাখবেন যে কার্ডগুলি মোছা যায়নি ... এবং কার্ডগুলিতে অনেকগুলি প্রোগ্রাম প্রবেশ করা হয়েছিল। স্বতন্ত্র ব্যয়বহুল না হলেও, আপনার কোডটি কার্ডে যত বেশি সংকোচিত হতে পারে আপনার প্রয়োজন কম হবে এবং প্রোগ্রামগুলি বৃহত্তর বা কম ব্যয়বহুল হতে পারে। এটি বেসিকের বেশিরভাগ স্বাদে প্রতি লাইন একাধিক নির্দেশনার একত্রিত হওয়ার কারণগুলির একটি অংশ - এটি পাঞ্চ কার্ডগুলিতে সংরক্ষণের জন্য প্রবর্তিত হয়েছিল। (বা আমার ভ্যাক্স বেসিক প্রোগ্রামিংয়ের পাঠ্যটি তাই বলেছে I've) যদিও আমি কার্ড-পাঠকের জন্য প্রোগ্রামিং করি নি, আমি ফরট্রান, বেসিক, এপিএল এবং অন্যান্য কয়েকটি উচ্চ প্রতীকী ভাষায় একটি হানিওয়েল 800 এর জন্য কার্ড পাঞ্চিং করেছি done