সাধারণভাবে প্রোগ্রামিং ভাষাগুলি কী কী?
প্রোগ্রামিং ভাষা কম্পিউটারের সাথে কথা বলার একমাত্র উপায় a মোটামুটিভাবে প্রথমে বলছি কারণ কম্পিউটারগুলি কেবল শূন্য এবং সেগুলি বুঝতে পারে (কম্পিউটারগুলি ট্রানজিস্টরগুলি তৈরি করা হয় যা সুইচ হিসাবে কেবল দুটি রাষ্ট্র নিতে পারে, আমরা এই দুটি রাজ্যকে 0 এবং 1 বলি) এবং 0,1 নিয়ে কাজ করা কঠিন ছিল মানুষ হিসাবে আমাদের তাই কম্পিউটার বিজ্ঞানীরা বাইনারি (0,1) এর প্রতিটি নির্দেশনা থেকে আরও বেশি মানব পাঠযোগ্য আকারে এক থেকে এক ম্যাপিং করার সিদ্ধান্ত নিয়েছিলেন যা তারা এটিকে সমাবেশ ভাষা বলে।
উদাহরণস্বরূপ যদি আমাদের মতো কোনও নির্দেশ থাকে:
11001101
সমাবেশে এটি বলা হবে:
লোড_এ 15
যার অর্থ নিবন্ধের লিখিত সামগ্রীটি মেমোরি অবস্থানের মধ্যে লোড করুন ১৫. আমি যেমন বলেছিলাম যে এটি ট্রানজিস্টরের দুটি রাজ্যের জন্য কম্পিউটার এবং কম্পিউটারের অন্য কোনও কিছুর জন্য 0 এবং 1 বাছাই করার মত একটি কনভেনশন ছিল 50 নির্দেশাবলীর সাথে এইভাবে একটি প্রোগ্রাম রয়েছে, সমাবেশ ভাষা মনে রাখা সহজ হবে। সুতরাং ব্যবহারকারী অ্যাসেম্বলি কোডটি লিখতেন এবং কিছু প্রোগ্রাম (এই ক্ষেত্রে এসেমব্লার) কোডগুলি বাইনারি নির্দেশাবলী বা মেশিন ল্যাঙ্গুয়েজে তারা অনুবাদ করার সাথে সাথে অনুবাদ করবে।
তবে তারপরে কম্পিউটারগুলি প্রতিদিন উন্নত হওয়ার সাথে সাথে আরও নির্দেশাবলীর সাথে আরও জটিল প্রোগ্রামগুলির জন্য জায়গা ছিল, 10000 বলুন।
এক্ষেত্রে সমাবেশের মতো ওয়ান টু ওয়ান ম্যাপিং কাজ করবে না, তাই অন্যান্য উচ্চ স্তরের প্রোগ্রামিং ভাষা তৈরি করা হয়েছিল। তারা উদাহরণস্বরূপ বলেছে যে যদি ব্যবহারকারী দ্বারা নির্মিত স্ক্রিনে কিছু মুদ্রণের জন্য I / O ডিভাইসের সাথে কোনও সম্পর্কের জন্য প্রায় 80 টি নির্দেশনা লাগে তবে আসুন এখানে কিছু করা যাক এবং আমরা এই কোডটি একটি লাইব্রেরিতে প্যাকেজ করতে পারি এবং উদাহরণস্বরূপ এটি প্রিন্টএফ কল করতে পারি এবং আরও একটি প্রোগ্রাম তৈরি করুন যা এখানে এই প্রিন্টফের সাথে সম্পর্কিত বিধানসভা কোডটি অনুবাদ করতে পারে এবং সেখান থেকে সমাবেশটি বাকী কাজটি করে do তাই তারা এটিকে সংকলক বলে।
সুতরাং এখন প্রতিটি ব্যবহারকারী যে কেবল পর্দায় কিছু মুদ্রণ করতে চান তাকে বাইনারি বা অ্যাসেমব্লিতে সমস্ত নির্দেশাবলী লিখতে হবে না তিনি কেবল প্রিন্টফ ("কিছু") টাইপ করেন এবং সংকলক এবং এসেম্বলারের মতো সমস্ত প্রোগ্রাম বাকী কাজটি করে। এখন পরবর্তী সময়ে অন্যান্য লম্বা কোডগুলি ঠিক একইভাবে প্যাকেজ করা হবে কেবলমাত্র অন্য ব্যক্তির কাজের সুবিধার্থে যেমন আপনি দেখতে পাচ্ছেন যে আপনি পাইথনের এক কোডে কয়েক হাজার লাইন কোড সহজ করতে পারেন এবং অন্যান্য লোকের ব্যবহারের জন্য এটি প্যাক করতে পারেন।
সুতরাং আসুন আমরা বলি যে আপনি অজগরটিতে প্রচুর বিভিন্ন কোড প্যাক করেছেন এবং একটি মডিউল তৈরি করেছেন (লাইব্রে, প্যাকেজ বা আপনি যেটিকে কল করতে চান) এবং আপনি সেই মডিউলটিকে এমগি (কেবল আমার নাম) কল করেন। এখন বলা যাক আমরা এই এমএগিকে একরকম তৈরি করেছি যে যে কেউ বলে:
import mgh
mgh.connect(ip,port.data)...
নির্দিষ্ট আইপি এবং পোর্ট নম্বর সহ সহজেই কোনও দূরবর্তী সার্ভারের সাথে সংযোগ স্থাপন করতে পারে এবং পরে ডেটা প্রেরণ করতে পারে (বা এর মতো কিছু)) এখন লোকেরা একটি একক লাইন ব্যবহার করে এটি সব করতে পারে, তবে যা ঘটে তা হ'ল প্রচুর কোডগুলি কার্যকর হয়ে যাচ্ছে যা এমএইচ ফাইল থেকে পুনরুদ্ধার করা হয়েছে। এবং প্যাকেজিং এটি কার্যকর করার প্রক্রিয়াটি দ্রুত করার জন্য নয় বরং অন্যান্য প্রোগ্রামারদের কাজের সুবিধার্থে করা হয়েছে। সুতরাং এখানে যদি কেউ আপনার কোডটি ব্যবহার করতে চায় তবে তার আগে ফাইলটি আমদানি করা উচিত এবং তারপরে পাইথন ইন্টারপ্রেটার এতে সমস্ত কোড সনাক্ত করতে পারে এবং তাই কোডটি ব্যাখ্যা করতে পারে।
এখন আপনি যদি কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করতে চান এবং আপনি এটিকে সম্পাদন করতে চান, প্রথমে এর একটি অনুবাদ দরকার, উদাহরণস্বরূপ বলা যাক আপনি এমন একটি প্রোগ্রাম তৈরি করেছেন যা বাক্য বাক্যটি বুঝতে পারে এবং সিতে রূপান্তর করতে পারে, অনুবাদ করার পরে এই ক্ষেত্রে সি তে, বাকীগুলির যত্ন নেওয়া হবে, সি সংকলক দ্বারা, তারপরে এসেম্বলার, লিঙ্কার, ...। যদিও আপনাকে প্রথমে সিতে রূপান্তর করতে হবে তাই আপনাকে ধীর গতির দাম দিতে হবে।
এখন আর একটি জিনিস যা আপনি করতে পারেন তা হ'ল এমন একটি প্রোগ্রাম তৈরি করা যা সমস্ত কোডকে সমতুল্য ভাষায় অনুবাদ করতে পারে ঠিক যেমন সি এর সাথে ঘটেছিল তবে এই ক্ষেত্রে প্রোগ্রামটি সরাসরি এটি করতে পারে এবং সেখান থেকে বাকী সমস্ত কাজ সম্পন্ন করবে linker। আমরা জানি যে এই প্রোগ্রামটিকে সংকলক বলা হয়।
সুতরাং আমি যে বিষয়ে কথা বলছি তা হ'ল, কেবলমাত্র কোডটি সিস্টেমটি বোঝে 0,1, সুতরাং কোনওরকমভাবে আপনাকে সেই সিন্ট্যাক্সটি রূপান্তর করতে হবে, এখন আমাদের অপারেটিং সিস্টেমে অনেকগুলি বিভিন্ন প্রোগ্রাম যেমন এসেম্বলার, লিঙ্কার এবং ... আছে আপনাকে বলার জন্য তৈরি করা হয়েছে যে আপনি যদি আপনার কোডটি অ্যাসেম্বলিতে রূপান্তর করতে পারেন তবে তারা বাকীগুলির যত্ন নিতে পারে বা আমি বলেছি আপনি এমনকি আপনার কোডটিকে সেই ভাষায় রূপান্তর করে অন্যান্য প্রোগ্রামিং ভাষার সংকলকগুলিও ব্যবহার করতে পারেন।