Third-generation programming language
তৃতীয় প্রজন্মের প্রোগ্রামিং ভাষা (থ্রিজিএল) একটি উচ্চ-স্তরের কম্পিউটার প্রোগ্রামিং ভাষা যা প্রথম প্রজন্মের মেশিন কোড এবং দ্বিতীয় প্রজন্মের অ্যাসেম্বলি ভাষার তুলনায় বেশি মেশিন-স্বাধীন এবং প্রোগ্রামার-বান্ধব হতে থাকে, যদিও চতুর্থ এবং পঞ্চম প্রজন্মের জন্য কম নির্দিষ্ট ফোকাস থাকে। সাধারণ এবং ঐতিহাসিক তৃতীয় প্রজন্মের প্রোগ্রামিং ভাষার উদাহরণ হল এএলজিওএল, বেসিক, সি, কোবোল, ফোরট্রান, জাভা এবং পাস্কাল। বৈশিষ্ট্য 3জিএলগুলি অনেক বেশি মেশিন-স্বাধীন এবং আরও বেশি প্রোগ্রামার-বান্ধব। এর মধ্যে রয়েছে সামগ্রিক ডেটা প্রকারের জন্য উন্নত সমর্থন এবং ধারণাগুলি এমনভাবে প্রকাশ করার মতো বৈশিষ্ট্য যা কম্পিউটারকে নয়, প্রোগ্রামারকে সমর্থন করে। কম্পিউটারকে অপ্রয়োজনীয় বিবরণের যত্ন নেওয়ার মাধ্যমে একটি তৃতীয় প্রজন্মের ভাষা দ্বিতীয় প্রজন্মের ভাষার তুলনায় উন্নত হয়। 3জিএলগুলি পূর্ববর্তী প্রজন্মের ভাষার তুলনায় বেশি বিমূর্ত এবং তাই তাদের প্রথম এবং দ্বিতীয় প্রজন্মের সমকক্ষদের তুলনায় উচ্চ-স্তরের ভাষা হিসাবে বিবেচিত হতে পারে। 1950-এর দশকের শেষের দিকে প্রথম প্রবর্তিত, ফোরট্রান, এএলজিওএল এবং কোবোল প্রাথমিক 3জিএল-এর উদাহরণ। বর্তমানে সি, সি + +, সি #, জাভা, বেসিক এবং পাস্কাল-এর মতো সর্বাধিক জনপ্রিয় সাধারণ-উদ্দেশ্যমূলক ভাষাগুলিও তৃতীয় প্রজন্মের ভাষা, যদিও এই ভাষাগুলির প্রত্যেকটিকে অন্যান্য সমসাময়িক বৈশিষ্ট্যের উপর ভিত্তি করে অন্যান্য বিভাগে বিভক্ত করা যেতে পারে। বেশিরভাগ থ্রিজিএল কাঠামোগত প্রোগ্রামিং সমর্থন করে। অনেকে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সমর্থন করে। এই ধরনের বৈশিষ্ট্যগুলি প্রায়শই একটি 3জিএল হওয়ার পরিবর্তে একটি ভাষা বর্ণনা করতে ব্যবহৃত হয়। সি, ফোরট্রান বা পাস্কেলের মতো একটি প্রোগ্রামিং ভাষা একজন প্রোগ্রামারকে এমন প্রোগ্রাম লিখতে সক্ষম করে যা একটি নির্দিষ্ট ধরনের কম্পিউটার থেকে কমবেশি স্বাধীন। এই ধরনের ভাষাগুলিকে উচ্চ-স্তরের হিসাবে বিবেচনা করা হয় কারণ এগুলি মানুষের ভাষার কাছাকাছি এবং যান্ত্রিক ভাষার থেকে আরও দূরে এবং তাই এগুলির সংকলন বা ব্যাখ্যার প্রয়োজন হয়। এর বিপরীতে, যান্ত্রিক ভাষাগুলিকে নিম্ন-স্তর হিসাবে বিবেচনা করা হয় কারণ এগুলি আরও অনুবাদের প্রয়োজন ছাড়াই শারীরিক হার্ডওয়্যার দ্বারা ডিজাইন এবং কার্যকর করা হয়। নিম্ন-স্তরের ভাষার তুলনায় উচ্চ-স্তরের ভাষার প্রধান সুবিধা হল এগুলি পড়া, লেখা এবং রক্ষণাবেক্ষণ করা সহজ। পরিশেষে, একটি উচ্চ-স্তরের ভাষায় লেখা প্রোগ্রামগুলি অবশ্যই একটি সংকলক দ্বারা যান্ত্রিক ভাষায় বা সরাসরি একজন দোভাষী দ্বারা আচরণে অনুবাদ করতে হবে। এই প্রোগ্রামগুলি বিভিন্ন মেশিনে চলতে পারে (এগুলি বহনযোগ্য) তাই এগুলি মেশিন-স্বাধীন ছিল। নতুন, আরও বিমূর্ত ভাষাগুলি বিকশিত হওয়ার সাথে সাথে উচ্চ এবং নিম্ন-স্তরের ভাষার ধারণাটি তুলনামূলক হয়ে উঠেছে। পাইথন, রুবি এবং কমন লিস্পের মতো ভাষার তুলনায় প্রাথমিক "উচ্চ-স্তরের" অনেক ভাষাকে এখন তুলনামূলকভাবে নিম্ন-স্তরের হিসাবে বিবেচনা করা হয়, যেগুলির চতুর্থ প্রজন্মের প্রোগ্রামিং ভাষার কিছু বৈশিষ্ট্য রয়েছে এবং 1990-এর দশকে খুব উচ্চ-স্তরের প্রোগ্রামিং ভাষা বলা হত। আরও দেখুন প্রোগ্রামিং ভাষা প্রজন্মের ডোমেন-নির্দিষ্ট প্রোগ্রামিং ভাষা রেফারেন্স প্রোগ্রামিং ভাষা শ্রেণিবিন্যাস