যে কোনও ধরণের শৃঙ্খলা তৈরি করতে, আপনাকে প্রথমে নিজেকে কিছু প্রশ্ন জিজ্ঞাসা করতে হবে:
- অবজেক্টগুলি আমি যে সম্পর্কগুলিকে যথাযথভাবে সংজ্ঞায়িত করেছি তাতে রাখছি?
- যদি তা হয় তবে এগুলি কি আসলেই আছে?
- আমি কি কেবলমাত্র অবজেক্টের মধ্যে একটি নির্দিষ্ট ধরণের সম্পর্কের মধ্যে নিজেকে সীমাবদ্ধ করছি, বা কেবল বৈধ সম্পর্কগুলি ব্যবহার করার জন্য সিস্টেমের কোনও নির্দিষ্ট প্রয়োজন আছে?
সাধারণত, যখন আপনি একটি জিজ্ঞাসা মত একটি প্রশ্ন শুনতে, প্রত্যাশিত উত্তর বিভিন্ন অনুমান করা হয়। উদাহরণস্বরূপ, অনুমান করা স্বাভাবিক যে এগুলি সমস্ত ভাষা হওয়ায় তাদের অবশ্যই ভাষার আরও সাধারণ ধারণার অধীনে একটি স্তরবিন্যাস গঠন করতে হবে, বা তারা সমস্ত ভাষার স্থানকে বিভাজন করতে পারে, বা তারা একে অপরের উপ-বিভাগ।
প্রোগ্রামিং ভাষা
দুর্ভাগ্যক্রমে, উপরের কোনওটিই সত্য বলে মনে হচ্ছে না। সম্ভবত শুধুমাত্র প্রোগ্রামিং ভাষাগুলির একটি সংজ্ঞা রয়েছে যার সাথে সবচেয়ে বেশি সম্মত। প্রোগ্রামিং ভাষা হল ভাষা যা প্রোগ্রামগুলি এনকোড করে। এনকোডিং মানে হ'ল ভাষার কোনও শব্দের একটি প্রোগ্রাম (ক্রিয়াগুলির ক্রম) হিসাবে ব্যাখ্যা করা যায়। কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি এগুলির একটি উপসেট। কম্পিউটারবিহীন প্রোগ্রামিং ভাষার উদাহরণ: একটি মুদি তালিকা, একটি সুপারমার্কেটে ক্রেতার দিকনির্দেশ হিসাবে ব্যাখ্যা করা, ডিএনএ টেপ রেকর্ডার হিসাবে প্রোগ্রাম হিসাবে পরিবেশন করা অ্যানালগ সংগীত রেকর্ড, পেপটাইডগুলি অনুলিপি দ্বারা ব্যাখ্যা করা।
কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি সাধারণত কম্পিউটারগুলি প্রোগ্রাম করে।
স্ক্রিপ্টিং ভাষা
ভাল সংজ্ঞায়িত হয় না। এই শব্দটির অর্থ কী তা ব্যাখ্যা করার জন্য এটি উন্মুক্ত। .তিহাসিকভাবে, এটি দেখে মনে হবে যে মেশিন কোড তৈরির জন্য সংকলক নেই এমন প্রোগ্রামিং ভাষাগুলি এইভাবে বলা হয়েছিল। আজকের মান অনুসারে এটি প্রতিটি জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ সান এসেমব্লারদের এই বিভাগে রাখবে। এমনকি সি-এর মতো তথাকথিত নিম্ন-স্তরের ভাষারও পূর্ব-বিদ্যমান প্রক্রিয়াগুলির সাথে একটি রানটাইম প্রয়োজন হয়, সুতরাং কোনও সি প্রোগ্রাম সংকলনের মাধ্যমে প্রাপ্ত বাইনারিগুলি সম্পূর্ণ মেশিন কোড নয়, তবে রানটাইমটিতে এখন এবং পরে কল করে।
মার্কআপ ভাষা
ভাল সংজ্ঞায়িত হয় না। যখনই এই শব্দটি ব্যবহৃত হয়, উদ্দেশ্যটি মনে হয় খুব প্রাথমিকভাবে ভিজ্যুয়াল বা অডিও চিত্র উত্পন্ন করতে ব্যবহৃত খুব সীমিত অভিধান সহ একটি প্রোগ্রামিং ভাষার বর্ণনা দেওয়া। এক্সএমএলকে কোনও প্রোগ্রামিং হিসাবে দেখা খুব কঠিন হতে পারে তবে আপনি ম্যান বা টেক্সইনফোর মার্কআপের দিকে নজর দিলে আপনি দেখতে পাবেন যে "বিশেষ" অক্ষরগুলি আসলে দোভাষীর নির্দেশ।
এক্সএমএল ভাষার জন্য "প্রোগ্রামিং" ব্যাখ্যা দেওয়াও সম্ভব, এটি এমন কিছু হতে পারে:
< := put interpreter in the reading node mode
! := if reading node, start CData/Comment mode
else if not in read text mode, signal error
-- := if in start CData/Comment mode, start comment
else if in comment, put in end comment mode
else if in end comment mode, signal error
...
নীচের লাইন: আজকের মতো এই বিভাগটি খুব অর্থবহ বলে মনে হচ্ছে না, এটি আপনাকে কী ধরণের ভাষার মুখোমুখি হচ্ছে তা কেবল আপনাকে কিছুটা অন্তর্দৃষ্টি দিতে পারে তবে এটি আপনাকে কঠোর সংজ্ঞা দেয় না।