Choose Color

12Aug
2017

প্রোগ্রামিং শিখতে চান? কিভাবে শুরু করবেন?

By Noor 1 comments

আসসালামুয়ালাইকুম সবাইকে।

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

১. ইনপুট আউটপুট এর ব্যবস্থা।

২. কন্ডিশনাল লজিক।

৩. ডাটা রাখার জন্য ভেরিয়েবল এবং কিছু ডাটা স্ট্রাকচার যা প্রয়োজন অনুযায়ী এক এক রকম কাজে ব্যবহার করা যায়।

৪. লুপ চালানোর ব্যবস্থা। লুপ কি? লুপ হল একটি নির্দিষ্ট বা অনির্দিষ্ট সময়ে কোন একটি লজিককে ভিত্তি করে কোডের একটি অংশ বার বার চালাতে থাকা।

৫. গানিতিক অপারেটর যা গানিতিক কাজে লাগে।

৬. ফাংশন তৈরি করার ব্যবস্থা। ফাংশন আবার কি? গণিতে f(x) = x^2 + 2x + 1 এরকম ফাংশন নিয়ে পড়েছিলেন, মনে আছে? যেখানে x এর বিভিন্ন মানের জন্য, x এর ফাংশন f(x) এর মানে পরিবর্তন আসে। ঠিক এরকমই চিন্তা করতে পারেন প্রোগ্রামিং এর function কে। বা এরকম চিন্তা করতে পারেন, function হল একটা মেশিন যাতে আপনি কাচামাল দিলে তা থেকে কিছু একটা বের হয়ে আসে। সেই কাঁচামালকে বলা হয় function এর parameter এবং অনেক ফাংশনে এটি না দিলেও হয়। গনিতের মতোই function লিখা হয় func(parameter 1, parameter 2) দিয়ে যেখানে func একটি function এর নাম।

৭. নিজের পছন্দ মতো ডাটা স্ট্রাকচার বানানোর ব্যবস্থা। ডাটা স্ট্রাকচার কি? Data Structure হল, Data কে সুন্দর করে মেমোরিতে সাজিয়ে রাখার একটা পদ্ধতি।

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

আর মাথায় আসছে না আপাতত। তো, যখনি আপনি কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ এর বই পড়ছেন, আপনি আসলে সেইসব জিনিস কিভাবে লিখে, তার সিনট্যাক্স শিখছেন। আপনাকে কোড লিখতে হলে এগুলো লাগবেই।

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

আপনি এখন কোন ল্যাঙ্গুয়েজ দিয়ে প্রোগ্রামিং শুরু করবেন, সেটা নিয়ে কনফিউশনে থাকলে আপনাকে আগে চিন্তা করতে হবে যে আপনি কেন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে চান এবং সেই অনুযায়ী ল্যাঙ্গুয়েজ শুরু করতে হবে।আপনি চাইতে পারেন যে কম্পিউটার প্রোগ্রামিং শিখবেন। এখন এর জন্য আপনাকে c,c++,java,python এগুলো শিখতে হবে। 

এখন আপনি চাইলে c বা python দিয়েও করতে পারেন আবার সরাসরি c++ বা java দিয়েও করতে পারেন। তবে, মুল হিসেবে আপনি কিন্তু আমার আগের বলা ৮ টা পয়েন্টে বলা জিনিসগুলোই শিখবেন! এর পরে হয়তো ল্যাঙ্গুয়েজ এর advanced বিষয়গুলো জানবেন। একটা language কে বিগিনার এবং এডভান্সড বলে আলাদা করার কারন কি? সহজ। আপনি বিগিনার লেভেলের জ্ঞান নিচ্ছেন মানে, আপনি কিভাবে সাধারন প্রোগ্রাম লিখে, তা শিখছেন। আর এডভান্সড লেভেলে আপনি হয়তো সেই ল্যাঙ্গুয়েজ দিয়ে কিভাবে software অথবা রিসার্চ এর কোন কিছু করা যায়, তা শিখবেন।

একটি ল্যাঙ্গুয়েজ সিলেক্ট করুন, হতে পারে পাইথন বা সি। এরপর সেটার বই লাইব্রেরি থেকে কিনুন এবং অনলাইন থেকে বিভিন্ন writer এর pdf ডাউনলোড করুন। youtube এ কিছু টিউটোরিয়াল দেখুন। আপনার কোন প্রয়োজনীয় কাজের কোড করতে পারছেন না, গুগলে দেখুন সেটার কোড আছে কিনা। কারো কোড কপি পেস্ট করা থেকে বিরত থাকুন, এক সময় ভালো প্রোগ্রামার হয়ে যাবেন কনফার্ম।

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

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

কখনো আধা শিখে কোন কিছু ছেড়ে দিবেন না এবং কম শিখে লাফালাফি করবেন না। মাথায় রাখতে হবে “অল্পবিদ্যা ভয়ঙ্করী”।

ধন্যবাদ সবাইকে।

আসুন প্রোগ্রামিং শিখি এবং অন্যকেও প্রোগ্রামিং শিখতে আগ্রহী করে তোলি। তবে, হ্যা! কারো বাস্তব জীবনের সময় নষ্ট করে নয়! প্রয়োজনের তাগিদে। কারো দরকার না হলে শিখা মানে সময় নষ্ট।

ভালো থাকবেন সবাই :)

[[Collected From Choyon Ahmed]]



Comments