Wednesday, August 8, 2012

ক্যারিয়ার গড়ুন সফটওয়্যার ডেভেলাপমেন্টে

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

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


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


সি  শেখার জন্য আপনি নিটনের "সবার জন্য সি" বইটা পড়তে পারেন। আমি এটাই পড়েছিলাম।

২। সি প্লাস প্লাসঃ  সি এর ব্যাপারে মোটামুটি ধারনা নেয়ার পর আপনি আসবেন সি প্লাস প্লাসে। সি প্লাস প্লাস অবজেক্ট অরিয়েন্টেড ল্যাঞ্জুয়েজ। অবজেক্ট অরিয়েন্টেড ফিচারটি অনেক গুরুত্বপূর্ণ, এটা ভাল করে শিখতে হবে। সি প্লাস প্লাসের ক্ষেত্রেও আপনি নিটনের "অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং-সি প্লাস প্লাস" বইটা পড়তে পারেন।


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

সি এবং সি প্লাস প্লাসের প্রতিটি বই কমপক্ষে তিনবার করে মোট ছয়বার পড়বেন এবং কোড বুঝে বুঝে কম্পাইল করবেন। তবুও যদি কোন জায়গায় জায়গায় বোঝার সমস্যা থাকে, ব্যাপার না, রিয়েল টাইম ইম্পলিমেন্ট করতে গেলে পুরো বিষয়টা বুঝে যাবেন।

আমার পড়ার স্টাইল হল পুরো বইটা একবার বুঝি আর না বুঝি পুরোটা রিডি পড়া আর কোন রকম বুঝেই সোর্সকোড কম্পাইল করা। তখন দেখা যেত ১০০% এর মধ্য মাত্র ১৫% বুঝেছি। আবার বইটা পড়লে দেখা যায় যে আগে যেগুলো বুঝি নি পরের বার পড়ে ৪৫% বুঝেছি। আরেকবার পড়লে দেখা যায় ৭০% বোঝা যায়। এটুকুই যথেষ্ট, আর বাকীগুলো দেখা যায় রিয়েল টাইমে কোন এপ্লিকেশন ডেভেলাপ করতে গেলে শিখা হয়।

আবার অনেক দেখেছি পড়ার স্টাইল ভিন্ন। এরা যদি ধরুন ২৫ নাম্বার পেইজে কোন লাইন বুঝে না তাহলে এই ২৫ নাম্বার পেইজ নিয়েই সারাদিন পড়ে থাকে। যতক্ষন না বুঝে ততক্ষন থেমে থাকে। আমার ধারনা এই প্রক্রিয়ার ধৈর্য আর থাকে না। তাই আমি একটানা পড়ে যাই...বুঝলে তো বুঝলাম...না বুঝলে নাই...পরে কোন একটা সময় দেখা যায় বুঝে যাই। যাই হোক আপনি কিভাবে পড়বেন এটা আপনার ব্যাপার।

৩। টুলকিটঃ  আপনি যদি কোন একটি সাধারন এপ্লিকেশন মূল সি বা সি প্লাস প্লাস ল্যাঞ্জুয়েজে লিখতে যান তাহলে হাজার হাজার লাইন লিখে তারপর বানাতে হবে। এর জন্য এপ্লিকেশন ডেভেলাপমেন্টের দ্রুততার জন্য আমরা টুলকিট ব্যবহার করে থাকি। এতে অনেক কিছু আগেই তৈরি করা থাকে। আপনাকে শুধু জাস্ট জানতে হবে কোডের ব্যবহার কিভাবে করতে হবে।

ডেক্সটপ সফটওয়্যার ডেভেলাপমেন্টে আপনি কোন টুলকিট ইউজ করবেন তা নির্ধারন অনেক গুরুত্বপূর্ণ। আপনি যদি জাস্ট উইন্ডোজ এক্সপি বা সেভেনের জন্য এপ্লিকেশন তৈরি করতে চান তাহলে মাইক্রোসফট ডট নেট ফ্রেমওয়ার্ক ইউজ করতে পারেন। এর সাহায্য বানানো এপ্লিকেশন উইন্ডোজ ছাড়া আর কোথাও রান করবে না। এ ক্ষেত্রে আমার পছন্দ কিউট ফ্রেমওয়ার্ক। এটা ক্রসপ্ল্যাটফরম। তার এ দিয়ে আপনি উইন্ডোজ, লিনাক্স, ম্যাকের জন্য এপ্লিকেশন তৈরি করতে পারবেন। আবার আপনি মোবাইল এপ্লিকেশন ডেভেলাপমেন্টে নকিয়ার সিম্বিয়ান, মিয়োমো ডিভাইসের জন্য গেমস, সফটওয়্যার তৈরি করতে পারেন। এছাড়াও necessitas ইউজ করে এর দ্বারা তৈরি এপ্লিকেশন এনড্রয়েডে চালাতে পারবেন। ১৯৯২ সালে ট্রলটেক কিউট ফ্রেমওয়রর্ক নিয়ে আসে। ২০০৮ সালে নকিয়া একে কিনে নেয়। ২০১২ সালে ডিজিয়া একে কিনে নেয়। ডিজিয়া ঘোষনা দিয়েছে, খুব শ্রীঘ্রয় কিউট দিয়ে এনড্রয়েড, iOS এবং উইন্ডোজ ৮ ফোনের জন্য এপ্লিকেশন তৈরি করা যাবে।


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

কিউট ফ্রেমওয়ার্কঃ কিউট ফ্রেমওয়ার্ক এর সকল তথ্য পাবেন - http://qt.nokia.com
এটা শিখতে হলে আপনি নিচের তিনটি বইয়ের যে কোন একটি ভাল করে পড়লেই হবে। বই পড়ার ক্ষেত্রে পরামর্শ হল সত্যিকার অর্থে শিখতে চাইলে যে বইটা পড়বেন সেটা পুরোটা প্রিন্ট করে ফেলবেন। টাকা যা খরচ হওয়ার হবে। টাকা খরচ না করলে শেখা যায় না।
বইঃ
১। C++  GUI Programming with Qt 4 (2nd Edition)
২। Foundations of Qt Development
৩। The Book of Qt 4: The Art of Building Qt Applications
আরো অনেক অনেক বই আছে। এই তিনটা বই আসলেই অনেক ভাল। যে কোন একটা ভাল করে পড়লেই হবে। আমি ২ নাম্বার বইটা পড়েছিলাম। বইয়ের ডাউনলোড লিঙ্ক দিলাম না, কারন এই বইগুলো নেটে খুব সহজেই পাওয়া যায়। প্রথমদিকে একটা সমস্যায় পড়েছিলাম, বইয়ে কোডগুলো আছে এগুলো কম্পাইল করলে দেখি কম্পাইল হয় না, আবার অনেক কোড পুরোটা দেয়া নাই। আসলে সকল বইয়ে কোডের গুরুত্বপূর্ণ কোডের অংশগুলো থাকে আর কোডের ব্যাখ্যা থাকে। বইয়ের সাথে example source code নামে আরেকটা ফাইল পাওয়া যায়, গুগলে সার্চ করে ডাউনলোড করে নিবেন। এতে পুরো কোড দেয়া আছে।

ভিডিও টিউটরিয়ালঃ এক্ষেত্রে খুব সমৃদ্ধ ভিডিও টিউটরিয়াল আছে। ইউটিউবের ব্রায়ানের এই চ্যানেলটি দেখতে পারেন। এখানে ১০১ টি ভিডিও টিউটরিয়াল আছে।

ডকসঃ    ডেভেলাপারদের সুবিধার জন্য কিউটের এই ডকুমেন্টেশনটি অনেক সুন্দর করে সাজানো একটি ডকুমেন্টেশন। দেখতে পারেন এই লিঙ্কে।

সোর্সকোডঃ কিউট টুলকিটে খেয়াল করলে দেখবেন এখানে প্রায় ২০০ এর মত সোর্সকোড দেয়া আছে। এগুলো দেখবেন। বুঝে বুঝে কম্পাইল করবেন। বই সারাদিন ধরে রিডিং পড়ার চেয়েও সোর্সকোড নিয়ে কাজ করলে অনেক বেশি শেখা যায়। দরকার হলে দেখে দেখে কোডগুলো খাতায় লিখবেন। দেখবেন অনেক শেখা হচ্ছে।

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

কিউট ডেভেলাপার নেটওয়ার্কঃ হাজার হাজার ডেভেলাপারদের সমাবেশ এখানে। তাদের তৈরি বিভিন্ন এপ্লিকেশন যেমন পাবেন তেমনি আপনার কোন প্রশ্ন বা জিজ্ঞাসা থাকলে এখানে করতে পারেন।

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


কিউট ডাউনলোডঃ  আপনি নেট থেকে কিউট ফ্রেমওয়ার্ক ডাউনলোড করতে পারেন। এর জন্য QT SDK ডাউনলোড করতে পারেন। মাত্র ১ জিবি ! লিঙ্ক নেন – http://qt.nokia.com/downloads/
অথবা,
QT SDK ডাউনলোড করতে না চাইলে কিউট ক্রিয়েটর (৫৮ মেগা) এবং কিউট ডিজাইনার ( ৩২৮মেগা) ডাউনলোড করবেন। আমি এটাই ইউজ করি। তবে সবচেয়ে ভাল হল QT SDK ডাউনলোড করা, এটাতে সব কিছু দেয়া আছে। কোন লোকেশন দেখিয়ে দেয়া লাগে না। এটা প্রায় দেড় জিবি।

কিউট ফ্রেমওয়ার্ক ইন্সটলঃ আপনি যদি কিউট SDK ডাউনলোড করেন থাকেন তাহলে এই একটি ফাইল ইন্সটল করলেই হয়ে যাবে। আলাদাভাবে কানেক্ট করতে হবে না। এখানে ক্রিয়েটর, ডিজাইনার , এসিস্টেন্ট, কমান্ড লাইনসহ সবকিছু দেয়া আছে। সকল প্ল্যাটফরমের সাপোর্ট এটিতে আছে। তবে এটিতে কম্পাইল হতে বেশি সময় নেয়। তাই আমি নিচেরটি ইউজ করি।
অথবা-
আর আমি যেটা ইউজ করি কিউট ক্রিয়েটর (৫৮ মেগা) এবং কিউট ডিজাইনার ( ৩২৮মেগা)। এই দুটি ডাউনলোড করার পর আপনাকে এই দুটির মধ্যে কানেক্ট করতে হবে। কিউট ক্রিয়েটর Open করুন। এখন Tools-Option- QT4 – ডানদিকে Add – তারপর এই(c:\qt\4.7.4\bin\qmake.exe) লোকেশনে qmake কে দেখিয়ে দিন। আর বেশির ভাগ ইউজার ভুল করে C:\Qt\4.7.4\qmake\qmake.exe লোকেশন দেখিয়ে দেয়। so be careful.

কোড কম্পাইলঃ যদি ব্রায়ানের ভিডিও টিউটরিয়ালে খুব সুন্দরভাবে দেখানো আছে, তবুও একটু ডেমো দেই কিভাবে কোড কম্পাইল করবেন।  কিউট ফ্রেমওয়ার্কে বেশিরভাগ সময় আপনাকে কাজ করতে হবে QT CREATOR/SDK নিয়ে। আর এর কাজ করার স্টাইল হচ্ছে প্রথমে এটি একটি .pro এক্সটেনশনের প্রজেক্ট তৈরি করে। মেইন ফাইল দিতে হয়। সাথে আরো অনুসাঙ্গিক ফাইল ইচ্ছা হলে দেয়া যায়।
যাই হোক hello.pro নামে প্রজেক্ট বানালাম।  এর জন্য প্রথমে QT creator – File – New File or project – Other Project- Empty QT project- hello.pro – Next-Next-Finish ।
এখন সি প্লাস প্লাসের মূল ফাইল তৈরি করব। তাই এখন আবার QT creator – File – New File or project – C++ – C++ Source File – hello.cpp – Next-Next-Finish . এখানে নিচের কোড লিখে রান বাটনে চাপ দিন।


ধন্যবাদ সবাইকে। শুভ কামনা রইল সবার জন্য।

7 comments:

  1. নিটনের "অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং-সি প্লাস প্লাস" r "সবার জন্য সি" বইটা r kono ki download link dewa jaba????
    thnx

    ReplyDelete
    Replies
    1. আমি পোস্টেই বলেছি এই বইগুলো অনলাইনে নেই। আপনার যদি সত্যিকার অর্থেই শেখার আগ্রহ থাকে তাহলে কিনে পড়তে হবে। আর মনিটর স্ক্রীনের দিকে তাকিয়ে তাকিয়ে বই কখনও ঠিকমত পড়া যায় না।

      Delete
  2. Baiya apnake onk donnobad apner post gulu pore onk kichu sikhlam .

    ReplyDelete
  3. অনেক ধন্যবাদ মাসপি ভাই, পয়েন্টগুলার জন্য।

    ReplyDelete
  4. Topics are to much excellent than blogg writer's knowledge.But it would be better,if he give another powerful c++ IDE,SDK,etc.Thanks for your post.

    ReplyDelete
  5. i am very happy to read this blog post

    ReplyDelete

এখানে আপনি আপনার মূল্যবান মতামতটি প্রকাশ করতে পারেন।