UPDATED:

How To Make A Simple Calculator By C Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... Happy Coding.......... This blog is under construction!!!!
Namecheap.com

Thursday, January 28, 2016

সি প্রোগ্রামিং/কেন সি শিখবেন?

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


কেন সি , এবং কেন এসেম্বলি ভাষা নয় ?

এসেম্বলি ভাষা আপনাকে গতি এবং সিস্টেমের উপর সর্বোচ্চ নিয়ন্ত্রণ প্রদান করলেও বহনযোগ্য নয় । সি ঠিক এই যায়গাটাতেই আলাদা । এটি যেমন সিস্টেমের উপর যথেস্ট নিয়ন্ত্রন দেয় তেমনি বহনযোগ্যও ।আলাদা আলাদা প্রোসেসর আলাদা আলাদা এসেম্বলি ভাষায় কাজ করে , তাই তাদের মধ্যে যেকোন একটি প্রোসেসর নির্ধারণ করা এবং শুধু সেটার উপযোগী এসেম্বলি ভাষা শেখা অযৌক্তিক কাজ । প্রকৃতপক্ষে সি এর প্রধান শক্তিই হচ্ছে এসেম্বলি ভাষার উপর সর্বোচ্চ নিয়ন্ত্রণ রেখেও সার্বজনিনতা এবং বিভিন্ন আর্কিটেকচারের কম্পিউটারে ব্যবহারের ক্ষমতা ।
উদাহরনস্বরুপ , HP 50g calculator (ARM processor), TI-89 calculator (68000 processor), Palm OS Cobalt smartphones (ARM processor), iMac (PowerPC), 
Arduino (Atmel AVR) এবং Intel iMac (Intel Core 2 Duo) এ সবকটিতেই আপনি সি প্রোগ্রাম কম্পাইল এবং ব্যবহার করতে পারবেন । এই সবকটি ডিভাইসের প্রত্যেকটির আলাদা আলাদা এসেম্বলি ভাষা আছে এবং কোনটাই অন্যকোনটার সাথে সামন্জস্যপূর্ন না ।
এসেম্বলি ভাষা যদিও খুবই শক্তিশালী কিন্তু বড় ধরণের কাজে ব্যবহারের জন্য প্রোগ্রাম লিখা খুবই কঠিন । সাথে সাথে এটি পড়া কিংবা যুক্তিপূর্ণ ভাষায় উপস্থাপন করাটাও অনেক কঠিন । সি একটি কম্পাইল করা ভাষা যা দ্রুত এবং কার্যকর এক্সিকিউটেবল ফাইল তৈরি করে । সাথে সাথে এটি একটি ছোট "what you see is all you get" ( যা দেখবেন তাই পাবেন ) ভাষা । একেকটি সি স্টেটমেন্ট আসলে অনেকগুলো এসেম্বলি স্টেটমেন্ট কে প্রকাশ করে - বাকি সব সরবরাহ করে লাইব্রেরী ফাংশন ।

সি প্রোগ্রামিং ভাষার এই তুমুল জনপ্রিয়তা কী আপনার কাছে বিষ্ময়কর লাগছে ?

সিড়ির উপরের ধাপটি যেমন নীচের ধাপের উপর দাড়িয়ে থাকে তেমনই উত্তর প্রজন্মের প্রোগ্রমিং ভাষা তার পূর্বের প্রজন্মের ভাষার উপরেই ভিত্তি করে গড়ে উঠে । সি তে ডিজাইন করা অপারেটিং সিস্টেমের সিস্টেম লাইব্রেরীও সি তে ডিজাইন করা হয় । এই সকল সিস্টেম লাইব্রেরী পরবর্তিতে উচ্চতর লাইব্রেরী ডিজাইন করতে ব্যবহার করা হয় ( যেমন OpenGL কিংবা GTK ) এবং এই সকল উচ্চতর লাইব্রেরীর ডিজাইনাররাও সাধারণত সেই প্রোগ্রমিং ল্যাংগুয়েজই ব্যবহার করেন যে ভাষায় সিস্টেম লাইব্রেরী লেখা হয়েছে । এপ্লিকেশন ডেভেলপাররা উচ্চতর লাইব্রেরী ব্যবহার করে গেমস , ওয়ার্ড প্রোসেসর , মিডিয়া প্লেয়ার এসব তৈরি করতে । তাদের অনেকে উচ্চতর লাইব্রেরী যে ভাষায় লেখা সেই প্রোগ্রমিং ভাষা ব্যবহার করতে পছন্দ করেন ... এবং এভাবেই সি এর জনপ্রিয়তা বাড়ছেই ...

কেন সি এবং কেন অন্য কোন উচ্চতর প্রোগামিং ভাষা নয়?

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

No comments:

Post a Comment

Namecheap.com

Popular Posts