কম্পিউটার বিজ্ঞানে পড়াশোনা করা মানেই কম্পিউটার প্রকৌশলী বা বিজ্ঞানী হওয়া না। ভিন্ন বিষয়ে পড়াশোনা করে কম্পিউটার প্রকৌশলী হওয়া যেমন যায় তেমনি কম্পিউটার বিজ্ঞান পড়ে ব্যবসায়ী, বিসিএস আমলা, ব্যাঙ্ক কর্মকর্তা, বিপণনকারী সবই হওয়া যায়। যেমন আমার নিজেরো বাণিজ্যের প্রতি আগ্রহটা একটু বেশি। কিন্তু প্রায় সাত আট বছর ধরে কম্পিউটার বিজ্ঞান বিষয়টার সাথে থেকে যা বুঝেছি তা থেকে ...
১। ভাইয়া, আমি প্রোগ্রামিং ভাষায় নতুনঃ
তোমার এ মুহুর্তে টাকাপয়সার প্রয়োজনীয়তা কেমন? যদি তোমার টাকা পয়সার প্রয়োজনীয়তা প্রায় ভয়ংকর শ্রেণীর হয়ে থাকে তবে তোমার দরকার php, javascript, mysql। কেন? (প্রাথমিক ক্ষেত্রে) পিএইচপি এবং জাভাস্ক্রিপ্ট খুবই সহজ ভাষা, শেখা সহজ। প্রচুর পিএইচপি ডেভেলপার আছে বিশ্বে। ফলে হয়তো এই মুহুর্তে তোমাকে প্রোগ্রাম বেশি লিখতেও হবে না, একটু বুদ্ধি খাটালে ওয়েব থেকে কপি-পেস্ট করেই উপার্জন করতে পারবে। আমি শুরুতে মূলত পিএইচপি ডেভ্লপমেন্ট করেই আয় করতাম
তোমার মাথাভর্তি অ্যালগরিদম, গাণিতিক সূত্রাবলী - তুমি চাচ্ছো এই মুহুর্তে প্রোগ্রামিং কনটেস্টে যোগ দিতে, তাহলে তোমার উচিৎ হবে c++ বা জাভা শেখা।
তুমি ধীরেসুস্থে প্রোগ্রামিং জিনিসটা বুঝতে চাও এবং প্রোগ্রামিংয়ের ক্ষমতার ব্যাপারে ধারণা নিতে চাও তাহলে তোমার দরকার C।
"আমি প্রোগ্রামিংয়ে খুবই ভালো হতে চাই?" আমি তাহলে উপদেশ দেবো Lisp দিয়ে শুরু করতে। যদিও বাংলাদেশে এই ভাষার প্রোগ্রামার আছে খুবই অল্প কিন্তু একবার এই ভাষার আন্দাজ পেয়ে গেলে "প্রোগ্রামিং", "ইন্সট্রাকশন" - শব্দগুলোকে পুরোপুরি ভিন্নভাবে আন্দাজ করতে পারবে। এমনকি কম্পাইলারের ব্যাপারে প্রাথমিক জানাশোনাটাও হয়ে যাবে।
২। এডিটর?
যে কারণে যেই এডিটরই ব্যবহার করে থাকো না কেন, emacs অথবা Vim/Vi এর যে কোনো একটি অন্তত বেশ ভালো রকমে জানা উচিৎ। আর যদি নোটপ্যাডে সুন্দর দেখতে কোড লেখতে নাই পারলে তবে প্রোগ্রামার হলে কিসের? তোমরা জানো অনেক লেখক-সাহিত্যিক ইম্যাকস বা ভি ব্যবহার করে সাহিত্য চর্চা করে থাকেন? অনেক সাংবাদিকও এ ঘরানার এডিটরগুলো ব্যবহার করে থাকেন।
৩। Git?
হ্যাঁ গিট। ভার্সন কন্ট্রোলিংয়ের হাতেখড়ির সময় এখনই। ভবিষ্যতে অহেতুক সময় নষ্ট না করে, আর এখন অহেতুক সময় অপচয় না করে এখনই গিটে হাতেখড়ি নিয়ে ফেলো। হতে পারে তুমি এখন ওপেন সোর্স কোড লেখার যোগ্যতা অর্জন করো নি, তাহলে গিটে কবিতা লেখো, গিট ব্যবহার করে বাড়ির কাজ করা শুরু করো। দুই তিন বন্ধু মিলে গিটে অ্যাসাইনমেন্ট করো, তবু এটার ব্যবহার কোন এক ছুটির দিনে শুরু করে দাও।
৪। অপারেটিং সিস্টেমঃ
লিনাক্স। কোনো ব্যাখ্যা দরকার নেই। আমি জানি উইন্ডোজ সেরা অপারেটিং সিস্টেম, চালাতে আরাম, দেখতে সুন্দর। ম্যাক খানদানি কম্পিউটার কিন্তু যারা বড় প্রোগ্রামার হওয়ার চিন্তা করেছো, কোনো হিসাব নিকাশ হবে না, তোমাদের জন্য একমাত্র অপারেটিং সিস্টেম লিনাক্স।
৫। কমান্ড লাইনে দক্ষতাঃ
লিনাক্স ব্যবহার করতে বলার মূল কারণ এটা। মাউসের ব্যবহার কমিয়ে দিয়ে পুরোপুরি কমান্ড লাইন নির্ভর হয়ে যাও। শেল বা ব্যাশ দিয়ে হবে শুরু, এরপর দেখবে কখন পার্ল শিখে গেছো বা পাইথন ব্যবহার করছো নিজেও খেয়াল পাবে না
এই ব্যাপারে একটা ছোট্ট পরামর্শ। যদিও মনে হচ্ছে ওটা বিস্তারিত আলাদা পোস্টে লেখতে হবে। তোমরা কাজের জন্য প্রোগ্রামিং করার সুযোগ পাও না বলে অনেকেই অভিযোগ করো। তোমাদের একটা ব্যবহারিক প্রোগ্রামিংয়ের উপায় শিখিয়ে দিয়ে শেষ করি।
১। ক্যালকুলেটর কখনো কোনো কম্পিউটারের সামনে নিয়ে গেলে যে কম্পিউটারটির অপমান হয় তা কি কখনো চিন্তা করে দেখেছো? পড়তে বসলে বা যে ঘরে/ক্লাশে/ল্যাবে একটি কার্যক্ষম কম্পিউটার আছে সে ঘরে কখনো ক্যালকুলেটর নিয়ে যাবে না। গেলে কম্পিউটার বা তুমি, যে কোনো একজন লজ্জিত হবে।
২। যদি বড় কম্পিউটার প্রোগ্রামার হওয়ার ইচ্ছা থাকে তবে তোমার কম্পিউটারে কোনো ক্যালকুলেটর অ্যাপ/সফটওয়ার আজ থেকে আর থাকবে না।
তাহলে?
পাইথন ইন্সটল করো। কমান্ডলাইন থেকে পাইথনকে ডাক দিয়ে, নিজের প্রোগ্রাম নিজে লেখবে। পাইথনে তুমি যদি ২ + ২ টাইপ করে এণ্টার বাটনে ক্লিক করো তাহলে দেখতে পাবে ৪। (বাংলায় টাইপ করে কাজ না করলে আবার আমার দোষ দিও না।) যখন নিজের সব ক্যালকুলেশন এমন ছোটো ছোটো প্রোগ্রাম দিয়ে করবে তখন তোমার যে আনন্দ হবে, তার কিছু ভাগ অনুজদের, পিছিয়ে পড়া এবং সুবিধাবঞ্চিতদের মাঝে ছড়িয়ে দিবে এমন আশা রেখে এই এলোমেলো লেখা শেষ করলাম
সর্বশেষ এডিট : ২৭ শে মে, ২০১৬ রাত ১:৩৭