Header Ads

Header ADS

সি ল্যাংগুয়েজ কি,কিভাবে এলো,এবং কেন আমরা সি প্রোগ্রামিং শিখব এর সম্পকে সামান্য ধারনা



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

সি ল্যাংগুয়েজ কি ?

সি একটি প্রোগ্রামিংভাষা। সি নির্মাণ করেন ডেনিসরিচি, বেল ল্যাবে ৭০এর দশকে কাজ করার সময়। ভাষাটি তৈরির প্রথম উদ্দেশ্য ছিল ইউনিক্স অপারেটিং সিস্টেম-এর কোড লেখায় এর ব্যবহার, কিন্তু অচিরেই এটি একটি বহুল ব্যবহৃত ভাষায় পরিণত হয়। সি++ ও জাভা সহ পরিবর্তীকালের অনেক প্রোগ্রামিং ভাষার উপর সি'র গভীর প্রভাব পড়েছে। সি এর সবচেয়ে আকর্ষণীয় দিক হচ্ছে এর বহনযোগ্যতা। সি দিয়ে রচিত প্রোগ্রাম যেকোন অপাররেটিং সিস্টেমের কম্পিউটারে চালানো যায়। ৭০ এবং ৮০ দশকের দিকে সি এর জনপ্রিয়তা বাড়ার সাথে সাথে এর অনেকগুলো ভার্সন তৈরি হয়। ১৯৮৩ সালে আমেরিকান মাননিয়ন্ত্রক সংস্থা সি এর ১টি আদর্শ ভার্সন তৈরির জন্য কমিটি গঠন করে। দীর্ঘ ৬ বছর পরে ১৯৮৯ সালে সেই আদর্শ সি ভাষাটি তৈরি হয়, যা আমেরিকান মাননিয়ন্ত্রক সংস্থা সি (আনসি সি (ANSI C)) নামে পরিচিত। পরবর্তিতে আন্তর্জাতিক মাননিয়ন্ত্রক সংস্থা ১৯৯০ সালে সি এর এই আদর্শ ভার্সনটি গ্রহণ করে, যা সি৯০ নামে পরিচিত। মুলত "সি৮৯" এবং "সি৯০" একই ভাষা। যুগের প্রয়োজনে আন্তর্জাতিক মাননিয়ন্ত্রক সংস্থা ১৯৯৫ সালে এই সংস্করণকে বর্ধিত করে এবং পরবর্তিতে ১৯৯৯ সালে সম্পূর্ণ নতুন একটি সংস্করণ প্রকাশ করে যা সি৯৯ নামে পরিচিত। সর্বশেষ ২০১১ সালে সি প্রোগ্রামিং ল্যাঙ্গুয়েজের নবীনতম সংস্করণ সি১১ প্রকাশিত হয়।
দ্য সি প্রোগ্রামিং ল্যাঙ্গুয়েজ, ব্রায়ান কার্নিগান ও ডেনিস রিচি-র লেখা মূল সংস্করণের প্রচ্ছদ; এই বইটি সুদীর্ঘ সময় ধরে ভাষাটির একটি অ-প্রমিত বিবরণ হিসেবে ধরা হত।

কিভাবে সি ল্যাংগুয়েজ এলো ?
১৯৬০-এর দশকে বেশ কিছু কম্পিউটার প্রোগ্রামিং ভাষা তৈরি করা হয়েছিল। মার্কিন কম্পিউটারবিদ গ্রেস হপার Mathematic, Flowmatic এবং A2 নামে তিনটি প্রোগ্রামিং ভাষা উদ্ভাবন করেন। এরপর জেম্‌স ব্যাকাস তৈরি করেন ForTran। তারও পরে ALGOL, COBOL, Ada ইত্যাদি প্রোগ্রামিং ভাষা উদ্ভাবন করা হয়। মূলত এই ভাষাগুলিই আধুনিক প্রোগ্রামিং ভাষাগুলির পূর্বসূরী। কিন্তু ঐ ভাষাগুলিকে ভিন্ন ভিন্ন কাজে ব্যবহার করা হত। তাই কম্পিউটার বিজ্ঞানীরা এমন একটি প্রোগ্রামিং ভাষার কথা ভাবতে থাকেন যার মাধ্যমে সব ধরনের সফটওয়্যার তৈরি করা সম্ভব হবে। এরই ফলশ্রুতিতে বিজ্ঞানীরা তৈরি করেন ALGOL 60 (Algorithmic Language) এবং এরপর Combined Programming Language (CPL), কিন্তু CPL শেখা এবং ব্যবহার করা ছিল বেশ কঠিন। তাই এটা জনপ্রিয়তা পায়নি।
ক্যামব্রিজ বিশ্ববিদ্যালয় এর মার্টিন রিচার্ড CPL কে ভিত্তি করে ১৯৬৭ সালে তৈরি করেন Basic Combined Programming Language (BCPL) কিন্তু এটি ছিল মূলত Less Powerful to Specific এবং টাইপবিহীন একটি প্রোগ্রামিং ভাষা।
এ সময়েই যুক্তরাষ্ট্রের বেল গবেষণাগারে বিজ্ঞানী টমসন তৈরি করেন বি (B) নামক একটি প্রোগ্রামিং ভাষা; এটি ছিল পূর্বের BCPL-এর একটি উন্নত সংস্করণ। ডেনিস রিচি পরবর্তীতে B এবং BCPL অনুসরণ করেন এবং নিজে থেকে আরো কিছু কৌশল ব্যবহার করে তৈরি করেন "সি" (C)। মূলত B-এর সীমাবদ্ধতা গুলো দূর করার উদ্দেশ্যেই "সি" এর উৎপত্তি।


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

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

3 comments:

Powered by Blogger.