গত পর্বে আমরা পাইথন ব্যবহারের কি কি সুবিধা আছে সেগুলো দেখেছি। এতক্ষণে হয়তো আপনাদের মনে এই প্রশ্ন উকি দিচ্ছে যে পাইথন দিয়ে কি করা যায় বা আমার জন্য পাইথন উপযুক্ত কিনা। এই পর্বে আমরা দেখে নেব পাইথনের বিভিন্ন অ্যাপ্লিকেশন গুলো –

GUI ভিত্তিক সফটওয়্যার ডেভেলেপমেন্ট

কোন সফটওয়্যার এর কথা মাথায় আসলেই আমাদের চোখে প্রথমেই ভেসে আসে একটি Graphical user interface বা GUI. সর্বসাধারণের ব্যবহার উপযোগী কোন সফটওয়্যার তৈরি করতে গেলে গ্র্যাফিক্যাল ইন্টারফেসের কোন বিকল্প নেই। সাধারণ ব্যবহারকারীরা কখনোই command line interface বা CLI ব্যবহার করে কোন সফটওয়্যার ব্যবয়ার করতে উৎসাহী হবে না।

পাইথনে বেশ কিছু API এবং লাইব্রেরি আছে যার মাধ্যমে খুব সহজেই GUI অ্যাপ্লিকেশন ডেভেলপ করা যায়। এর জন্য বাড়তি কিছুর দরকার নেই, শুধু ঐ API বা লাইব্রেরির ফাংশন গুলো জানলেই হয়। নিচে কিছু জনপ্রিয় API এর তালিকা দেওয়া হল –

  • Tkinter
  • Kivy
  • PyQT
  • WxPython
  • PySide
  • PyGUI
  • PyGTK ইত্যাদি

পরবর্তিতে আমরা Tkinter দিয়ে GUI প্রোগ্রামিং করা শিখব।

ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট (Web Application Development)

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

  • Django
  • Flask
  • Pyramid
  • Web2Py
  • Bottle
  • TurboGears
  • CherryPy
  • Dash
  • Sanic ইত্যাদি।

সিস্টেম প্রোগ্রামিং (System Programming)

পাইথনের বিল্ট-ইন ইন্টারফেস দিয়ে সিস্টেম প্রোগ্রামিং এর মত জটিল কাজও করা যায়। থ্রেডিং (Threading), শেল কমান্ড (Shell command), ফাইল হ্যান্ডলিং (File Handling), ইত্যাদির মত জটিল কাজগুলোও পাইথনে খুব সহজেই করা যায়।

ডাটাবেজ প্রোগ্রামিং (Database Programming)

যুগোপযোগী ও ডাইনামিক (Dynamic) অ্যাপ্লিকেশন তৈরির জন্য ডাটাবেজের কোন বিকল্প নেই। আর তাই সকল জনপ্রিয় রিলেশনাল ডাটাবেজ সিস্টেম (Relational Database System) যেমন MySQL, Oracle, SQLite, ODBC, PostgreSQL ইত্যাদির জন্য পাইথনের ইন্টারফেস আছে, আর এই ইন্টারফেস ব্যবহার করে খুব সহজেই এগুলোকে হ্যান্ডল করা যায়।

পাইথনে পোর্টেবল ডাটাবেজ (Portable Databse) API আছে যার মাধ্যমে ডাটাবেজগুলো্র কোন পরিবর্তন না করেই বিভিন্ন প্ল্যাটফর্মে ব্যবহার করা যায়।

সাইন্টিফিক প্রোগ্রামিং (Scientific Programming)

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

  • Numpy
  • SciPy
  • Pandas
  • SymPy
  • PIL
  • Astropy
  • ScientificPython ইত্যাদি

এমন আরো অনেক লাইব্রেরির তালিকা এখানে আছে। আপনারা চাইলেই দেখে আসতে পারেন।

মেশিন লার্নিং ও ডিপ লার্নিং (Machine Leaning and Deep Learning)

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

  • TensorFlow
  • Pytorch
  • Keras
  • MXNet
  • Sonnet
  • DL4J ইত্যাদি।

পাইথন দিয়ে করা যায়না এমন কিছু খুজে পাওয়াই দুষ্কর, অর্থাৎ পাইথন দিয়ে যেকোন ধরনের অ্যাপ্লিকেশন তৈরিই সম্ভব।