বিষয়বস্তুতে চলুন

প্রোগ্রামিংয়ের মৌলিক ধারণা/ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট

উইকিবই থেকে

সারাংশ

[সম্পাদনা]

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

আলোচনা

[সম্পাদনা]

হাই-লেভেল ল্যাঙ্গুয়েজ প্রোগ্রামগুলি সাধারণত এসসিআইআই টেক্সটের রূপে সোর্স কোড ফাইলে লেখা (কোডিং) হয়। একটি অনন্য ফাইল এক্সটেনশন (উদাহরণ: .asm .c .cpp .java .js .py) এর উপযোগ হয় এটিকে একটি সোর্স কোড ফাইল হিসেবে চিহ্নিত করার জন্য। আমাদের উদাহরণ থেকে আপনি অনুমান করতে পারেন - অ্যাসেম্বলি, "সি", "সি++", জাভা, জাভাস্ক্রিপ্ট, এবং পাইথন, তবে এগুলি শুধুমাত্র এসসিআইআই টেক্সট ফাইল (অন্য টেক্সট ফাইলগুলি সাধারণত .txt এর এক্সটেনশন ব্যবহার করে)। প্রোগ্রামার দ্বারা উৎপাদিত সোর্স কোড কম্পিউটারের CPU (আজকের কম্পিউটারের বিশ্বে সাধারণত একটি ইন্টেল বা ইন্টেল-কম্পাটিবল CPU) জন্য একটি এক্সিকিউটেবল মেশিন কোড ফাইলে রূপান্তরিত হতে হয়। একটি প্রোগ্রাম এর সোর্স কোড পর্যায় থেকে আপনার কম্পিউটারে প্রোগ্রামটি চালানোর জন্য পৌঁছাতে হলে কিছু ধাপ রয়েছে। ইতিহাসে, আমাদের কিছু সফটওয়্যার প্রোগ্রাম (একটি টেক্সট এডিটর, একটি কম্পাইলার, একটি লিঙ্কার, এবং অপারেটিং সিস্টেম কমান্ড) ব্যবহার করতে হত রূপান্তরিত করার জন্য এবং আমাদের প্রোগ্রামটি চালানোর জন্য। তবে, আজ সেই সমস্ত সফটওয়্যার প্রোগ্রাম এবং তাদের সম্পর্কিত কাজগুলি একটি প্রোগ্রামের মধ্যে একত্রিত হয়েছে। তবে, এই একটি প্রোগ্রাম সত্যিই অনেক সফটওয়্যার আইটেম যা একটি পরিবেশ তৈরি করে যা প্রোগ্রামারদের দ্বারা সফটওয়্যার ডিভেলপ করার জন্য ব্যবহৃত হয়। এইজন্যই নাম: ইন্টিগ্রেটেড ডিভেলপমেন্ট ইনভারনমেন্ট বা আইডিই।

ইন্টিগ্রেটেড ডিভেলপমেন্ট ইনভারনমেন্ট বা আইডিই

[সম্পাদনা]

হাই-লেভেল ল্যাঙ্গুয়েজে লেখা প্রোগ্রামগুলি কিছু ধরনের ইন্টারপ্রেটার দ্বারা সরাসরি চালানো হয় বা একটি কম্পাইলার (এবং এসেম্বলার এবং লিঙ্কার) দ্বারা মেশিন কোডে রূপান্তরিত হয় CPU চালানোর জন্য। জাভাস্ক্রিপ্ট, পার্ল, পাইথন, এবং রুবি হল ইন্টারপ্রেটেড প্রোগ্রামিং ল্যাঙ্গুয়েজের উদাহরণ। সি, সি++, সি#, জাভা, এবং সুইফ্ট হল কম্পাইলেড প্রোগ্রামিং ল্যাঙ্গুয়েজের উদাহরণ।[২] চিত্রটি একজন প্রোগ্রামার সোর্স কোড প্রবেশ করে এবং তারপরে আইডিইকে কম্পাইল এবং প্রোগ্রামটি চালানোর দিকে নির্দেশ দেয়ার সময় আইডিইতে গতিশীলতার প্রগতি দেখায়। আইডিই সফটওয়্যার চালু করার সময় প্রোগ্রামার সাধারণত তিনি যে ফাইলটি খোলার জন্য ইচ্ছুক সেই ফাইলটি সোর্স কোড হিসেবে সম্পাদনার জন্য নির্দেশ করেন। তারা পরিবর্তন করার সময় তারা একটি "সেভ অ্যাস" বা "সেভ" করতে পারেন। যখন তারা সোর্স কোড প্রবেশ শেষ করেন, তখন তারা সাধারণত আইডিইকে "কম্পাইল এন্ড রান" প্রোগ্রামটি নির্দেশ করেন। আইডিই নিম্নলিখিত ধাপগুলি পালন করে: যদি সোর্স কোড ফাইলে কোনও অপ্রসিদ্ধ পরিবর্তন থাকে তবে এটি টেস্ট এডিটরের পরিবর্তন সংরক্ষণ করে। কম্পাইলার সোর্স কোড ফাইল খোলে এবং প্রথম ধাপ যা প্রিপ্রসেসর কম্পাইলার ডায়েরেক্টিভস এবং দ্বিতীয় ধাপের জন্য ফাইলটি প্রস্তুত করার অন্যান্য ধাপগুলি বাস্তবায়ন করে। এই সময়ে #include হেডার ফাইলগুলি কোডে ইনসার্ট হবে। যদি এটি কোনও ত্রুটি পায়, তবে এটি প্রক্রিয়াটি বন্ধ করে এবং ব্যবহারকারীকে টেক্সট এডিটরের মধ্যে সোর্স কোড ফাইলে একটি ত্রুটি বার্তা সহ ফিরিয়ে দেয়। যদি কোনও সমস্যা না হয়, তবে এটি সোর্স কোডটি একটি সাময়িক ফাইল হিসেবে সংরক্ষণ করে যা একটি ট্রানস্লেশন ইউনিট হিসেবে পরিচিত। কম্পাইলার ট্রানস্লেশন ইউনিট ফাইলটি খোলে এবং দ্বিতীয় ধাপ যা প্রোগ্রামিং ল্যাঙ্গুয়েজ কোডটি CPU এর জন্য মেশিন ইনস্ট্রাকশনে রূপান্তরিত করে, একটি ডেটা এরিয়া, এবং লিঙ্কার দ্বারা সমাধান করার জন্য একটি আইটেমের তালিকা। যে কোনও সমস্যা পাওয়া (সাধারণত প্রোগ্রামিং ল্যাঙ্গুয়েজের ব্যবস্থা বা নিয়মের লঙ্ঘন) প্রক্রিয়াটি বন্ধ করে এবং ব্যবহারকারীকে টেক্সট এডিটরের মধ্যে সোর্স কোড ফাইলে একটি ত্রুটি বার্তা সহ ফিরিয়ে দেয়। যদি কোনও সমস্যা না হয় তবে এটি মেশিন ইনস্ট্রাকশন, ডেটা এরিয়া, এবং লিঙ্কার রিজুলিশন লিস্টকে একটি অবজেক্ট ফাইল হিসেবে সংরক্ষণ করে। লিঙ্কার প্রোগ্রাম অবজেক্ট ফাইলটি খোলে এবং প্রয়োজন হলে লাইব্রেরি অবজেক্ট ফাইলগুলির সাথে এটি লিঙ্ক করে। যদি সমস্ত লিঙ্কার আইটেম সমাধান না হয়, তবে প্রক্রিয়াটি বন্ধ হয় এবং ব্যবহারকারীকে টেক্সট এডিটরের মধ্যে সোর্স কোড ফাইলে একটি ত্রুটি বার্তা সহ ফিরিয়ে দেয়। যদি কোনও সমস্যা না হয় তবে এটি লিঙ্কড অবজেক্টসকে একটি এক্সিকিউটেবল ফাইল হিসেবে সংরক্ষণ করে। আইডিই অপারেটিং সিস্টেমের প্রোগ্রাম যা লোডার নামে পরিচিত একটি এক্সিকিউটেবল ফাইলকে কম্পিউটারের মেমরিতে লোড করে এবং সেন্ট্রাল প্রসেসিং ইউনিট (সিপিইউ) কে নির্দেশ দেয় প্রোগ্রামটি শুরু করে। ব্যবহারকারী প্রোগ্রামের সাথে যে যে ইন্টারাকশন করে তাতে প্রোগ্রামটির টেস্ট ডেটা প্রবেশ করান, তিনি অনুমান করতে পারেন যে আউটপুটগুলি শুদ্ধ নয়। এই ধরনের ত্রুটি লজিক ত্রুটি বলা হয় এবং এটি ব্যবহারকারীকে সোর্স কোডে ফিরে যেতে এবং অ্যালগরিদমটি পরিবর্তন করতে দরকার হবে। ত্রুটি সমাধান আমাদের সেরা চেষ্টা হলেও পূর্ণ প্রোগ্রামার হওয়ার চেষ্টা করি, আমরা ত্রুটি তৈরি করব। এই ত্রুটি দূর করা প্রোগ্রামটি ডিবাগ করা বলা হয়। যে ক্রমে তারা ঘটে তার ক্রম অনুযায়ী ত্রুটির তিন ধরন রয়েছে: কম্পাইলার - প্রোগ্রামিং ল্যাঙ্গুয়েজ কোডকে মেশিন কোডে রূপান্তরিত করে। লিঙ্কার - ফাইলগুলি নেয়া এবং তাদের একটি একক ফাইলে যুক্ত করে। (উদাহরণ সম্পর্কে .exe, .lib ইত্যাদি) লজিক - প্রোগ্রামের কম্পিউটিং অংশ, যেখানে উদাহরণস্বরূপ, ডেটা এবং অন্তর্ভুক্ত সূত্র ব্যবহার করা যেতে পারে একটি নির্দিষ্ট ডেটা পয়েন্ট দিতে। কনভার্সন (২য় ধাপ) সময়ে কম্পাইলার একটি ওয়ার্নিং বার্তা দিতে পারে যা কিছু ক্ষেত্রে আপনার জন্য চিন্তার বিষয় না হতে পারে। উদাহরণস্বরূপ ডেটা টাইপ ডিমোশন ঠিক আপনার প্রোগ্রামের জন্য যা আপনি চাইতে পারেন, কিন্তু অধিকাংশ কম্পাইলার একটি ওয়ার্নিং বার্তা দেয়। ওয়ার্নিংস কম্পাইলিং প্রক্রিয়া বন্ধ করে না কিন্তু তাদের নাম অনুযায়ী, তাদের পর্যালোচনা করা উচিত।

কী শব্দ

[সম্পাদনা]

কম্পাইলার

  সোর্স কোডকে অবজেক্ট কোডে রূপান্তরিত করে।

ডিবাগিং

  প্রোগ্রাম থেকে ত্রুটি দূর করার প্রক্রিয়া। ১) কম্পাইলার ২) লিঙ্কার ৩) লজিক

ইন্টিগ্রেটেড ডিভেলপমেন্ট ইনভারনমেন্ট (আইডিই)

  কম্পিউটার প্রোগ্রামারদের জন্য সফটওয়্যার ডিভেলপমেন্টের জন্য সম্পূর্ণ সুবিধা প্রদান করে।

লিঙ্কার অবজেক্ট ফাইলগুলি একটি এক্সিকিউটেবল ফাইলে যুক্ত করে।

লোডার

  অপারেটিং সিস্টেমের অংশ যা এক্সিকিউটেবল ফাইলগুলি মেমরিতে লোড করে এবং সিপিইউকে শুরু করার জন্য নির্দেশ দেয়।

প্রিপ্রসেসর

  কম্পাইলার সোর্স কোডকে অবজেক্ট কোডে রূপান্তরিত করার প্রথম ধাপ।

টেক্সট এডিটর

  এসসিআইআই টেক্সট ফাইল তৈরি এবং সম্পাদনা করার জন্য একটি সফটওয়্যার প্রোগ্রাম।

ওয়ার্নিং

   কম্পাইলারের সতর্কতা যে সম্ভবত একটি সমস্যা হতে পারে।