কোন ভাষা একটি স্ক্রিপ্টিং ভাষা করে? আমি কিছু লোককে বলতে শুনেছি "যখন এটি সংকলনের পরিবর্তে ব্যাখ্যা করা হয়"। এটি পিএইচপি তৈরি করবে (উদাহরণস্বরূপ) একটি স্ক্রিপ্টিং ভাষা। এটাই কি একমাত্র মানদণ্ড? নাকি অন্য কোন মানদণ্ড রয়েছে?
কোন ভাষা একটি স্ক্রিপ্টিং ভাষা করে? আমি কিছু লোককে বলতে শুনেছি "যখন এটি সংকলনের পরিবর্তে ব্যাখ্যা করা হয়"। এটি পিএইচপি তৈরি করবে (উদাহরণস্বরূপ) একটি স্ক্রিপ্টিং ভাষা। এটাই কি একমাত্র মানদণ্ড? নাকি অন্য কোন মানদণ্ড রয়েছে?
উত্তর:
একটি স্ক্রিপ্টিং ভাষা এমন একটি ভাষা যা স্ট্রিপগুলি করার জন্য অন্যান্য জিনিসকে "স্ক্রিপ্ট" করে। প্রাথমিক ফোকাসটি প্রাথমিকভাবে আপনার নিজস্ব অ্যাপ্লিকেশনগুলি তৈরি করতে পারে না যেমন কোনও বিদ্যমান অ্যাপ্লিকেশনটি যেমনটি চান তেমন কাজ করতে পারে যেমন ব্রাউজারগুলির জন্য জাভাস্ক্রিপ্ট, এমএস অফিসের জন্য ভিবিএ।
সহজ। আমি যখন এটি ব্যবহার করি, এটি একটি আধুনিক গতিশীল ভাষা, যখন আপনি এটি ব্যবহার করেন, এটি কেবল একটি স্ক্রিপ্টিং ভাষা!
Ditionতিহ্যগতভাবে, স্ক্রিপ্টিং বনাম প্রোগ্রামিং সম্পর্কে পার্থক্য সম্পর্কে কথা বলার সময়, স্ক্রিপ্টগুলি ব্যাখ্যা করা হয় এবং প্রোগ্রামগুলি সংকলিত হয়। একটি ভাষা বিভিন্ন উপায়ে কার্যকর করা যায় - ব্যাখ্যা করা বা সংকলন (বাইটোকড বা মেশিন কোডে)। এটি একটি বা অন্য কোনও ভাষা করে না ।
কিছু দৃষ্টিতে, আপনি যে ভাষাটি ব্যবহার করেন তা এটিকে স্ক্রিপ্টিং ভাষা করে তোলে (উদাহরণস্বরূপ, গেম বিকাশকারীরা যারা মূলত সি ++ তে বিকাশ করে লুয়ায় বস্তুগুলি স্ক্রিপ্ট করে)। আবার, লাইনগুলি অস্পষ্ট - একটি ভাষা একটি ব্যক্তি প্রোগ্রামিংয়ের জন্য এবং একই ভাষা অন্য একজনের দ্বারা স্ক্রিপ্টিং ভাষার জন্য ব্যবহার করা যেতে পারে।
এটি স্ক্রিপ্টিং ভাষা সম্পর্কিত উইকিপিডিয়া নিবন্ধ থেকে :
একটি স্ক্রিপ্টিং ভাষা, স্ক্রিপ্ট ভাষা বা এক্সটেনশন ল্যাঙ্গুয়েজ এমন একটি প্রোগ্রামিং ভাষা যা এক বা একাধিক সফ্টওয়্যার অ্যাপ্লিকেশনগুলিকে নিয়ন্ত্রণ করতে দেয়। "স্ক্রিপ্টগুলি" অ্যাপ্লিকেশনটির মূল কোড থেকে পৃথক, কারণ এগুলি সাধারণত একটি ভিন্ন ভাষায় লেখা হয় এবং প্রায়শই শেষ ব্যবহারকারী দ্বারা তৈরি বা কমপক্ষে পরিবর্তিত হয়। স্ক্রিপ্টগুলি প্রায়শই সোর্স কোড বা বাইটকোড থেকে ব্যাখ্যা করা হয়, যেখানে তারা যে অ্যাপ্লিকেশনগুলি নিয়ন্ত্রণ করে সেগুলি traditionতিহ্যগতভাবে স্থানীয় মেশিন কোডে সংকলিত হয়। স্ক্রিপ্টিং ভাষাগুলি প্রায়শই সর্বদা তাদের নিয়ন্ত্রণ করা অ্যাপ্লিকেশনগুলিতে এম্বেড থাকে।
আপনি "সাধারণত", "প্রায়শই", "traditionতিহ্যগতভাবে" এবং "প্রায় সর্বদা" এর ব্যবহার লক্ষ্য করবেন - এগুলি সমস্তই আপনাকে বলে যে কোনও নির্দিষ্ট ভাষাকে "স্ক্রিপ্টিং ভাষা" বানানোর জন্য আলাদা আলাদা বৈশিষ্ট্যের কোনও সেট নেই ।
"একটি চিত্রনাট্য হ'ল আপনি অভিনেতাদের যা দেন তা একটি প্রোগ্রাম যা আপনি দর্শকদের দেন" " - ল্যারি ওয়াল
আমি সত্যিই ভাবি না যে এর চেয়ে আরও অনেক তফাৎ আছে। তথাকথিত "স্ক্রিপ্টিং" ভাষাগুলি প্রায়শই সংকলিত হয় - খুব দ্রুত এবং রানটাইমে। এবং কিছু "প্রোগ্রামিং" ভাষা রানটাইমের পাশাপাশি আরও সংকলিত হয় (জেআইটি ভাবুন) এবং "সংকলন" এর প্রথম পর্যায়ে সিনট্যাক্স চেকিং এবং রিসোর্স রেজোলিউশন।
এটির জন্য ঝুলে যাবেন না, এটি সত্যিই গুরুত্বপূর্ণ নয়।
আমার সংজ্ঞাটি এমন একটি ভাষা হবে যা সাধারণত বাইনারি না হয়ে উত্স হিসাবে বিতরণ করা হয়।
এটির জন্য অনেকগুলি সম্ভাব্য উত্তর রয়েছে।
প্রথম: এটা সত্যিই একটি প্রশ্ন পার্থক্য একটি স্ক্রিপ্টিং ভাষা ও একটি প্রোগ্রামিং ভাষা মধ্যবর্তী কারণ একটি স্ক্রিপ্টিং ভাষা হল একটি প্রোগ্রামিং ভাষা। এটা আরো অপর প্রোগ্রামিং ভাষা কি বৈশিষ্ট্যগুলো কিছু প্রোগ্রামিং ভাষা একটি স্ক্রিপ্টিং ভাষা করতে একটি প্রশ্ন নয় একটি স্ক্রিপ্টিং ভাষা।
দ্বিতীয়: XYZ ভাষাটি কী, XYZ "স্ক্রিপ্টিং", "ফাংশনাল প্রোগ্রামিং", "অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং" বা আপনার কাছে কী তা বলা সত্যিই শক্ত। "ফাংশনাল প্রোগ্রামিং" কী এর সংজ্ঞাটি বেশ পরিষ্কার, তবে "ফাংশনাল প্রোগ্রামিং ল্যাঙ্গুয়েজ" কী তা কেউ জানে না।
ফাংশনাল প্রোগ্রামিং বা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং হ'ল প্রোগ্রামিং স্টাইল ; আপনি কার্যকরী শৈলীতে বা কোনও অবজেক্ট-ভিত্তিক স্টাইলে কোনও কোনও ভাষায় লিখতে পারেন। উদাহরণস্বরূপ, লিনাক্স ভার্চুয়াল ফাইল সিস্টেম স্যুইচ এবং লিনাক্স ড্রাইভার মডেল সিটিতে লিখিত থাকা সত্ত্বেও ভারী অবজেক্ট-ভিত্তিক, যেখানে ওয়েবে আপনি দেখতে পাবেন অনেকগুলি জাভা বা সি # কোড খুব প্রক্রিয়াজাত এবং একেবারে বস্তু-ভিত্তিক নয় । OTOH, আমি কিছু ভারী কার্যকরী জাভা কোড দেখেছি।
সুতরাং, যদি ফাংশনাল প্রোগ্রামিং এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং কেবল কোনও স্টাইল হয় যা কোনও ভাষায় করা যায়, তবে আপনি কীভাবে একটি "অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ" সংজ্ঞায়িত করবেন? আপনি বলতে পারেন যে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ এমন একটি ভাষা যা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের অনুমতি দেয়। তবে এটি কোনও সংজ্ঞা নয়: সমস্ত ভাষা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের অনুমতি দেয়, সুতরাং সমস্ত ভাষাই বস্তু-কেন্দ্রিক? সুতরাং, আপনি বলে, ভাল একটি ভাষা, অবজেক্ট ওরিয়েন্টেড হলে এটা জোর একটি অবজেক্ট ওরিয়েন্টেড শৈলী প্রোগ্রামিং আপনি। তবে এটি কোনও সংজ্ঞা নয়, সমস্ত ভাষাই কার্যকরী প্রোগ্রামিংয়ের অনুমতি দেয়, সুতরাং কোনও ভাষাই বস্তু-কেন্দ্রিক নয়?
সুতরাং, আমার জন্য, আমি নিম্নলিখিত সংজ্ঞাটি পেয়েছি:
একটি ভাষা একটি স্ক্রিপ্টিং ভাষা (বস্তু-ভিত্তিক ভাষা / কার্যকরী ভাষা) যদি তা উভয়ই থাকে
- স্ক্রিপ্টিং (অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং / ফাংশনাল প্রোগ্রামিং) সহজতর করে , অর্থাত্ এটি কেবল এটির অনুমতি দেয় না তবে এটি সহজ এবং প্রাকৃতিক করে তোলে এবং এতে সহায়তা করে এমন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে, এবং
- আপনাকে স্ক্রিপ্টিং (অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং / ফাংশনাল প্রোগ্রামিং) এর দিকে উত্সাহ দেয় এবং গাইড করে ।
সুতরাং, পাঁচটি অনুচ্ছেদের পরে, আমি এখানে পৌঁছেছি: "একটি স্ক্রিপ্টিং ভাষা হ'ল স্ক্রিপ্টিংয়ের ভাষা"। কি দুর্দান্ত সংজ্ঞা। না.
স্পষ্টতই, আমাদের এখন "স্ক্রিপ্টিং" এর সংজ্ঞাটি দেখতে হবে।
এখানেই তৃতীয় সমস্যাটি উপস্থিত হয়: যদিও "ফাংশনাল প্রোগ্রামিং" শব্দটি সংজ্ঞায়িত হয়েছে এবং এটি কেবল "ফাংশনাল প্রোগ্রামিং ভাষা" শব্দটিই সমস্যাযুক্ত, দুর্ভাগ্যক্রমে স্ক্রিপ্টিং সহ, "স্ক্রিপ্টিং" শব্দ এবং "স্ক্রিপ্টিং ভাষা" উভয়ই শব্দ রয়েছে both "অশুভ সংজ্ঞায়িত হয়।
ঠিক আছে, প্রথমত স্ক্রিপ্টিং হল প্রোগ্রামিং। এটি কেবল একটি বিশেষ ধরণের প্রোগ্রামিং। আইওউ: প্রতিটি স্ক্রিপ্ট একটি প্রোগ্রাম, তবে প্রতিটি প্রোগ্রামই স্ক্রিপ্ট নয়; সমস্ত স্ক্রিপ্টের সেট হ'ল সমস্ত প্রোগ্রামের সেটের একটি উপযুক্ত উপসেট।
আমার ব্যক্তিগত মতে, যে জিনিসটি স্ক্রিপ্টিং স্ক্রিপ্টিং তৈরি করে এবং এটিকে অন্যান্য ধরণের প্রোগ্রামিং থেকে আলাদা করে তোলে, তা…
স্ক্রিপ্টগুলি বৃহতভাবে অবজেক্টগুলিকে ম্যানিপুলেট করে
- স্ক্রিপ্ট দ্বারা তৈরি করা হয়নি,
- স্ক্রিপ্ট থেকে একটি জীবনকাল স্বাধীন এবং
- স্ক্রিপ্টের ডোমেনের বাইরে থাকুন।
এছাড়াও, ব্যবহৃত ডেটাটাইপস এবং অ্যালগরিদমগুলি সাধারণত স্ক্রিপ্ট দ্বারা নয় বাইরের পরিবেশের দ্বারা সংজ্ঞায়িত হয়।
শেল স্ক্রিপ্ট সম্পর্কে চিন্তা করুন: শেল স্ক্রিপ্টগুলি সাধারণত ফাইল, ডিরেক্টরি এবং প্রক্রিয়াগুলি পরিচালনা করে। আপনার সিস্টেমে বেশিরভাগ ফাইল, ডিরেক্টরি এবং প্রক্রিয়া সম্ভবত বর্তমানে চলমান স্ক্রিপ্ট দ্বারা তৈরি হয়নি। স্ক্রিপ্টটি যখন বের হয় তখন এগুলি নিখোঁজ হয় না: তাদের জীবনকাল স্ক্রিপ্ট থেকে সম্পূর্ণ স্বাধীন। এবং এগুলি আসলে স্ক্রিপ্টের অংশ নয়, হয় তারা সিস্টেমের একটি অংশ। আপনি আপনার স্ক্রিপ্টটি লেখার মাধ্যমে File
এবং Directory
ক্লাস দ্বারা শুরু করেন নি , dat ডেট্যাটাইপগুলি আপনার উদ্বেগের কোনও নয়: আপনি কেবল ধরে নেন যে সেগুলি রয়েছে এবং তারা কীভাবে কাজ করে তা আপনি জানেন না (বা আপনারও জানার দরকার নেই )। এবং আপনি নিজের অ্যালগরিদমগুলি বাস্তবায়ন করেন না, যেমন, ডিরেক্টরি ট্র্যাভারসালের জন্য আপনি কেবল find
নিজের প্রস্থ-প্রথম-সন্ধানটি প্রয়োগের পরিবর্তে ব্যবহার করেন ।
সংক্ষেপে: একটি স্ক্রিপ্ট নিজেকে বৃহত্তর সিস্টেমে সংযুক্ত করে যা স্ক্রিপ্টের বাইরে স্বাধীনভাবে উপস্থিত থাকে, সিস্টেমের কিছু ছোট অংশ পরিচালনা করে এবং তারপরে প্রস্থান করে।
এই বৃহত্তর সিস্টেমটি শেল স্ক্রিপ্টের ক্ষেত্রে অপারেটিং সিস্টেম হতে পারে, ব্রাউজার স্ক্রিপ্টের ক্ষেত্রে ব্রাউজার ডিওএম, একটি গেম (যেমন লুয়ানার সাথে ওয়ারক্রাফ্টের ওয়ার্ল্ড বা লিন্ডেন স্ক্রিপ্টিং ভাষার সাথে দ্বিতীয় জীবন), একটি অ্যাপ্লিকেশন (যেমন অটোলিস্প) অটোক্যাড বা এক্সেল / ওয়ার্ড / অফিস ম্যাক্রোগুলির জন্য ভাষা), একটি ওয়েব সার্ভার, রোবটের একটি প্যাক বা সম্পূর্ণ অন্য কিছু।
নোট করুন যে স্ক্রিপ্টিং দিকটি প্রোগ্রামিং ভাষার অন্যান্য দিকগুলির সাথে সম্পূর্ণ orthogonal: একটি স্ক্রিপ্টিং ভাষা দৃrip় বা দুর্বলভাবে টাইপ করা যেতে পারে, কঠোরভাবে বা আলগাভাবে টাইপ করা যেতে পারে, স্থিতিশীলভাবে বা গতিশীলভাবে টাইপ করা যেতে পারে, নামমাত্র, কাঠামোগতভাবে বা হাঁসের টাইপ করা, হ্যাক এমনকি এটি টাইপ করা যেতে পারে । এটি অত্যাবশ্যক বা কার্যকরী, বস্তু-ভিত্তিক, প্রক্রিয়াগত বা কার্যকরী, কঠোর বা অলস হতে পারে। এর বাস্তবায়নগুলি ব্যাখ্যা, সংকলন বা মিশ্রিত করা যেতে পারে।
উদাহরণস্বরূপ, মন্ড্রিয়ান একটি সঙ্কলিত বাস্তবায়নের সাথে কঠোরভাবে স্ট্যাটিকালি টাইপ করা অলস কার্যকরী স্ক্রিপ্টিং ভাষা implementation
যাইহোক, এই সব তর্ক করা হয়, এইভাবে শব্দটি কারণ স্ক্রিপ্টিং ভাষা হয় সত্যিই বাস্তব জগতে ব্যবহার করা হয়, উপরের কোনটির সাথে না কিছুই আছে। এটি প্রায়শই কেবল অপমান হিসাবে ব্যবহৃত হয় এবং সংজ্ঞাটি বরং সরল, এমনকি সরল:
- বাস্তব প্রোগ্রামিং ভাষা: আমার প্রোগ্রামিং ভাষা
- স্ক্রিপ্টিং ভাষা: আপনার প্রোগ্রামিং ভাষা
শব্দটি বেশিরভাগ ক্ষেত্রে ব্যবহৃত হয় বলে মনে হয়।
এটি অশ্লীল মতো, আপনি এটি দেখলেই তা জানবেন। স্ক্রিপ্টিং ভাষার একমাত্র সম্ভাব্য সংজ্ঞাটি হ'ল:
A language which is described as a scripting language.
কিছুটা বিজ্ঞপ্তি, তাই না? (যাইহোক, আমি রসিকতা করছি না)
মূলত, ভাষাটিকে স্ক্রিপ্টিং ভাষা হিসাবে তৈরি করে এমন কিছুই নেই যা একে বলা হয় বিশেষত এর স্রষ্টাদের দ্বারা। আধুনিক স্ক্রিপ্টিং ভাষার প্রধান সেট হ'ল পিএইচপি, পার্ল, জাভাস্ক্রিপ্ট, পাইথন, রুবি এবং লুয়া। টিসিএল হ'ল প্রথম প্রধান আধুনিক স্ক্রিপ্টিং ভাষা (যদিও এটি প্রথম স্ক্রিপ্টিং ভাষা ছিল না, যদিও আমি এটি ভুলে যাই তবে এটি টিসিএলটির পূর্বাভাস জানতে পেরে আমি অবাক হয়েছিলাম)।
আমি আমার কাগজে বড় স্ক্রিপ্টিং ভাষার বৈশিষ্ট্য বর্ণনা করি :
A Practical Solution for Scripting Language Compilers
Paul Biggar, Edsko de Vries and David Gregg
SAC '09: ACM Symposium on Applied Computing (2009), (March 2009)
বেশিরভাগের গতিশীলভাবে টাইপ করা এবং ব্যাখ্যা করা হয় এবং বেশিরভাগের রেফারেন্স প্রয়োগের বাইরে কোনও সংজ্ঞায়িত শব্দার্থবিজ্ঞান নেই। তবে, যদিও তাদের বড় বাস্তবায়ন সংকলিত বা জেআইটিড হয়ে যায়, এটি ভাষার "প্রকৃতি" পরিবর্তন করে না।
তাদের কেবলমাত্র অবশিষ্ট প্রশ্নটি হল যে কোনও নতুন ভাষা স্ক্রিপ্টিং ভাষা হলে আপনি কীভাবে বলতে পারবেন। ঠিক আছে, যদি এটিকে স্ক্রিপ্টিং ভাষা বলা হয় তবে এটি একটি। সুতরাং ফ্যাক্টর একটি স্ক্রিপ্টিং ভাষা (বা কমপক্ষে এটি যখন লেখা হয়েছিল) তবে, বলুন, জাভা হয় না।
"স্ক্রিপ্টিং ল্যাঙ্গুয়েজ" হ'ল সেই অস্পষ্ট ধারণাগুলির মধ্যে একটি যা অনেকগুলি অর্থ বোঝাতে পারে। সাধারণত এটি সেই উত্সকে বোঝায় যে উত্স কোড থেকে আপনাকে কার্যকর করার ক্ষেত্রে একটি পদক্ষেপ প্রক্রিয়া উপস্থিত রয়েছে।
পার্ল উদাহরণস্বরূপ আপনি কি: perl my_source.pl
উপরের মানদণ্ডগুলি দেওয়া পিএইচপি হ'ল একটি স্ক্রিপ্টিং ভাষা (যদিও আপনার "সংকলন" প্রক্রিয়া থাকতে পারে উদাহরণস্বরূপ উত্স কোডটিকে "সুরক্ষা" দিতে জেন্ড এনকোডার ব্যবহার করার সময়)।
পুনশ্চ. স্ক্রিপ্টিং ভাষার প্রায়শই (তবে সর্বদা নয়) ব্যাখ্যা করা হয়। এছাড়াও প্রায়শই (তবে আবার সবসময় নয়) স্ক্রিপ্টিং ভাষাগুলি গতিশীলভাবে টাইপ করা হয়।
সমস্ত স্ক্রিপ্টিং ভাষা হ'ল প্রোগ্রামিং ভাষা। তাই কড়া কথায় বলতে গেলে কোনও পার্থক্য নেই।
শব্দটি ভাষার কোনও মৌলিক বৈশিষ্ট্যকে বোঝায় না, এটি ভাষার সাধারণ ব্যবহারকে বোঝায় । সাধারণ ব্যবহারটি যদি সংক্ষিপ্ত প্রোগ্রামগুলি লিখতে হয় যা মূলত প্রাক-বিদ্যমান কোডগুলিতে কল করে এবং ফলাফলগুলি সম্পর্কে কিছু সাধারণ প্রক্রিয়াজাতকরণ, (যদি সাধারণ ব্যবহারটি স্ক্রিপ্টগুলি লিখতে হয় ) তবে এটি একটি স্ক্রিপ্টিং ভাষা।
আমি মনে করি মিস্টার রবার্তো আইয়ারুসালিমস্কির খুব ভাল উত্তর আছে বা 'লুয়া প্রোগ্রামিং ইন' প্রশ্নটি রয়েছে:
তবে বর্ণিত ভাষার আলাদা বৈশিষ্ট্যটি এগুলি নয় যে সেগুলি সংকলন করা হয়নি, তবে যে কোনও সংকলক ভাষা রানটাইমের অংশ এবং তাই, ফ্লাইতে উত্পন্ন কোড কার্যকর করা (এবং সহজ) সম্ভব
eval
কার্যকারিতা রয়েছে।
একটি বিভাগ
রানটাইমে গতিশীলভাবে ব্যাখ্যা করা একটি ভাষা ব্যাখ্যা করা হয় যেখানে কার্যকর করার আগে একটি সংকলিত ভাষা সংকলিত হয়।
আমার যুক্ত করা উচিত যে জার্গ যেভাবে নির্দেশ করেছেন, বর্ণিত / সংকলিত পার্থক্য ভাষার কোনও বৈশিষ্ট্য নয়, তবে এক্সিকিউশন ইঞ্জিনের।
আপনি টাইপ সিস্টেমের এই ব্যাখ্যায়ও আগ্রহী হতে পারেন , যা সম্পর্কিত এবং এক্সিকিউশন ইঞ্জিনের পরিবর্তে ভাষার দিকগুলিতে বেশি মনোনিবেশ করে। বেশিরভাগ স্ক্রিপ্টিং ভাষা গতিসম্পন্ন টাইপ করা হয়, যেখানে "সাধারণ" ভাষা বেশিরভাগ স্থিতিযুক্ত টাইপ করা হয়।
সাধারণভাবে স্ট্যাটিকালি বনাম গতিময় টাইপ করা ভাষার বিভাজনগুলি আরও ভালভাবে সংজ্ঞায়িত করা হয় এবং ভাষার ব্যবহারের উপর আরও বেশি প্রভাব ফেলে।
একটি স্ক্রিপ্টিং ভাষা সাধারণত :
একটি স্ক্রিপ্টিংহীন ভাষা সাধারণত : ১. স্ট্যাটিকালি টাইপ করা ২. সংক্ষিপ্ত, কার্য সম্পাদনের উপর জোর দিয়ে ৩. আরও বয়লারপ্লেট কোডের প্রয়োজন হয়, ধীর প্রোটোটাইপিংয়ের দিকে পরিচালিত করে তবে আরও পাঠযোগ্যতা এবং দীর্ঘমেয়াদী রক্ষণাবেক্ষণ ৪. বৃহত প্রকল্পের জন্য ব্যবহৃত হয়, অনেকের সাথে মানিয়ে যায় নকশা নিদর্শন
তবে এটি আমার মতে আজকাল moreতিহাসিক পার্থক্য বেশি। জাভাস্ক্রিপ্ট এবং পার্ল ছোট, সাধারণ স্ক্রিপ্টগুলি মনে রেখে লেখা হয়েছিল, অন্যদিকে সি ++ লেখা ছিল জটিল অ্যাপ্লিকেশনগুলিকে মাথায় রেখে; তবে উভয়ই যেভাবেই ব্যবহার করা যায়। এবং অনেকগুলি প্রোগ্রামিং ভাষা, আধুনিক এবং পুরানো modern
দুঃখজনক বিষয় হ'ল, আমি কয়েকজন বিকাশকারীকে চিনি যা তারা "স্ক্রিপ্টিং ভাষা" হিসাবে বিবেচনা করে এটিকে সহজ এবং শক্তিশালী নয় বলে ভেবে দেখে। আমার অভিমত সেই পুরানো ক্লিচ - কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করুন।
স্ক্রিপ্টিং ভাষাগুলি প্রথমে হার্ড প্রোগ্রামিং ভাষায় রচিত অ্যাপ্লিকেশনগুলির জন্য একটি নিয়ন্ত্রণ ব্যবস্থা হিসাবে ভাবা হত thought সংকলিত প্রোগ্রামগুলি রানটাইমে সংশোধন করা যায়নি, সুতরাং স্ক্রিপ্টিং লোককে নমনীয়তা দেয়।
সবচেয়ে উল্লেখযোগ্যভাবে, শেল স্ক্রিপ্টটি ওএস কার্নেলের মধ্যে স্বয়ংক্রিয় প্রক্রিয়া ছিল (wasতিহ্যগতভাবে, ম্যাক্সে অ্যাপলস্ক্রিপ্ট); এমন একটি ভূমিকা যা আরও বেশি করে পার্লের হাতে চলে যায়, এবং এরপরে ইদানীং পাইথনের কাছে। আমি স্কিমটি দেখেছি (বিশেষত এর গিলি প্রয়োগে) রেয়েট্রিং দৃশ্যের ঘোষণা দেওয়ার জন্য ব্যবহৃত হয়েছিল; এবং সম্প্রতি, লুয়া স্ক্রিপ্ট গেমগুলিতে প্রোগ্রামিং ভাষা হিসাবে খুব জনপ্রিয় - এমন একটি বিষয় যে অনেকগুলি নতুন গেমের মধ্যে একমাত্র হার্ড-কোডড জিনিস গ্রাফিক্স / পদার্থবিজ্ঞান ইঞ্জিন, যখন পুরো গেমটির লজিক লুয়ায় এনকোড থাকে। একইভাবে, জাভাস্ক্রিপ্ট একটি ওয়েব ব্রাউজারের আচরণের স্ক্রিপ্ট করার জন্য ভাবা হয়েছিল।
মুক্তি পেল ভাষা; ওএস সম্পর্কে এখন আর কেউই অ্যাপ্লিকেশন হিসাবে চিন্তা করে না (বা এটি সম্পর্কে অনেক কিছু চিন্তা করে) এবং অনেকগুলি পূর্ববর্তী স্ক্রিপ্টিং ভাষা তাদের নিজস্ব অ্যাপ্লিকেশনগুলি লেখার জন্য ব্যবহৃত হতে শুরু করে। নামটি নিজেই অর্থহীন হয়ে উঠেছে এবং আজ প্রচলিত বহু ব্যাখ্যামূলক ভাষায় ছড়িয়ে পড়েছে, সেগুলি অন্য সিস্টেমের মধ্যে থেকে ব্যাখ্যা করার জন্য ডিজাইন করা হয়েছে কিনা তা নির্বিশেষে।
তবে "স্ক্রিপ্টিং ল্যাঙ্গুয়েজ" অবশ্যই "ব্যাখ্যা করা ভাষাগুলির" সমার্থক নয় - উদাহরণস্বরূপ, বেসিক তার জীবনের বেশিরভাগ ক্ষেত্রেই ব্যাখ্যা করা হয়েছিল (যেমন এটি এর সংক্ষিপ্তসারটি হারিয়েছে এবং ভিজ্যুয়াল বেসিক হওয়ার আগে), তবুও কেউ এটিকে সত্যই বলে মনে করে না স্ক্রিপ্টিং।
আপডেট: উইকিপিডিয়ায় যথারীতি উপলব্ধ পঠন সামগ্রী ।
প্রথম বক্তব্য, একটি প্রোগ্রামিং ভাষা "স্ক্রিপ্টিং ভাষা" বা অন্য কিছু নয়। এটি একটি "স্ক্রিপ্টিং ভাষা" এবং অন্য কিছু হতে পারে।
দ্বিতীয় বিষয়, ভাষার প্রয়োগকারী আপনাকে বলবে এটি কোনও স্ক্রিপ্টিং ভাষা কিনা।
আপনার প্রশ্নটি পড়তে হবে "কোন প্রয়োগায় কোন প্রোগ্রামিং ভাষার একটি স্ক্রিপ্টিং ভাষা হিসাবে বিবেচনা করা হবে?", "স্ক্রিপ্টিং ভাষা এবং একটি প্রোগ্রামিং ভাষার মধ্যে কী পার্থক্য?" নয় not এর মধ্যে আর কিছু নেই।
তবুও, আমি যদি কোনও ভাষা মাঝারি ধরণের কিছু প্রকার সরবরাহ করতে ব্যবহৃত হয় তবে আমি কোনও ভাষা স্ক্রিপ্টিং ভাষা হিসাবে বিবেচনা করব। উদাহরণস্বরূপ, আমি জাভাস্ক্রিপ্টের বেশিরভাগ বাস্তবায়নকে একটি স্ক্রিপ্টিং ভাষা বিবেচনা করব। যদি জাভাস্ক্রিপ্ট ব্রাউজার নয়, ওএসে চালিত হয়, তবে এটি কোনও স্ক্রিপ্টিং ভাষা হবে না। যদি পিএইচপি যদি অ্যাপাচে থাকে তবে এটি একটি স্ক্রিপ্টিং ভাষা। যদি এটি কমান্ড লাইন থেকে চালানো হয় তবে তা নয়।
আমি কোনও স্ক্রিপ্টিং ভাষা দেখি যা কোনও অতিরিক্ত ভারী ওজন অনুভূতি 'সংকলন' পদক্ষেপের প্রয়োজন হয় না। প্রোগ্রামারদের দৃষ্টিকোণ থেকে প্রধান বৈশিষ্ট্য হ'ল: আপনি কোড সম্পাদনা করেন এবং এখুনি চালান।
সুতরাং আমি স্ক্রিপ্টিং ভাষার হিসাবে জাভাস্ক্রিপ্ট এবং পিএইচপি বিবেচনা করবে, যেহেতু ActionScript 3 / ফ্লেক্স সত্যিই নয়।
আমার বন্ধু এবং আমার সবেমাত্র এই যুক্তি ছিল: প্রোগ্রামিং ভাষা এবং একটি স্ক্রিপ্টিং ভাষার মধ্যে পার্থক্য কী।
একটি জনপ্রিয় যুক্তি হ'ল প্রোগ্রামিং ভাষাগুলি সংকলিত হয় এবং স্ক্রিপ্টিং ভাষার ব্যাখ্যা করা হয় - তবে আমি বিশ্বাস করি এই যুক্তিটি সম্পূর্ণ মিথ্যা ... কেন?
সেই ভিত্তিতে, প্রোগ্রামিং ভাষা এবং একটি স্ক্রিপ্টিং ভাষার মধ্যে পার্থক্যের জন্য এটি আমার যুক্তি:
একটি প্রোগ্রামিং ভাষা মেশিন পর্যায়ে চলে এবং মেশিনে নিজেই অ্যাক্সেস করতে পারে (মেমরি, গ্রাফিক্স, শব্দ ইত্যাদি)।
একটি স্ক্রিপ্টিং ভাষা বালির বাক্সযুক্ত এবং কেবল বালির বাক্সে প্রকাশিত বস্তুগুলিতে অ্যাক্সেস রয়েছে। অন্তর্নিহিত মেশিনে এর সরাসরি অ্যাক্সেস নেই।
আমার মতামতগুলিতে, আমি বলব যে পিএইচপি, রুবি ইত্যাদির মতো গতিময়ভাবে ব্যাখ্যা করা ভাষাগুলি এখনও "সাধারণ" ল্যাঙ্গুয়েজ। আমি বলব যে "স্ক্রিপ্টিং" ভাষার উদাহরণগুলি বাশ (বা ksh বা tcsh বা যাই হোক না কেন) বা স্ক্যালপ্লাসের মতো জিনিস। এই ভাষাগুলি প্রায়শই একটি সিস্টেমে বিদ্যমান প্রোগ্রামগুলিকে একত্রিত করে সম্পর্কিত এবং সম্পর্কিত কমান্ডের একটি সিরিজ হিসাবে স্ট্রিং করতে ব্যবহৃত হয়, যেমন:
সুতরাং আমি পার্থক্যটি বলতে চাই (আমার পক্ষে, যাইহোক) আপনি ভাষাটি কীভাবে ব্যবহার করেন তার মধ্যে এটি আরও বেশি । পিএইচপি, পার্ল, রুবির মতো ভাষাগুলি "স্ক্রিপ্টিং ভাষা" হিসাবে ব্যবহৃত হতে পারে তবে আমি সাধারণত এগুলিকে "সাধারণ ভাষা" হিসাবে ব্যবহার করতে দেখি (পার্ল বাদে যা উভয় পথে চলে বলে মনে হয়)।
আমি কেবল এগিয়ে যাব এবং সদৃশ প্রশ্ন থেকে আমার উত্তর স্থানান্তর করব
"স্ক্রিপ্টিং ল্যাঙ্গুয়েজ" নামটি একটি সুনির্দিষ্ট ভূমিকার জন্য প্রযোজ্য: আপনি যে ভাষাটি কোনও বিদ্যমান সফ্টওয়্যার অ্যাপ্লিকেশনে প্রেরণের জন্য কমান্ড লেখেন। (একটি চিরাচরিত টিভি বা চলচ্চিত্র "স্ক্রিপ্ট" এর মতো)
উদাহরণস্বরূপ, একসময়, HTML ওয়েব পৃষ্ঠাগুলি বিরক্তিকর ছিল। তারা সবসময় স্থির ছিল। তারপরে একদিন নেটস্কেপ ভাবলো, "আরে, আমরা যদি ব্রাউজারটিকে পৃষ্ঠায় থাকা ছোট্ট কমান্ডগুলিকে পড়তে এবং এটিকে কাজ করতে দিই?" এবং এর মতোই জাভাস্ক্রিপ্ট গঠিত হয়েছিল।
একটি সাধারণ জাভাস্ক্রিপ্ট কমান্ড হ'ল alert()
কমান্ড, যা ব্রাউজারকে (একটি সফ্টওয়্যার অ্যাপ) নির্দেশ দেয় / নির্দেশ দেয় যা ওয়েবপৃষ্ঠাটি সতর্কতা প্রদর্শনের জন্য পড়ছে।
এখন, alert()
কোনও উপায়ে, সি ++ বা ব্রাউজারটি সতর্কতা প্রদর্শনের জন্য যে কোড কোড ভাষা ব্যবহার করে তা আসলে কী সম্পর্কিত? অবশ্যই না. .Html পৃষ্ঠায় "সতর্কতা ()" লিখেছেন এমন কারও ব্রাউজার আসলে কীভাবে সতর্কতা প্রদর্শন করে তা বোঝা যায় না। তিনি কেবল একটি আদেশ লিখছেন যা ব্রাউজারটি ব্যাখ্যা করবে।
আসুন সহজ জাভাস্ক্রিপ্ট কোড দেখুন
<script>
var x = 4
alert(x)
</script>
এগুলি হ'ল নির্দেশাবলী যা ব্রাউজারে প্রেরণ করা হয়, ব্রাউজারটি নিজের মধ্যে ব্যাখ্যা করতে। ব্রাউজারটি যে প্রোগ্রামিং ল্যাঙ্গুয়েজটির মধ্য দিয়ে যায় সেটি আসলে একটি ভেরিয়েবল 4 এ সেট করে এবং একটি সতর্কতার মধ্যে রাখে ... এটি জাভাস্ক্রিপ্টের সাথে সম্পূর্ণ সম্পর্কিত নয়।
আমরা সেই আদেশের শেষ সিরিজটিকে একটি "স্ক্রিপ্ট" বলি (যার কারণে এটি <script>
ট্যাগগুলিতে আবদ্ধ থাকে )। কেবল "স্ক্রিপ্ট" এর সংজ্ঞা অনুসারে, প্রচলিত অর্থে: অভিনেতাদের কাছে পাঠানো নির্দেশ ও আদেশের একটি সিরিজ । সকলেই জানেন যে চিত্রনাট্য (একটি চলচ্চিত্রের স্ক্রিপ্ট) উদাহরণস্বরূপ, একটি স্ক্রিপ্ট।
চিত্রনাট্য (স্ক্রিপ্ট) হয় না অভিনেতা, বা ক্যামেরা, বা বিশেষ প্রভাব। চিত্রনাট্য তাদের কী করতে হবে তা কেবল জানিয়ে দেয়।
এখন, একটি স্ক্রিপ্টিং ভাষা ঠিক কি?
অনেকগুলি প্রোগ্রামিং ভাষা রয়েছে যা একটি সরঞ্জাম বাক্সে বিভিন্ন সরঞ্জামের মতো; কিছু ভাষা স্ক্রিপ্ট হিসাবে ব্যবহার করার জন্য বিশেষভাবে ডিজাইন করা হয়েছিল ।
জাভাস্রিপ্ট একটি সুস্পষ্ট উদাহরণ; জাভাস্ক্রিপ্টের খুব কম অ্যাপ্লিকেশন রয়েছে যা স্ক্রিপ্টিংয়ের ক্ষেত্রের মধ্যে পড়ে না।
অ্যাকশনস্ক্রিপ্ট (ফ্ল্যাশ অ্যানিমেশনগুলির ভাষা) এবং এর ডেরিভেটিভগুলি স্ক্রিপ্টিং ভাষাগুলি রয়েছে যাতে তারা কেবল ফ্ল্যাশ প্লেয়ার / দোভাষীকে আদেশ দেয়। অবশ্যই, অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের মতো বিমূর্ততা রয়েছে তবে এটি কেবল শেষের উপায়: ফ্ল্যাশ প্লেয়ারকে আদেশ পাঠান।
পাইথন এবং রুবি সাধারণত স্ক্রিপ্টিং ভাষা হিসাবে ব্যবহৃত হয়। উদাহরণস্বরূপ, আমি একবার এমন একটি সংস্থার হয়ে কাজ করেছি যা রুবিকে স্ক্রিপ্ট কমান্ড ব্যবহার করে এমন একটি ব্রাউজার পাঠানোর জন্য যে "কিছু বেসিক অটোমেটেড টেস্টিং করতে" এই সাইটে যান, এই লিঙ্কটিতে ক্লিক করুন ... "এর লাইনে ছিল। আমার বয়স না কোনো উপায়ে একটি "সফ্টওয়্যার ডেভেলপার", যে কাজ করেন। আমি সবে স্ক্রিপ্ট লিখেছি যা ব্রাউজারে কমান্ড প্রেরণের জন্য কম্পিউটারে আদেশ পাঠিয়েছিল।
তাদের প্রকৃতির কারণে, স্ক্রিপ্টিং ভাষাগুলি খুব কমই 'সংকলিত' হয় - এটি মেশিন কোডে অনুবাদ করা হয় এবং সরাসরি কম্পিউটার দ্বারা পড়ে।
এমনকি পাইথন এবং রুবি থেকে তৈরি জিইউআই অ্যাপ্লিকেশন হ'ল সি ++ বা সি-তে লিখিত একটি এপিআইতে প্রেরণ করা স্ক্রিপ্টগুলি এটি সি অ্যাপটিকে কী করতে হবে তা জানায়।
অস্পষ্টতার একটি লাইন অবশ্যই আছে। আপনি কেন বলতে পারেন না যে মেশিন ল্যাঙ্গুয়েজ / সি স্ক্রিপ্টিং ভাষাগুলি, কারণ এগুলি স্ক্রিপ্ট যা কম্পিউটার বেসিক মাদারবোর্ড / গ্রাফিক্স কার্ড / চিপগুলির সাথে ইন্টারফেস করতে ব্যবহার করে?
আমরা স্পষ্ট করতে কিছু লাইন আঁকতে পারি:
আপনি যখন কোনও স্ক্রিপ্টিং ভাষা লিখতে এবং "সংকলন" না করে চালাতে পারেন, তখন এটি সরাসরি-স্ক্রিপ্টের ধরণের জিনিস। উদাহরণস্বরূপ, অভিনেতাদের কী করা উচিত তা জানাতে আপনার চিত্রনাট্য দিয়ে কিছু করার দরকার নেই। এটি ইতিমধ্যে রয়েছে, যেমন রয়েছে তেমনি ব্যবহৃত হয়েছে। এই কারণে, আমরা সংকলিত ভাষাগুলি স্ক্রিপ্টিং ভাষা বলা থেকে বাদ দেব , যদিও সেগুলি কিছু ক্ষেত্রে স্ক্রিপ্টিংয়ের জন্য ব্যবহার করা যেতে পারে।
স্ক্রিপ্টিং ভাষা বোঝায় একটি জটিল সফ্টওয়্যার অ্যাপ্লিকেশনকে প্রেরিত আদেশ আমরা স্ক্রিপ্টগুলি প্রথম স্থানে লেখার পুরো কারণটি - সুতরাং সফ্টওয়্যারটিতে কমান্ডগুলি প্রেরণে কীভাবে কাজ করে তার জটিলতাগুলি আপনার জানতে হবে না। সুতরাং, স্ক্রিপ্টিং ভাষাগুলি এমন ভাষাগুলি থাকে যা জটিল সফ্টওয়্যার অ্যাপ্লিকেশনগুলিতে (তুলনামূলকভাবে) সহজ কমান্ড প্রেরণ করে ... এই ক্ষেত্রে, মেশিনের ভাষা এবং অ্যাসেম্বলি কোড এটি কাটবে না।
আমি পরামর্শ দিতে পারি যে স্ক্রিপ্টিং ভাষাগুলি এমন একটি শব্দ ছিল যা প্রচুর লোক এড়িয়ে চলেছে। আমি বলতে চাই এটি আজকাল সংকলিত ভাষা এবং গতিশীল ভাষাগুলিতে বেশিরভাগ ফোটে।
আমি বলতে চাইছি আপনি সত্যই পাইথনের মতো কিছু বলতে পারবেন না, বা রুবি এই দিন এবং যুগে "স্ক্রিপ্টিং" ভাষা (আপনার কাছে আয়রন পাইথন এবং জেআইটি-আপনার পছন্দের-ভাষার মতো জিনিসও রয়েছে , পার্থক্যটি আরও ঝাপসা হয়ে গেছে)।
সত্যি কথা বলতে কি, ব্যক্তিগতভাবে আমি পিএইচপি কোনও স্ক্রিপ্টিং ভাষা বলে মনে করি না। আমি আশা করব না যে লোকেরা তাদের জীবনবৃত্তান্তে জাভা বলার চেয়ে পিএইচপি আলাদাভাবে শ্রেণীবদ্ধ করবে।
স্ক্রিপ্টিং ভাষাগুলি একটি স্ক্রিপ্টিং ইঞ্জিনের মধ্যে চলতে থাকে যা বৃহত্তর প্রয়োগের অংশ of উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট আপনার ব্রাউজারগুলির স্ক্রিপ্টিং ইঞ্জিনের অভ্যন্তরে চলে।
স্ক্রিপ্টিং ভাষা হ'ল এমন একটি ভাষা যা প্রতিবার স্ক্রিপ্টটি চালিত হওয়ার সাথে সাথে ব্যাখ্যা করা হয়, এর দ্বারা বোঝানো হয় যে একজন অনুবাদক রয়েছে এবং বেশিরভাগই খুব সহজেই মানব পঠনযোগ্য, স্ক্রিপ্টিংয়ের ভাষাটি দরকারী এবং শিখতে সহজ easy
প্রতিটি সংকলনীয় ভাষা একটি স্ক্রিপ্ট ভাষায় তৈরি করা যেতে পারে এবং বিপরীতভাবে এটি সমস্ত কোনও অনুবাদক বা সংকলক বাস্তবায়নের উপর নির্ভর করে, উদাহরণস্বরূপ সি ++ এর একটি দোভাষী থাকে তাই এটি যদি স্ক্রিপ্টের ভাষা বলা যায় তবে এটি সাধারণভাবে সি ++ হিসাবে ব্যবহারিক নয় একটি খুব জটিল ভাষা), বর্তমানে সর্বাধিক দরকারী স্ক্রিপ্ট ভাষা হ'ল পাইথন ...
সুতরাং আপনার প্রশ্নের উত্তর দেওয়ার জন্য সংজ্ঞাটি দ্রুত এবং সহজ স্ক্রিপ্টেড প্রোগ্রামগুলি চালনার জন্য দোভাষী ব্যবহারের উপর, সহজ কাজগুলি বা প্রোটোটাইপ অ্যাপ্লিকেশনগুলিকে সম্বোধন করার জন্য স্ক্রিপ্টের ভাষাগুলির দ্বারা সবচেয়ে শক্তিশালী ব্যবহার হ'ল প্রতিটি ব্যবহারের প্রসারের সম্ভাবনার অন্তর্ভুক্ত করা সংকলিত অ্যাপ্লিকেশন।
আমি পছন্দ করি যে লোকেরা "স্ক্রিপ্টিং ভাষা" শব্দটি ব্যবহার করবেন না কারণ আমি মনে করি যে এটি প্রচেষ্টা হ্রাস করে dim পার্লের মতো একটি ভাষা নিন যা প্রায়শই "স্ক্রিপ্টিং ভাষা" নামে পরিচিত।
আমাদের এমনকি জাভা সংকলিত এবং রুবি নয় এমন একটি ভাষার মধ্যে পার্থক্য করা দরকার কেন? লেবেলিংয়ের মূল্য কী?
এ সম্পর্কে আরও তথ্যের জন্য, http://xoa.petdance.com/Sop_saying_script দেখুন ।
একটি গুরুত্বপূর্ণ পার্থক্য হ'ল শক্তিশালী টাইপিং (বনাম দুর্বল টাইপিং )। স্ক্রিপ্টিং ল্যাঙ্গুয়েজগুলি প্রায়শই দুর্বলভাবে টাইপ করা হয় , যার ফলে ছোট প্রোগ্রাম আরও দ্রুত লেখা সম্ভব হয়। বড় প্রোগ্রামগুলির জন্য এটি একটি অসুবিধা, কারণ এটি সংযোজক / দোভাষীকে স্বতন্ত্রভাবে নির্দিষ্ট বাগগুলি খুঁজে পেতে বাধা দেয়, ফলে চুল্লী কোডটিকে খুব শক্ত করে তোলে to
স্ক্রিপ্টিং ভাষা হ'ল প্রোগ্রামিং ভাষাগুলি যেখানে প্রোগ্রামগুলি সাধারণত পাঠযোগ্য পাঠ্য আকারে শেষ ব্যবহারকারীদের কাছে সরবরাহ করা হয় এবং যেখানে এমন কোনও প্রোগ্রাম রয়েছে যা স্পষ্টতই সেই প্রোগ্রামটি সরাসরি চালিত করতে পারে। (প্রোগ্রামটি স্ক্রিপ্টটি অভ্যন্তরীণভাবে ভালভাবে সংকলন করতে পারে; এটি এখানে প্রাসঙ্গিক নয় কারণ এটি ব্যবহারকারীর কাছে দৃশ্যমান নয়))
স্ক্রিপ্টিং ভাষাগুলি একটি ইন্টারেক্টিভ সেশনকে সমর্থন করতে সক্ষম হওয়ার জন্য তুলনামূলকভাবে সাধারণ, যেখানে ব্যবহারকারীরা কেবল তাদের প্রোগ্রামে টাইপ করতে পারেন এবং তা অবিলম্বে সম্পাদন করতে পারেন। এটি কারণ প্রথম অনুচ্ছেদ থেকে প্রয়োজনীয় প্রয়োজনীয়তার একটি তুচ্ছ এক্সটেনশন; প্রধান অতিরিক্ত প্রয়োজনীয়তা হ'ল টাইপ-ইন স্টেটমেন্টটি সম্পূর্ণ হওয়ার পরে এটি নির্ধারণের জন্য একটি প্রক্রিয়া যুক্ত করা যাতে এটি কার্যকর করার ইঞ্জিনে প্রেরণ করা যায়।
কিছুটা আলাদা করার জন্য প্রশ্নটি গ্রহণ করুন। একটি স্ক্রিপ্টিং ভাষা একটি প্রোগ্রামিং ভাষা তবে একটি প্রোগ্রামিং ভাষা অগত্যা স্ক্রিপ্টিং ভাষা নয়। একটি স্ক্রিপ্টিং ভাষা কোনও সিস্টেমকে নিয়ন্ত্রণ করতে বা স্ক্রিপ্ট করতে ব্যবহৃত হয়। এই সিস্টেমটি একটি অপারেটিং সিস্টেম হতে পারে যেখানে স্ক্রিপ্টিং ভাষা বাশ হবে। সিস্টেমটি পিএইচপি স্ক্রিপ্টিং ভাষার সাথে একটি ওয়েব সার্ভার হতে পারে। স্ক্রিপ্টিং ভাষাগুলি একটি নির্দিষ্ট কুলুঙ্গি পূরণের জন্য ডিজাইন করা হয়েছে; তারা ডোমেন নির্দিষ্ট ভাষা। ইন্টারেক্টিভ সিস্টেমগুলি স্ক্রিপ্টিং ভাষাগুলির ব্যাখ্যা করেছে যে স্ক্রিপ্টিং ভাষাগুলি ব্যাখ্যা করা হয় এই ধারণার জন্ম দেয়; তবে এটি স্ক্রিপ্টিং ভাষা নয়, এটি সিস্টেমের পরিণতি।
একটি স্ক্রিপ্টিং ভাষা এমন একটি ভাষা যা বিদ্যমান প্রোগ্রামকে কনফিগার করে বা প্রসারিত করে।
একটি স্ক্রিপ্টিং ভাষা একটি প্রোগ্রামিং ভাষা।
"স্ক্রিপ্টিং ভাষা" এর সংজ্ঞাটি বেশ মজাদার f আমি এটি নিম্নলিখিত বিবেচনার ভিত্তিতে করব:
স্ক্রিপ্টিং ভাষাগুলিতে সাধারণত ব্যবহারকারী-দৃশ্যমান সংকলন পদক্ষেপ থাকে না। সাধারণত ব্যবহারকারী কেবল একটি সহজ কমান্ডে প্রোগ্রাম চালাতে পারেন।
স্ক্রিপ্টিং ভাষার প্রোগ্রামগুলি সাধারণত উত্স আকারে চলে যায় around
স্ক্রিপ্টিং ভাষায় সাধারণত রানটাইম থাকে যা প্রচুর সংখ্যক সিস্টেমে উপস্থিত থাকে এবং বেশিরভাগ সিস্টেমে রানটাইমগুলি সহজেই ইনস্টল করা যায়।
স্ক্রিপ্টিং ভাষাগুলি ক্রস প্ল্যাটফর্ম এবং মেশিন-নির্দিষ্ট নয়।
স্ক্রিপ্টিং ভাষাগুলি অপারেটিং সিস্টেমের সাথে অন্যান্য প্রোগ্রাম এবং ইন্টারফেসকে কল করা সহজ করে।
স্ক্রিপ্টিং ভাষাগুলি সাধারণত আরও প্রচলিত প্রোগ্রামিং ভাষায় লিখিত বৃহত্তর সিস্টেমে সহজেই এম্বেডযোগ্য হয়।
স্ক্রিপ্টিং ল্যাঙ্গুয়েজগুলি সাধারণত প্রোগ্রামিংয়ের স্বাচ্ছন্দ্যের জন্য ডিজাইন করা হয় এবং সম্পাদনের গতির পক্ষে খুব কম বিবেচনা করা হয়। (আপনি যদি দ্রুত সম্পাদন করতে চান তবে সাধারণ পরামর্শটি হ'ল সময়সাপেক্ষ অংশগুলিকে সি এর মতো কিছুতে কোড করা এবং ভাষাটি সিতে এম্বেড করুন বা ভাষা থেকে সি বিট কল করুন))
আমি উপরে উল্লিখিত কয়েকটি বৈশিষ্ট্য বাস্তবায়নের ক্ষেত্রে সত্য, সেই ক্ষেত্রে আমি আরও সাধারণ প্রয়োগগুলি উল্লেখ করছি। (এএফাইক) সহ সি দোভাষী রয়েছে, কোনও স্পষ্ট সংকলন পদক্ষেপ নেই, তবে এটি বেশিরভাগ সি বাস্তবায়নের ক্ষেত্রে সত্য নয়। আপনি অবশ্যই পার্ল প্রোগ্রামটি দেশীয় কোডে সংকলন করতে পারেন, তবে এটি সাধারণত ব্যবহার হয় না। কিছু অন্যান্য বৈশিষ্ট্য প্রকৃতির সামাজিক। উপরের কিছু মানদণ্ড কিছুটা ওভারল্যাপ করে। আমি যেমন বলেছি, সংজ্ঞাটি অস্পষ্ট।
আমি বলব স্ক্রিপ্টিং ভাষা হ'ল একটি ভারীভাবে হেরফেরকারী সত্তা যা এটি নিজেরাই সংজ্ঞায়িত করে না। উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট ব্রাউজারের সরবরাহিত ডিওএম অবজেক্টগুলিকে ম্যানিপুলেট করে, পিএইচপি সি-ভিত্তিক ফাংশনগুলির বিশাল গ্রন্থাগার পরিচালনা করে। অবশ্যই একটি সুনির্দিষ্ট সংজ্ঞা নয়, এটি ভাবার আরও বেশি উপায়।
এটি সিপিইউতে / চালিত না হলে , এটি আমার কাছে একটি স্ক্রিপ্ট। যদি কোনও দোভাষীকে প্রোগ্রামের নীচে সিপিইউতে চালানো দরকার হয়, তবে এটি একটি স্ক্রিপ্ট এবং স্ক্রিপ্টিং ভাষা।
এটিকে আরও জটিল করার কোনও কারণ নেই?
অবশ্যই, বেশিরভাগ (99%) ক্ষেত্রে, এটি স্পষ্ট যে কোনও ভাষা কোনও স্ক্রিপ্টিং ভাষা কিনা। তবে বিবেচনা করুন যে উদাহরণস্বরূপ কোনও ভিএম x86 নির্দেশিকা সেট অনুকরণ করতে পারে। এটি কোনও ভিএম-তে চালিত হওয়ার সময় x86 বাইট কোড করে কোনও স্ক্রিপ্টিং ভাষা তৈরি করবে না? যদি কেউ এমন একটি সংকলক লিখতে থাকে যা পার্ল কোডকে একটি দেশীয় নির্বাহযোগ্যে পরিণত করে? এই ক্ষেত্রে, আমি ভাষাটি আর কী বলতে পারি তা জানতাম না। এটি আউটপুট হতে পারে যা ভাষার জন্য নয়।
তারপরে আবার, আমি এই জাতীয় কাজটি করা সম্পর্কে সচেতন নই, তাই আপাতত আমি এখনও ব্যাখ্যামূলক ভাষাগুলি স্ক্রিপ্টিং ভাষায় কল করতে স্বাচ্ছন্দ্য বোধ করি।
একটি স্ক্রিপ্ট একটি অপেক্ষাকৃত ছোট প্রোগ্রাম। একটি সিস্টেম হ'ল তুলনামূলকভাবে বড় প্রোগ্রাম বা তুলনামূলকভাবে বড় প্রোগ্রামগুলির সংকলন ।
কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ এমন বৈশিষ্ট্যগুলির সাথে ডিজাইন করা হয়েছে যেগুলি ভাষা ডিজাইনার এবং প্রোগ্রামিং সম্প্রদায় তুলনামূলকভাবে ছোট প্রোগ্রামগুলি লেখার সময় দরকারী বলে মনে করে। এই প্রোগ্রামিং ভাষাগুলি স্ক্রিপ্টিং ভাষা হিসাবে পরিচিত , যেমন পিএইচপি।
একইভাবে, অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি এমন বৈশিষ্ট্যগুলির সাথে ডিজাইন করা হয়েছে যেগুলি ভাষা ডিজাইনার এবং প্রোগ্রামিং সম্প্রদায় তুলনামূলকভাবে বড় প্রোগ্রামগুলি লেখার সময় দরকারী বলে মনে করে। এই প্রোগ্রামিং ভাষাগুলি সিস্টেমের ভাষা হিসাবে পরিচিত , যেমন জাভা।
এখন, ছোট এবং বড় প্রোগ্রামগুলি যে কোনও ভাষায় লেখা যেতে পারে। একটি ছোট জাভা প্রোগ্রাম একটি স্ক্রিপ্ট। উদাহরণস্বরূপ, একটি জাভা "হ্যালো ওয়ার্ল্ড" প্রোগ্রাম একটি স্ক্রিপ্ট, কোনও সিস্টেম নয়। পিএইচপিতে লিখিত একটি বৃহত প্রোগ্রাম বা প্রোগ্রামগুলির সংগ্রহ একটি সিস্টেম is উদাহরণস্বরূপ, পিএইচপিতে লেখা ফেসবুক একটি স্ক্রিপ্ট নয়, একটি সিস্টেম।
স্ক্রিপ্টিং বা সিস্টেম প্রোগ্রামিংয়ের জন্য ভাষাটি সবচেয়ে উপযুক্ত কিনা তা সিদ্ধান্ত নেওয়ার জন্য একটি একক ভাষার বৈশিষ্ট্যকে "লিটমাস টেস্ট" হিসাবে বিবেচনা করা প্রশ্নবিদ্ধ। উদাহরণস্বরূপ, স্ক্রিপ্টগুলি বাইট কোড বা মেশিন কোডে সংকলিত হতে পারে, বা এগুলি সরাসরি বিমূর্ত সিনট্যাক্স ট্রি (এএসটি) ব্যাখ্যার দ্বারা কার্যকর করা যেতে পারে।
সুতরাং, কোনও ভাষা হ'ল স্ক্রিপ্টিং ভাষা যদি সাধারণত স্ক্রিপ্টগুলি লেখার জন্য ব্যবহৃত হয় । একটি স্ক্রিপ্টিং ভাষা সিস্টেম লিখতে ব্যবহৃত হতে পারে, তবে এই জাতীয় অ্যাপ্লিকেশনগুলি সন্দেহজনক বলে মনে করা যেতে পারে।