বাংলাদেশের অর্থনীতি তিনটি পিলারের ওপর দাঁড়িয়ে আছে। প্রথমটি পোশাকশিল্প, দ্বিতীয়টি কৃষি ও তৃতীয়টি হচ্ছে প্রবাসী বাংলাদেশিদের শ্রম। কিন্তু চতুর্থ পিলারটি অনুপস্থিত। সেই পিলারটি হতে পারত তথ্যপ্রযুক্তি। কিন্তু সঠিক দিকনির্দেশনা ও চেষ্টার অভাবে বাংলাদেশ এই খাতে এখনো অনেক অনেক পেছনে।
তথ্যপ্রযুক্তি নিয়ে যে যতই কথা বলুক, যত শর্টকাটে বড়লোক হওয়ার স্বপ্নই দেখাক, এতে কাজের কাজ কিছু হবে না। তথ্যপ্রযুক্তির মূল বিষয় হচ্ছে প্রোগ্রামিং আর সেটাকে ধরেই আমাদের আগাতে হবে। অনেক দেরিতে হলেও বাংলাদেশের অনেকেই সেটা বুঝতে শুরু করেছে, আর তাই স্কুল-কলেজের শিক্ষার্থীরাও তাদের নিয়মিত পড়াশোনার বাইরে প্রোগ্রামিং শেখার চেষ্টা করে যাচ্ছে, বিভিন্ন প্রোগ্রামিং প্রতিযোগিতায়ও অংশগ্রহণ করছে। বিষয়টি আমার জন্য অত্যন্ত আনন্দের ও গর্বের যে, বাংলাদেশের স্কুল-কলেজ পর্যায়ের শিক্ষার্থীদের অধিকাংশই প্রোগ্রামিং শেখা শুরু করে আমার লেখা কম্পিউটার প্রোগ্রামিং ১ম খণ্ড বইটি দিয়ে। বইটিতে সি (C) প্রোগ্রামিং ভাষা ব্যবহার করে প্রোগ্রামিংয়ের সঙ্গে শিক্ষার্থীদের পরিচয় করানোর চেষ্টা করেছি।
বর্তমানে পৃথিবীর বিভিন্ন দেশে প্রোগ্রামিং শেখা শুরু করার জন্য পাইথন (Python) নামক প্রোগ্রামিং ভাষাটি বেশ জনপ্রিয়তা অর্জন করছে। স্কুল পর্যায়ের শিক্ষার্থীরা যেমন পাইথন দিয়ে প্রোগ্রামিং শেখা শুরু করছে, তেমনি এমআইটি (MIT)–এর মতো পৃথিবীর শ্রেষ্ঠ বিশ্ববিদ্যালয়গুলোও তাদের সিলেবাসে পাইথন দিয়ে প্রোগ্রামিং ও কম্পিউটার বিজ্ঞান শেখা শুরু করার কোর্স নিয়ে এসেছে। বাংলাদেশের শিক্ষার্থীরাও যেন এদিক থেকে পিছিয়ে না পড়ে, সেজন্য আমার ক্ষুদ্র প্রয়াস এই বইটি।
আমি এর আগে পাইথন নিয়ে ‘পাইথন পরিচিতি’ নামক একটি বই লিখেছি, কিন্তু সেটি আসলে প্রোগ্রামিং শেখা শুরু করার জন্য নয়, বরং যারা প্রোগ্রামিং পারে কিন্তু পাইথন শিখতে চায়, তাদের জন্য। আর এই বইটি হচ্ছে যাদের প্রোগ্রামিং সম্পর্কে কোনো ধারণা নেই, তাদের জন্য। ষষ্ঠ শ্রেণি ও তার ওপরের ক্লাসের শিক্ষার্থীদের বইটি পড়ে বুঝতে কোনো সমস্যা হওয়ার কথা নয়। বইটি রিভিউ করেছেন তাহমিদ রাফি, তানভীরুল ইসলাম, আবু আশরাফ মাসনুন ও মাফিনার খান। তাঁদের রিভিউ আমাকে অনেক সাহায্য করেছে বইটির বিভিন্ন ভুলত্রু টি সংশোধন করতে। তাই তাঁদের কাছে রইল কৃতজ্ঞতা। আর আমার স্ত্রী সিরাজুম মুনিরা পারমিতাও বইটি লেখার সময় অনেক উৎসাহ দিয়েছে। তার প্রোগ্রামিং ভীতি কাটানোর জন্যই বইটা তাড়াতাড়ি শেষ করা, নইলে আলসেমি করে আরো অনেক সময় কাটিয়ে দিতাম।
বছর দুয়েক আগে আমার প্রোগ্রামিং গুরু এস এম শাহরিয়ার হোসেনের সঙ্গে যখন আমার দেখা হয়, তখন তিনি আমাকে খুব গুরুত্বপূর্ণ কথা বলেছিলেন, “যেকোনো কাজ করার সময়ই মান বজায় রাখতে হবে এবং ভালো করার চেষ্টা করতে হবে। তোমার লেখা বই বাংলাদেশের ছেলেমেয়েরা পড়ে, খুব ভালো কথা। এখন তুমি যদি আরেকটা বই লিখো, তাহলে সেই বইটা যেন আগের বইয়ের চেয়ে আরো ভালো হয়। এরকম যেন মনে না হয় যে, একটা বই লেখা দরকার, কিছু একটা লিখে ফেললাম। কিংবা আর কেউ তো লিখে না, তাই আমি যা খুশি লিখে ফেলি।” তো আমি চেষ্টা করেছি তাঁর উপদেশ মেনে চলতে।
আমার হাইস্কুল জীবন কেটেছে ঢাকার এ কে হাই স্কুলে। সেখানে আমার অন্যতম প্রিয় শিক্ষক ছিলেন ইসলাম স্যার (বিজ্ঞান ও গণিত) ও এরশাদ উল্যাহ স্যার (ইংরেজি)। স্কুল জীবনের পরে দুয়েকবার এরশাদ উল্যাহ স্যারের সঙ্গে দেখা হলেও ইসলাম স্যারের সঙ্গে দেখা হয় নি। অনেকবার ভেবেছি যে স্যারদের বাসায় গিয়ে দেখা করবো, কিন্তু ঠিক কী উছিলায় যে যাবো, তা খুঁজে বের করতে পারি না। তাই এই বইটি আমি তাঁদেরকে উৎসর্গ করছি। নিশ্চয়ই এবারে বইটি উপহার দেওয়ার ছুঁতোয় স্যারদের সঙ্গে দেখা করতে পারবো।
আশা করি, এ বই লক্ষ লক্ষ বাংলা ভাষাভাষী ছেলেমেয়েকে প্রোগ্রামিংয়ের আনন্দময় জগতের সঙ্গে পরিচিত করাবে। বইটি পড়ে তারা প্রোগ্রামিং শিখতে উৎসাহ পাবে। আর হ্যাঁ, বাংলাদেশের অর্থনীতির যেই চতুর্থ পিলার, সেটি আমাদের ছেলেমেয়েরা একসময় তৈরি করে ফেলবে।
-- তামিম শাহরিয়ার সুবিন
বিশ্বের প্রোগ্রামিং ভাষাগুলোর মধ্যে নানান রকমের র্যাংকিং করা হয়। যেসব গ্রহণযোগ্য র্যাংকিং আছে, সবগুলোতেই প্রথম তিনটি প্রোগ্রামিং ভাষার একটি হচ্ছে পাইথন। গত এক দশকে প্রোগ্রামিং শেখা ও প্রফেশনাল জগতে পাইথনের ব্যবহার অনেক বেড়েছে। আগামী দশকেও পাইথন বিশ্বব্যাপী একটি শীর্ষস্থানীয় প্রোগ্রামিং ভাষা হিসেবেই থাকবে বলে আমার দৃঢ় বিশ্বাস। ইতিপূর্বে সবাইকে পাইথন দিয়ে প্রোগ্রামিংয়ের সঙ্গে পরিচয় করিয়ে দেওয়ার জন্য ‘পাইথন দিয়ে প্রোগ্রামিং শেখা’ নামে একটি বই লিখেছি। আর এই বইতে আমরা পাইথন দিয়ে কিছু বাস্তব সমস্যা সমাধানের চেষ্টা করব এবং সেটি করতে গিয়ে আরো বেশি পাইথন শিখব।
বইটি রিভিউ করেছেন তাহমিদ রাফি ও আবু আশরাফ মাসনুন। তাঁদের প্রতি অশেষ কৃতজ্ঞতা। এ ছাড়া যেসব পাঠক আমাকে উৎসাহ দিয়েছে, তাদের জন্য ভালোবাসা রইল। আমরা সবাই মিলে বাংলাদেশকে প্রোগ্রামিংয়ের পথে অনেকদূর নিয়ে যাব।
--- তামিম শাহরিয়ার সুবিন
একজন সফটওয়্যার প্রকৌশলীর কাজ হচ্ছে সফটওয়্যার তৈরি করা। এই সফটওয়্যারের আবার নানান রকমফের রয়েছে― ছোটোখাটো মোবাইল কিংবা ওয়েব অ্যাপ্লিকেশন, যেমন― সফটওয়্যার, তেমনি কম্পিউটার চালানোর জন্য যে অপারেটিং সিস্টেম (উইন্ডোজ, লিনাক্স ইত্যাদি), চালকবিহীন গাড়ি নিয়ন্ত্রণের জন্য যে প্রোগ্রাম, সেগুলোও কিন্তু সফটওয়্যার। বাংলাদেশের সফটওয়্যার ইন্ডাস্ট্রিতে যে ধরনের কাজ হয়, তার বেশিরভাগই অপেক্ষাকৃত সহজ ও সাধারণ। এসব কাজ করার জন্য কম্পিউটার বিজ্ঞানের জ্ঞান খুব বেশি দরকার হয় না। কিন্তু কিছু কিছু কাজ করতে গেলে আবার কম্পিউটার বিজ্ঞানের জ্ঞান-বুদ্ধি অপরিহার্য। এসব জটিল সফটওয়্যার তৈরি করতে গেলে কম্পিউটার বিজ্ঞানের যে জিনিসটি না জানলেই নয়, তার নাম হচ্ছে ডেটা স্ট্রাকচার ও অ্যালগরিদম। ডেটা স্ট্রাকচার ও অ্যালগরিদম আলাদা জিনিস, কিন্তু তারা পরস্পরের সঙ্গে খুবই সম্পৃক্ত। তাই অনেক সময় বিষয় দুটো একই সঙ্গে উচ্চারিত হয়। এই বইতে আমি এই দুটো বিষয় নিয়েই লিখেছি।পাইথন দিয়ে প্রোগ্রামিং শেখা সিরিজে আমি চেষ্টা করছি, একেবারে গোড়া থেকে শুরু করে কেউ যেন যোগ্য ও দক্ষ সফটওয়্যার নির্মাতা হিসেবে গড়ে ওঠে। প্রথম বইতে পাইথন দিয়ে প্রোগ্রামিং জগতের সঙ্গে পরিচয় করানো হয়েছে। দ্বিতীয় বইতে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের সঙ্গে পরিচয় করানোর পাশাপাশি ওয়েব ক্রলিং শেখানো হয়েছে। এরপর শিক্ষার্থীরা যেন তাদের বেসিক প্রোগ্রামিং জ্ঞান আরো শক্ত করতে পারে, সেজন্য এই সিরিজের তৃতীয় বই― ডেটা স্ট্রাকচার ও অ্যালগরিদম পরিচিতি-তে আমি চেষ্টা করেছি পাঠকদেরকে প্রাথমিক ডেটা স্ট্রাকচার ও অ্যালগরিদমগুলোর সঙ্গে পরিচয় করিয়ে দিতে। এই বইতে যেটুকু দেখানো হয়েছে, তার বাইরেও আরো শিখতে হবে, কিন্তু এটুকু না জানলেই নয়। ডেটা স্ট্রাকচার ও অ্যালগরিদমের জ্ঞান কেবল শিক্ষার্থীদেরই কাজে লাগবে তা নয়, বরং যারা স্বশিক্ষিত প্রোগ্রামার বা সফটওয়্যার নির্মাতা, তাদের আরো কার্যকর হতে সাহায্য করবে।
এই বইটি রিভিউ করেছেন তাহমিদ রাফি, আবু আশরাফ মাসনুন, তানভীরুল ইসলাম, শহীদুল ইসলাম (সুমন), রুহুল আমীন (সজীব)। তাঁরা বেশ কিছু ভুলত্রুটি বের করার পাশাপাশি অনেক পরামর্শও দিয়েছেন, যা বইটিকে সমৃদ্ধ করেছে। তাই তাদের কাজে আমি কৃতজ্ঞ এবং পাশাপাশি পাঠকদের পক্ষ থেকেও তাঁরা বিশেষ ধন্যবাদ প্রাপ্য।
পাইথন একটি আধুনিক প্রোগ্রামিং ভাষা। এই ভাষা যেমন প্রোগ্রামিং শেখার ক্ষেত্রে অনেক সহায়ক, তেমনি বাস্তব জীবনেও নানা সফটওয়্যার তৈরিতে এর ব্যবহার ব্যাপক। ডেটা স্ট্রাকচার ও অ্যালগরিদম শেখার জন্যও যে পাইথন একটি ভালো প্রোগ্রামিং ভাষা― আশা করি এই বইটি পাঠকদের কাছে তা তুলে ধরতে সমর্থ হবে। সবাই আরো ভালো প্রোগ্রামার হিসেবে গড়ে উঠুক। সবার জন্য ভালোবাসা।
-- তামিম শাহরিয়ার সুবিন
প্রোগ্রামিং শেখা একটি চলমান প্রক্রিয়া। এমনকি যারা পেশাদার প্রোগ্রামার, তাঁরাও কিন্তু তাঁদের ক্যারিয়ারে কাজ করার পাশাপাশি নিয়মিত নতুন নতুন জিনিস শেখেন। আর শিক্ষার্থীদের যে অল্প শিখে থেমে গেলে চলবে না, বরং অনেক কিছু শিখতে হবে, সেটি বলাই বাহুল্য। তাই আমার পাইথন দিয়ে প্রোগ্রামিং শেখা বইগুলো যারা অনুসরণ করে প্রোগ্রামিং শিখছে, তাদের প্রোগ্রামিংয়ের পথে আরো এগিয়ে দেওয়ার লক্ষ্যেই এই বই লেখা।
বইটি লেখার পরিকল্পনা ছিল অনেক দিনের, এমনকি বইয়ের বিষয়বস্তু নির্বাচন করে রেখেছিলাম কয়েক বছর আগেই। কিন্তু কোনো এক কারণে লেখার গতি ছিল ধীর। তবে শেষ পর্যন্ত বইটি প্রকাশ হতে যাচ্ছে ভেবে আমি তৃপ্তি পাচ্ছি। কারণ পাইথন দিয়ে প্রোগ্রামিং শেখা সিরিজের আগের খণ্ডগুলোর সঙ্গে এই বইটি যারা অনুসরণ করবে, তারা প্রোগ্রামিংয়ের জগতে দৃপ্ত পদচারণা করতে পারবে বলেই আমার বিশ্বাস।
বইটি লেখার বিভিন্ন সময়ে বিভিন্ন মানুষের সহযোগিতা পেয়েছি। তাঁদের মধ্যে যাঁদের নাম না বললেই নয়, তাঁরা হচ্ছেন তাহমিদ রাফি, আবু আশরাফ মাসনুন, আসিফ রইচ (প্রিন্স), আয়েশা রেজওয়ানা (টুম্পা) এবং মোশারফ হোসেন। তাঁদের প্রতি আমার অশেষ কৃতজ্ঞতা।
আমি আরো ধন্যবাদ দিতে চাই আমার পাঠকদের। তাঁদের উৎসাহ এই বই লেখার পেছনে অনুপ্রেরণা জুগিয়েছে। আশা করি, এই বই আরো অনেক সফল প্রোগ্রামার তৈরিতে কিছুটা হলেও অবদান রাখবে, আর প্রোগ্রামিংয়ের জগতে পাঠকের নিরন্তর সাফল্য আমাকে প্রতিনিয়ত উদ্বেলিত করবে। সবার জন্য শুভকামনা।
Title | : | পাইথন দিয়ে প্রোগ্রামিং শেখা (১ম, ২য়, ৩য় ও ৪র্থ খন্ড একত্রে) |
Author | : | তামিম শাহরিয়ার সুবিন; |
Publisher | : | দ্বিমিক প্রকাশনী |
Country | : | Bangladesh |
Language | : | Bengali |