কেন প্রোগ্রামিং?

প্রোগ্রামিং এর সংক্ষিপ্ত ইতিহাস

আশা করছি, কম্পিউটার প্রোগ্রামিং শব্দটির সাথে ইতিমধ্যে সবাই পরিচিত হয়ে গেছেন। আমি আজ থেকে বেশ কয়েক বছর আগে থেকে এর সাথে পরিচিতি লাভ করি। বাস্তবিক অর্থে এই প্রোগ্রামিং আমাদের জীবনে কতটা প্রভাব বিস্তার করতে পারে, তা ইতিমধ্যে সবাই বেশ আন্দাজ পেয়ে গেছেন। এই যে লাখো প্রোগ্রামারের কষ্টের ফসল, এই নিত্য নতুন প্রযুক্তি, গুগল, ইউটিউব, ফেইসবুক থেকে শুরু করে আপনি যেদিকেই যান না কেন, আপনিই যাই ব্যবহার করেন না কেন, তা আপনাদের হাতের নাগালে এসেছে এই প্রোগ্রামিং বিপ্লবের পর। আর সেই প্রোগ্রামিং নামক আলাউদ্দিনের জাদুর চেরাগ আপনাদের হাতে কিভাবে আসছে তা হয়ত অনেকেরেই ধারনার বাহিরে। তাই প্রোগ্রামিং এর সংক্ষিপ্ত ইতিহাস নিয়ে আজকের এই আর্টিকেল।প্রোগ্রামিং ভাষা হচ্ছে এক ধরনের কৃত্রিম ভাষা (artificial language) যা কোন যন্ত্রের, বিশেষ করে কম্পিউটারের আচরণ নিয়ন্ত্রণ করার জন্য ব্যবহার করা হয়। সোজা কথায়, কম্পিউটার দিয়ে আপনি যেসকল কাজ করাতে চান, তা কম্পিউটারকে যে ভাষা দিয়ে বুঝিয়ে দিতে হয় তাই প্রোগ্রামিং ভাষা।

প্রথমদিকে যখন 0, 1 অর্থাৎ মেশিন ল্যাংগুয়েজ দিয়ে কম্পিউটার প্রোগ্রামিং লিখা হতো তখন একজন প্রোগ্রামারকে অনেক সমস্যা পোহাতে হতো। এই সমস্যার সমাধান দিতে আবিষ্কার করা হলো এসেম্বলি নামক আরেক ধরনের ল্যাংগুয়েজ যেগুলাতে প্রোগ্রামাররা বিভিন্ন ইন্সট্রাকশন যেমন (ADD, SUM, MUL) ইত্যাদি ব্যবহারের সু্যোগ পায়। এই ল্যাংগুয়েজকে এসেম্বলার নামক একটি অনুবাদক প্রোগ্রাম দ্বারা মেশিন ল্যাংগুয়েজে রূপান্তর করা হতো। মানুষের হাজারো চাহিদার ধরুন নিত্যনতুন ল্যাংগুয়েজ আবিষ্কারের ধারা প্রবাহিত হয় এবং এখনো হচ্ছে। পরবর্তীতে ডিপ লেভেলের প্রোগ্রামিং এর জন্য বিভিন্ন প্রোগ্রামিং ভাষা যেমন- BASIC, FORTRAN, COBOL, PASCAL, C ইত্যাদি ভাষার উদ্ভব ঘটে।

১৯৭২ সালে আমেরিকার বিখ্যাত Bell ল্যাবরেটরিতে ডেনিশ রিচি BCPL ও CPL এর পরবর্তী সংস্করন B এর সম্বনয়ে C নামক একটি ভাষা উদ্ভাবন করেন। পরে প্রোগ্রামাররা মনের সুখে দিব্যি কোডিং করা শুরু করে কিন্তু আগেই বলেছি মানুষের চাহিদা অফুরন্ত তারই পরিপ্রেক্ষিতে C এর Bug গুলোকে ডেভেলপ করে আরেক ভাষা অর্থাৎ C++ এর জন্ম দেই প্রোগ্রামাররা।

১৯৮০ সালে যুক্তরাষ্ট্রের এটি এন্ড টি Bell Laboratory তে জর্ন স্ট্রাউস্ট্রপ কর্তৃক C ও Simula 67 এর সাথে ক্লাসের ধারনা যোগ করে Object Oriented Programming বৈশিষ্ট্যসম্পন্ন নতুন একটি ভাষা উদ্ভাবন করেন যার নাম দেন “সি উইথ ক্লাস”। জেনে রাখা ভাল Simula 67 প্রথম OOP language। পরবর্তীতে উনারা ১৯৮৩ সালে এর নামকরন করেন C++।

সি ও সি প্লাস প্লাস, ইউজারদের কাছে তেমন খুব ভাল একটা ফ্রেন্ডলীসুলভ না হওয়ায়, Reliability ও Portability উভয়ের কমতি থাকায় ডেভেলপাররা পূর্নাংগ OOP Language এর দিকে ছোটেন। ফলশ্রুতিতে ১৯৯১ সালে সান মাইক্রোসিস্টেম কোম্পানির এক ঝাক বিশেষজ্ঞের বহু প্রচেষ্টার ফলে জাভা ভাষার আত্নপ্রকাশ ঘটে। এই প্রজেক্টের প্রধান ছিলেন জেমস গসলিং ফলে তাকে জাভার বাবা বা জনক বলা হয়।

প্রোগ্রামাররা খেলাধুলা এখানেই শেষ করেননি বরং বংশানুক্রমিক একটা ধারাবাহিকতা তৈরি করে দিয়ে গেছেন। পরবর্তীতে বিভিন্ন হাই লেভেল ল্যাংগুয়েজ ( C#, PHP, Visual Basic, Perl, Python, laravel, Ruby, Rust) ইত্যাদি ভাষা আবিষ্কার করেন। এখনো প্রোগ্রামিং বিজ্ঞানীরা নিত্যনতুন ভাষা আবিষ্কারের নেশায় মত্ত। যার কারনে একজন প্রোগ্রামারের চোখে তার পৃথিবীটা সুন্দর দেখায়, স্থির দেখায়, রঙ্গীন দেখায়।

প্রোগ্রামিং এর উদ্দেশ্য ও প্রয়োজনীয়তা

বিভিন্ন প্রোগ্রামিং ভাষাকে কাজে লাগিয়ে বিশ্বে বিভিন্ন প্রোগ্রামিং কনটেষ্টের আয়োজন করা হয়। কনটেষ্টগুলো ACM- ICPC (ACM International Collegiate Programming Contest) এবং (IOI)International Olympiad in Informatics স্টাইলে হয়ে থাকে। তাছাড়াও বিশ্বে বিভিন্ন দেশে বিভিন্ন কলেজ, ইউনিতে আন্তঃপ্রোগ্রামিং কন্টেষ্ট করা হয়। তারই ধারাবাহিকায় আমাদের দেশেও বিভিন্ন প্রোগ্রামিং কন্টেষ্ট এর আয়োজন করা হয়।বিভিন্ন কলেজ, ইউনিভার্সিটিতে আন্তঃপ্রোগ্রামিং কন্টেষ্ট করা হয়। তাছাড়া উল্লেখ্যযোগ্য হিসেবে বলতে হয় NHSPC, ISCPC বর্তমানে স্কুল থেকে কলেজ লেভেলের স্টুডেন্টদের জন্য অন্যতম। এই সব কন্টেষ্ট আমাদের প্রোগ্রামিং মেধার উন্নয়ন, অনুপ্রেরণা, বিকাশে অসাধারন ভূমিকা রাখছে।

যাইহোক, ACM প্রোগ্রামিং কন্টেষ্টগুলো সাধারণত বিশ্ববিদ্যালয় পর্যায়ের ভাই-ব্রেদার আর আপু-সিস্টারদের কল্যানে হয়ে থাকে আর Informatics Olympiad, NHSPC, ISCPC গুলো স্কুল-কলেজ লেভেলের জন্য হয়ে থাকে। এইসব কন্টেষ্ট থেকেই দেশ সেরা প্রোগ্রামার, তারপর বিশ্ব সেরা প্রোগ্রামার বের করা হয়। ACM এ বাংলাদেশ থেকে প্রতিবছর অনেক প্রোগ্রামার অংশগ্রহণ করেন এবং সম্মানজনক সফলতা অর্জন করে আসছে।

এখন আসি প্রোগ্রামিং শিখে আমি কি করব বা আমার কেন এটা দরকার- প্রত্যুত্তরে বলা যায় পেশা হিসেবে বহির্বিশ্ব তথা আমাদের দেশেও বর্তমানে এই পেশাকে ব্যাপক গুরুত্ব দেয়া হচ্ছে।

যেহেতু বিভিন্ন কন্টেষ্টের মাধ্যমে নিজেকে সর্বত্র উপস্থাপন করার সুযোগ মিলে। সেহেতু আপনি আপনার বর্তমান অবস্থান থেকেই গুগল, মাইক্রোসফট, ফেইসবুকের মত বিশ্বব্যাপী আলোড়ন সৃষ্টিকারী প্রতিষ্ঠানে চাকরি করার সুযোগ পেতে পারেন। প্রোগ্রামারদের আরেকটি অসাধারন সুবিধা হচ্ছে টেলিকমিউটিং অর্থাৎ কোনো অফিসে স্ব-শরীরে অবস্থান না করে কাজ করার সুযোগ।

আর আপনি যদি বলেন “আমার না শিখলে সমস্যা কি?” – নাহ কোনো সমস্যা নেই এটা আপনার একান্তই ব্যক্তিগত ব্যাপার। আপনার মন যেদিকে কন্সান্ট্রেট থাকে আপনি সেই দিকেই ছোটেন ইনশাল্লাহ সফলতা আপনার আসবেই।

Tags: C Programming, প্রোগ্রামিং এর উদ্দেশ্য ও প্রয়োজনীয়তা, প্রোগ্রামিং এর সংক্ষিপ্ত ইতিহাস, সি প্রোগ্রামিং