এই প্রশ্নটি 6 বছরের পুরনো, তবে আশ্চর্যের বিষয় হল, উত্তরের কোনও উত্তরই চারটি পয়েন্টকে (গতি, স্মৃতি, অভিব্যক্তি, বহনযোগ্যতা) সত্যই সম্বোধন করে না।
দ্রুততা
স্পষ্টতই এটি বাস্তবায়ন-নির্ভর, তবে জেএসএন এত ব্যাপকভাবে ব্যবহৃত হয়, এবং এটি প্রয়োগ করা খুব সহজ, এটি বৃহত্তর নেটিভ সমর্থন পেতে ঝোঁক করেছে, এবং তাই গতি। YAML जेএসএন যা কিছু করে তা আরও বিবেচনা করে এবং একটি ট্রাক বোঝা আরও বিবেচনা করে, উভয়ের যে কোনও তুলনামূলক বাস্তবায়ন সম্ভবত, জেএসওএন দ্রুততর হবে।
তবে, প্রদত্ত যে কোনও ওয়াইএএমএল ফাইলটি তার জেএসএন সমকক্ষের তুলনায় কিছুটা ছোট হতে পারে (কম "
এবং ,
চরিত্রের কারণে ), সম্ভবত সম্ভাব্য একটি উচ্চতর অনুকূল YAML পার্সার ব্যতিক্রমী পরিস্থিতিতে দ্রুত হতে পারে।
স্মৃতি
মূলত একই যুক্তি প্রযোজ্য। যদি কোনও ডিএমএল পার্সার একই ডেটা কাঠামোর প্রতিনিধিত্ব করে তবে কোনও ওয়াইএএমএল পার্সার কেন জেএসএন পার্সারের চেয়ে মেমরির দক্ষ হতে পারে তা দেখা মুশকিল।
expressiveness
যেমন অন্যদের দ্বারা উল্লিখিত হয়েছে, পাইথন প্রোগ্রামাররা জেএসএনের দিকে ওয়াইএএমএল, জাভাস্ক্রিপ্ট প্রোগ্রামারগুলিকে অগ্রাধিকার দেওয়ার দিকে ঝুঁকছেন। আমি এই পর্যবেক্ষণগুলি করব:
- এটি JSON এর সম্পূর্ণ বাক্য গঠনটি মুখস্ত করা সহজ, এবং তাই কোনও JSON ফাইলের অর্থ বোঝার বিষয়ে খুব আত্মবিশ্বাসী হন। YAML কোনও মানুষের দ্বারা সত্যই বোধগম্য নয়। সূক্ষ্মতা এবং প্রান্তের মামলার সংখ্যা চরম।
- কয়েকটি পার্সার পুরো স্পেকটি বাস্তবায়িত করার কারণে, প্রদত্ত প্রসঙ্গে একটি প্রদত্ত অভিব্যক্তির অর্থ সম্পর্কে নিশ্চিত হওয়া আরও শক্ত।
- জেএসএনে মন্তব্যের অভাব বাস্তবে, একটি বাস্তব ব্যথা।
পোর্টেবিলিটি
একটি JSON লাইব্রেরি ছাড়া একটি আধুনিক ভাষা কল্পনা করা কঠিন। কোনও জেএসওন পার্সার সম্পূর্ণ অনুমানের চেয়ে কম কিছু বাস্তবায়ন করার বিষয়টি কল্পনাও করা শক্ত। ওয়াইএএমএলটির ব্যাপক সমর্থন রয়েছে, তবে জেএসএনের চেয়ে সর্বব্যাপী নয়, এবং প্রতিটি পার্সার একটি পৃথক উপসেট প্রয়োগ করে। সুতরাং YAML ফাইলগুলি আপনার ভাবার চেয়ে কম ইন্টারঅ্যাপেবল।
সারসংক্ষেপ
জেএসএন হ'ল পারফরম্যান্সের জন্য (যদি প্রাসঙ্গিক হয়) এবং আন্তঃঅযুক্তিযোগ্যতা। YAML মানব-রক্ষণাবেক্ষণ করা ফাইলগুলির জন্য ভাল। HJSON একটি শালীন সমঝোতা যদিও অনেক হ্রাস বহনযোগ্যতা সহ। JSON5 একটি আরও যুক্তিসঙ্গত সমঝোতা, সুসংজ্ঞায়িত বাক্য গঠন সহ ax