DEV Community

Monirul Islam
Monirul Islam

Posted on

Introduction to Python Part-1

শুরু

Simplicity is the best আপনি যদি এই উক্তিটি ফলো করেন তাহলে পাইথন প্রোগ্রামিং লাংগুয়েজ আপনার জন্য।

পাইথন একটি বহুল ব্যবহৃত general purpose এবং high level language। ১৯৯১ সালে Guido van Rossum পাইথন উদ্ভাবন করেন। প্রথম দিকে তিনি পাইথনের কোড মেইনটেন্যান্স করতেন কিন্তু পরবর্তী Python Software Foundation পাইথনের সকল কিছু নিয়ন্ত্রন করে।

পাইথন কেন?

পাইথন ল্যাঙ্গুয়েজ কি জন্য এসেছে সেটা যদি জানতে হলে তার আগে জানতে হবে , ওই সময়ে বিদ্যমান থাকা প্রোগ্রামিং ল্যাঙ্গুয়েজ। যখন সি প্রোগ্রামিং ল্যাঙ্গুয়েজ মার্কেটে আসে এবং সেটা কম্পিউটার সাইন্স এক ধরনের revolution বলা যেতে পারে কারণ এর আগে যেসব প্রোগ্রামিং ল্যাঙ্গুয়েজ বিদ্যমান ছিল সেগুলো অনেক লো লেভেলে কাজ করতো। প্রোগ্রামের প্রোগ্রামিং করতে অনেক সমস্যা হতে হতো । C আসার পরে এসকল সমস্যা অনেকাংশে সমাধান হয়ে গেছে।

সি প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে কোন সমস্যা সমাধান করতে গেলে তা অনেক সময় লেগে যেত যা একজন প্রোগ্রামারের সময় নষ্ট করত। এজন্য C এর সকল Feature আর নতুন কিছু Feature, এক করে C++ উদ্ভাবন করা হয়। C++-এ অনেক নতুন নতুন feature সংযুক্ত করা হয়। কিন্তু C++ -এ C এর মত অনেক কোড লেখা লাগত আর developer friendly ও ছিল না। একজনের লেখা কোড অন্য জনের বুঝতে একটু সময় লেগে যেত।

এই সমস্যাটা সমাধান করার জন্যই পাইথন উদ্ভাবন করেছিলেন। পাইথন কে ডেভেলভ করা মূল উদ্দেশ্য ছিল ডেভলপার ফ্রেন্ডলি করা। সহজ সহজ সিনট্যাক্স ব্যবহার করা। কম কোড করে বড় বড় সমস্যার সমাধান করা।

পাইথনের বৈশিষ্ট্য

  • Interpreted: পাইথন একটি Interpreted ল্যাঙ্গুয়েজ। যার কারনে কোডকে খুব সহজে রান যায়। সরাসরি সোর্স কোড থেকে রান হওয়ার হয়। কম্পাইল করার প্রয়োজন হয় না।
  • প্লাটফর্ম অনির্ভশীলতাঃ যেকোন প্লাটফর্ম (windows , linux , mac etc) -এ পাইথন ব্যবহার করা যায়। পাইথন Interpreter সোর্স কোডকে প্রথমে বাইট কোডে রুপান্তর কর। তারপর Machine এর জন্য Native machine কোড-এ রুপান্তর করে।
  • ওপেন সোর্সঃ পাইথন সবার জন্য উন্মুক্ত। আপনার যথেষ্ট knowledge এবং Skill থাকলে আপনি Python এ contribute করতে পারবেন।
  • High Level: পাইথন মেশিনের অনেক উপরে থেকে কাজ করে। পাইথন হাই লেভেল হওয়ায় অল্প কোড লিখে বড় বড় সমস্যার সমাধান করা যায়।

ব্যবহার ক্ষেত্র

  • Web Development
  • Software Development
  • Machine Learning
  • AI (Artificial Intelligence)
  • Data Science
  • Desktop Application Development
  • Console Application etc.

উপরেরর ক্ষেত্র গুলো ছাড়াও অনেক কাজে পাইথন ব্যবহার করা হয়। তবে এসবে ভিতর থেকে Machine Learning , AI এবং Data Science এর জন্য পাইথন সেরা। কারন এখানে অনেক কোড লেখার প্রয়োজন হয় যদি পাইথন ব্যবহার না করে অন্য কোন language ব্যবহার করেন।

পাইথনে অসুবিধা

  • পাইথনের সবচেয়ে বড় অসুবিধা হচ্ছে কোড রান হতে C , C++ এর তুলনায় বেশি সময় নেই।
  • ব্লক তৈরি করতে কোড-এ Indentation (1 tab or 4 space) ব্যবহার করতে হয়। নতুবা হলে Error রিটার্ন করবে।
  • কোড রান করতে অনেক মেমরীর প্রয়োজন হয়।
  • প্যাকেজ ম্যানেজ করা অন্যান্য language এর তুলনায় অনেক কঠিন।

পাইথনের কোড অনেক সময় নেয়, যে কারনে backend development সেরা পছন্দ না। তাছাড়া যেখানে অ্যাপ্লিকেশান এর speed প্রথম priority থাকে সেখানে python suitable না।

শেষ

পরিশেষে একটা কথাই বলব, Python (language) is python (Snake)। কারন Python সাপের মত python language খুবই শক্তিশালি এবং বিশাক্ত।

Top comments (0)