পাইথন নিয়ে অনেক কথা। Life Is Python


  • পৃথিবীতে তো অনেক প্রোগ্রামিং ল্যাংগুয়েজ আছে। কিন্তু আমরা কয়টা ল্যাংগুয়েজ এর নাম জানি কিংবা বলতে পারি। আমি যদি CSE পড়া কোন স্টুডেন্টকে আস্ক করি, সে সাধারণত ৪/৫ টা প্রোগ্রামিং ল্যাংগুয়েজ এর কথা বলে দিতে পারবে কারণ এই ল্যাংগুয়েজ গুলা যেমন পরিচিত ঠিক তেমনি অধিক ব্যবহৃত। পৃথিবীতে কতোটি প্রোগ্রামিং ল্যাংগুয়েজ আছে তা আপনারা নিজের চোখে দেখে নিন লিংক। কি মাথা ঘুরছে 😇 ঘুরার ই কথা কারণ আপনারা স্বপ্নেও কখনো ভাবতে পারেন নি, এতো প্রোগ্রামিং ল্যাংগুয়েজ পৃথিবীতে বিদ্যামান। এই সব কয়েকটা ল্যাংগুয়েজ এর মধ্যে যদি আমাকে কেউ বেছে নিতে বলে যে কোন একটি প্রোগ্রামিং ল্যাংগুয়েজ, তাহলে আমি চোখ বন্ধ করে " পাইথন " কে আগে সিলেক্ট করে নিবো। এখন আপনাদের মনে প্রশ্ন জাগতে পারে, ভাইয়া C, C++, JAVA এই গুলা বাদ দিয়ে আপনি কেন পাইথনকেই চুজ করলেন। তাহলে আমি বলবো, One Language for Everything! এর মানে হলো, পাইথন আমার কাছে সবচেয়ে সহজ, সেই সাথে সবচেয়ে পরিপূর্ণ ল্যাংগুয়েজ বলে মনে হয়। পাইথন যেমন খুব সহজ একটা প্রোগ্রামিং ল্যাংগুয়েজ ঠিক তেমনি কি করা যায় না, এই পাইথন দিয়ে। ডেস্কটপ অ্যাপ, মোবাইল অ্যাপ, ওয়েব সাইট/অ্যাপ, গেম ডেভেলপমেন্ট, সফটওয়্যার ডেভোলপমেন্ট সেই সাথে মেশিন লার্নিং আর ডাটা সাইন্টিস্টদের পছন্দের লিস্টেও রয়েছে এই পাইথন ল্যাঙ্গুয়েজ। এখনকার প্রায় প্রজেক্টেই মেশিন লার্নিং এর দরকার হয়, যেমন অ্যামাজন, ফেসবুক, গুগল সহ যত টপ সাইট রয়েছে, সব গুলো সাইটই পাইথন এর উপরে সন্তুষ্ট। ফেসবুকের প্রডাকশন ইঞ্জিনিয়ারিংয়ে, নাসার অটোমেশন টুল, ইয়াহু ম্যাপ, ড্রপবক্স, ইউটিউব ইত্যাদিতেও এর ব্যবহার রয়েছে। সেই সাথে প্রোগ্রামিং, সফটওয়ার ডেভেলপমেন্ট এর সময় আমাদের অনেকের সাথে কাজ করতে হয়। টিমের অন্যান্য মেম্বারদের কোড দেখতে হয়, কোড পড়তে হয়। পড়ে তা বুঝতে হয়। আর পাইথন কোড গুলো সহজেই পড়া যায়। তা ছাড়া প্রোগ্রামাররা অনেক গুলো কোড লিখে সবার ব্যবহার করার জন্য শেয়ার করে। যাকে আমরা লাইব্রেরী বলি।একই কাজের জন্য আমরা নিজে নিজে আবার শুরু থেকে কোড না লিখে ঐ আগে লেখা লাইব্রেরী গুলো ব্যবহার করতে পারি। আর তখনো কোড পড়তে হয়, পাইথন অরগানাইজড হওয়াতে কোড গুলো সহজেই পড়ে বুঝা যায়।

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

  • এবার আসি পাইথন কেন এতো জনপ্রিয় এই প্রসঙ্গে : আগেই বলেছি এর কোড গুলো খুব ই সংক্ষিপ্ত আর সহজ হয়ে থাকে। যে কেউ চাইলেই এই ল্যাংগুয়েজ খুব সহজেই শিখে নিতে পারে। পাইথন পদ্ধতিগত, অবজেক্ট-ওরিয়েন্টেড এবং ফাংশনাল প্রোগ্রামিং সমর্থন করে। Procedural, Object Oriented, Functional এসব ভিন্ন ভিন্ন প্রোজেক্টের জন্য প্রযোজ্য। যেহেতু পাইথন একটি Multi-Paradigm (বৈচিত্র্যময়) প্রোগ্রামিং ভাষা, তাই এর অর্থ হচ্ছে যে উক্ত তিনটি বিষয় পাইথন সমর্থন করে। যার ফলে পাইথনের তৈরি অ্যাপ্লিকেশন ডাটাবেজ অনেক বৃহৎ। পাইথন একটি ইন্টারপ্রেটেড প্রোগ্রামিং ভাষা। এটি মেশিন ভাষায় লাইন বাই লাইন রূপান্তর করে। কোনো সাধারন মানুষ পাইথন কোড পড়ে বুঝতে পারবে, এটি এতটাই সহজ করে বানানো। পাইথন কোড যেকোনো অপারেটিং সিস্টেমে চালানো সম্ভব। দ্রুত কোনো এপ্লিকেশন ডেভেলপ করার জন্য এটি ব্যবহার করা সুবিধাজনক। পাইথনের অন্যতম বড় বৈশিষ্ট্য হচ্ছে এর বিশালকার লাইব্রেরি। এতে রয়েছে বিভিন্ন ধরনের ডকুমেন্টেশন, সিনট্যাক্স গাইড ও মডিউল। যার ফলে দ্রুত সমাধান, জটিলতাবিহীন প্রোগ্রাম তৈরি করা সম্ভব। সেই সাথে থার্ড পার্টি লাইব্রেরির সুবিধা। Python Program

  • পাইথন এর ব্যবহার :i. ওয়েব এবং অ্যাপ ডেভেলপমেন্টঃ ওয়েব ডেভেলপারদের কাছে একটি জনপ্রিয় প্রোগ্রামিং ভাষা এটি। গুগল, ইন্সটাগ্রাম, রেডিট এসব সাইট তৈরি হয়েছে পাইথনের সাহায্যে। Django ও Flask হচ্ছে পাইথনের ওয়েব ফ্রেমওয়ার্ক (যেটির উপর ভিত্তি করে সফটওয়্যার তৈরি করা হয়)। পাইথন দিয়ে ওয়েব ডেভেলপমেন্ট একটি সাধাসিধা প্রসেস। Django ব্যবহার করে আপনি সহজেই বিভিন্ন ধরনের ওয়েব অ্যাপ তৈরি করতে পারবেন।ii. সায়েন্টিফিক কম্পিউটিং এবং ডাটা এনালাইসিসঃ অ্যাস্ট্রোনোমার, বায়লজিস্ট, নিওরোসায়েন্টিস্ট সবাই পাইথন ব্যবহার করে। এমনকি CERN, NASA-র মতো বৃহৎ সংস্থাতেও পাইথন ব্যবহার করা হয়। পাইথনের উদ্যমশীল কমিউনিটির ফলেই এটি সম্ভব হয়েছে। এছাড়া আরও রয়েছে ডাটা মেনুপুলেসন টুলস যেমন pandas, এক্সেপেরিমেন্টাল সাইকোলজির জন্য রয়েছে PsychoPy। পাইথন দিয়ে সংগ্রহ করা তথ্যকে সহজেই মাপযোগ্য করা যায়। যার ফলে এটি নিয়ে কাজ করতে সুবিধা হয়।iii. মেশিন লার্নিং এবং আর্টিফিশিয়াল ইন্টেলিজেন্সঃ আজকের যুগে এই দুটি জিনিস ছাড়া দুনিয়া প্রায় অচল হয়ে পড়বে। মূলত আর্থিক বিষয়াদির সাথে এগুলো ভালোভাবে জড়িয়ে গেছে। ভয়েস, ছবি রিকগনিশন থেকে শুরু করে নেটফ্লিক্সের অ্যালগরিদম। সবক্ষেত্রে রয়েছে ব্যবহার। নিউ ইয়র্ক স্টক এক্সচেঞ্জের স্থাপত্যে রয়েছে পাইথন। অন্যসব লাইব্রেরির মতো এখানেও পাইথনের বিশাল লাইব্রেরি রয়েছে। TensorFlow হচ্ছে একটি উচ্চতর নিউরাল নেটওয়ার্ক লাইব্রেরি। কৃত্রিম বুদ্ধিমত্তায় পাইথনের পরিসর দিন দিন বাড়তেই আছে। iiii. গেম ডেভেলপমেন্টঃ অনেক সময় ধরেই গেম ডেভেলপারেরা পাইথন দিয়ে GUI (Graphical User Interface) অ্যাপ্লিকেশন তৈরি করছেন। পাইথনের অনেক থ্রিডি এনিমেশন প্যাকেজ রয়েছে। কম্পিউটার গেমিং, স্পেশাল ইফেক্টে এর ব্যবহার রয়েছে। PyGame,PySoy, Pykara লাইব্রেরির সাহায্যে তৈরি করা হয় গেম। এছাড়া সাম্প্রতিক মারভেল সিনেমা গুলোর স্পেশাল ইফেক্টেও পাইথন ব্যবহার করা হয়েছে।এছাড়া পাইথনের আরো ব্যবহার রয়েছে। যেমনঃ গ্রাফিক্স ইউজার ইন্টারফেস, বিজনেস অ্যাপলিকেশন, ডেটা সাইন্স, নিউমেরিকাল প্রোগ্রামিং, ডেটা অ্যানালাইসিস, সফটওয়্যার ডেভেলপমেন্ট। সফটওয়্যার ডেভেলপমেন্ট এ এর ব্যবহার দিন দিন বাড়ছে, সেই সাথে জনপ্রিয় হচ্ছে।

  • ফ্রেমওয়ার্ক : ওয়েব ডেভেলপমেন্টে পাইথনের কিছু ফ্রেমওয়ার্ক ব্যবহৃত হয়। তার মধ্যে উল্লেখযোগ্য হচ্ছে Django এবং Pyramid। তাছাড়া কিছু মাইক্রো ফ্রেমওয়ার্ক আছে (যেমনঃ Flask এবং Bottle)। Kivi নামক ফ্রেমওয়ার্ক দিয়ে অ্যান্ড্রয়েড মোবাইল অ্যাপলিকেশন তৈরি করা যায়। বৈজ্ঞানিক ও গাণিতিক হিসাব-নিকাশ(যেমন-Orange, SymPy, NumPy) এবং এমনকি ডেস্কটপ গ্রাফিক্যাল ইউজার ইন্টারফেসেও(যেমন-Pygame, Panda3D) এটার ব্যপক ব্যবহার রয়েছে। এটা ছাড়াও পাইথন এর স্টং ফ্রেমওয়ার্ক হলোঃ NumPy, Pylons, Tornado, Pyramid, Flask, WEB2PY, Bottle, Django, SciPy।

  • ক্যারিয়ার : সাধারণত যারা প্রোগ্রামিং জানে, সারা দুনিয়া তাদের হাতের মুঠোয় থাকে। একজন প্রোগ্রামার ইচ্ছে করলে অনেক কিছু করার ক্ষমতা রাখে। এই ডিজিটাল যুগে এমন কিছু নেই, যার মধ্যে প্রোগ্রামিং নেই। যারা প্রোগ্রামার তাদের প্রোগ্রামিংটাই আসল সার্টিফিকেট। এর বাইরে তাদের আর কোন সার্টিফিকেট এর প্রয়োজন পড়ে না। একাডেমীক সার্টিফিকেট না থাকলেও যারা প্রোগ্রামিং জানে,তাদের জব এর অভাব নেই। সারা পৃথীবিতেই এদের জব ছরিয়ে ছিটিয়ে আছে। তারা চাইলে জব করতে পারে, কিংবা ফিল্যান্সিং করতে পারে না হলে এই প্রোগ্রাম দিয়ে অনেক কিছু বানিয়ে অনেক বড় কোন পজিশান এ যেতে পারে। আমাদের বাংলাদেশ এ পাইথন এর চাহিদা খুব বেশী না হলেও সারা পৃথিবীতে পাইথন এর ডিমান্ড অনেক বেশি। গুগল এ সার্চ করলেই যে কেউ ই এদের বেতন এর স্কেল জানতে পারবে। তবে অনেক মানুষ এর বিশ্বাস করতে কষ্ট হবে এদের স্যালারি এর ডিমান্ড দেখে। তবে অবাক হলেও এটাই সত্য। খালি আমেরিকাতেই একজন প্রোগ্রামার ( পাইথন ) এর বেতন বাংলাদেশী টাকায় প্রায় ৩-১৫ লাখ। কিছু কিছু ক্ষেত্রে এর থেকেও হাই স্যালারি প্রভাইট করা হয়। আশাকরি এর ক্যারিয়ার সম্পর্কে আর কোন প্রশ্ন থাকার অবকাশ নেই।যায় হোক, আজকের পোস্টটা এই পর্যন্তই। আমি চেষ্টা করেছি, পাইথন এর বেসিক কিছু ধারণা দিতে। তবে এইখানে যে ইনফরমেশন গুলো দিয়েছি সেই গুলার জন্য আমাকে কিছু কিছু জায়গাতে নেট এর সাহায্য নিতে হয়েছে, সেই সাথে কিছু কিছু ইনফরমেশনও নেট থেকে নেওয়া। Python Program

0 Comments