এক্সএমএলকে "ভাষা" বলা হয় কেন?


105

আমি ভাবছিলাম কেন XML এর নামে এল আছে।

নিজেই, এক্সএমএল কিছুই "করেন" না। এটি কেবল একটি ডেটা স্টোরেজ ফর্ম্যাট, কোনও ভাষা নয়! ভাষা "জিনিস" করে।

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

তাহলে কেন এক্সএমএলকে ভাষা বলা হয়? এটি কোনও কিছুর বর্ণনা দেয় না, ব্যাখ্যা দেয় না, এটি ঠিক।

সম্পাদনা: সম্ভবত আমার প্রশ্নটি আরও বিস্তৃত হওয়া উচিত ছিল। যেহেতু উত্তরটি বর্তমানে "এসএমএল এর নাম অনুসারে এক্সএমএল নামকরণ করা হয়েছিল, এটি জিএমএল ইত্যাদির নামে ছিল" প্রশ্নটি হওয়া উচিত ছিল, মার্কআপ ভাষা (এক্সএমএলের মতো) ভাষা কেন বলা হয়?

ওহ, এবং নিকটতম ভোট ডাব্লুআরটি: না, আমি এক্স সম্পর্কে জিজ্ঞাসা করছি না I'm আমি এল সম্পর্কে জিজ্ঞাসা করছি!


128
কোন ভাষার কিছু "করণ" করতে হবে তা আপনার প্রয়োজনীয়তার ভিত্তিতে আপনি কী করেন? অভিধান ডটকমের কোনও সংজ্ঞায় আমি এটি দেখতে পাচ্ছি না ।
কেডগ্রিগরি

10
উভয় এটি বুঝতে পারলে সোয়াহিলিদের মতোই বোঝা যায়। অথবা একটি মেডিকেল জার্নাল নিবন্ধটি বোঝা যায় যদি পাঠক ভাষার সেই অংশটি বুঝতে পারে। এটা আলাদা কিছু না। এবং মানুষ সংজ্ঞা দেয়।
সামি কুহমনেন

42
মার্কআপ ভাষা হ'ল একটি সাধারণ শব্দ en.wikedia.org/wiki/Markup_language
পাপারাজ্জো

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

68
ভাষাগুলি কিছু করতে পারে না, তারা প্রকাশ করে এবং জিনিসগুলি যোগাযোগ করে
Hagen von Eitzen

উত্তর:


238

আসল উত্তরটি হ'ল এক্সএমএলের নামে একটি এল রয়েছে কারণ ১৯ Ray০'র দশকে আইবিএম-এ প্রথম "মার্কআপ ল্যাঙ্গুয়েজ" ডিজাইনকারীদের মধ্যে ছিলেন রেমন্ড এল ওরি নামের একটি লোক । বিকাশকারীদের ভাষার জন্য একটি নাম খুঁজতে হয়েছিল তাই তারা জিএমএল বেছে নিয়েছে কারণ এটি তিনটি বিকাশকারী (গোল্ডফার্ব, মোশার এবং লরি) এর আদ্যক্ষর ছিল। তারপরে তারা ব্যাক্রোনাইম জেনারালাইজড মার্কআপ ল্যাঙ্গুয়েজ তৈরি করে ।

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

আপনার দ্বিতীয় প্রশ্নের মতো যদি এক্সএমএলকে বৈধভাবে ভাষা বলা যায়:

যেকোন কাঠামোগত পাঠ্য (বা এমনকি বাইনারি) ফর্ম্যাট যা গণনামূলকভাবে প্রক্রিয়া করা যেতে পারে তাকে ভাষা বলা যেতে পারে। একটি ভাষা যেমন "কিছুই" করে না, তবে কিছু সফ্টওয়্যার ভাষার ইনপুট প্রক্রিয়া করতে পারে এবং এর উপর ভিত্তি করে কিছু "করতে" পারে।

আপনি লক্ষ করেছেন যে এক্সএমএল একটি "স্টোরেজ ফর্ম্যাট" যা সত্য, তবে একটি পাঠ্য সঞ্চয়ী বিন্যাসকে ভাষা বলা যেতে পারে, এই শব্দটি পারস্পরিক একচেটিয়া নয়।

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

এটি দেওয়া, এক্সএমএল স্পষ্টভাবে একটি ভাষা। কেবল একটি প্রোগ্রামিং ভাষা নয় - যদিও এটি এক্সএসএলটি-র মতো প্রোগ্রামিং ভাষার সংজ্ঞা দিতে ব্যবহৃত হতে পারে।

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


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

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



19
@ স্নোমান: একটি "আনুষ্ঠানিক ভাষা" অগত্যা কম্পিউটারের ভাষায় যাকে ভাষা বলা হয় তার সাথে এটি মিলবে না। উদাহরণস্বরূপ একটি "আনুষ্ঠানিক ভাষা" পাঠ্যগত হওয়ার দরকার নেই - মেশিন কোড একটি আনুষ্ঠানিক ভাষা যেমন বেশিরভাগ বাইনারি বিন্যাস এবং প্রোটোকল। সুতরাং আমি বলব না যে "আনুষ্ঠানিক ভাষা" শব্দটি কম্পিউটিংয়ে "ভাষা" হিসাবে একই অর্থ জুড়ে।
জ্যাকবিবি

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

4
@ নিকলবোলাস: ভাল কথা, মেশিন কোড অবশ্যই ভাষা। আমি কেবল মনে করি বাইনারি ভাষাগুলি "ফর্ম্যাট" বলা বেশি সাধারণ, যেমন আপনি জিআইএফ-ফর্ম্যাটটি জিআইএফ-ভাষা না বলে থাকেন।
জ্যাকবিবি

3
@ বেনকোট্রেল: লুপ থাকতে পারে, তা কি তখন গ্রাফ হবে না?
জ্যাকবিবি

181

কারণ এটি একটি ভাষা। একটি মার্কআপ ভাষা, কোনও প্রোগ্রামিং ভাষা নয়।

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


43
"সংকলক" এর জন্য "দোভাষী" বিকল্প করুন। সংকলককে খাওয়ানো তাদের "কিছু" করে না, হয় না, এটি কেবল তাদের আলাদা ভাষায় অনুবাদ করে, যা আবার কিছু করে "না" করে। সমস্ত মৃত্যুদণ্ড ব্যাখ্যার। কখনও কখনও, দোভাষী খুব সহজ এবং সিলিকনে প্রয়োগ করা যেতে পারে, সেক্ষেত্রে আমরা এটিকে একটি "এক্সিকিউশন ইউনিট" বলি, তবে এটি এখনও একজন দোভাষী। </nitpick>যাইহোক, ভাল উত্তর!
জার্গ ডব্লু মিট্টাগ

8
@ JörgWMittag ভাল পয়েন্ট। যেহেতু আমি এলোমেলোভাবে ভাষা নির্বাচন করেছি যা সাধারণত সংকলিত হয়, যুক্ত হয় "এবং আউটপুট কার্যকর হয়"।
Ixrec

1
আপনি যদি চান তবে একটি এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ।
doppelgreener

1
আমি যুক্তি দিয়েছিলাম যে মানব ভাষাগুলি "করণীয়" জিনিসগুলি করে। স্পিচ-অ্যাক্ট থিওরিটি দেখুন ...
রায়

2
মিষ্টি, মিষ্টি orthogonality। ভাষাটি একটি পৃথক বীজগণিতের মধ্যে চালিত করুন এবং ক্রিয়াকলাপের সম্পূর্ণ নতুন সেট উদ্ভাসিত হয়। তত্ত্বের অধীনে, যাইহোক।
কেনোগু ল্যাবজ

103

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

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

<tag> soup &; not <//good>

স্পষ্টভাবে না। এক্সএমএল ⊂ U * উপসেটটি যা সুগঠিত এক্সএমএল ডকুমেন্টগুলি তৈরি করে তা নির্ধারণযোগ্য (বা "পুনরাবৃত্ত") is একটা মেশিন (আলগোরিদিম বা কম্পিউটার প্রোগ্রাম) যে ইনপুট হিসাবে কোন শব্দ লাগে বিদ্যমান Wইউ * আর যদি সময়, আউটপুট একটি নির্দিষ্ট পরিমাণ পারেন 1 পর W ∈ এক্সএমএল এবং 0 অন্যথায়। এই জাতীয় অ্যালগরিদম কোনও এক্সএমএল প্রসেসিং সফ্টওয়্যার এর একটি উপ-রুটিন। সমস্ত ভাষা নির্ধারণযোগ্য নয়। উদাহরণস্বরূপ, বৈধ সি প্রোগ্রামগুলির সেট যা একটি সীমাবদ্ধ সময়ের মধ্যে শেষ হয়, এটি নয় (এটি থামানো সমস্যা হিসাবে পরিচিত)। যখন কেউ একটি নতুন ভাষা ডিজাইন করেন, তখন একটি গুরুত্বপূর্ণ সিদ্ধান্তটি হ'ল এটি যতটা সম্ভব শক্তিশালী হওয়া উচিত বা সিদ্ধান্তের পক্ষে রায় দেওয়ার চেয়ে আরও ভালভাবে সীমাবদ্ধ থাকবে কিনা।

কিছু ভাষা ব্যাকরণের মাধ্যমে সংজ্ঞায়িত করা যেতে পারে যা ভাষা উত্পাদন করে বলে। একটি ব্যাকরণ গঠিত

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

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

উদাহরণস্বরূপ, নিম্নলিখিত ব্যাকরণ (পরিবর্তে অনানুষ্ঠানিক স্বরলিপি) আপনাকে দশমিক স্বরলিপিতে একেবারে পূর্ণসংখ্যা পেতে দেয়।

  1. ব্যাকরণ লিটারেল ডিজিটের হয় 1, 2, 3, 4, 5, 6, 7, 8, 9, এবং 0
  2. ভেরিয়েবলগুলি S এবং D এর প্রতীক ।
  3. এস সূচনা প্রতীক।
  4. ভেরিয়েবল এস এর যে কোনও ঘটনা প্রতিস্থাপন করা যেতে পারে
    • আক্ষরিক 0বা
    • 0ভেরিয়েবল ডি অনুসরণ করে অন্য কোনও আক্ষরিক দ্বারা ।
  5. ভেরিয়েবল ডি এর যে কোনও ঘটনা প্রতিস্থাপন করা যেতে পারে
    • আক্ষরিকের দ্বারা অনুসরণ করা হয় ভেরিয়েবল ডি বা এর অন্য একটি উদাহরণ
    • খালি স্ট্রিং দ্বারা

এখানে আমরা কীভাবে উদ্ভূত 42:

এস - (বিধি 4, 2 এনডি বৈকল্পিক প্রয়োগ করুন ) → 4 ডি - (নিয়ম 5, 1 প্রকারের প্রয়োগ করুন ) → 42 ডি - (নিয়ম 5, 2 এনডি বৈকল্পিক প্রয়োগ করুন ) → 42

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

স্কিমাটা এক্সএমএলের একটি সংযোজন যা সুগঠিত নথিগুলির সেটকে পরিশোধিত করতে দেয়। একটি সুনির্দিষ্ট দলিল যা একটি নির্দিষ্ট স্কিমা অনুসরণ করে সেই স্কিমা অনুযায়ী বৈধ বলা হয় । উদাহরণস্বরূপ, স্ট্রিং

<?xml version="1.0" encoding="utf-8" ?>
<root>all evil</root>

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

আপনি নিজের স্কিমিটাকে সংজ্ঞায়িত করতে পারার কারণে, এক্সএমএলকে একটি এক্সটেনসিবল ভাষা বলা হয়, এটি "এক্সএমএল" এর "এক্স" এর উত্স।

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


7
@ জর্জিও: গণিতে, "সু-সংজ্ঞায়িত" মূলত কেবলমাত্র একটি সংঘটিত: গণিতের যা কিছু বিদ্যমান তা ইতিমধ্যে সংজ্ঞায়িত।
কেভিন 21

9
@ জর্জিও "সু-সংজ্ঞায়িত" দিয়ে আমার অর্থ এখানে একটি আনুষ্ঠানিক শিকারী রয়েছে যা জানায় যে কোনও আইটেম সেটের মালিকানাধীন কিনা। এই ভবিষ্যদ্বাণীটি সাধারণভাবে গণনাযোগ্য হবে না তবে এটি দ্বন্দ্ব ছাড়াই পরিষ্কারভাবে নির্দিষ্ট করতে হবে। অন্যথায়, খারাপ জিনিস ঘটতে পারে । "স্ট্রিং জোড়া ( W , এম ) যেখানে এম একটি টুরিং মেশিন যে আউটপুট ক্ষুদ্রতম বিবরণ W এবং তারপর স্থগিত" একটি ভালভাবে সংজ্ঞায়িত কিন্তু অ গণনীয় (দেখতে Kolmogorov জটিলতা ) সম্পৃক্ত। …
5gon12eder

2
@ 5gon12eder: জেডএফসির অধীনে সেই সেটটি বিদ্যমান নেই (কারণ বিচ্ছেদটির অ্যাক্সিয়াম স্কিমা এটি বর্ণনা করার মতো শক্তিশালী নয়); আপনি যদি অন্য কোনও সেট তত্ত্ব ব্যবহার করেন তবে আপনার এটি নির্দিষ্ট করা উচিত।
কেভিন

5
@ 5gon12eder: "সেটটিতে থাকা সমস্ত স্ট্রিং রয়েছে এমন সেট" বিদ্যমান নেই। শব্দটি "সু-সংজ্ঞায়িত", তামাশাজনকভাবে সংজ্ঞাযুক্ত নয়।
কেভিন

3
সুগঠিত সম্পত্তি বা বৈধতা একটি দ্বারা সঞ্চালিত হয় ব্যাকরণ । আপনি যদি উল্লেখ করে থাকেন তবে এই উত্তরটি নিখুঁত ছিল।
থিবল্ট ডি

31

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

নোট করুন যে এর অর্থ হ'ল একটি ভাষার প্রয়োজনীয় সমস্ত বাক্য গঠন , প্রতিটি বৈধ পংক্তির অর্থ (যা শব্দার্থক বলা হয় ) ভাষার প্রয়োজন নেই ।

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

এক্সএমএল এখনও একটি ভাষা, যদিও এর নিজস্ব শব্দার্থবিজ্ঞানের নিজস্বতা নেই (তবে এক্সএমএল থেকে প্রাপ্ত অনেকগুলি ভাষা যেমন এক্সএইচটিএমএল এবং এক্সএএমএলএল)।

প্রযুক্তিগতভাবে, বাইনারি ফর্ম্যাটগুলিও ভাষা, তবে সেগুলিকে সেভাবে বলা হয় না। "ভাষা" শব্দটি মানব-পঠনযোগ্য ফর্ম্যাটগুলির জন্য সংরক্ষিত।


10
@ শ্রীলিস্টার কারণ তারা মানব-পঠনযোগ্য নয়। যখন তারা মানব-পঠনযোগ্য না হয় আমরা তার পরিবর্তে তাদের ফর্ম্যাট বা ডেটা ফর্ম্যাটগুলিতে কল করি ।
ম্যাসন হুইলারের

3
@ জেমসসনেল অবশ্যই অন্যান্য এমএল ভাষার পরিবারের সাথে বিভ্রান্ত হবেন না। অতিরিক্ত জনাকীর্ণ সংক্ষিপ্তসার জন্য হ্যাঁ!
ম্যাসন হুইলারের

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

3
@MrLister: ওয়েল, তারা হয় ভাষা, কিন্তু কারণ তারা পুনর্ব্যবহারযোগ্য ডাটা স্ট্রাকচার সংজ্ঞায়িত তারা একটি বিশেষ নাম আছে: ফরম্যাটের । তবে, হ্যাঁ, এগুলিও ভাষা।
অরবিট

4
@ মিঃলিস্টার: ফর্ম্যাটটির নামকরণ করা বিপণনের ক্ষেত্রে আরও প্রশ্ন। এক্সএমএল লোকরা এক্সএমএলকে এক্সএমএল নামে ডেকেছিল কারণ "* এমএল" জিএমএল এবং এসজিএমএলের মতো পূর্বসূরীর ফর্ম্যাটে একটি পারিবারিক সম্পর্ককে ইঙ্গিত করে এবং তারা ভেবেছিল যে সামনে এটি কোনও এক্সের সাথে দুর্দান্ত দেখাচ্ছে looked এবং জিএমএলকে জিএমএল বলা হত কারণ এটি একটি সাধারণীকৃত মার্কআপ ভাষা ছিল, তবে এটি তিনটি ভাষা ডিজাইনারের আদ্যক্ষর ছিল বলেও। তাই মূলত এল ইন এক্সএমএল কারণ রেমন্ড এল ওরি নামে পরিচিত একজন লোক প্রথম মার্কআপ ভাষার নকশাকারীদের মধ্যে ছিল।
জ্যাকবিবি

12

একটি ভাষা তথ্য জানার একটি পদ্ধতি।

একটি প্রোগ্রামিং ভাষা হল অ্যালগরিদমগুলি বোঝানোর একটি পদ্ধতি of

এক্সএমএলের মতো একটি মার্কআপ ভাষা হ'ল ডেটা পৌঁছে দেওয়ার জন্য একটি ভাষা।


... এবং সেই ডেটা খুব ভাল একটি অ্যালগরিদমের বিবরণ হতে পারে।
লুয়ান

@ লুয়ান ... এবং প্রোগ্রামিংয়ের ভাষাও ডেটা জানাতে অপব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, JSON এর মতো।
ফিলিপ

2
আপনি এমনকি পুনরাবৃত্তি করতে পারেন। আমি ন্যান্ট স্ক্রিপ্টগুলি দেখেছি (একটি এক্সএমএল-ভিত্তিক ভাষা) যার মধ্যে সি # কোড রয়েছে যা কেবলমাত্র ডেটা স্টোরেজের জন্য ব্যবহৃত হয়েছিল। এক্সএমএলযুক্ত স্ট্রিং লিটারাল ব্যবহার করে। হ্যাঁ, এটি এক ধরণের জিনিস যা প্রাপ্তবয়স্কদের
কাঁদায়

2

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

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