প্রোগ্রামিং শেখার জন্য কোন পদ্ধতি অনুসরন করা উচিত? ভালো প্রোগ্রামার হওয়ার উপায় কী?

257
প্রোগ্রামিং শেখার জন্য কোন পদ্ধতিতে অনুসরন করা উচিত ভালো প্রোগ্রামার হওয়ার উপায় কী

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

প্রোগ্রামিং কি?: কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রয়োজনীয় নিদের্শমালার সমষ্টিকে প্রোগ্রাম (program) বলা হয়। আর এই ধারা বণর্না বা প্রোগ্রাম রচনার পদ্ধতি বা কৌশলকে প্রোগ্রাম পদ্ধতি বা প্রোগ্রামিং (programming) বলা হয়।

অন্য কথায়, কোন সমস্যা অল্প সময়ে এবং সহজে সমাধানের উদ্দেশ্যে সম্পাদানের অনুক্রমে নিদের্শাবলী সাজানোর কৌশলকে প্রোগ্রামিং বলা হয়।

Advertising

প্রোগ্রামিং ভাষা কি?: কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহৃ প্রভৃতির সমম্বনেয় গঠিত রীতিনীতিকে প্রোগ্রা ভাষা (Programming Language) বলা হয়। বিভিন্ন ধরনের প্রোগ্রাম রচনার জন্য বিভিন্ন ধরনের প্রোগ্রাম ভাষা ব্যবহৃত হয়। পৃথিবীতে কোটি কোটি মানুষ অনেক ধরনের ভাষা ব্যবহার করে। কিন্তু কমপিউটার এই সব ভাষা বোঝে না, সে শুধু বুঝে ( 1 , 0 ) যাকে বাইনারি সংখ্যা বলে। মেশিন ল্যাঙ্গুয়েজ নামেই বেশি পরিচিত। সুতরাং এখানে স্পষ্ট যে কম্পিউটার এর ল্যাঙ্গুয়েজ মেশিন ল্যাঙ্গুয়েজ আর প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে C, C++, C#, Python, Perl , Ruby ইত্যাদি,

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

কোথা থেকে শুরু করবেন?: এই টা একটা প্রশ্ন বটে। কোথা থেকে শুরু করবেন? এত দিনে হয়ত দেখে ফেলেছেন হাজার হাজার ল্যাঙ্গুয়েজ আছে প্রোগ্রামিং এর । তাহলে আপনি শুরু করবেন কন্তা দিয়ে? আবার একেক জন একেক টা ল্যাঙ্গুয়েজ ভাল বলে, সহজ বলে (আমি আগেই বলেছি সহজ বা কঠিন বলে কিছু নেই, আপনি যেটা যেভাবে নেন, সহজ মনে করলে সহজ কঠিন মনে করলে কঠিন)। ল্যাঙ্গুয়েজ লিস্ট দেখতে পারেন এখানে……… কি মাথা ঘুরতেছে কি? ব্যপার না। প্রথম প্রথম ধুরবে। আসতে আসতে ঠিক হয়ে যাবে। এবার আসল কথা বলি, প্রোগ্রামিং আমার মতে শুরু করা উচিত C Programming দিয়ে। আপনি যদি ভাল ভাবে সি শিখতে পারেন, তাহলে প্রোগ্রামিং এর মুল ধারণাটা আপনার হাতে চলে আসবে। প্রায় ৫০% – ৬০% ধারনা বা কাজ করার ক্ষমতা আপনার নিজে থেকে তৈরি হয়ে যাবে। এর পর সি ++ শিখবেন তাহলে নিজেকে আর ও একধাপ পরে নিয়ে গেলেন আপনি। এখান থকে আপনি ৬৫% – ৭০% নিজেকে তৈরি করে নিতে পারবেন। এর পর নিজেকে অনন্য উচ্চতায় তলার পালা। ধারাবাহিক ভাবে আপনি JAVA, Python, Ruby, Perl , C# শিখতে পারেন।

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

  1. Python
  2. C Programming
  3. Java
  4. JavaScript (along with CSS and HTML)
  5. Php
  • Python: পাইথন হচ্ছে একটি প্রোগ্রামিং ভাষা। এর জনক গুইডো ভন রুযাম। ১৯৮৯ সালের ডিসেম্বর মাসে বড়দিনের ছুটিতে তিনি পাইথন তৈরি করা শুরু করেন। তবে পাইথন বেশি জনপ্রিয় হয়ে ওঠে ২০০০ সালে, ২.০ সংস্করণ চালু হওয়ার পরে। বর্তমানে পাইথনের ২.৭ এবং ৩.৪ সংস্করণ চালু রয়েছে। পাইথন একটি উচ্চস্তরের প্রোগ্রামিং ভাষা। পাইথনে স্ট্রাকচার্ড প্রোগ্রামিং এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং করা যায়। এ ছাড়া ফাংশনাল প্রোগ্রামিংও করা যায় পাইথন দিয়ে। সাম্প্রতিক একটি জরিপে দেখা গেছে যে সারা পৃথিবীতে বর্তমানে জনপ্রিয়তার বিচারে পাইথনের স্থান শীর্ষে, আর যুক্তরাষ্ট্রের শীর্ষ বিশ্ববিদ্যালয়গুলোর ৬৯ শতাংশ শিক্ষার্থীরা প্রোগ্রামিংয়ের সঙ্গে পরিচিত হয় পাইথন ব্যবহার করে। এ ছাড়া বিশ্ববিখ্যাত প্রতিষ্ঠান গুগলের তিনটি আনুষ্ঠানিক প্রোগ্রামিং ভাষার একটি হচ্ছে পাইথন।

যেভাবে শিখবেন: যদি একদমই নতুন হয়ে থাকেন তাহলে Programming Hero দিয়ে শুরু করেন , কারন এখানে পাইথনের প্রত্যেকটি বিষয় খুব সহজে ভালো ভাবে বুঝিয়ে দেয়া হয়েছে এতে করে এডভানস বিষয় গুলো বুঝতে অনেক বেশি সহজ হবে, আর আপনি যদি এক্সপার্ট লেভেলের হয়ে থাকেন, তাহলে এই লিস্ট দেখেন: Python Advanced Tutorial

  • C Programming ডেনিস রিচি ১৯৭২ সালে বেল ল্যাবরেটরিতে সি ভাষার উদ্ভাবন করেন। প্রথমে পিডিপি-১১ এ ইউনিক্স অপারেটিং সিস্টেমের নিয়ন্ত্রনে এ ভাষার প্রয়োগ শুরু হয়েছিল। বর্তমানে অত্যন্ত শক্তিশালী এবং জনপ্রিয় উচ্চতর ভাষা হিসেবে সি পরিচিত। বর্তমানে বিভিন্ন ধরনের কমপিউটারে এবং বিভিন্ন অপারেটিং সিস্টেমের নিয়ন্ত্রনে সি ব্যাপকভাবে ব্যবহৃত হয়। সি প্রোগ্রামিং/কেন সি শিখবেন? সি হল অপারেটিং সিস্টেম লেখার জন্য সবচেয়ে বেশী ব্যবহৃত প্রোগ্রামিং ভাষা। ইউনিক্স সি ভাষায় লেখা প্রথম অপারেটিং সিস্টেম। উত্তরকালের মাইক্রোসফট উইন্ডোস, ম্যাক ও এস এক্স, গ্নু/লিনাক্স সবগুলোই সি প্রগ্রামিং ভাষায় লেখা। সি শুধু অপারেটিং সিস্টেমের ভাষাই নয়, বর্তমানকালে জনপ্রিয় প্রায় সকল প্রোগ্রমিং ভাষার প্রেরণা সি প্রোগ্রমিং ভাষা। প্রকৃতপক্ষে পার্ল, পিএইচপি, পাইথন, রুবি প্রত্যেকটা ভাষাই সি তে লেখা।

 

যেভাবে শিখবেন:

C Programming Bangla Tutorial

C Programming English Tutorials

সি শেখার সেরা ওয়েবসাইট

1. Learn C and C++ Programming

2. C Programming Expert – Programming can be fun.

3. C Programming Tutorials – MYCPLUS

4. C Programming Notes

5. C – Basic Introduction

Java: জন বেকাস ১৯৫৭ সালে ‘ফরট্রান’ (FORTRAN) নামের একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ আবিষ্কার করেছিলেন গাণিতিক, পরিসংখ্যান সংক্রান্ত কাজের জন্য। এরপর পর্যায়ক্রমে সময়ের সাথে নতুন সব প্রোগ্রামিং ল্যাঙ্গুয়েজ আবিষ্কার হতে থাকে।

১৯৯৫ সালে জাভার আগমনের মাধ্যমে প্রযুক্তির দুনিয়াতে নতুন যুগের সূচনা হয়। জাভার মধ্যে কিছু অনন্য বৈশিষ্ট্য ছিল, যা তখনকার অন্যান্য প্রোগ্রামিং ভাষার মধ্যে ছিল না। এর পরে আরো অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ এসেছে যেমন- R, Go, Rust ইত্যাদি। এতো সব প্রোগ্রামিং ল্যাঙ্গুয়েজ চলে আসার পরেও প্রযুক্তি দুনিয়ায় জাভার প্রতিদ্বন্দ্বী কেউই হতে পারেনি এবং জাভার মার্কেট ভ্যলুও ছিলো আকাশচুম্বী।

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

২০১৭ সালে Google I/O কনফারেন্সের মাধ্যমে সকলের সামনে একটি নতুন প্রোগ্রামিং ল্যাঙ্গুয়েজ উম্মোচন করে আর সেটি হলো কটলিনপ্রোগ্রামিং ল্যাঙ্গুয়েজ। গুগলের এমন ঘোষণা পাওয়ার পরই ডেভেলপাররা কটলিন নিয়ে স্টাডি শুরু করে দেয়। জানার চেষ্টা করে এর কি কি বিশেষত্ব রয়েছে এবং আসলেই কি কটলিন জাভাকে ছাড়িয়ে যেতে পারবে?

 

“জাভা” একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ

১৯৯৫ সালে “সান মাইক্রোসিস্টেমস” জাভা আবিষ্কার করেছিল কিন্তু পরবর্তীতে ওরাকল এর সত্ত্বাধিকার কিনে নেয়। জাভার জনপ্রিয়তার অন্যতম কারন হল জাভা একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।

জাভা দিয়ে খুব সহজেই একটি সফটওয়্যারে অবজেক্ট ক্রিয়েট করা এবং সেটা ব্যবহার করা সম্ভব যা অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোতে অনেক জটিল। এন্টারপ্রাইজ লেভেল সফটওয়্যার ও এন্ড্রয়েড অ্যাপ্লিকেশনের ব্যাক-এন্ড ডেভেলপমেন্টে জাভা ব্যাপক ভাবে ব্যবহার করা হয়।

 

যেভাবে শিখবেন:

  1. https://www.youtube.com/results?search_query=java+full+course
  2. java programming English full tutorials

Java Script: প্রোগ্রামিং ভাষার মধ্যে কোন প্রোগ্রামিং ভাষাটি শিখলে আমাদের লাভ হবে, সেটা বাছাই করা আসলেই অনেক কঠিন কাজ। একটি প্রোগ্রামিং ভাষা শিখতে হলে আপনাকে অনেক কষ্ট করতে হয়, আর তাই অবশ্যই আপনি চাইবেন যাতে আপনার শেখা প্রোগ্রামিং ভাষাটি ভবিষ্যতে কাজে আসে।

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

জাভাস্ক্রিপ্ট যেকোনো কাজে ব্যবহার করা যায়

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

ডায়ানামিক ওয়েবসাইট তৈরীতে

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


মোবাইল অ্যাপ্লিকেশন তৈরিতে
জাভাস্ক্রিপ্ট দ্বারা এন্ড্রয়েড এবং আইওএস অপারেটিং সিস্টেমের অ্যাপ্লিকেশন তৈরী করা যায়। আবার ওয়েব অ্যাপ্লিকেশন তৈরীতেও জাভাস্ক্রিপ্ট ব্যবহৃত হয়। সুতরাং, জাভাস্ক্রিপ্ট দিয়ে সকল ভার্সনের ন্যাটিভ অ্যাপ্লিকেশন তৈরি করা সম্ভব।


ক্রস প্লাটফর্ম ডেস্কটপ অ্যাপ্লিকেশন তৈরিতে

জাভাস্ক্রিপ্ট এবং এর ইলেক্ট্রন জেএস ফ্রেমওয়ার্ক দিয়ে আপনি ডেস্কটপ কম্পিউটারের জন্যে সম্পূর্ণ ফিচারড অ্যাপ্লিকেশন তৈরি করতে পারবেন। ডেস্কটপের যেকোনো প্লাটফর্মের জন্যে এবং একইসাথে ওয়েব অ্যাপ্লিকেশন সংযুক্ত করে তৈরি করতে পারবেন ক্রস প্লাটফর্ম অ্যাপ্লিকেশন। এরকম কয়েকটি অ্যাপ্লিকেশনের উদাহরণ হচ্ছে, ভিজ্যুয়াল স্টুডিও কোড, ডিসকর্ড, মেইলস্প্রিং ইত্যাদি।


বোট এবং এপিআই সফটওয়্যার তৈরীতে

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


ড্রোন প্রোগ্রাম

আপনি যদি ড্রোন কিংবা কোয়াডকপ্টারের প্রোগ্রামিং করতে চান, তাহলে জাভাস্ক্রিপ্টের একটি ফ্রেমওয়ার্ক নোডকপ্টার ব্যবহার করতে পারেন, যেটি মূলত জাভাস্ক্রিপ্টের একটি বহুল ব্যবহৃত ফ্রেমওয়ার্ক নোড জেএস এর লাইব্রেরি। নোডকপ্টারের মাধ্যমে আপনি প্যারট ২.০ এর মতো ড্রোন তৈরি করতে পারবেন, যেখানে আপনি একটি ড্রোনকে সম্পূর্ণরূপে নিয়ন্ত্রণ করতে পারবেন।


জাভাস্ক্রিপ্টের ভবিষ্যৎ উজ্জ্বল

ইসিএমএ স্ক্রিপ্ট (ECMA SCript ) হচ্ছে, জাভাস্ক্রিপ্টের আপডেট ভার্সন যেটা মূলত বাজারে নিয়ে আসা হয়েছে, জাভাস্ক্রিপ্টের ভলনারেবিলিটিগুলো দূর করার জন্যে। ইসি ৬ মূলত জাভাস্ক্রিপ্টের অনেক ধরনের সমস্যা তুলে ধরে জাভাস্ক্রিপ্টের ভবিষ্যতকে আরো উজ্জ্বল করে দিয়েছে।

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

5.PHP: পিএইচপি সম্পর্কে আপনারা অনেকেই কম বেশি জানেন । ওয়েব ডেভেলপমেন্ট এর ক্ষেত্রে পিএইচপি র কোন জুড়ি নেই । আপনি যত ভাল পিএইচপি জানবেন এবং আপ্নাএ লজিক যত শার্প হবে , আপনি তত ভাল মানের ডেভেলপার ।

 

Video Tutorial Link: http://www.videophpblog.com/category/beginners/ http://www.learnphptutorial.com/ Video Tutorial Packages and Courses – KillerVideoStore.com http://phpacademy.org/tutorials.php http://www.developphp.com/list_php_video.php http://www.phpvideotutorials.com/paths/#inheritance http://tutorialvid.com/videoList.php?pg=videonew&cid=15

Reference WebSite Link: http://www.w3schools.com/php/default.asp http://www.html.net/tutorials/php/ http://www.webcoachbd.com/php-basic http://www.webcoachbd.com/advanced-php http://www.htmlgoodies.com/beyond/php/ http://www.infiniteskills.com/training/php-with-mysql-beyond-the-basics.html

ধন্যবাদান্তে: সামাদ আহমেদ

LEAVE A REPLY

Please enter your comment!
Please enter your name here