"অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং"বইটির সম্পর্কে লেখকের কিছু কথা: এই বইয়ের মূল উদ্দেশ্য হলাে অবজেক্ট-ওরিয়েন্টেড প্রােগ্রামিং এবং কোড করার সময় এর বাস্তব প্রয়ােগ হাতে-কলমে শেখানাে। Object Oriented Programming-এর প্রতিটি শব্দের আদ্যক্ষর নিয়ে সংক্ষেপে একে 00P বলে, যাকে আমরা বাংলায় লিখব ওওপি। বইয়ের কোডগুলাে সি শার্প (C#)-এ লেখা। আপনি যেহেতু প্রােগ্রামিংয়ের বেসিক জানেন, তাই আমরা বেসিক প্রােগ্রামিং নিয়ে তেমন আলােচনা করব না। তবে সি শার্পের সিনট্যাক্স (Syntax) নিয়ে কিছুটা আলােচনা থাকবে। আর বাকি সব আলােচনা হবে ওওপির ওপর। কোড লেখার জন্য আমরা ভিজুয়াল স্টুডিও 2019 ব্যবহার করেছি। তবে আপনি ভিজুয়াল স্টুডিওর অন্য কোনাে ভার্শন কিংবা অন্য কোনাে আইডিই (IDE) ব্যবহার করতে পারেন। কাদের জন্য এই বই প্রােগ্রামার হিসেবে কাজ করতে হলে আপনাকে প্রায় প্রতিদিন কোড লিখতে হবে এবং এসব কোড হতে হবে মানসম্মত। আর মানসম্মত মানে অনেক কিছু – কোড নির্ভুল কাজ করতে হবে, যতটুকু সময়ের মধ্যে প্রােগ্রামটি চলার কথা সেই সময়ের মধ্যে চলতে হবে, কোডের ডিজাইন এমন হতে হবে, যাতে অন্য প্রােগ্রামাররা সহজেই সেটি পরিবর্তন করতে পারে। প্রােগ্রামারদের ক্যারিয়ারের একটি বড়াে সময় কাটে কোড পড়া, বােঝা ও প্রয়ােজনমতাে পরিবর্তন করার পেছনে এবং কাজটি বেশ জটিল। এসব ব্যাপার সামাল দিতে শুধু বেসিক প্রােগ্রামিংয়ের জ্ঞান আর অভিজ্ঞতা দিয়ে প্রফেশনাল কাজ করা প্রায় অসম্ভব। কাজেই প্রােগ্রামিংয়ের যুক্তি এবং ডেটা স্ট্রাকচার ও অ্যালগরিদমে পারদর্শী হওয়ার সঙ্গে সঙ্গে যদি আপনার ওওপি নিয়ে ভালাে ধারণা থাকে, তাহলে আপনি ভালাে কোড লিখতে পারবেন, অন্যের প্রফেশনাল লেভেলের কোড বা ডিজাইন সহজে এবং কম সময়ে বুঝতে পারবেন। দীর্ঘদিন ওওপি নিয়ে প্রফেশনাল প্রােগ্রামার এবং শিক্ষার্থীদের জন্য অসংখ্য প্রশিক্ষণ ও কর্মশালার রূপরেখা প্রণয়ন এবং পরিচালনা করার অভিজ্ঞতার পরিপ্রেক্ষিতে এই বইটি লেখা হয়েছে। আপনি যদি নিচের যেকোনাে একটি দলের মধ্যে নিজেকে ফেলতে পারেন, তাহলে বইটি আপনার উপকারে আসবে বলে আমার বিশ্বাস - • কম্পিউটার-বিজ্ঞানের শিক্ষার্থী, যারা এবার ওওপি কোর্সটি নিয়েছেন। • সফটওয়্যার ডেভেলপমেন্টে যারা চাকরি খুঁজছেন তাঁদের জন্য ইন্টারভিউতে ওওপি অংশে সঠিক উত্তর দেওয়ার ক্ষেত্রে বইটির কোড ও ডিজাইন-ভিত্তিক আলােচনা খুব কাজে লাগবে এবং চাকরিতে যােগদানের পর আপনি মানসম্মত কোড লিখতে পারবেন। • বর্তমানে যারা সফটওয়্যার ইঞ্জিনিয়ার বা ডেভেলপার হিসেবে কাজ করছেন কিন্তু ওওপি বুঝতে বা ডিজাইন করতে সমস্যার সম্মুখীন হচ্ছেন, যে ভাষা বা ফ্রেমওয়ার্কে কাজ করছেন সেটা বুঝতে কেমন যেন ঝামেলা হচ্ছে, তাঁদের জন্য এই বইয়ের আলােচনাগুলাে বেশ কাজে দেবে। এই বই পড়তে কী কী জানা থাকতে হবে এই বইয়ের আলােচনা ও কোড বােঝার জন্য প্রােগ্রামিংয়ের মৌলিক বিষয়গুলাে সম্পর্কে ভালাে ধারণা থাকতে হবে। তবে কোনাে নির্দিষ্ট ভাষায় দখল থাকার প্রয়ােজন নেই, যেকোনাে একটি ভাষায় (জাভা, সি, সি শার্প, পিএইচপি, পাইথন ইত্যাদি) প্রােগ্রামিংয়ের অভিজ্ঞতা থাকলেই চলবে। যেহেতু বইটিতে বিভিন্ন বিষয় আলােচনার জন্য সি শার্প ব্যবহার করেছি, তাই প্রথম অধ্যায়ে সি শার্পের সিনট্যাক্স দিয়ে প্রােগ্রামিং নিয়ে কিছুটা ধারণা দেওয়ার চেষ্টা করেছি। এতে করে ওওপি অংশের আলােচনায় কোড নিয়ে আপনার তেমন কোনাে সমস্যা হবে না। কোডগুলাে অনুশীলন করার জন্য কী কী সফটওয়্যার লাগবে এই বইয়ের সব কোড ভিজুয়াল স্টুডিও ২০১৯-এ লেখা। আপনারা চাইলে মাইক্রোসফটের ওয়েবসাইট (https://visualstudio.microsoft.com/vs/community) থেকে ভিজুয়াল স্টুডিও ২০১৯ ডাউনলােড করে আপনার কম্পিউটারে ইনস্টল করে নিতে পারেন। তবে আপনি চাইলে ভিজুয়াল স্টুডিওর যেকোনাে ভার্শন ব্যবহার করতে পারেন। সাের্স কোডগুলাে কোথায় পাবেন? এই বইয়ের পাতায় পাতায় কোডের ছড়াছড়ি। কিন্তু আইডিইতে কোড দেখা, কিছু পরিবর্তন করা, কোড রান কিংবা ডিবাগ করার অনুভূতি কখনই বইয়ের পাতায় পাওয়া যায় না। এজন্য এই বইয়ে আলােচিত প্রায় সকল কোড (উদাহরণ এবং অনুশীলনী) https://github.com/tiemoon/sourcecode-oopusingcsharp-art 1165 বইটি যেভাবে পড়বেন এই বইটি শুধু পড়লে আপনার তেমন কোনাে উপকারে আসবে না। বইটি পড়ার সঙ্গে সঙ্গে প্রতিটি উদাহরণ এবং অনুশীলনীর কোড আপনাকে নিজে টাইপ করতে হবে, ডিবাগ করে দেখতে হবে কীভাবে কাজ হয়, আর একটু চিন্তা করতে হবে। আর এসব করলে আপনি অনেক ভুল করবেন, আপনার কোড রান হবে না, হাজারাে সমস্যায় পড়বেন। এভাবেই আপনি ওওপি শিখবেন, এভাবে সমস্যায় পড়ে শেখা ছাড়া প্রােগ্রামিং শেখার আর কোনাে বিকল্প উপায় আমার জানা নেই। বইটিতে বিভিন্ন রকম ডিজাইন নিয়ে অনেক আলােচনা আছে, এসব নিয়ে আপনার সহকর্মী কিংবা সহপাঠীদের সঙ্গে আরাে আলােচনা করলে আপনারই উপকার হবে। ইন্টারনেটেও অনেক অনেক আলােচনা আছে এসবের ওপর, সেগুলােও দেখতে পারেন।