পাইথন প্রোগ্রামিং সি প্রোগ্রামিং জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল জেকুয়েরি এইচটিএমএল সিএসএস বুটস্ট্রাপ এঙ্গুলার জেএস
লগইন
 

পাইথন প্রোগ্রামিং ভাষা - Python Programming language


পাইথন প্রোগ্রামিং

পাইথন (Python) একটি শক্তিশালী হাই-লেভেল এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। গুইডো ভ্যান রাসম এই প্রোগ্রামিং ভাষার স্রষ্টা।

এই প্রোগ্রামিং ভাষার গঠন(Syntax) শৈলী এবং ব্যবহার খুবই সহজ। ফলস্বরুপ, যদি কেউ জীবনে প্রথমবার প্রোগ্রামিং ভাষা শিখতে চাই তাহলে পাইথনই হবে তার জন্য সবচেয়ে পছন্দের ল্যাঙ্গুয়েজ।

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



পাইথন প্রোগ্রামিং কি? - প্রাথমিক ধারনা

শুরু করার পূর্বে চলুন পাইথন ভাষার সঙ্গে পরিচিত হয়ে নিই।

পাইথন সাধরণ উদ্দেশে(general-purpose) ব্যবহৃত একটি শক্তিশালী প্রোগ্রামিং ভাষা। সুতরাং ওয়েব ডেভেলপমেন্ট(যেমন-Django এবং Bottle) থেকে শুরু করে বৈজ্ঞানিক ও গাণিতিক হিসাব-নিকাশ(যেমন-Orange, SymPy, NumPy) এবং এমনকি ডেস্কটপ গ্রাফিক্যাল ইউজার ইন্টারফেসেও(যেমন-Pygame, Panda3D) এটার ব্যপক ব্যবহার রয়েছে।

গঠন(Syntax) খুবই স্বচ্ছ এবং কোড এর দৈর্ঘ্যও ছোট হয়। ফলে পাইথন-এ কাজ করা আপনার কাছে কিছুটা মজাদার কৌতুকের মত মনে হবে। কেননা এটি আপনাকে কোডের গঠনের দিকে নজর না দিয়ে সমস্যা নিয়ে চিন্তা করতে সহায়তা করবে।



পাইথন এর ইতিহাস

গুইডো ভ্যান রাসম কর্তৃক সৃষ্ট পাইথন তুলনামূলক একটি পুরাতন ভাষা। ১৯৮০ দশক এর পরে তিনি সর্বপ্রথম পাইথন ডিজাইন শুরু করেছিলেন এবং ১৯৯১ সালের ফেব্রুয়ারিতে এটি প্রথম প্রকাশিত হয়।

পাইথন সৃষ্টির নেপথ্যে

১৯৮০ দশকের পরে গুইডো ভ্যান রাসম আমিবা ডিস্ট্রিবিউটেড অপারেটিং সিস্টেম গ্রুপের সাথে কাজ করছিলেন। তিনি ABC(ABC এর সিনট্যাক্স খুবই সহজ এবং বোধগম্য)-এর মত ইটারপ্রেটেড(Interpreted) ভাষা ব্যবহার করতে চাইলেন যা আমিবা সিস্টেম কলকে এক্সেস করতে পারবে। তাই তিনি নতুন একটি ভাষা তৈরির দিদ্ধান্ত নিলেন যেটা হবে সমপ্রসারনযোগ্য । এটাকে কেন্দ্র করেই নতুন একটি ভাষার সূত্রপাত হলো এবং পরবর্তীতে এটার নাম রাখা হলো পাইথন

পাইথন নাম কেন হলো?

ভয়ংকর কোন সাপের নামানুসারে পাইথন এর নামকরণ হয়নি। সত্তরের দশকের পরে রাসম একটি কমেডি সিরিজের ভক্ত ছিলেন। "মন্টি পাইথন' এর উড়ন্ত সার্কাস এর সাথে সমঞ্জস্য রেখেই এটার নাম রাখা হয়েছে পাইথন।

পাইথন এর বিভিন্ন ভার্সন এবং প্রকাশকাল

ভার্সন প্রকাশকাল
পাইথন 1.0 (প্রথম স্টান্ডার্ড প্রকাশনী) ১৯৯৪ এর জানুয়ারি
পাইথন 1.6 ( শেষ মাইনর ভার্সন) ২০০০ সালের ৫-এ সেপ্টেম্বর
পাইথন 2.0 (লিস্ট-list এর সূচনা) ২০০০ সালের ১৬ই অক্টোবর
পাইথন 2.7 (শেষ মাইনর ভার্সন) ২০১০ সালের ৩-এ জুলাই
পাইথন 3.0 (ডেপ্রিকেটেড কন্সট্রাক্ট এবং মডিউল রিমুভে জোর প্রদান ) ২০০৮ সালের ৩-এ সেপ্টেম্বর
পাইথন 3.5 (নিরাপত্তা সংশোধন) ২০১৫ সালের ১৩-ই সেপ্টেম্বর
পাইথন 3.6 (শেষ আপডেট ভার্সন ) ২০১৬ সালের ২৩-এ ডিসেম্বর

পাইথন ভাষার বৈশিষ্ট্যসমূহ

পাইথন প্রোগ্রামিং ল্যাংগুয়েজ এর অসংখ্য বৈশিষ্ট্য রয়েছে। নিম্নে পাইথন ভাষার কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য তুলে ধরা হলোঃ

  • এটি একটি সাধারণ ভাষা যা শেখা খুবই সহজ।

    পাইথন-এর গঠন(syntax) শৈলী খুবই সহজ ও পরিচ্ছন্ন। অন্যান্য প্রোগ্রামিং ভাষা যেমন- C++, Java এবং C# ইত্যাদির তুলনায় পাইথন প্রোগ্রাম পড়া এবং লেখা উভয়ই সহজ। পাইথন প্রোগ্রামিংকে অনেক মজাদার করে তুলেছে। কেননা এটা আপনাকে কোডের গঠনের দিকে নজর না দিয়ে সমস্যা সমাধানে নজর দিতে সহায়তা করবে।

    প্রোগ্রামিং জগতে আপনি যদি নতুন হোন তাহলে পাইথন দিয়ে যাত্রা শুরু করাই হবে আপনার পছন্দের মধ্যে অন্যতম।


  • ফ্রি এবং ওপেনসোর্স

    আপনি আপনার ব্যাক্তিগত এবং এমনকি ব্যবসায়িক কাজেও মুক্তভাবে পাইথন ব্যবহার এবং বিতরণ করতে পারবেন। আপনি পাইথন দিয়ে লেখা সফটওয়্যার যে শুধু ব্যবহার এবং বিতরণ করতে পারবেন তা নয় বরং পাইথন এর সোর্স কোড-ও পরিবর্তন করতে পারবেন।

    এছাড়া পাইথন এর রয়েছে বিশাল এক কমিউনিটি যা প্রতিনিয়ত চক্রবৃদ্ধিহারে বেড়েই চলেছে।


  • বহনযোগ্যতা(Portability)

    আপনি পাইথন প্রোগ্রামকে এক প্লাটফর্ম থেকে অন্য প্লাটফর্ম-এ নিতে পারবেন এবং কোনো ধরণের পরিবর্তন ছাড়াই রান করাতে পারবেন।

    এটি অধিকাংশ প্লাটফর্ম(যেমন- উইন্ডোজ, লিনাক্স এবং ম্যাক ওএস) এ নিজস্ব এপ্লিকেশনের মতই রান করে।


  • সম্প্রসারণ এবং সংস্থাপনযোগ্য(Extensible and Embeddable)

    ধরুন, উচ্চ ক্ষমতাসম্পন্ন আপনার একটি এপ্লিকেশন এর প্রয়োজন । আপনি চাইলে C/C++ অথবা অন্য কোনো প্রোগ্রামিং ভাষার কোডকে পাইথন কোডের সাথে সংযুক্ত করতে পারেন।

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


  • হাই-লেভেল এবং ইন্টারপ্রেটেড ভাষা

    এটি C/C++ এর মত না। ভীতিকর বিষয় যেমন মেমোরি ম্যানেজমেন্ট(memory management), গার্বেজ কালেকশন(garbage collection) এবং পয়েন্টার(Pointer) ইত্যাদি বিষয় নিয়ে আপনাকে কোনো দুঃচিন্তা করতে হবে না।

    অনুরূপভাবে, আপনি যখন পাইথন কোড রান করাবেন তখন এটি স্বয়ংক্রিয়ভাবেই আপনার কোডকে কম্পিউটারের ভাষায় রূপান্তর করবে। এক্ষেত্রে নিম্ন-লেভেল অপারেশন নিয়েও আপনাকে উদ্বিগ্ন হতে হবে না।


  • সাধারণ সমস্যা সমাধানের জন্য অনেক বড় লাইব্রেরী

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

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


  • অবজেক্ট ওরিয়েন্টেড(Object-oriented)

    পাইথনে সবকিছুই অবজেক্ট। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করে নিজস্ব জ্ঞান দ্বারাই জটিল জটিল সমস্যার সমাধান করতে পারবেন।