পাইথন এবং রুবি বিভিন্ন দিক থেকে একইভাবে অনুরূপ এবং ভিন্ন। এই টিউটোরিয়ালে আমরা পাইথন এবং রুবির সাদৃশ্য এবং পার্থক্য দেখব। শুরু করি সেগুলো আসলে কী।
পাইথন একটি ইন্টারপ্রেটেড, শক্তিশালী, হাই-লেভেল এবং অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং ভাষা। এটি শিখতে সহজ। সম্পূর্ণ নতুনও সহজে পাইথন-এ শুরু করতে পারে।
রুবি একটি ডাইনামিক, অবজেক্ট-অরিয়েন্টেড হাই-লেভেল প্রোগ্রামিং ভাষা। রুবির সিনট্যাক্স পাইথন থেকে সম্পূর্ণ ভিন্ন এবং শিখতে সহজ।
চলুন পাইথন এবং রুবির কিছু সাদৃশ্য দেখি।
হাই-লেভেল ভাষা।
সার্ভার-সাইড স্ক্রিপ্টিং ভাষা।
ওয়েব অ্যাপ্লিকেশনের জন্য ব্যবহৃত।
দুটি ভাষায় একাধিক প্ল্যাটফর্মে কাজ করা যায়।
সহজে শিখা যায় এবং পঠনযোগ্য।
চলুন পাইথন এবং রুবির মূল পার্থক্যগুলো দেখি।
| পাইথন | রুবি |
|---|---|
| ফাংশন লেখা সমর্থন করে | ফাংশন লেখা সমর্থন করে না |
| ওয়েব ফ্রেমওয়ার্ক: Django, Flask, Bottle ইত্যাদি | ওয়েব ফ্রেমওয়ার্ক: Ruby on Rails, Hanami, Sinatra ইত্যাদি |
| পাইথন মিক্সিনস (mixins) সমর্থন করে না | রুবি মিক্সিনস সমর্থন করে |
| ভেরিয়েবল সংরক্ষণে যতক্ষণ চায় ততক্ষণ মেমোরি ব্যবহার করে | একবার ভেরিয়েবল সেট করলে রিসেট করা যায় না |
| মাল্টিপল ইনহেরিটেন্স সমর্থন করে | শুধু সিঙ্গল ইনহেরিটেন্স সমর্থন করে |
| পুরোপুরি অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং ভাষা নয় | পুরোপুরি অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং ভাষা |
| বিল্ট-ইন ক্লাস মডিফাই করা যায় না | বিল্ট-ইন ক্লাস মডিফাই করা যায় |
| টাপল (tuple) সমর্থন করে | টাপল সমর্থন করে না |
| সুইচ স্টেটমেন্ট নেই | সুইচ স্টেটমেন্ট আছে |
| বিশাল লাইব্রেরি সংগ্রহ | পাইথনের তুলনায় কম লাইব্রেরি |
| একাধিক IDE পাইথন সমর্থন করে | Eclipse IDE রুবি সমর্থন করে |
| শুধু এক লাইনের ল্যাম্বডা ফাংশন সমর্থন করে | বড় ল্যাম্বডা ফাংশন সমর্থন করে |
| মূল অ্যাপ্লিকেশন: একাডেমিয়া এবং লিনাক্স | মূল অ্যাপ্লিকেশন: ওয়েব |
উপসংহার
যেকোনো প্রোগ্রামিং ভাষা নিলে তার প্রস এবং কন্স পাবেন। আমাদের প্রয়োজন অনুযায়ী প্রোগ্রামিং ভাষা বেছে নিতে হয়।