সহজে পাইথন শেখা-০৩


আমি এখন পর্যন্ত যতগুলো প্রোগ্রামিং ল্যাংগুয়েজ শিখেছি সবগুলোতেই প্রথম প্রোগ্রাম লিখেছিলাম Hello World এই শব্দদুটি প্রিন্ট করার মাধ্যমে। এটা আসলে একটা ট্রেডিশন হয়ে গেছে। পাইথনেও প্রথম প্রোগ্রাম করবো এই শব্দদুটিই প্রিন্ট করে।
আমি আগেও বলেছি প্রোগ্রামিং শুরু করার জন্য পাইথন খুবই উপযোগী একটা প্রোগ্রামিং ল্যাংগুয়েজ। অন্য ল্যাংগুয়েজে এই শব্দদুটি লেখার জন্য যেখানে অনেক কিছু লিখতে হয় পাইথনে মাত্র কয়েকটা শব্দ লিখলেই সে কাজ করা যায়। একটা উদাহরন দেই- Hello World শব্দদুইটা C, C++, Java এবং Python এই চারটা প্রোগ্রামিং ল্যাংগুয়েজে লিখে তুলনা করি-

Hello World in C:

#include<stdio.h>
int main(){
	printf(“Hello World”);
	return 0;
	}

Hello World in C++:

#include<iostream>
using namespace std;
int main(){
	cout<<”Hello World”;
	return 0;
	}

Hello World in Java:

public static void main(String args[]){
	System.out.println(“Hello World”);
	}

Hello World in Python:

print “Hello World”

বোঝাই যাচ্ছে অন্য যে কোন ল্যাংগুয়েজের তুলনায় পাইথনে কোড করা কত সহজ।
আমরা কিন্তু ইতোমধ্যে পাইথনে আমাদের প্রথম কোড করে ফেলেছি। শুধু Hello World না, এই print স্ট্যাটমেন্ট দিয়ে আমরা পাইথন শেলে যে কোন কিছুই প্রিন্ট করতে পারি। যেমন আমি যদি আমার নাম ধাম প্রিন্ট করতে চাই, তাহলে প্রোগ্রামটি হবে-

print “Nuruzzaman Milon”
print “Student of Information and Communication Technology”
print “Mawlana Bhashani Science and Technology University”

এ তো গেল আমি পাইথন শেলে কিভাবে কোড লিখবো সেটা। পাইথন শেল বন্ধ করে দিলেই তো আমার লেখা সব কোড মুছে যাবে। বার বার এই কোড কি আমি লিখবো?
না, বার বার একই কোড লেখার কোন দরকার নেই। আমি আমার কোড খুব সহজেই একটা টেক্সট ফাইলে সংরক্ষন করে রাখতে পারি। তবে এক্ষেত্রে ফাইলের এক্সটেনশন হতে হবে .py

যেমন আমি যদি উপরের প্রোগ্রামটি সংরক্ষন করে রাখতে চাই তাহলে আমি সেটিকে, ধরা যাক name নামে সংরক্ষন করবো, সেক্ষেত্রে ফাইলের নাম হবে name.py

এবার আমি যদি ফাইলটি আবার চালাতে চাই তাহলে আমাকে পাইথন শেলে লিখতে হবে-

python name.py

তাহলেই আমি পাইথন শেলে আমার কাঙ্খিত ফলাফল দেখতে পারবো।

সহজে পাইথন শেখা-০২


আগের পর্বে আমি পাইথন নিয়ে প্রাথমিক কিছু আলোচনা করেছিলাম। এই পর্বে আমরা দেখবো কিভাবে আমরা আমাদের পিসিকে পাইথনে কোড করার উপযোগী করতে পারি।
প্রথমেই পাইথনের ওয়েব সাইট (http://www.python.org) থেকে পাইথন ডাউনলোড করতে হবে। সেথানে পাইথনের দুইটা ভার্সনের নাম দেয়া আছে। একটা ২.৭.৩ অন্যটা ৩.২.৩। এর মধ্য থেকে আমরা ২.৭.৩ ব্যবহার করব। প্রশ্ন উঠতে পারে, কেন আমরা নতুন ভার্সন থাকতে পুরাতন ভার্সন ব্যবহার করব। এর উত্তর হচ্ছে পাইথনের কোডিং স্টাইলে ভার্সন ৩ থেকে বেশ কিছু পরিবর্তন এসেছে যা আগের ভার্সনের সাথে কনফ্লিক্ট করে। আর পাইথনের যে সকল ফ্রেমওয়ার্ক আছে, তার অধিকাংশই এখন পর্যন্ত পাইথন ৩ সাপোর্ট করে না। তাই আমরা পাইথন ২.৭ ই শিখবো। একবার শিখে ফেললে ভবিষ্যতে প্রয়োজনবোধে নিজেদেরকে পাইথনের নতুন ভার্সনে আপডেট করে নিতে মনে হয় না আমাদের খুব একটা কষ্ট হবে।
এখন কথা হচ্ছে আমরা কোন অপারেটিং সিস্টেমে পাইথনের কোড করবো। আমার জানামতে উইন্ডোজই পৃথিবীর একমাত্র ওএস যেখানে বিল্ট ইন পাইথন সাপোর্ট নেই। যাই হোক আমি যদি উইন্ডোজ ব্যবহারকারী হই তাহলে প্রথমেই আমি পাইথনের ওয়েব সাইট থেকে পাইথনের ২.৭.৩ ভার্সনের এক্সিকিউটেবল ফাইল ডাউনলোড করে নিব। এই এক্সিকিউটেবল ইনস্টল করলে দেখবো আইডিএলই নামে একটা এডিটর সেটআপ হয়েছে। এই আইডিএলই ব্যবহার করেই আমরা কোড করবো। এছাড়া কেউ চাইলে নোটপ্যাড++ ব্যবহার করতে পারেন।
আপনি লিনাক্স মিন্ট বা উবুন্টু ব্যবহারকারী হয়ে থাকলে আপনার টার্মিনাল ওপেন করে লিখুন-

python

তাহলেই আপনি কোড লিখতে পারবেন। আইডিএলই ইনস্টল দিতে লিখুন-

sudo apt-get install idle

এবার আপনার পিসিতে পাইথন ঠিকভাবে ইনস্টল হয়েছে কিনা দেখতে চাইলে টার্মিনাল ওপেন করে লিখুন python তারপর এন্টার দিন। যদি দেখেন টার্মিনালে নিচের লেখাটুকু এসেছে তাহলে বুঝবেন আপনার পাইথন সেটআপ করা ঠিক আছে।

Python 2.7.3 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

বিভিন্ন পিসিতে এই লেখাটুকু ভিন্ন রকম হতে পারে।
ব্যস আপনার পিসি এখন পাইথনে কোড করার উপযোগী।

সহজে পাইথন শেখা-০১


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