কম্পিউটারের ইতিহাস/প্রোগ্রামিং ভাষার বিবর্তন
প্রোগ্রামিং ভাষার প্রথম সংস্করণ অ্যাডা লাভলেসের কাজ থেকে উদ্ভূত হয়েছিল, তিনি ছিলেন চার্লস ব্যাবেজের পৃষ্ঠপোষক এবং ব্যবসায়িক অংশীদার। দুর্ভাগ্যবশত তিনি বেশিরভাগ সময়েই উপেক্ষিত হয়েছেন কারণ ব্যাবেজ কখনই একটি সম্পূর্ণ বিশ্লেষণাত্মক ইঞ্জিন তৈরি করেননি এবং তাই সেই কাজের কোনো সর্বজনীন উপস্থাপনা ছিল না। সামরিক-গ্রেডের প্রকল্পগুলিতে অ্যাডা ব্যবহৃত প্রোগ্রামিং ভাষায় এখনও তাঁকে স্মরণ করা হয়।
ওয়্যারিং এবং সরাসরি বাইনারি
[সম্পাদনা]আমরা এখন যেভাবে প্রোগ্রামিং ভাষাকে জানি, অ্যানালগ এবং বৈদ্যুতিক-যান্ত্রিক কম্পিউটারের প্রাথমিক অবস্থায় প্রোগ্রামিং ভাষা সেভাবে ছিল না। যেহেতু প্রারম্ভিক কম্পিউটারে প্রতিটি সমস্যা সেটের জন্য সরাসরি তারযুক্ত করা প্রয়োজন ছিল, তাই লেখ্য-ভিত্তিক সমাধানপদ্ধতির জন্য আলাদা করে প্লাগ লাগানোর প্রক্রিয়া প্রচলিত ছিল।
বৈদ্যুতিক-যান্ত্রিক যন্ত্রপাতিতে মার্কারি ডিলে লাইন মেমরি (ডিলে লাইন মেমরিতে একটি তরল বা কঠিন মাধ্যমে ক্রমাগত তথ্য সঞ্চালনের মাধ্যমে পরপর তথ্য সঞ্চিত হয়) এবং ড্রাম মেমরি এসে গিয়েছিল, তাই মেমরির নির্দিষ্ট অংশে সরাসরি লেখা এবং রিওয়্যারিং ছাড়াই নির্দেশাবলী প্রদান করা সম্ভব হয়েছিল। এটিকে বিশেষ করে "মেশিন কোড" বলা যেতে পারে। আজকের দিনে একে প্রায়শই "হেক্স" বা ষষ্টিক বলা হয়, কারণ আধুনিক ৩২-বিট এবং ৬৪-বিট মাইক্রোপ্রসেসর সিস্টেমগুলি প্রতি ক্লক চক্রে ৮ বা ১৬ হেক্সাডেসিমেল খণ্ডে বাইনারি তথ্য পাঠ করে।
মেশিন স্তরে কোড লেখা কঠিন: এর জন্য প্রোগ্রাম লেখককে হার্ডওয়্যারে রেজিস্টারের নির্দিষ্ট অবস্থান এবং প্রসেসরের জন্য নির্দিষ্ট নির্দেশাবলী জানতে হবে। সাধারণত মেশিন কোড পড়া এটি লেখার চেয়ে বেশি কঠিন, এইভাবে কোড পরিবর্তনগুলি নজরে রাখা একজন মানুষের পক্ষে প্রায় অসম্ভব।
অ্যাসেম্বলি
[সম্পাদনা]প্রোগ্রামিং এর মেশিন কোড স্তরে প্রথম উন্নতি ছিল অ্যাসেম্বলি ভাষা। এটি স্ট্রিং ম্যানিপুলেটর দিয়ে মেশিন কোড লেখার একটি উপায় উদ্ভাবন করেছিল এবং সরাসরি বাইনারি লেখার পরিবর্তে নির্দেশাবলীর জন্য নামকরণের উপায় দিয়েছিল। এর পরেও এটি পড়া কঠিন ছিল এবং কোন নির্দেশাবলী নিয়ে কাজ হচ্ছে ও রেজিস্টারগুলির অবস্থান জানা প্রয়োজন ছিল। তবে এটি কাগজে বা স্ক্রিনে পড়া সম্ভব হত এবং পরপর চক্র অনুযায়ী মেশিন কোডে একত্রিত করা যেত।
অ্যাসেম্বলি প্রোগ্রামিংয়ের ব্যবহার এখনো আছে। কম্পিউটার পেরিফেরালগুলির (অর্থাৎ প্রিন্টার ইত্যাদি যন্ত্র) জন্য বেশিরভাগ ডিভাইস ড্রাইভার সি কোডে লেখা হয়, কিন্তু কাজ করতে থাকার সময় কিছু সমস্যা হলে "সি কম্পাইলার" (যেটি 'সি' ভাষাকে মেশিন ভাষায় পরিবর্তিত করে) থেকে মধ্যবর্তী অ্যাসেম্বলি আউটপুটকে নিয়ে, সর্বাপেক্ষা অনুকূল করে হাতে সমাধান করা হয়। তবে এর ব্যবহার ক্রমশ কমে যাচ্ছে।
ফরট্রান
[সম্পাদনা]ফরট্রান হল ফর্মুলা ট্রান্সলেশন। এই ভাষাটি ১৯৫০-এর দশকের মাঝামাঝি আইবিএম ৭০৪ সিরিজের কম্পিউটারের জন্য আইবিএম-এ উদ্ভাবিত হয়েছিল।
বেসিক
[সম্পাদনা]কম্পিউটার প্রোগ্রামিং-এ, বেসিক (বিগিনার্স অল-পারপাস সিম্বলিক ইন্সট্রাকশান কোড এর সংক্ষিপ্ত রূপ) হল উচ্চস্তরের প্রোগ্রামিং ভাষার পরিবারের একটি ভাষা। এটি মূলত ১৯৬৩ সালে ডিজাইন করা হয়েছিল, ডার্টমাউথ কলেজে জন জর্জ কেমেনি এবং টমাস ইউজিন এর উদ্ভাবক। বিজ্ঞানের ছাত্র নয় এমন শিক্ষার্থীরা এই ভাষাটি ব্যবহার করে কম্পিউটারে কাজ করতে পারে। সেই সময়ে সমস্ত কম্পিউটার ব্যবহারের জন্য বিশেষ সফ্টওয়্যার লেখার প্রয়োজন হত, যা শুধুমাত্র বিজ্ঞানী এবং গণিতবিদেরাই করতে পারতেন। এটি ১৯৮০-এর দশকে হোম মাইক্রোকম্পিউটারে ব্যাপকভাবে ছড়িয়ে পড়ে এবং আজও বেশ কিছু বিকশিত উপভাষায় জনপ্রিয়।
কোবোল
[সম্পাদনা]কোবোল হল কমন বিজনেস ওরিয়েন্টেড ল্যাঙ্গুয়েজ এর একটি সংক্ষিপ্ত রূপ। এটি একটি উচ্চ স্তরের প্রোগ্রামিং ভাষা যা ১৯৬০-এর দশকে তৈরি হয়েছিল এবং এখনও ব্যবসায়িক কর্মক্ষেত্রে ব্যবহৃত হয়। এটি বড় আকারের মেইনফ্রেম ভিত্তিক কাজগুলির জন্য আর্থিক পরিষেবা শিল্পে ব্যাপকভাবে ব্যবহৃত হয়। এতে ইংরেজি বিবৃতির অনুরূপ নির্দেশাবলী ব্যবহার করা হয় এবং একটি প্রোগ্রামের জন্য একটি সামগ্রিক কাঠামো ধার্য করা হয়। কোবোল তৈরি করার উদ্দেশ্য ছিল এমন একটি ভাষা তৈরি যেটি স্ব-নথিভুক্ত, যাকে সহজেই সংশোধন করা যায় এবং সেটি বজায় রাখা যায়।
পিএল/১
[সম্পাদনা]প্রোগ্রামিং ভাষা ১ হল একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষা যা বৈজ্ঞানিক, প্রকৌশল এবং ব্যবসায়িক অ্যাপ্লিকেশনে কাজে লাগার মত করে তৈরি করা হয়েছে। এটি সবচেয়ে বৈশিষ্ট্য-সমৃদ্ধ প্রোগ্রামিং ভাষাগুলির মধ্যে একটি এবং উচ্চ-বৈশিষ্ট্য-সমৃদ্ধ ভাষা বিভাগে প্রথম দিকের ভাষাগুলির মধ্যে একটি। ১৯৬০ এর দশকের গোড়ার দিকে চালু হওয়ার পর থেকে এটি বিভিন্ন শিক্ষাগত, বাণিজ্যিক এবং শিল্প ব্যবহারকারীদের দ্বারা ব্যবহৃত হয়েছে, এবং আজকের দিনেও এটি সক্রিয়ভাবে ব্যবহার করা হয়। এটি পুনরাবৃত্তি এবং কাঠামোগত প্রোগ্রামিং সমর্থন করে। এর ভাষার শব্দবিন্যাস ইংরেজির মতো এবং এটি জটিল তথ্য বিন্যাস বর্ণনা করার জন্য উপযুক্ত। সেগুলি যাচাই ও নিপুনভাবে ব্যবহার করার জন্য এর বিস্তৃত ফাংশনের সেট আছে।
প্রারম্ভিক ৪জিএল
[সম্পাদনা]- মার্ক ৪ - বিদ্যমান ফাইল থেকে উৎস স্তরে নির্দিষ্ট তথ্য নিষ্কাশন
- ন্যাচারাল - অ্যাডাবাস ফাইল থেকে তথ্য বের করার জন্য একটি ভাষা
- আইবিএম আরপিজি - একটি "প্রতিবেদন উৎপাদক" ভাষা যা অন্যান্য ধরনের অ্যাপ্লিকেশনও তৈরি করতে পারে