আমাকে বলা হয়েছে যে এইচটিএমএল একটি মার্কআপ ল্যাঙ্গুয়েজ, সি ++ একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ, কী পার্থক্য করতে পারে?


22

আমার প্রোগ্রামিং বন্ধুরা আমাকে সর্বদা বলছে যে এইচটিএমএল একটি মার্কআপ ভাষা এবং সি ++ একটি প্রোগ্রামিং ভাষা। আমি যখন তাদের জিজ্ঞাসা করি তফাত কী, তারা কখনই আমাকে যুক্তিসঙ্গত উত্তর দেয় না।

কীভাবে একটি কল সি ++ এ প্রোগ্রামিং ভাষা এবং HTML নয়?


5
আপনি কি ট্যুরিং সম্পূর্ণ হওয়া ছাড়া অন্য মানে?
মনোজ আর

1
@ মনোজআর সমস্ত টিউরিং সম্পূর্ণ ভাষাগুলি প্রোগ্রামিং ভাষা হিসাবে বিবেচিত হয় না, উদাহরণস্বরূপ এক্সএসএলটি।
ইয়ানিস

পুনরায় বন্ধ, প্রশ্ন / এ মেটা মধ্যে এ দেখতে meta.programmers.stackexchange.com/q/5397/70298
miraculixx

1
গ্রেট এডিট @ গ্যাनेट, ধন্যবাদ। প্রশ্ন পুনরায় খোলা, অপ্রচলিত মন্তব্য সরানো হয়েছে।
ইয়ানিস

1
@ ইন্নিসরিজস আমি মন্তব্যগুলিতে ওপি দ্বারা প্রদত্ত স্পষ্টির অনুলিপি করেছি । অবাক হবেন কেন এত বেশি ব্যবহারকারী তাদের সম্পাদনার পরিবর্তে মন্তব্যে তাদের পোস্টগুলি সম্পর্কে গুরুত্বপূর্ণ জিনিস রাখেন; নিজেকে আমি প্রায় সব সময়ই আমার পোস্ট ক্ষেত্রেই যে মত এডিট
মশা

উত্তর:


45

প্রোগ্রামিং ল্যাঙ্গুয়েজ হ'ল একটি মেশিনে নির্দেশাবলী সরবরাহ করার জন্য ডিজাইন করা একটি স্বরলিপি। এই সংজ্ঞা অনুসারে সি ++ এবং এইচটিএমএল উভয়ই প্রোগ্রামিংয়ের ভাষা, যেমন 1801 সালে তার তাঁতদের প্রোগ্রাম করার জন্য জোসেফ মেরি জ্যাকার্ড ব্যবহৃত হয়েছিল ।

তথ্যের কাঠামো এবং / বা বর্ণনা করতে ব্যবহৃত ভাষাগুলির বিস্তার সহ, প্রোগ্রামিং ভাষার সংজ্ঞা পরিবর্তিত হয়েছে কেবলমাত্র সেই ভাষাগুলিতে যা আলগোরিদিম প্রকাশে সক্ষম include এটি আজ আরও সাধারণ সংজ্ঞা এবং এটি এইচটিএমএল বা এক্সএমএল এর মতো ভাষা বাদ দেয়।

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

  1. কিছু অ টিউরিং সম্পূর্ণ ভাষাগুলি প্রোগ্রামিং ভাষা হিসাবে বিবেচিত হয়, উদাহরণস্বরূপ দাতব্য
  2. কিছু কিছু ভাষায় পুরোপুরি অন্য প্রোগ্রামিং ভাষার বিবেচনা করা হয় না সম্পূর্ণ টুরিং, উদাহরণস্বরূপ XSLT
  3. একাকী টুরিং কোনও ভাষার উপযোগিতা সম্পর্কে বেশি কিছু বলে না

প্রসঙ্গের উপর নির্ভর করে, আপনি যে কোনও সংজ্ঞা চান তা বেছে নিতে পারেন।

সম্পাদনা:

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


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

@ ভাক আমি বলছি না যে এটি প্রোগ্রামিংয়ের ভাষা হিসাবে বিবেচনা করা উচিত নয় । ডেটা ট্রান্সফরমেশন ল্যাঙ্গুয়েজগুলিকে সাধারণত প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে ভাবা হয় না, যা প্রোগ্রামিং ভাষা না হলে একেবারেই কিছুই বলে না। আমি এক্সএসএলটিতে ব্যবসায়ের যুক্তি দেখেছি এবং আমি ব্যক্তিগতভাবে এটিকে একটি প্রোগ্রামিং ভাষা হিসাবে বিবেচনা করি। তবে আমি সম্ভবত এটি করব না, যদি আমি প্রথম কাজটিতে এটি না দেখি। যে কোনও ক্ষেত্রে, কে যত্ন করে?
ইয়ানিস

সম্পূর্ণরূপে টুরিংয়ের অর্থ কী তা আপনি একটি বা দুটি বাক্য যোগ করতে পারেন।
ফ্যান্ট0 মি

@ ফ্যান্ট0 এম কোন ভাষা
ইয়ানিস

@ থেক 123 আমি মনে করি না যে আমি উইকিপিডিয়াতে এর চেয়ে সহজ সংজ্ঞা দিতে পারি এবং আমি ইতিমধ্যে উত্তরের প্রাসঙ্গিক নিবন্ধটির সাথে লিঙ্ক করেছি।
ইয়ানিস

5

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

- "উইকিপিডিয়া নিবন্ধটি যখন আমি এটি দেখি তখন আমি এটি জানি।"

অশ্লীলতার মতো, আমি মনে করি আমরা যখন একটি দেখি তখন আমরা সকলেই একটি প্রোগ্রামিংয়ের ভাষা জানি। স্পষ্টতই ওপি হ'ল, যেহেতু আপনি ইতিমধ্যে সি ++ কে প্রোগ্রামিং ভাষা হিসাবে এবং এইচটিএমএলটি এক না হওয়ার জন্য বিচার করেছেন।

তাহলে আনুষ্ঠানিক সংজ্ঞা অনুসরণ করার লক্ষ্যটি কী? সবচেয়ে জনপ্রিয় সংজ্ঞা, টিউরিং সম্পূর্ণতা কেন ত্রুটিযুক্ত তা ইতোমধ্যে ইয়ান্নিস একটি দুর্দান্ত রানডাউন দিয়েছে: এটি শ্রেণিবিন্যাসের দিকে পরিচালিত করে যা "যখন আমি এটি দেখি" তখন পরীক্ষাটিকে অস্বীকার করে।

আমি এটি তোমাদের সামনে করা যে কোন সংজ্ঞা আপনি কিছু কিছু ভাষায় যা আমরা সব অনুভূতি হয় হতে হবে সঙ্গে আসা পর্যন্ত করতে পারেন না "প্রোগ্রামিং" ভাষায় তাই হচ্ছে শ্রেণীকরণ করা হবে; বা এমন কিছু ভাষায় যা আমরা সবাই অনুভব করি যে "প্রোগ্রামিং" ভাষাগুলি তেমন না হিসাবে শ্রেণিবদ্ধ করা হবে ।

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


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

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

1
আপনার যদি এটি আনতে না হয় তবে এটি সম্ভবত ভাল। এর অর্থ এই নয় যে এটি জানা গুরুত্বপূর্ণ নয়। আপনি আপনার সিটবেল্টের গুণমানটি কতবার প্রকৃত ব্যবহারে এসেছেন তা বিচার করে না, আপনি কি করেন?
जेস্পেরি

আপনার তাত্ত্বিকতার দ্বারা, এলিসপ কি কোনও প্রোগ্রামিং ভাষা রয়েছে?
ব্রায়ান

@ ব্রায়ান: আকর্ষণীয়! আমার ধারণা আমি লিজ্পের প্রয়োগ হিসাবে সর্বদা এলিস্পের কথা ভেবেছি, যা স্পষ্টতই একটি প্রোগ্রামিংয়ের ভাষা, যদিও এই নির্দিষ্ট বাস্তবায়ন তার উদ্দেশ্যগুলির ক্ষেত্রের ক্ষেত্রে অনেক বেশি নির্দিষ্ট।
কারসন 63000

2

মার্কআপ ভাষাগুলি মূলত কীভাবে তথ্য প্রদর্শিত হয় তা মোকাবেলা করে এবং সাধারণত ভেরিয়েবল, গণিত, তুলনা, সিদ্ধান্ত নেওয়ার (যদি ... তবে), লুপগুলি (যখন, তখন) ইত্যাদির প্রোগ্রামিং অবকাঠামোতে তাদের ঘাটতি থাকে

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


0

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

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

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