MathJax সি প্রোগ্রামিং পরিচিতি এবং ইতিহাস - E Study Club সি প্রোগ্রামিং পরিচিতি এবং ইতিহাস

Recents in Beach

header ads

সি প্রোগ্রামিং পরিচিতি এবং ইতিহাস

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

সি প্রোগ্রামিং সম্পর্কে জানার আগে আমাদের জানতে হবে প্রোগ্রামিং ল্যাঙ্গুয়েজ জিনিসটা আসলে কি। সত্যি বলতে কি, আমাদের চোখের সামনের কম্পিউটার কিংবা স্মার্টফোন নামক যন্ত্র গুলো কিন্তু খুবই অদ্ভুদ জিনিস। যেকোন ধরনের ভাষাই তারা খুব ভালভাবে ইনপুট নিতে পারে। কত হাজার রকমের কাজ করা যায় কম্পিউটারের সাহায্যে। কিন্তু কি আছে এই কম্পিউটারের ভেতরে?? চল, আমরা একটু দেখার চেষ্টা করি। এর জন্য আজ আমরা দারুন একটি কাজ করব। একটি কম্পিউটারকে পুরোপুরি খুলে ফেলব। কারন আমাদের দেখতে হবে যে কম্পিউটার নামক যন্ত্রটির মধ্যে এমন কি আছে যার কারনে কম্পিউটার দিয়ে সব কিছু করা যায়?

C programming, C programming bangla, computer programming, bangla programming.;
মাদারবোর্ড

আসল রহস্য বের করার জন্য আমরা একটি কম্পিউটার খুলে এর মধ্যে থেকে মাদারবোর্ডটি বের করে আনলাম। কিন্তু অবাক করা বিষয় হল, এর মধ্যে কিছু ছোট ছোট ইলেকট্রনিক চিপ আর ক্যাপাসিটার এবং কিছু তারের কানেকশন আর কেবল ছাড়া কিছুই নেই। ভেতরের এমন সাদামাটা গঠন দেখে আমরা অবাক হই আর যা ই করি এ ব্যপারে আমরা নিশ্চিত যে কম্পিউটারের সব কাজ এসব চিপের মাধ্যমেই হয়ে থাকে। কিন্তু কিভাবে?? আসলে কম্পিউটার কিন্তু জাস্ট দুটি সংখ্যা ছাড়া আর কিছু বুঝতে পারে না। সে দুটি সংখ্যা কি জানো?? 0 এবং 1. আরও গুরুত্বপূর্ন বিষয় হল, কম্পিউটার কিন্তু এদের সংখ্যা হিসাবে চেনে না। চেনে লজিক হিসাবে। প্রশ্ন হল, কম্পিউটারের জড় যন্ত্রাংশগুলো আবার লজিক চেনে কিভাবে?? আসলে কম্পিউটারের ভেতরে তোমরা যে চিপগুলো দেখতে পাও সেগুলোর জন্য শুধুমাত্র দুটি ভিন্ন ভিন্ন অবস্থাই সম্ভব। একটি অবস্থা হল ইলেকট্রনিক চিপটিতে ভোল্টেজ আছে আর অন্য অবস্থা হল ভোল্টেজ নেই। এই ভোল্টেজের উপস্থিতিই হল কম্পিউটারের জন্য লজিক্যাল 1 আর ভোল্টেজের অনুপুস্থিতি হল লজিক্যাল 0. এই দুটি লজিকের মাধ্যমেই কম্পিউটার সব ধরনের কাজ করে থাকে। আমরা যারা কম্পিউটার দিয়ে বিভিন্ন ধরনের কাজ করে থাকি তাদের 'কম্পিউটারের কাজ করার কৌশল' নিয়ে খুব একটা না ভাবলেও চলে। কারন, আমরা কাজ করতে পারলেই হল। কিভাবে কাজ হয় তা ঘাটাঘাটি করা আমাদের জন্য এত জরুরি নয়। কিন্তু একটি ভেবে দেখ তো যে, এক কালের সাধারন গণনাকারী ক্যালকুলেটর টাইপ কম্পিউটারকে আজকের পঞ্চম প্রজন্মের আধুনিক কম্পিউটারে পরিণত করেছে তাদেরও কি এসব না ভাবলে চলবে?? 

আসলে,  কম্পিউটার যেহেতু শুধু 0 আর 1 ছাড়া আর কিছুই বোঝে না তাই যারা কম্পিউটারের উন্নতি নিয়ে কাজ করে তাদের সব চিন্তা-ভাবনাকে কম্পিউটারের বোঝার মত করে অর্থাৎ শুধু 0 আর 1 ব্যবহার করে লিখতে হবে। মূলত এই কাজের জন্যই কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজের ধারনাটা মানুষের মাথায় প্রবেশ করে। আর এ পদ্ধতিতে অর্থাৎ শুধু 0 আর 1 ব্যবহার করে প্রথম যে কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজটি ব্যবহার করা হয়েছিল তার নাম মেশিন ল্যাঙ্গুয়েজ। মেশিন ল্যাঙ্গুয়েজের ক্যারেক্টর শুধু দুটি। 0 এবং 1. কম্পিউটারের ক্রমাগত উন্নতির পেছনে মেশিন ল্যাঙ্গুয়েজের ভূমিকা অনেক বেশি। মূলত মেশিন ল্যাঙ্গুয়েজের মাধ্যমেই কম্পিউটার আর মানুষের মধ্যে এক ধরনের যোগাযোগ স্থাপিত হয় যা কম্পিউটারের উন্নতির জন্য অনেক বেশি সহায়ক ভূমিকা পালন করে। 

কিন্তু মেশিন ল্যাঙ্গুয়েজের কিছু সমস্যাও ছিল। যেকোন মানুষের পক্ষেই এ ভাষাকে আয়ত্ত করে তোলা খুব সহজ ছিল না। তাছাড়া মাত্র দুটি ক্যারেক্টরের হওয়ায় এ ভাষায় কোন প্রোগ্রাম লিখতে একজন অভিজ্ঞ প্রোগ্রামারেরও অনেক সময় লেগে যেত। তাই সমকালীন বিজ্ঞানীরা বারবারই নজর দিচ্ছিলেন যাতে অপেক্ষাকৃত সহজ কোন প্রোগ্রামিং ভাষা আবিস্কার করা যায় সেটি মানুষের পক্ষে আয়ত্ত করা অপেক্ষাকৃত সহজ হবে। তাই বিজ্ঞানীদের প্রচেষ্টায় বেশ কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ আবিস্কৃত হয়। তবে, প্রথমেই সি প্রোগ্রামিং আবিস্কৃত হয় নি। এর আগে ALGOL, BCPL ইত্যাদি কিছু জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহৃত হয়ে এসেছে যা মেশিন ল্যাঙ্গুয়েজের তুলনায় অপেক্ষাকৃত সহজ ছিল।

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

কিন্তু প্রশ্ন একটা থেকেই যায়। সি প্রোগ্রামিং এর ভাষা তো পিওর ইংরেজীতে লেখা হয়। তাহলে কম্পিউটার কিভাবে এ ভাষা বুঝতে পারে? কম্পিউটার তো শুধু 0 আর 1 ছাড়া কিছুই চেনে না। প্রশ্নটি আসলেই গুরুত্বপূর্ন। কম্পিউটার আসলেই 0 আর 1 ছাড়া কিছুই বোঝে না। আর সি প্রোগ্রামিং এর ইংরেজী ভাষাকে কম্পিউটারের বোধগম্য করে বুঝিয়ে দেয়ার জন্য একজন দক্ষ দোভাষীর প্রয়োজন হয়। আর এ দোভাষীদের নাম হল কম্পাইলার এবং ইন্টারপ্রেটার। এসব কারনেই এ প্রোগ্রামিং ভাষাটি ব্যপক হারে জনপ্রিয়তা অর্জন করতে সক্ষম হয়েছে। 

সি প্রোগ্রামারদের ক্যারিয়ার

ক্যারিয়ারের চিন্তাটা মাথায় আসা স্বাভাবিক। আর এটার উত্তরও গুরুত্বপূর্ন। আসলে, যাদের এ্যাকাডেমিক সিলেবাসে সি প্রোগ্রামিং যুক্ত থাকে (যেমন কম্পিউটার সাইন্স, গণিত, পদার্থবিজ্ঞান, ইলেক্ট্রিক্যাল ইঞ্জিনিয়ারিং ইতযাদি) তাদের তো ইচ্ছায় কিংবা অনিচ্ছায় সি প্রোগ্রামিং শিখতেই হয়। কিন্তু প্রশ্ন হল, যারা অ্যাাকাডেমিকভাবে সি এর সাথে পরিচিত নন তারা সি শিখলে কোন লাভ আছে কি? 
এ কথাটির উত্তর দিতে হলে প্রথমেই আমাদের বলতে হয়, এ পৃথিবীতে হয়ত চুরি ডাকাতি আর বাটপারি ছাড়া  এমন কোন শিক্ষা নেই যা শিখলে লাভ ছাড়া কোন ক্ষতি হওয়ার সম্ভাবনা আছে । কিন্তু আমরা ইন্সট্যান্ট লাভ সম্পর্কে জানতে চাই। হ্যাঁ, ইন্সট্যান্ট লাভও আছে। আপনি যেকোন জবের জন্য অ্যাাপ্লাই  করার সময় যদি সিভিতে লিখে দিতে পারেন I am expert in C programming তাহলে অন্য দশজনের তুলনায় আপনাকে নির্বাচন করার সম্ভাবনা অনেক বেশি। তাছাড়া, আপনি যদি এককন সফটওয়ার ডেভলপার কিংবা ওয়েব ডেভলপার হিসাবে নিজের ক্যারিয়ার গড়তে চান তাহলে সি প্রোগ্রামিং আপনাকে এ জজতের একজন দক্ষ এবং Advanced কর্মী হিসাবে গড়ে উঠতে সাহায্য করবে। আর যেকোন প্রোগ্রামিং ল্যাঙ্গুয়েজেই নিজের ক্রিয়েটিভিটি বা সৃজনশীলতা প্রদর্ধনের বড় একটা সুযোগ থাকে। সি ও তার ব্যতিক্রম নয়। 

একটি মন্তব্য পোস্ট করুন

0 মন্তব্যসমূহ