প্রোগ্রামিং নিয়ে কিছু কথা ও পথনির্দেশনা

পূর্বকথা

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

প্রোগ্রামিং

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

programmer

ওটা হয়তো আমার বোঝানোর ব্যর্থতাও হতে পারে তবে এটুকু বলতে পারি যে প্রোগ্রামিং শেখার জন্য প্রথম যে জিনিসটা দরকার সেটা হল আগ্রহ আর কিছুটা সময় প্রোগ্রামিংয়ের পেছনে ব্যয় করার মনমানসিকতা। প্রোগ্রামিংয়ের জন্য অংকে বা বিশেষ কোন বিষয়ে দক্ষ হতে হবে এমনটাও নয়। তবে অ্যালগরিদম বা কখন কি করা উচিৎ সেটার ব্যাপারে একটা ভালো আইডিয়া থাকলেই প্রোগ্রামিংটা আনন্দের হয়ে ওঠে। বয়সও তেমন ব্যাপার নয়। ঢাকা বিশ্ববিদ্যালয়ের আরশাদ মোমেন স্যার যেমন ৩১ বছর বয়সে কোডিং শিখেছেন (স্যারের ফেসবুক স্ট্যাটাস থেকে) তেমনি মাত্র ক্লাস এইটে পড়ুয়া একটা ছেলেকেও আমি ভালো প্রোগ্রামিং সংক্রান্ত জ্ঞান রাখতে দেখেছি।

কম্পিউটারটা কেমন হওয়া উচিৎ?

প্রোগ্রামিংয়ে আপনি ঠিক কতদূর যেতে চান সেটার উপর ভিত্তি করে আপনার কম্পিউটারটা কেনা উচিৎ। আমার মতে যত ভালো প্রসেসর হবে ততটাই আপনার সুবিধা হবে। হ্যাঁ, এমনিতে বেসিক প্রোগ্রামিং শেখার জন্য ডুয়েল কোর (২ জিবি র‍্যাম) হলেও চলবে। তবে যখনই আপনি একটু উপরের দিকে মানে সফটওয়্যার ডেভেলপমেন্টের দিকে যাবেন আপনি আরো ভালো প্রসেসরের প্রয়োজনীয়তাটা অনুভব করতে থাকবেন। আর ডুয়েল কোর প্রসেসর দিয়ে আপনি বেশীসংখ্যক ভারী সফটওয়্যার রাখতে গেলে কম্পিউটার স্লো হয়ে যাওয়া কিংবা হ্যাং হয়ে যাওয়ার মত সমস্যায় পড়বেন। এজন্যই একটু দাম বেশী হলেও অপেক্ষাকৃত ভালো মানের প্রসেসর সমৃদ্ধ কম্পিউটার কেনাটাই উচিৎ। কোর আই থ্রি প্রসেসর দিয়েও মোটামুটি সব কাজ চলে যায়। এর উপরে আরো ভালো। উইন্ডোজ টেন কিংবা এইট অপারেটিং সিস্টেমের চেয়ে উইন্ডোজ সেভেন অনেক ভালো কাজ দেয়। আপনার কম্পিউটার কত বিটের (৩২, ৬৪ etc)  অপারেটিং সিস্টেমে চলছে সেটা জেনে রাখবেন। ভিন্ন প্রয়োজনীয় সফটওয়্যার ডাউনলোডের জন্য এটা জানাটা জরুরী। জাস্ট ‘My computer/ computer’  এর উপর একবার ক্লিক করে রাইট বাটন ক্লিক করে “properties” এ গেলেই আপনার কম্পিউটার কত বিটের অপারেটিং সিস্টেমে চলছে তা দেখতে পারবেন। তাও না পারলে ইউটিউবে দেখে নিতে পারেন। বাংলাদেশে প্রায় সবাই উইন্ডোজ অপারেটিং সিস্টেম ব্যবহারকারী তাই অন্য অপারেটিং সিস্টেমগুলোর দিকে যাচ্ছি না। প্রোগ্রামিং শেখার জন্য আপনার সাহায্যের জন্য অবশ্যই বেশ কিছু ভিডিও টিউটোরিয়াল দেখতে হবে। ভিডিও ডাউনলোড করে রাখার জন্য আপনার ব্রাউজারে অবশ্যই প্রয়োজনীয় সেটিংস করে নেবেন।

কোন ল্যাঙ্গুয়েজ দিয়ে শুরু করবো?

images4প্রথম প্রথম যখন মেশিন ল্যাঙ্গুয়েজ প্রোগ্রামিং অর্থাৎ ‘০’ ও ‘১’ এর প্যাটার্ন দিয়ে কোন নির্ধারিত কাজ করা হত তখন এক কম্পিউটার প্রতিষ্ঠানের প্রকৌশলীদের অন্য প্রতিষ্ঠানের কম্পিঊটারের কোন একটি প্রোগ্রাম বুঝতে বেশ বেগ পেতে হতো। কারণ একেক প্রতিষ্ঠান একেকভাবে ‘০’ ও ‘১’ প্যাটার্নগুলো সাজাতো। আমরা সৌভাগ্যবান যে ওই ঝামেলার মধ্যে যেতে হয়না। আমরা হাই লেভেল ল্যাঙ্গুয়েজ বা উচ্চস্তরের প্রোগ্রামিং ভাষাগুলো ব্যবহার করি যাতে কিছু ইংরেজী ভাষার শব্দ ব্যবহার করা হয় বোঝার সুবিধার্থে। এজন্য উচ্চস্তরের প্রোগ্রামিং ভাষাদের মধ্যে অনেক ক্ষেত্রেই মিল পাওয়া যায়। আমরা প্রোগ্রামিং করতে যে সফটওয়্যারটা অর্থাৎ কম্পাইলারটা ব্যবহার করি সে কিন্তু আমাদের লেখা কোডগুলোকে ঠিকই ওই মেশিনের পড়ার উপযোগী ‘০’ ও ‘১’ এর প্যাটার্ন বা ফরম্যাটে ট্রান্সলেট করে নেয়। ট্রান্সলেটর প্রোগ্রাম, কম্পাইলার ইন্টারপ্রেটার, সোর্স ও অবজেক্ট প্রোগ্রাম এইজাতীয় সকল টার্মগুলো সম্পর্কে ভালো ধারণা পেতে কলেজ লেভেলের যে কোনো লেখকের তথ্য ও যোগাযোগ প্রযুক্তি বই পড়তে পারেন।

কোন ভাষা দিয়ে শুরু করা উচিৎ এই ব্যাপারে আমি নানারকম কথা শুনেছি। আমার মনেহয় যে কোন একটা ভাষা শেখা দিয়ে শুরু করলেই হলো। যে ভাষা দিয়ে আপনি শুরু করবেন সেটাই আপনার বেস বা ভিত্তি হিসাবে কাজ করবে।15090961835_c4f26e4890_b একজন ভালো প্রোগ্রামার হবার জন্য বেশ কয়েকটা প্রোগ্রামিং ভাষা শেখার চেয়ে একটা ভাষা ভালো করে শেখাটাই গুরুত্বপূর্ণ । কারণ ওই যে বললাম উচ্চস্তরের ভাষাগুলোর অনেক কিছুই পরস্পরের সাথে মেলে  তাই একজন প্রোগ্রামার একটা ভাষা ভালোভাবে একবার রপ্ত করতে পারলে অন্যগুলো শেখার ক্ষেত্রে খুব বেশি বেগ পেতে হয় না। বিভিন্ন ধরনের কাজের স্বার্থে বিভিন্ন সময় বিভিন্ন রকমের উচ্চস্তরের ভাষা বিকাশ লাভ করেছে। আমি এখানে সবচেয়ে জনপ্রিয় যেগুলো সেগুলোর কয়েকটি নিয়েই মূলত আলোচনা করবো।

সি (C) প্রোগ্রামিং ল্যাঙ্গুয়েজটা বিভিন্ন দিক বিবেচনা করলে খানিকটা এগিয়ে থাকবে। আমি নিজেও ‘সি’ দিয়েই শেখা শুরু করেছিলাম । বাংলাদেশে সি প্রোগ্রামিং শেখাটাই মোটামুটি সহজতর। কম্পিউটার বিজ্ঞান ও প্রকৌশলে পড়াশোনার ক্ষেত্রে সি প্রোগ্রাম দিয়েই শুরু করা হয়ে থাকে সাধারণত। আমিও সি দিয়েই যাত্রা শুরু করেছিলাম। সবচেয়ে সহজভাবে শেখার জন্য তামিম শাহরিয়ার সুবিন ভাইয়ের “কম্পিউটার প্রোগ্রামিং” বইটার তুলনাই হয় না। SCHAUM series এর সি প্রোগ্রামিং এর উপর Programming with c বইটাও রাখতে পারেন। প্রচুর প্রবলেম ও সলিউশন দেয়া আছে বইটাতে।  সি প্রোগ্রামিংয়ের জন্য বর্তমানে Codeblocks-IDE   ( কম্পাইলার) সবচেয়ে বেশী জনপ্রিয়। IDE মানে Integrated development environment । এটা কয়েকটা প্রোগ্রামিং ল্যাংগুয়েজ পড়তে পারে। তবে সি প্রোগ্রামিং ছাড়া বাকিগুলোর ক্ষেত্রে এর কিছু সীমাবদ্ধতা আছে যেটা আপনি শেখার সময় বুঝতে পারবেন আশাকরি। সি প্রোগ্রামিংয়ের উপর ভিডিও টিউটোরিয়াল বাংলা, ইংরেজি ইউটিউবে অনেক আছে, তবে এখানেও আমি সুবিন-তাহমিদ-রাফি ভাইরা যে ভিডিও টিউটরিয়ালগুলো তৈরি করেছেন সেগুলো দেখার কথাই বলবো। শুরুতে অনেকেই কোডিং করার সময় ‘ ; ’ চিহ্নটা দিতে ভুলে যায়। এটা মাথায় রাখতে হবে। কোডব্লকস দিয়ে প্রোগ্রামিং করার একটা সুবিধা হল এটা দিয়ে আপনি আপনার লেখা একটা প্রোগ্রামকে ঠিকঠাকভাবে রান করলে সেটার জন্য একটা এক্সিকিউটেবল ফাইল তৈরি হয়। একটা স্বতন্ত্র সফটওয়্যারের ঐ এক্সিকিউটেবল ফাইলটাকে আপনি পরেও ব্যবহার করতে পারবেন, প্রতিবার কম্পাইল করার ঝামেলা ছাড়াই। ধরুন আপনি আপনার শিক্ষকদের নামধাম-এড্রেস-কনটাক্ট ইত্যাদি তথ্য রেখে একটা সি ভাষায় প্রোগ্রাম লিখলেন। কম্পাইল করে রান করার যে এক্সিকিউটেবল ফাইলটা তৈরী হবে সেটা আপনি পরেও ব্যবহার করতে পারবেন। একটু ক্রিয়েটিভ হলে আপনি এরকম কাজের ছোট ছোট অনেক ফাইল তৈরি করে আপনার কিছু কাজ দ্রুততার সাথে এগিয়ে নিতে পারবেন।

সি প্লাস প্লাস (C++) প্রোগ্রামিংটা হল সি প্রোগ্রামিংয়েরই আপডেটেড ভার্শন। এতে বেসিক প্রোগ্রামিংয়ের সাথে সাথে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংটাও করা যায়। এজন্য সি প্লাস প্লাস ল্যাঙ্গুয়েজটা অনেকেই বেছে নেয়। সি প্লাস প্লাস দিয়ে গ্রাফিক্স প্রোগ্রামিংও  পারা যায় । এতে মোটামুটি ডাটাপাথ ব্যবহার করে বিভিন্ন কনটেন্ট যেমন ছবি, মিউজিক ইত্যাদি প্রোগ্রামে ব্যবহার করা যায় ও কিভাবে কম্পিউটার একটা কোডকে দেখে এগুলো সেটা নিয়ে একটা ভালো আইডিয়া হয়ে যায়। এমনকি কিছুটা এনিমেশনও তৈরি করা যায় সি প্লাস প্লাস প্রোগ্রামিংয়ের সাহায্যে। সি প্লাস প্লাসের কম্পাইলার দিয়ে সি প্রোগ্রামিংও করা যায়। টার্বো সি প্লাস প্লাস  কিংবা বোরল্যান্ড কম্পাইলার দিয়ে সি প্লাস প্লাস প্রোগ্রামিং করা যায়। টার্বো কম্পাইলার বেশ পুরনো হলেও শেখার জন্য এটাই ভালো। টার্বোর পুরনো কম্পাইলারে ডিস্ক অপারেটিং সিস্টেমের (DOS) একটা অংশ আছে যেটাকে বলে ডশবক্স। ওটা নিয়ে খানিকটা ঘাটাঘাটি করলে বুঝতে পারবেন উইন্ডোজ বা এজাতীয় অপারেটিং সিস্টেম আগে কম্পিউটার ব্যবহার করাটা ঠিক কতটা কষ্টসাধ্য ব্যাপার ছিলো। যাই হোক সি প্লাস প্লাস ভাষায় ক্লাস (“প্রোগ্রামিংয়ে ক্লাস শব্দটা একটা অবজেক্টের নির্দিষ্ট কিছু বৈশিষ্ট তুলে ধরতে ব্যবহার করা হয়”) এর ব্যবহার শেখা যায়। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের প্রাণ হল ক্লাস। বাংলায় সি প্লাস প্লাস প্রোগ্রামিংয়ের জন্য অনেক ভিডিও টিউটোরিয়াল আছে তাদের মধ্যে শরীফ চোধুরী ভাইয়ের টিউটোরিয়ালগুলো বেশ ভালো, তবে ভিডিওর সাউন্ডে খানিকটা সমস্যা হতে পারে। কিছুটা   গ্রাফিক্স প্রোগ্রামিং জিনিসটা বেশ মজার। অনেক কিছুই আপনি তৈরি করতে পারবেন  এমনকি ছোটখাটো গেমও। ONECORE এর ওয়েবসাইটে এটার ব্যাপারে ভালো ধারণা দেয়া আছে। প্রথমে ছোট ছোট উদাহরণগুলো যেমন বক্স, সার্কেল, গাড়ী ইত্যাদি দিয়ে শুরু করতে পারেন। পরে HAPPYCODINGS এর কিছু গ্রাফিক্স প্রোগ্রাম চেষ্টা করে দেখতে পারেন।

পাইথন (Python) দিয়ে সবচেয়ে সহজ উপায়ে দ্রুততম সময়ে আপনি প্রোগ্রামিংয়ের অনেক গুরুত্বপূর্ণ বিষয়াবলী শিখতে পারবেন। আমি যখন Python শেখার চেষ্টা করেছি তখন An introduction to Python for absolute beginners-Bob Dowling নামের বইটা পড়েছিলাম। এটার পিডিএফ ফাইল পাওয়া যায়। অনেক ছবিটবি দিয়ে চমৎকার ভাবে ব্যাখ্যা করা ছিলো। অন্য যেকোন ভাষার চেয়ে তুলনামুলকভাবে পাইথন সহজতর এবং লেখালিখির কাজটা একটু কম। একটা ভাষায় আপনি প্রোগ্রামিং শেখার পর আপনি পাইথন শেখায় অগ্রসর হলেই তফাতটা ভালোভাবে বুঝতে পারবেন। পাইথনের শুরুর দিকটা বেশ সহজ। তবে পরের কিছু বিষয় খুবই কঠিন। গুগল ও ইউটিউব তৈরি করা হয়েছে পাইথন দিয়েই। গুগল পাইথন প্রোগ্রামিংয়ের উপর বিশেষ ক্লাসও রেখেছে।  অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংও পাইথনের মাধ্যমে শুরু করতে পারবেন। পাইথন শেখার জন্যও তামিম শাহরিয়ার সুবিন ভাইয়ের ভিডিও টিউটোরিয়ালগুলো দেখতে পারেন।

জাভা (Java) দিয়ে যদি আপনার শুরুটা হয় তাহলে সেটা হবে দারুণ একটা  ব্যাপার। জাভা দিয়ে পারা যায় না এমন জিনিস খুব কমই আছে। জাভাই এখন পর্যন্ত তৈরি হওয়া সবচেয়ে সফল ভাষা। অনেকের কাছে সবচেয়ে কঠিন ভাষাও। জাভার কর্মক্ষেত্র সুবিশাল। জাভার বেসিকটা অন্যগুলোর চেয়ে কোন অংশেই ভিন্ন নয় তবে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের অনেকগুলো অংশ বোঝার জন্য অনেক ধৈর্যের প্রয়োজন রয়েছে। জাভার দক্ষতা কাজে লাগানো যায় অনেক ক্ষেত্রে। সেটা নিয়ে পরে আসছি।

eclipse-800x188

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

আজকাল মোবাইলের জন্যও বিভিন্ন কম্পাইলার ও আইডিই (ইন্টিগ্রেটেড ডেভলপমেন্ট এনভায়রনমেন্ট) আছে। গুগল প্লেস্টোরে পাবেন সার্চ করলেই। এছাড়াও আমার আগের একটা লেখা “স্মার্টফোনেই হোক প্রোগ্রামিং ও ওয়েব ডিজাইন” লেখাটা পড়তে পারেন। মোটামুটি ভালো কাজ করে CppDroid নামের অ্যাপটা।

আপনার যদি ওয়েব ডেভলপমেন্ট শেখার ইচ্ছা থাকে তাহলে শুরু করা উচিৎ এইচটিএমএল দিয়ে। আপনার পূর্ণ মনোযোগ থাকলে দুই তিনদিনের বেশী লাগার কথা না এর বেসিকটা শিখতে। কলেজের তথ্য ও যোগাযোগপ্রযুক্তির যে কোনো বই নিয়ে শুরু করে দিতে পারেন।  জাস্ট মজিলা ফায়ারফক্স আর নোটপ্যাড সফটওয়্যার দুটো আপনার থাকলেই হলো। এইচটিএমএল শেখার জন্য W3school ওয়েবসাইটটা দারুণ। এটা দিয়ে আপনি কেবল শিখতে পারবেন  তাই না, ভিন্ন ভিন্নভাবে ট্যাগ লিখলে সেগুলো কেমন দেখাবে সেটাও দেখতে পারবেন। ভবিষ্যতে আরো এগোবার (সিএসএস, পিএইচপি) চিন্তা থাকলে অবশ্যই NOTEPAD++ টা ডাউনলোড করে নেবেন। সিএসএস শেখার ক্ষেত্রে এটা কাজে দেবে। অনেক দ্রুততার সাথে এটা দিয়ে কাজ করা যায়। এছাড়াও মজিলা ফায়ারফক্স বা গুগল ক্রোম থেকে আপনি কোন ওয়েবসাইট কেমনভাবে ডিজাইন করা হয়েছে বা কোন কোন ট্যাগ ব্যবহার করে পেজটা তৈরি  সেটাও দেখতে পারবেন। আপনি যেকোন ওয়েবসাইটে ঢুকে মাউসের রাইট বাটন ক্লিক করবেন তাহলে inspect element / view page source  অপশন দেখবেন। ওগুলোতে ক্লিক করলেই দেখতে পারবেন কোন কোন ট্যাগগুলো ব্যবহার করে পেজটা তৈরি হয়েছে। এটা আপনাকে আরো দ্রুত বুঝতে সাহায্য করবে। ওই ট্যাগগুলো আবার আপনি নিজে কপি করে প্রয়োজনমত ব্যবহারও করতে পারেন যাতে সময় খানিকটা বেঁচে যাবে।

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

studio-logo

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

আগেই বলেছি জাভা ও অ্যান্ড্রোয়েড ডেভেলপমেন্টের জন্য বাংলায় জুলকারনাইন ভাইয়ের ভিডিওর চেয়ে সোজা আর নেই। তবে উনি দেখিয়েছেন অ্যান্ড্রোয়েড ডেভেলপমেন্ট কিট দিয়ে। আপনি সেটাও ব্যবহার করতে পারেন। অ্যান্ড্রোয়েড স্টুডিওর সাথে অ্যান্ড্রোয়েড ডেভেলপমেন্ট কিটের তেমন কোন পার্থক্যই নেই। আপনি ওগুলো দেখলেই চলবে। তবে আমার দেখা Android tutorial for beginners শিরোনামের এই ভিডিওগুলো চমৎকার লেগেছে। ছোট ছোট ভিডিও তাই বিরক্তি আসার সম্ভাবনাও কম। ভাষা ইংরেজি হলেও স্পষ্ট।

এছাড়াও বিভিন্ন ধরনের ফ্রেমওয়ার্ক যেমন DOT NET, CORDOVA, SENCHA-TOUCH,  QUICKAPP  দিয়েও শুরু করতে পারেন তবে আমার অভিজ্ঞতা বলে আপনি অ্যান্ড্রোয়েড স্টুডিও দিয়ে শুরু করলে আপনার নিজের কাছেই এগুলো সহজ মনে হবে। এগুলো দিয়ে অ্যাপ বানাতে আপনার জাভা শেখার তেমন প্রয়োজনীয়তা নেই। কেবল এইচটিএমএল\ সিএসএস\ জাভাস্ক্রীপ্ট সম্পর্কে জানা থাকলেই চলে ।

jquery-mobile-phonegap-cordova1

এগুলো ছাড়াও Phonegap নামের দারুণ একটা সফটওয়্যার আছে যেটা দিয়ে আপনি অল্প সময়ে অ্যান্ড্রোয়েড অ্যাপ বানানো শিখতে পারবেন। এটাতে জাভা শেখার কোন দরকারই নেই। একটা চমৎকার ভিডিও আছে ইউটিউবে যেটা দিয়ে আপনি এক ঘন্টার ভেতরেই একটা অ্যান্ড্রোয়েড অ্যাপ বানাতে পারবেন। মোবাইলে থেকেই ডেভলপমেন্ট শেখার জন্য Android-IDE( AIDE) ও বেশ কাজের।

প্রোগ্রামিং নিয়ে জানার জন্য ইন্টারনেটে অনেক অনেক সাইট আছে তবে বাংলাদেশে বাংলা ভাষায় প্রোগ্রামিং সংক্রান্ত যেকোন প্রশ্নের উত্তর খুঁজতে কিংবা প্রশ্ন করতে প্রোগ্রামাবাদ নামের একটা চমৎকার সাইট আছে সেটায় ঘুরে আসতে পারেন। এছাড়াও নিজের প্রোগ্রামিং দক্ষতা কতটুকু সেটা বোঝার জন্য বিভিন্ন ওয়েবসাইট আছে (অনলাইন জাজ) সেগুলোতে নিয়মিত ভিজিট করতে পারেন।

আজ এতটুকুতেই শেষ করছি। আমার ইচ্ছা ছিলো মোটের উপর একটা ধারণা দেয়া যে প্রোগ্রামিংয়ে কোন পথে গেলে ঠিক কেমন হতে পারে। আমি ঠিক জানি না যে আমি কতটা সফল হলাম কিংবা ব্যর্থ। যদি সামান্য পরিমাণ কেউ উপকৃত হন তাহলে সেটাই আমার সার্থকতা। লেখায় আমার কোনো ভুলত্রুটি হলে নির্দ্বিধায় জানান। আর আরো যদি কোনো পরামর্শ চান তাহলে আমাকে (proyashzaman@gmail.com) ঠিকানায় ইমেইল করতে পারেন। যথাসাধ্য সাহায্য করার চেষ্টা করবো।

Comments

Md. Abdullah Al Zaman (Proyash)

লিখতে ভালোই লাগে। আর বিজ্ঞান নিয়ে লেখালেখির জন্য বিজ্ঞানযাত্রা একটা চমৎকার জায়গা। তবে নিয়মিত লেখালেখি করা হয়ে ওঠেনা। চেষ্টা করি তবুও।

আপনার আরো পছন্দ হতে পারে...

মন্তব্য বা প্রতিক্রিয়া জানান

3 মন্তব্য on "প্রোগ্রামিং নিয়ে কিছু কথা ও পথনির্দেশনা"

জানান আমাকে যখন আসবে -
avatar
সাজান:   সবচেয়ে নতুন | সবচেয়ে পুরাতন | সর্বোচ্চ ভোটপ্রাপ্ত
মুক্ত
অতিথি

অপারেটিং সিস্টেম হিসেবে উইন্ডোজ এর কথা না বলে, লিনাক্স বেসড কোন ডিস্ট্রোর কথা বললে ভালো হতো।

সাজিদ
অতিথি

আমিও তাই ভাবছিলাম। এক্ষেত্রে উবুন্তু কিংবা কালি ব্যবহার করলে সবচেয়ে বেশি ভালো হয়

Rajib
সদস্য

ধন্যবাদ, প্রোগ্রামিং এর ধারণা নিয়ে দারুণ একটি লেখা উপহার দেবার জন্য।

wpDiscuz