প্রোগ্রামিং এর আশ্চর্য জগত!

প্রোগ্রামিংয়ের আশ্চর্য জগতে স্বাগত!

তোমাদের মধ্যে কেউ কেউ ইংরেজি সিনেমা দেখো। আবার অনেকেই দেখো না। তোমরা যারা ইংরেজি সিনেমা দেখো, প্রোগ্রামার শব্দটা শুনলেই তোমাদের মনে ভেসে ওঠে উশকো-খুশকো চুলের পুরু চশমা পরিহিত কোনো তরুণ, যে কী না ঠাস ঠাস করে দ্রুতলয়ে কম্পিউটারের কিবোর্ডের কি চাপছে আর একের পর এক নিরাপত্তা ভেদ করে ঢুকে যাচ্ছে বিভিন্ন সিস্টেমে, মানে হ্যাকিং করছে আর কী। আবার তোমরা যারা সিনেমা তেমন একটা দেখো না, প্রোগ্রামার শব্দটা শুনলে তোমাদের মনে ভেসে উঠবে গোবেচারা ধরনের কোনো যুবক যে অফিসের কম্পিউটার টেবিলের সামনে বসে অনবরত টাইপ করে চলে, আর আশেপাশে বস না থাকলে ফেসবুক খুলে বসে থাকে! এখানে মজার ব্যাপার হচ্ছে কম্পিউটার বলতেই আমরা যেমন মনিটর-কীবোর্ড কিংবা ল্যাপটপ বুঝি সেটি কিন্তু ঠিক হয়। যেই যন্ত্র কম্পিউট অর্থাৎ গণনা করতে পারে, সেটিই কম্পিউটার। হ্যাঁ, তোমার মোবাইল ফোন কিংবা ক্যালকুলেটরও একটি ছোট্ট কম্পিউটার। আবার গাড়ী কিংবা ওভেন – এখানেও আছে কম্পিউটার। এবারে আরেকটি মজার তথ্য দেই। প্রোগ্রামার বলতেই বেশিরভাগ মানুষের সামনেই কোনো ছেলের অবয়ব ভেসে উঠে, যদিও পৃথিবীর প্রথম প্রোগ্রামার ছিল একটি মেয়ে, অ্যাডা লাভলেস তার নাম।

fractal-65474_640

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

programmer

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

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

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

প্রোগ্রামিং কিভাবে শিখব
তোমরা যারা গান শেখো, তারা যেমন নিয়মিত গানের চর্চা করো, প্রোগ্রামিংয়ের বেলাতেও তেমনি চর্চা করতে হয়। নিয়মিত লেখাপড়া আর চর্চার মাধ্যমেই তুমি হয়ে উঠতে পারবে একজন দক্ষ প্রোগ্রামিং শিল্পী। প্রোগ্রামিং শেখার জন্য শুরুতে প্রয়োজন একটি বই, যা তোমাকে প্রোগ্রামিংয়ের শুরুটা দেখিয়ে দেবে, প্রয়োজন একটি কম্পিউটার, সাথে ইন্টারনেট থাকলে ভালো হয়। তবে সবচেয়ে বেশি প্রয়োজন সপ্তাহে গড়ে দশ-বারো ঘণ্টার মতো সময়। অবশ্যই পরীক্ষা চলাকালীন সময়টা ছাড়া।  প্রোগ্রামিংয়ের বই কোথায় পাবে? দেশের বড় শহরগুলোর বইয়ের দোকানে প্রোগ্রামিংয়ের বই পাওয়া যায়, তবে সেগুলো বেশিরভাগই ইংরেজিতে। ইংরেজি বই পড়া অবশ্য তেমন কঠিন কোনো ব্যাপার নয়, একটু সাহস করে শুরু করে দিলেই হয়। আর বাংলা বই পড়তে চাইলে তোমরা http://cpbook.subeen.com ওয়েবসাইটে ঢুঁ মারতে পারো। এখানে বাংলা ভাষায় প্রোগ্রামিংয়ের উপর একটি বই ফ্রি দেওয়া আছে, যেটি কী না স্কুল-কলেজের ছাত্রছাত্রীদের কথা ভেবেই লেখা হয়েছে। এছাড়া ইন্টারনেটে ইংরেজিতে অনেক বই আছে প্রোগ্রামিং শেখার। সেগুলোর মধ্যে কিছু কিছু বই ফ্রি পাওয়া যায়। বই তো পেয়ে গেলে, তাহলে আর দেরি কেন? শুরু করে দাও। এ বিষয়ে আরো জানতে : প্রোগ্রামিং শেখা

প্রোগ্রামিং শেখার অনলাইন স্কুল
ছেলেবেলায় গান শেখার জন্য গানের স্কুল থাকে, নাচ শেখার জন্য নাচের স্কুল। ক্রিকেট খেলা শেখার জন্য ক্রিকেট একাডেমি। কী চমৎকারই না হতো বাংলাদেশে যদি প্রোগ্রামিং শেখার জন্য কোনো প্রোগ্রামিং স্কুল থাকতো! কিন্তু সমস্যা হচ্ছে কী, খুব ভালো প্রোগ্রামার না হলে অন্যকে প্রোগ্রামিং শেখানো যায় না। আর আমাদের দেশে খুব ভালো প্রোগ্রামাররা অনেক ব্যস্ত থাকেন বলে প্রোগ্রামিং শেখানোর বিষয়টি তাঁরা ভাবেন না। এই সমস্যার একটি সমাধান অবশ্য বের হয়েছে। প্রোগ্রামিং ও অন্যান্য বিষয় শেখার কিছু ওয়েবসাইট আছে, যেখানে অনলাইন কোর্স করা যায়। বেশিরভাগ কোর্সই বিনামূল্যে করা যায়। এরকম ওয়েবসাইগুলোর মধ্যে অন্যতম হচ্ছে coursera.org, edx.org ও udacity.com। তবে বাংলা ভাষায়ও প্রোগ্রামিং, সফটওয়্যার ডেভেলাপমেন্ট, ওয়েব ও মোবাইল অ্যাপ্লিকেশন ডেভেলাপমেন্ট শেখার জন্য অনলাইনে ভিডিও ও কোর্স পাওয়া যায়। এরকম একটি ওয়েবসাইট হচ্ছে দ্বিমিক কম্পিউটিং স্কুল : http://dimikcomputing.com। এর কোর্সগুলো ফ্রি কিন্তু তার জন্য তোমাদের থাকা চাই উচ্চ গতির ইন্টারনেট। আশার কথা এই যে, আমাদের দেশে ইন্টারনেট দিন দিন সহজলভ্য হচ্ছে। আর প্রতিটি কোর্স শেষেই ডিভিডি বের করছে দ্বিমিক কম্পিউটিং স্কুল (ফেসবুক পেজ : https://www.facebook.com/DimikComputing), যাতে করে যাদের ভালো ইন্টারনেট নেই, তারা ডিভিডি থেকে ভিডিও লেকচার দেখে শিখতে পারে। এছাড়া ইন্টারনেটে নানান ফোরাম ও ফেসবুকে বিভিন্ন গ্রুপ রয়েছে, যেখানে তুমি যোগ দিতে পারো ও প্রোগ্রামিং নিয়ে আলাপ করতে পারো।

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

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

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

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

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

তোমাদের জন্য গুরুত্বপূ্র্ণ দশটি ওয়েবসাইটের লিঙ্ক :

  1. http://scratch.mit.edu
  2. http://code.org
  3. http://edx.org
  4. http://coursera.org
  5. http://udacity.com
  6. http://dimikcomputing.com
  7. http://programabad.com
  8. http://dimik.pub
  9. http://cpbook.subeen.com
  10. http://www.khanacademy.org

 

Facebook Comments

2 thoughts on “প্রোগ্রামিং এর আশ্চর্য জগত!”

Leave a Reply