প্রোগ্রামিং ল্যাংগুয়েজের সূচনা লগ্ন :

বাংলাদেশী একজন মানুষ যার জাপানী ভাষা জানা নেই তাকে যদি জাপানী ভাষায় নির্দেশ দেওয়া হয়, “তুমি এই কাজটি কর”। ঐ বাংলাদেশী কখনই ঐ কাজটি করতে পারবেনা, কারন তিনি বুঝতেই পারবেনা তাকে কি বলা হয়েছে। যদি না কোন “দোভাষী(যিনি বাংলা ও জাপানী দুই ভাষাই জানেন) অনুবাদ করে না দেয় যে জাপানী ভাষায় আসলে কি বলা হয়েছে। কম্পিউটার হল ঐ বাংলাদেশীর মত, যিনি বাংলা ছাড়া কোন ভাষাই জানেন না। কম্পিউটারেও একটি নিজেস্ব ভাষা রয়েছে, যার মাধ্যমে কম্পিউটার কে পূর্বে থাকে প্রোগ্রামাররা নির্দেশ দিয়ে থাকেন কি ভাবে কি কাজ করতে হবে। কম্পিউটারের সেই নিজেস্ব ভাষাটি
হল “0” এবং “1” । কম্পিউটার এর অবন্তরীন গঠন অসংখ্য পরিমান গেট দিয়ে তৈরি ও এর কর্ম পদ্ধতি ঐ সকল গেট এর মাধ্যমেই সম্পূর্ন হয়ে থাকে। বাইনারী পদ্ধতির এই দুটি সংখ্যাকে, কম্পিউটারের ভাষায় বিট বলা হয়। যদিও বিভিন্ন স্থানে এর বিভিন্ন নাম রয়েছ। যেমনঃ 0 কে ‘মিথ্যা(false)’ ও 1 কে ‘সত্য(true)’, 0 কে ‘লো’ ও 1 কে ‘হাই’, 0 কে ‘অফ’ ও 1 কে ‘অন’ ইত্যাদি বলা হয়ে থাকে। যদিও কর্ম পদ্ধতি বিশ্লেষন করলে সব গুল শব্দের অর্থ একই দাঁড়াবে। বোঝার ও কাজের সুবিধার্থে এক এক পরিবেশে এক এক নাম বলা হয়ে থাকে। যেমনঃ ইলেক্ট্রনিক্সের ভোল্টেজের স্থর নির্ধারন করার জন্য 0 কে নেগেটিভ ও 1 কে পজেটিভ বলা হয়ে থাকে। আর এই ‘0’ ও ‘1’ দিয়ে লেখা ভাষাকে মেশিন ভাষা বলা হয়ে থাকে। কম্পউটার সূচনা লগ্নে 0 ও 1 দিয়েই কম্পিউটারকে ইন্সট্রাকশন তথা নির্দেশ দেওয়া হত। কিন্তু এই ‘0’ ও ‘1’ দিয়ে কম্পিউটারকে নির্দেশ দেওয়া শুধু মাত্র জটিল কাজই নয়, সময়সাপেক্ষ ও জামেলাও বটে। ২ টি সংখার যোগ করার জন্য যা লিখতে হবে তা হলঃ
0001 0111 –> 23
0001 0101 –> 21
———————————–
0010 1100 –> 44

তাই মেশিন ল্যাংগুয়েজে প্রোগ্রাম লিখা অতান্ত্য কঠিন ও জটিল কাজ। এছারাও মেশিন ল্যাংগুয়েজে লিখা প্রোগ্রাম শুধু মাত্র ঐ কম্পিউটারের কাজ করবে অন্য কোন কম্পিউটারে না। এই সকল সমস্যা থেকে মুক্তি পাওয়ার জন্য প্রোগ্রামার ও ডেভলপাররা সাংকেতিক কিছু শব্দ (ADD, SUM, MUL, GO) ব্যবহার করেন। প্রোগ্রাম তথা ইনেস্ট্রেকশন দেওয়ার এই ভাষাকে এসেম্বলি ল্যাংগুয়েজ বলে। এই দিক থেকে এসেম্বলি ল্যাংগুয়েজ হল কম্পিউটার এর জন্য তৈরি প্রথম ল্যাংগুয়েজ যা দিয়ে কিনা ‘0’ ও ‘1’ ছাড়া কিছু নিদিষ্ট শব্দ দিয়ে কম্পিউটারকে নির্দেশ দেওয়া যেত। এসেম্বলি ল্যাংগুয়েজ থেকে ইনেস্ট্রাকশন নিয়ে কম্পাইলার উক্ত ইনেস্ট্রাকশনকে মেশিন ভাষায় রুপান্তর করে। এখানে কম্পাইলার হল অনুবাদক যা ঐ দোভাষীর মত অনুবাদ করবে।
বিভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ :
এসেম্বলি ল্যাংগুয়েজে প্রোগ্রাম লিখার জন্য একজন প্রোগ্রামারের কম্পিউটার গঠন সম্পর্কে খুব ভাল জানা প্রয়োজন। একজন সাধারন মানুষে পক্ষে এসেম্বলিতে প্রোগ্রাম লিখা কখনই সম্ভাব নয়। এ সব সমস্যা থেকে মুক্তির জন্য পরবর্তি কালে বিভিন্ন ল্যাংগুয়েজ অবিষ্কৃত হয়।
- ফরট্রান(FORTRAN) : Formula Translation এর সংক্ষিপ্ত রূপ হল FORTRAN । ১৯৫৭ সালে IBM কোম্পানির প্রোগ্রামার ড. জেমস ব্যাকার এই ল্যাংগুয়েজ তৈরি করেন। যা মূলত বৈজ্ঞানিক ও ইঞ্জিনিয়ারিং কাজের বিভিন্ন গানিতিক সমস্যা সমাধানের জন্য ডেভেলপ করা হয় ও ব্যবহৃত হয়।
- কোবল(CoBol) : এর পুর নাম হল Common Business Oriented Language. ১৯৬০ সালে ব্যবসায়িক কাজের সাহায্য করার জন্য এই প্রোগ্রামিং ল্যাংগুয়েজটি ডেভেলপ করেন
- বেসিক (BASIC) : নিদিষ্ট কাজের সীমাবদ্ধতা বাদ দিয়ে সকল ধরনের সমস্যা সমাধানের জন্য তৈরি হয় বেসিক যার পুরো নাম হল Beginners All-purpose Symbolic Instruction Code । এর মাধ্যমে প্রোগ্রামকে সহজ ও সুষ্ঠ ভাবে তৈরি করা যায়।
- প্যাসকেল (Pascal) : ১৯৭০ সালের দিকে প্রফেসর নিকলাস হুইরথ প্যাসকেল ল্যাংগুয়েজ ডেভেলপ করেন।তখনকার সময়ে প্যাসকেলের সবচেয়ে জনপ্রিয় হওয়ার কারন হল, এর বড় বড় প্রোগ্রাম গুলোকে খুব সহজেয় ভাগ করে অর্থাত সাব-প্রোগ্রামের তৈরি করা যেত এবং প্রতিটি সাব-প্রোগ্রামই আলাদা আলাদা ভাবে সঠিক ভাবে কাজ করত।
- সি (C) : ১৯৭২ সালে ডেনিস রিটচি সি ল্যাংগুয়েজ ডেভেলপ করেন। যা পূর্বের ডেভেলপকৃত সকল ল্যাংগুয়েজের সব সীমাবদ্ধতা দূর করে তৈরি করা হয়। সি ল্যাংগুয়েজ বিট, বাইট, মেমরি নিয়ে এবং ইনপুট/আউটপুট ও অনন্য ডিভাইস নিয়ে করতে কাজ সক্ষম।
আজকের মত এই পর্যন্তই পরবর্তী পর্বে কথা হবে সেই পর্যন্ত সুস্থ থাকুন ও টেকনোলোজি বিডির সঙ্গেই থাকুন।