পাইথন যখন অজগর নয়!

পাইথন পরিচিতি

পাইথন একটি হাই লেভেল, ইন্টারপ্রিটেড, ইন্টারেক্টিভ ও অবজেক্ট অরিয়েন্টেড স্ক্রিপ্টিং ল্যাঙ্গুয়েজ। বাহ! পাইথন ল্যাঙ্গুয়েজের এতো বৈশিষ্ট্য? হ্যা ঠিক পাইথন ল্যাঙ্গুয়েজের এর অনেক বৈশিষ্ট্য। এতো বৈশিষ্ট্যই পাইথনকে অনন্য করে তুলেছে। এখন এক্টু পাইথনের ইতিহাসে ঢু মেরে আসা যাক(জানি ইতিহাস জানার কাজ খুবই বোরিং :p কিন্তু শেখার কাজে নো কম্প্রোমাইজ!)। ১৯৯১ সালে  Guido van Rossum (গুইডো ভ্যান রস্যিউম) এটি প্রথম প্রকাশ করেন। তবে এর নামকরণ কিভাবে করা হয়েছে? ভাবছেন এর উত্তর তো সহজ! অজগর বা Python এর নাম থেকে। না না, আসলে ব্যাপারটা তা নয়। এর নামকরণ করা হয় “মণ্টি পাইথন ফ্লাইং সারকাস” এর নামে। তিনি অর্থাৎ রস্যিউম সার্কাসের অনেক বড় ভক্ত ছিলেন।

পাইথনের এত জনপ্রিয়তার অন্যতম কারন হচ্ছে এর  সিনট্যাক্স স্বচ্ছতা। যার অর্থ এর Syntax খুবই সহজ এবং রিডেবল। পাইথনের সিনট্যাক্স পড়লে মনে হবে কোনো ইংরেজি কবিতার লাইন পড়া হচ্ছে (তবে হ্যা, এর জন্য একটি কাব্যিক মনের ও প্রয়োজন :p) । World’s Most Easiest Programming Language লিখে সার্চ দিলে অনেক ওয়েবপেইজ পাওয়া যাবে। যেখানে একটু চোখ বুলালেই দেখা যাবে তালিকার শীর্ষে রয়েছে পাইথন।

পাইথন কেন শিখবো?

অনেকেই ভাবছেন পাইথন এত সহজ ল্যাঙ্গুয়েজ তাহলে বোধহয় এর বিস্তৃতি তেমন নয়। এরকম ধারনা সম্পূর্ণ ভুল।

পাইথন ওপেনসোর্স

ফলে আমরা পাইথনে লেখা সফটওয়্যার বিনা বাধায় ডিস্ট্রিবিউট করতে পারি। এছাড়া এর বানিজ্যিক বাজারজাতও করতে পারি।

জেনারেল- পারপাজ-ল্যাঙ্গুয়েজ

পাইথন একটি জেনারেল পারপাজ ল্যাঙ্গুয়েজ। পাইথন কে আলাদিনের জীন বলা যায়। কেননা এর মাধ্যমে প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে করতে হয় এমন সব কিছুতে পাইথন ব্যবহার করা যায়। যেহেতু পাইথনের লাইব্রেরি অনেক উন্নত সেহেতু সঠিক লাইব্রেরির ব্যবহারের মাধ্যমে আরো সহজে কাজ করা যায় পাইথনে।  Web development(ওয়েব প্রোগ্রামিং) , Graphical user interface(গুই প্রোগ্রামিং),  Big data(বিগ ডেটা), Data mining(ডেটা মাইনিং),  Data analysis(তথ্য বিশ্লেষণ), Artificial intelligence(কৃত্তিম বুদ্ধিমত্তা), Computational science(সায়েন্টিফিক কম্পিউটিং) প্রায় সবক্ষেত্রে এর ব্যবহার রয়েছে। এবং দিন দিন এর চাহিদা বেড়ে চলছে।

Mjc5MjI0Ng

স্প্রেক্টাম র‍্যাঙ্কিং এ পাইথনের অবস্থান
বিগিনার ফ্রেন্ডলি

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

কমিউনিটি সাপোর্ট

প্রোগ্রামিং করার সময় সবচেয়ে গুরুত্বপূর্ণ ভুমিকা রাখে কমিউনিটি। দেখা গেল একটা প্রোগ্রাম আমাদের কাছে মনে হবে সব ঠিক ঠাক কিন্তু রান করতে গেলে তা রান হয় না। তখন প্রোগ্রামিং কমিউনিটি থেকে সাহায্যের প্রয়োজন পড়ে। সেজন্য পাইথন প্রোগ্রামারদের জন্য সুখবর! পাইথনের রয়েছে পঞ্চম বৃহত্তম স্টাকওভারফ্লো কমিউনিটি। বিশ্বের তৃতীয় বৃহত্তম কমিউনিটি মিট আপ হয় পাইথনেরই।

ক্যারিয়ার

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

পাইথন ২ না ৩?

অনেক জায়গায় এই বিতর্ক চলে আসছে যে পাইথন ২ নাকি ৩ শিখবো? কারন পাইথনের দুটি ভার্সন ২ এবং ৩

ভার্সন দুটির মধ্যে কিছু পার্থক্য রয়েছে। তবে আমি মনে  করি পাইথন ৩ শিখাই উত্তম। কেননা পাইথন ৩ হচ্ছে পাইথনের ভবিষ্যৎ। ধারনা করা হয় ২০২০ সালের মধ্যে পাইথন ৩ পাইথন ২ এর জায়গা দখল করে নিবে। তবে কেউ যদি পাইথন ২ শিখে থাকেন বা পাইথন ২ শিখতে চান তাদের জন্য সুখবর হল ভার্সন দুটির মধ্যকার মৌলিক পার্থক্য খুবই কম। তবে পাইথন ৩ শিখা বুদ্ধিমানের কাজ হবে, কেননা অনেক বড় বড় পাইথনিস্ট তাই মনে করেন। তবে পাইথন ২ এবং ৩ এর পার্থক্য সম্পর্কে বিস্তারিত জানতে (Python2orPython3) এই ওয়েব লিঙ্ক টি দেখতে পারেন।

পাইথন ইন্সটলেশন

আচ্ছা বলুন তো কম্পিউটার এর ভাষা কি? মস্তিষ্কের স্টোর রুমে ঢু মারুন। পেলেন উত্তর? উত্তরটি কি ০,১(বাইনারি)? যদি উত্তর হয় “হ্যা” তাহলে আপনাকে অভিনন্দন! আর যদি উত্তর হয় “না”  তবে সমস্যা নেই। এখন যেনে নিন। তাহলে আমরা জানলাম কম্পিউটারের ভাষা বাইনারি। তাহলে কম্পিউটার দিয়ে কোনো কাজ করাতে হলে আমাকে বাইনারি লিখতে হবে……তাই তো? কিন্তু সেটা কি সহজ? মোটেও না। তাহলে আপনি যে পাইথন কোডটি লিখবেন তা কম্পিউটারকে বুঝাতে নিশ্চয়ই একটা মাধ্যম লাগবে?

আমরা শুরুতে জেনেছি পাইথন একটি ইন্টারপ্রিটেড ল্যাঙ্গুয়েজ। ইন্টারপ্রিটেড ল্যাঙ্গুয়েজ  এর বৈশিষ্ট্য হচ্ছে একে কম্পিউটারের ভাষায় রুপান্তর করতে “ইন্টারপ্রিটার” ব্যবহার করতে হবে। আমরা এখন জানবো কিভাবে সেই ইন্টারপ্রিটার ইন্সটলের মাধ্যমে সহজে পাইথন কোড করা যাবে।

প্রথমে দেখতে হবে আমাদের অপারেটিং সিস্টেম কোনটি?

উইন্ডোজ

উইন্ডোজ ইউজার হলে ৩২-বিট অথবা ৬৪-বিট অনুযায়ী প্রয়োজনীয় .exe ভার্সনটা ডাউইনলোড করে নিতে হবে। আসুন দেখে নেই আপনার কম্পিউটার কত বিটের…

2-Check-PC-is-32-Bit-or-64-Bit-in-Windows-8

কম্পিউটার আইকনে মাউসের ডান বাটন ক্লিক করে Properties>System Type>32 bit or 64 bit

এখন বিট অনুযায়ী পাইথন ইন্টারপ্রিটার ডাউইনলোড করে নিতে হবে।

                        www.python.org/downloads

উপরের লিঙ্ক থেকে পাইথন 2.7.x অথবা 3.5.x ডাউনলোড করে নিন।

(2.7.x- পাইথন ২ ব্যবহারকারীদের জন্য  /  3.5.x- পাইথন ৩ ব্যবহারকারীদের জন্য)

ডাউইনলোড শেষ হলে .exe ফাইলে ডাবল ক্লিক করে সেটআপ উইন্ডো ওপেন হলে “Add python 3 to Path“- এ টিক দিতে হবে। তারপর নরমাল সফটওয়্যার ইন্সটল করার মতো করে “Install Now“- তে ক্লিক করে ইন্সটল করে নিব।

P02.PNG

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

All Apps > Python 3 > IDLE– গেলে আমরা পাইথনের IDLE পাব।(আমরা এখানে যেহেতু পাইথন ৩ ইন্সটল করেছি তাই Python 3  এ যেতে হবে নাহলে Python ২ :D)

লিনাক্স

সুখবর হলো লিনাক্স ডিস্ট্রো তে পূর্ব থেকেই পাইথন-৩ ইন্সটল থাকে। তাই টার্মিনাল ওপেন করে python3 কমান্ড দিব। দেখবো ওপেন হয় কিনা! হলে ঠিক আছে। নাহলে প্রয়োজনীয় কমান্ড দিয়ে ইন্সটল করে নিব।

UmQyC.png

উবুন্টুর ক্ষেত্রেঃ

        sudo apt-get install python3 python3-dev python3-pip

উপরের কমান্ডটি দিলেই হবে।

যারা পাইথন IDE ব্যবহার করতে ইচ্ছুক(শিখার এক পর্যায়ে ব্যবহার করতে হয় যদিও) তারা Eric , PyCharm JetBrains ব্যবহার করতে পারেন।

ম্যাকওএস

ম্যাকেওএসের ক্ষেত্রে ৩২-বিট বা ৬৪-বিট অনুসারে .pkg ফাইল্টা ডাউইনলোড করে নিতে হবে। তারপর ডাবল ক্লিক করে নরমাল উপায়ে ইন্সটল করে নিতে হবে।

এটা টার্মিনাল থেকেও করা সম্ভব। সে জন্য যা করতে হবে…

১। পপ আপ উইন্ডো ওপেন করতে হবে। সেখান থেকে Xcode ইন্সটল করার জন্য টারমিনালে xcode-select-install -এ কমান্ডটি দিব। এর ফলে পপ আপ উইন্ডো ওপেন হবে। সেখান থেকে আমরা কমান্ড লাইন টুলস ইন্সটল করে নিব।

২। এরপর আমরা Homebrew ইন্সটল করে নিব। এর জন্য নিচের কমান্ডটি দিব।

/usr/bin/ruby -e "$(curl -fsSL http://raw.githubusercontent.com/Homebrew/install/master/install)

ইন্সটলেশন শেষ হলে ~/.bash_profile export PATH=/usr/local/bin:$PATH 

তারপর টার্মিনাল ক্লোজ করে আবার ওপেন করব। এবার পাইথন করার জন্য কমান্ড দেব-

brew install python3

ইন্সটল শেষ হয়ে গেলে ভার্সন চেক করে দেখব।

python3 -version

প্রয়োজনীয় বই এবং লিঙ্ক সমূহ

বিগিনার সেকশনঃ

১। সহজ ভাষায় পাইথন ৩
বাংলা ভাষায় পাইথন প্রোগ্রামিং শুরু করার জন্য অন্যতম ভালো বই হচ্ছে “সহজ ভাষায় পাইথন ৩”। বইটি লিখেছেন মাকসুদুর রহমান মাটিন। ভাইয়া তার বইতে পাইথনের প্রতিটি অংশকে সুন্দর এবং সাবলীলভাবে উপস্থাপন করেছেন। বইটি রকমারি ডট কমে বেস্ট সেলার হয়েছিল। যাদের ইন্টারনেটের পাশাপাশি বই পড়ে শিখার অভ্যাস আছে তারা নিচের লিঙ্ক এ যেয়ে বইটি অর্ডার করতে পারেন।

https://www.rokomari.com/book/127980/%E0%A6%B8%E0%A6%B9%E0%A6%9C-%E0%A6%AD%E0%A6%BE%E0%A6%B7%E0%A6%BE%E0%A7%9F-%E0%A6%AA%E0%A6%BE%E0%A6%87%E0%A6%A5%E0%A6%A8--%E0%A7%A9

book_127980.jpg

২।Automate the Boring Stuff with Python
এ বইটির দুটি অংশ – বেসিক এবং প্র্যাক্টিক্যাল। আমরা যারা নতুন নতুন পাইথন করতে শিখি তখন আমাদের জানার লেভেল তত গভীর হয় না। সেই অগভীর প্রোগ্রামিং জ্ঞান দিয়ে কিভাবে বাস্তবমুখী কাজ করা যায় তা বইটির লেখক জনাব Swegart খুব সুন্দর ভাবে দেখিয়েছেন।

download (1).jpg

৩।Dive Into Python 3 
এই বইটিতে পাইথনের মৌলিক বিষয় চমৎকার ভাবে তুলে ধরা হয়েছে।

cover.jpg

৪।A Byte of Python
বেসিক পাইথন শিখার জন্য এটিও অনেক ভালো বই।

৫।The Hitchhiker’s Guide to Python
এটি একটি অনলাইন ডক। তবে এর সূচি বিশাল। পাইথনের সবকিছুই এখানে আলোচনা করা হয়েছে। লিংকঃ

http://docs.python-guide.org/en/latest/

৬। বাংলা ভাষায় পাইথন শিখার একটি ভালো রিসোর্স হচ্ছে “মজার ও সহজ প্রগ্রামিং,পাইথন প্রোগ্রামিং”।

সিরিজটি বিনামুল্যে পড়তে নিচের লিঙ্ক টিতে যেতে হবে।

http://www.techtunes.com.bd/chain-tunes/learn-programming-easily-with-fun

৭।পাইথনের সবচেয়ে ভালো রিসোর্স হচ্ছে এর অফিশিয়াল ডক। তবে বিফিনার হলে একটু বুঝতে প্রথমে কষ্ট হতে পারে তবে বুঝলে অনেক উপকার! লিংকঃ

http://docs.python.org/3/

৮। Learn Python the Hard Way , – বইটির নাম যদিও কঠিনভাবে পাইথন শেখা কিন্তু বইটি কঠিন নয়। বরং যেকোনো পাইথন প্রোগ্রামার পড়তে পারবে।

বিগিনার টিউটোরিয়াল সেকশনঃ

৯। কোরসেরাতে “programming for everybody(Getting started with python)” নামে একটি কোর্স রয়েছে। কোর্সটি নাকি চমৎকার। মাটিন ভাইয়া উনার বইতে এই কোর্স টি সম্পর্কে বলেছেন। তাই আমি সেখান থেকে তুলে দিচ্ছি। লিংকঃ

http://www.coursera.org/learn/python

১০। যারা ডকুমেন্টের পাশাপাশি ভিডিও দেখে শিখতে পছন্দ করেন তারা Newboston এর ইউটিউব টিউটোরিয়াল সিরিজ গুলো দেখতে পারেন।

লিংকঃ Python Tutorial

Python Tutorial

এডভান্সড সেকশনঃ

১১। পাইথনের মাধ্যমে ক্যালকুলাস, ত্রিকোণমিতি , গ্রাফ ইত্যাদি মজাদার অংক পাইথনের মাধ্যমে করার উপায় শিখতে নিচের বইটি দেখা যেতে পারে ।

Doing math with python

১২। Effective Python: 59 Specific Ways to Write Better Python– এ বইটিও এডভান্সডদের জন্য। এর রিভিউ বেশ ভালো।

download (2).jpg

১৩। Mastering Data Mining with Python – Find patterns hidden in your data- যারা পাইথন দিয়ে ডেটা মাইনিং করতে চান তাদের জন্য এই বই বেশ উপকারী। তবে এর অনলাইন রিসোর্স পাই নি(পিডিএফ বা অনলাইনে পড়ার মতো) কিন্তু নীলক্ষেত বইয়ের দোকানে পাওয়া যেতে পারে।

১৪।  How To Think Like A Computer Scientist: Learning with Python– এ বইটি পাইথন প্রোগ্রামারদের জন্য একটি এডভান্সড বই অর্থাৎ যারা বিগিনার লেভেল থেকে নিজেকে এডভান্সড এ নিতে চান তাদের জন্য এই বইটি। বইটি অনলাইনে পড়তে উক্ত নামের ক্লিক করুন। পাশাপাশি সেখান থেকে ডাউনলোড বাটনে ক্লিক করে ডাউনলোড করা যাবে।

এডভান্সড টিউটোরিয়াল সেকশনঃ

১৫। পাইথনের অবজেক্ট ওরিয়েন্টেড অংশটুকু বুঝতে এবং শিখতেঃ  OOP of Python

১৬।  যাদের পাইথনের হাতেখড়ি প্রায় শেষ এবং এডভান্স ইমপ্লিমেন্টেশনে যেতে চাচ্ছে, তারা পাইথনের মাধ্যমে মেশিন লার্নিং কোর্স করে নিতে পারে।   Machine Learning Python Courses | Coursera

(কোরসেরার কোনো টিউটোরিয়ালে Enroll করলে পেমেন্ট অপশন আসে যদি ফ্রি করতে চান তাহলে পপ-আপ উইন্ডো এর নিচে Audit অপশনটি খুঁজে ক্লিক করতে হবে )

১৭। ডাটা নিয়ে কাজ করতে চাইলেঃ Data Mining with Python

১৮। যারা ডাটা সাইন্সে আগ্রহী তারা কোরসেরার কোর্সটি নিতে পারেঃ Data Science with python

যারা প্রোগ্রামিং জগতে নতুন তারা এই ওয়েবসাইটের “প্রোগ্রামিং কি কেন কিভাবে” পোস্টটি ও পড়ে দেখতে পারেন।

(এই আর্টিকেল টি লেখার আগে অনেক রিসোর্স ঘাটতে হয়েছে তবে এর মধ্যে মাটিন ভাইয়ার “সহজ ভাষায় পাইথন ৩” বইটির অনেক তথ্য ব্যবহার করেছি কারন বইটি অন্যরকম ভালো! সেজন্য মাটিন ভাইয়া কে বিশেষ ধন্যবাদ 😀 )

সবশেষে বলব, পাইথন এমন এক ল্যাঙ্গুয়েজের নাম যা দিয়ে আপনি অনাসায়ে প্রোগ্রামিং কাব্য রচনা করতে পারবেন । পাইথন নিয়ে লেগে পড়ুন এবং পাইথনের মোহে নিজেকে ভুলে যান!

@হ্যাপ্পি_প্রোগ্রামিং

@ratulmh

4 thoughts on “পাইথন যখন অজগর নয়!

  1. hello moderators, I am a self taught Java programmer. skill level intermediate. I have recently finished my first software project for small micro credit company. I was thinking if I could share my experience of building my first project in Java with someone interested.

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s