একটি স্ক্রিপ্টিং ভাষা এবং একটি সাধারণ প্রোগ্রামিং ভাষার মধ্যে পার্থক্য কী?


20

প্রোগ্রামিং ভাষা এবং একটি স্ক্রিপ্টিং ভাষার মধ্যে পার্থক্য কী? উদাহরণস্বরূপ, পার্স বনাম সি বিবেচনা করুন।

একমাত্র পার্থক্য যে স্ক্রিপ্টিং ভাষার জন্য কেবলমাত্র দোভাষী প্রয়োজন এবং সংকলন এবং লিঙ্কিংয়ের প্রয়োজন নেই?


4
আমি আশঙ্কা করছি এটি এখানে অফটোপিক; আপনি যা জানতে চান তা নিখুঁতভাবে ভাষা প্রয়োগের বিষয়। এটি অগভীর / মতামত উত্তরগুলিও আকর্ষণ করে বলে মনে হচ্ছে (আপনার প্রতি দোষ নয়), যা সর্বদা একটি লাল পতাকা।
রাফায়েল

সংকলিত ভাষার জন্য হার্ডওয়্যার একটি "দোভাষী"। তবে কেবলমাত্র তফাত হ'ল আপনি কতজন দোভাষীর মধ্য দিয়ে যাচ্ছেন। যদি মেশিনটি ট্যুরিং সমতুল্য হয় এবং আপনি কোন ভাষা ব্যবহার করেন যা টুরিং সমতুল্য হয়, আপনি Aভাষায় একটি সংকলিত দোভাষী লিখতে পারেন, তারপরে Bযে অনুবাদক সম্পাদন Aকরতে পারেন সেই ভাষায় একটি অনুবাদক লিখতে পারেন, তারপরে Cযে ভাষায় অনুবাদক সম্পাদন Bকরতে পারেন , ইত্যাদি। মূলত, এটি সমস্ত দিকনির্দেশের বিষয়, যা গণনার তাত্ত্বিক ভিত্তির সাথে কম এবং ব্যবহারিক প্রকৌশল সংক্রান্ত উদ্বেগগুলির সাথে আরও কিছু করতে পারে।
প্যাট্রিক 87

বেতন (প্রাক-ডিভোপস)
ফিল লেলো

উত্তর:


21

আমি মনে করি ভাষার ব্যবহারের সাথে এই পার্থক্যটির আরও অনেক কিছু আছে।

উদাহরণস্বরূপ, পাইথনকে ব্যাখ্যা করা হয় এবং প্রোগোল অনুসারে সংকলন এবং লিঙ্কিংয়ের প্রয়োজন হয় না। আমি উভয় প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে শ্রেণিবদ্ধ করব।

প্রোগ্রামিং langauges সফ্টওয়্যার লেখার জন্য বোঝানো হয়। তারা বড় প্রকল্প পরিচালনার জন্য ডিজাইন করা হয়েছে। তারা সম্ভবত প্রোগ্রামগুলিতে কল করতে পারে, ফাইল পড়তে পারে, ইত্যাদি, তবে স্ক্রিপ্টিং ভাষার মতো এটি তেমন ভাল নাও হতে পারে।

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

উদাহরণস্বরূপ, বাশ পাটিগণিত সুন্দরভাবে করেন না, এটি সম্ভবত এটি বড় আকারের সফ্টওয়্যার লেখার জন্য একটি দুঃস্বপ্ন বলে।

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

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


1
বাস্তব জীবনের উদাহরণের জন্য +1: আমি ব্যাচ-পুনর্নামকরণের কার্য সম্পাদন করতে C ++ ব্যবহার করতে বাধ্য হওয়ার কথা ভাবতে পারি না!
কেসি কুবাল

3
আপনি কোনও ধারণাগত পার্থক্য বর্ণনা করেন না, কেবলমাত্র সম্পর্কিত ব্যবহারের ক্ষেত্রে জনপ্রিয় মতামত।
রাফেল

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

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

3
@ রাফেল এটি মূল বিষয়: এখানে কোনও ধারণাগত পার্থক্য নেই। সংকলন-বনাম রান-টাইমে আপনি যা করতে পারেন তা মূলত বর্ণিত বনাম সংকলিত একটি বিষয়, এবং এটি বাস্তবায়নের একটি সম্পত্তি, ভাষা নয় (যদিও ভাষা নকশা একটি নির্দিষ্ট বাস্তবায়ন মডেলকে কঠিন করে তুলতে পারে)।
গিলস 'অশুভ হওয়া বন্ধ করুন'

6

স্ক্রিপ্টিং ভাষার উপর ক্লাসিক নিবন্ধটি হ'ল জন কে। অস্টারহাউটের স্ক্রিপ্টিং: একবিংশ শতাব্দীর জন্য উচ্চ-স্তরের প্রোগ্রামিং , কম্পিউটার ৩১ (৩), ১৯৯৯ সালে প্রকাশিত। তিনি একদিকে স্ক্রিপ্টিং ভাষার, এবং সিস্টেম প্রোগ্রামিং ভাষার মধ্যে পার্থক্য আঁকেন। অন্যটি.

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

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

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

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


2

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

কোনও ভাষার স্ক্রিপ্টিং ভাষা হিসাবে শ্রেণীবদ্ধ করা বোঝায় যে এটি "আঠালো" ভাষা হিসাবে কার্যকর। স্ক্রিপ্টগুলি পুরো বৈশিষ্ট্যযুক্ত প্রোগ্রাম হিসাবে ঝোঁক করে না, পরিবর্তে সফ্টওয়্যারটির অন্যান্য অংশের মধ্যে ফাঁক পূরণ করে।

স্ক্রিপ্টগুলি সাধারণত একাধিক প্রোগ্রাম একসাথে সংযুক্ত করতে, খুব দ্রুত / সহজেই মেনালগুলি সম্পাদন করতে বা এমন এম্বেডযুক্ত পরিবেশে ব্যবহার করা হয় যেখানে কর্মক্ষমতা এবং সুরক্ষা উদ্বেগগুলি নিম্ন স্তরের ভাষায় বিমৃত হয়। ভাষার স্ক্রিপ্টিং জোর উন্নয়নের সময় হ্রাস করার দিকে ঝোঁক থাকে, যার কারণটি সবচেয়ে বেশি ব্যাখ্যা করা হয় এবং খুব উচ্চ স্তরের।


আপনি কোনও ধারণাগত পার্থক্য বর্ণনা করেন না, কেবলমাত্র সম্পর্কিত ব্যবহারের ক্ষেত্রে জনপ্রিয় মতামত।
রাফেল

1

সেট 'স্ক্রিপ্টিং ল্যাঙ্গুয়েজস' সেট 'প্রোগ্রামিং ল্যাঙ্গুয়েজ'-এর উপসেট। সি এবং পার্লের মধ্যে পার্থক্য হ'ল সিস্টেম প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং অ্যাপ্লিকেশন ভাষার এবং তাত্পর্যযুক্ত ভাষা এবং সংকলিত ভাষার মধ্যে পার্থক্য।

সিস্টেম প্রোগ্রামিং ভাষাগুলি নিম্ন-স্তরের এবং মেমরি পরিচালনা, অনুমানযোগ্য আইও এবং এর দিকে লক্ষ্য করে। অ্যাপ্লিকেশন ভাষাগুলি উচ্চ-স্তরের সমস্যার দ্রুত সমাধানের দিকে লক্ষ্য করে, যেমন 'ফাইল থেকে পাঠ্য সেটিং, ওপেন সকেট এবং সেটিংস অনুসারে অনুরোধগুলি প্রক্রিয়া করা'।

সুতরাং, অ্যাপ্লিকেশন ভাষাগুলি অনেক উচ্চ-স্তরের হয়ে থাকে, তারপরে সিস্টেমের ভাষাগুলি ie

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

সুতরাং, সমস্ত স্ক্রিপ্টিং ভাষা হ'ল অ্যাপ্লিকেশন ভাষা, তবে বিপরীতটি সত্য নয়। সিস্টেমের ভাষা সর্বদা সংকলিত ভাষা হয়, কারণ স্ক্রিপ্টিং ভাষাগুলিতে সাধারণত বৈশিষ্ট্যগুলি অন্তর্ভুক্ত থাকে, যেগুলি ভাষাটির ক্ষেত্রেই প্রয়োগ করার পক্ষে ব্যবহারিক নয়। নোট, তবে, স্ক্রিপ্টিং (ব্যাখ্যা করা) / সংকলিত পার্থক্য বাস্তবায়ন সম্পর্কে আরও: কিছু ভাষার ক্ষেত্রে উভয় প্রকারের বাস্তবায়ন থাকতে পারে, যেমন হ্যাশেল হিসাবে।


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

1

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

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


0

একটি পার্থক্য যা আমি এখনও দেখিনি, তা হ'ল উদ্দেশ্য হিসাবে ব্যবহৃত হওয়ার পরে, বেশিরভাগ স্ক্রিপ্টগুলির সম্পাদনার সময় "ম্যাক্রোস্কোপিক" অপারেশন দ্বারা প্রভাবিত হবে এবং মাইক্রোস্কোপিক ক্রিয়াকলাপের কার্যকারিতা সামগ্রিক মৃত্যুদণ্ডের সময়টিতে উল্লেখযোগ্য প্রভাব ফেলবে না। উদাহরণস্বরূপ, যদি রে-ট্রেসিং অ্যানিমেশন প্রোগ্রামটিতে "রেন্ডার চিত্র" বিবৃতি সহ একটি স্ক্রিপ্টিং ভাষা অন্তর্ভুক্ত থাকে তবে 240 ফ্রেম অ্যানিমেশন তৈরির জন্য একটি স্ক্রিপ্ট "চিত্রের রেন্ডার" বিবৃতিতে চার ঘন্টা ব্যয় করতে পারে এবং মোট চার সেকেন্ডের কাজ করে অন্য সব কিছুর. এমনকি যদি কেউ এক মিলিয়নের ফ্যাক্টর দ্বারা রেন্ডারিং ইঞ্জিনের বাইরে সমস্ত কিছু গতিময় করে তুলতে পারে তবে রেন্ডারিং ইঞ্জিনকে 0.1% গতি বাড়ানোর চেয়ে সামগ্রিক পারফরম্যান্সে এর কম প্রভাব পড়বে।

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