৫ টি বেস্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ যেগুলো আপনি শিখতে পারেন। [২০২০]

প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং প্রোগ্রামার শুনলেই আমাদের চোখের সামনে ভেসে ওঠে চশমা পরা নার্ড টাইপের লোকজন যারা সারাদিন বসে কম্পিউটারে কালো স্ক্রিনে পাগলের মতো টাইপ করতে থাকে এবং বিভিন্ন ধরনের সফটওয়্যার বা কম্পিউটার প্রোগ্রাম তৈরি করে। কেউ কাজ করে উইন্ডোজ সফটওয়্যার বা উইন্ডোজ প্রোগ্রাম নিয়ে, কেউ কাজ করে ওয়েব ডেভেলপমেন্ট নিয়ে, কেউ কাজ করে মোবাইল অ্যাপ্লিকেশন নিয়ে, আবার অনেকে গেম ডেভেলপমেন্ট নিয়েও কাজ করে।

ডেভেলপমেন্টের সেক্টর যেটাই হোক না কেন, আমরা কম্পিউটারে এবং মোবাইলের স্ক্রিনের ওপরে যা কিছু দেখি এবং যা যা করতে পারি, সবকিছুর একমাত্র কারন হচ্ছে, এই প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো এবং প্রোগ্রামাররা। আপনি যে এই ওয়েবসাইটে ঢুকে এই লেখাটি পড়তে পারছেন, এর পেছনেও আছে প্রোগ্রামিং বা সঠিকভাবে বলতে হলে ওয়েব ডেভেলপমেন্ট। যেমনটা বললাম, আমরা কম্পিউটার বা স্মার্টফোনে যাই করি না কেন, সবকিছুই সম্ভব হয়েছে প্রোগ্রামিং এর কারনে।

যাইহোক, আজকে আলোচনা করতে চলেছি বেস্ট ৫ টি প্রোগ্রামিং ল্যাঙ্গুয়েজ নিয়ে যেগুলো আপনি শিখতে পারেন। হ্যা, আপনি বিগিনার হলে যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়েই শুরু করতে পারেন, তবে অপশনগুলো জেনে রাখা এবং কোন ল্যাঙ্গুয়েজ শিখলে আপনি সুবিধা পাবেন এবং কোন ল্যাঙ্গুয়েজ শিখলে আপনি আপনার লক্ষ্য (যদি আপনি সফটওয়্যার ইঞ্জিনিয়ার হতে চান) সহজে পূরণ করতে পারবেন, সেসব বিষয় সম্পর্কে আরেকটু পরিষ্কার ধারনা দেওয়ার জন্যই আজকের টপিকটি।

এই আর্টিকেলের বিষয়বস্তু সমূহ

5. Swift এবং SwiftUI

Swift হচ্ছে আইওএস এবং ম্যাকওএস অ্যাপ ডেভেলপমেন্টের জন্য অ্যাপলের তৈরি প্রোগ্রামিং ল্যাঙ্গুয়েজ। ২০১৪ সালে অ্যাপল তাদের তৈরি Swift ল্যাঙ্গুয়েজ অ্যানাউন্স করে আইওএস অ্যাপ ডেভেলপমেন্টের জন্য বেস্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে। অ্যাামেরিকান দেশগুলোতে সফটওয়্যার ইঞ্জিনিয়ারিং এর অন্যতম একটি পার্ট হচ্ছে Swift প্রোগ্রামাররা। এসব দেশে আইফোন এবং ম্যাক ডিভাইসগুলো মেইনস্ট্রিম কনজিউমারদের ডিভাইস হওয়ায় এসব দেশে Swift প্রোগ্রামারদের চাহিদা অনেক বেশি। বর্তমানে, আইওএস এবং ম্যাকওস রিলেটেড যেকোনো অ্যাপস ডেভেলপ করার জন্য Swift ল্যাঙ্গুয়েজ জানতে হবে। হ্যা, বর্তমানে বিভিন্ন ধরনের জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক যেমন অ্যাঙ্গুলার, রিয়্যাক্ট ন্যাটিভ ব্যবহার করে ন্যাটিভ আইওএস অ্যাপ ডেভেলপ করা সম্ভব হয়, তবে প্রোফেশনাল আইওএস সফটওয়্যার ইঞ্জিনিয়ার কিংবা আইওএস অ্যাপ ডেভেলপার হতে চাইলে Swift জানতে হবে এবং প্রাইমারিলি Swift নিয়েই কাজ করতে হবে।

 

এছাড়া, Swift একটি বিগিনার-ফ্রেন্ডলি প্রোগ্রামিং ল্যাঙ্গুয়েজ। অর্থাৎ, বিগিনারদের জন্য একটি ইজি-টু- লার্ণ ল্যাঙ্গুয়েজ। তার মানে এই না যে, Swift সবথেকে সহজ প্রোগ্রামিং ল্যাঙ্গুয়েজ। উদাহরণস্বরূপ, Swift বিগিনারদের জন্য জাভার তুলনায় অনেকটা সহজ। Swift এর প্যাটার্ন, সিনট্যাক্সেও অন্যান্য অনেক জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজের সাথে মিল রয়েছে। এর ফলে, আপনার যদি অন্য কোন প্রোগ্রামিং ল্যাঙ্গুয়েজে দক্ষতা থাকে, তাহলে Swift শেখা আপনার জন্য খুবই সহজ হবে। তবুও Swift কে লিস্টের ৫ নাম্বারে রাখা হয়েছে। কারন, সাউথ এশিয়ান দেশগুলোর অর্থনৈতিক অবস্থার কারনে এখানে আইওএস ডিভাইসগুলো অ্যামেরিকান দেশগুলোর মতো এত জনপ্রিয় এবং মোস্টলি-ইউজড না। সেই কারনে Swift প্রোগ্রামারদের জব/ক্যারিয়ারের সুযোগ খুব বেশি নেই এসব দেশে। তবুও একেবারে নেই তেমনটাও না। আর এই একই কারনে, এসব দেশে জবের ক্ষেত্রে আইওএস ডেভেলপারদের খুব বেশি কম্পিটিশনও নেই।

4. C++

C++ একটি অন্যতম জনপ্রিয়, ওল্ড এবং মোস্টলি ইউজড প্রোগ্রামিং ল্যাঙ্গুয়েজ। C++ এর অন্যতম ফিচারটি হচ্ছে এটি অত্যন্ত পাওয়ারফুল এবং ফাস্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ। এই ল্যাঙ্গুয়েজটি C এর ওপরে বেজ করে তৈরি করা হয়েছে। C++ অত্যন্ত পাওয়ারফুল ল্যাঙ্গুয়েজ হওয়ায় এটিকে প্রায় সব ক্ষেত্রেই ব্যবহার করা হয়। যেমন- অপারেটিং সিস্টেম তৈরি থেকে শুরু করে, মোবাইল অ্যাপস, ডেস্কটপ অ্যাপ, পাওয়ারফুল GUI, গেম ইঞ্জিন, ফুল স্ট্যাক অ্যাপ্লিকেশান ইত্যাদি। সফটওয়্যার ইঞ্জিনিয়ারিং এর খুব কম সেক্টর আছে যেখানে C++ ব্যাবহার করে কাজ করা যায়না। যেহেতু C++ একটি ফাস্ট ল্যাঙ্গুয়েজ, যেসব অ্যাপস বা ডেভেলপমেন্ট প্রোজেক্টে অত্যন্ত ফাস্ট রেসপন্স এর দরকার হয়, সেসব ক্ষেত্রে C++ ব্যাবহার করা হয়। যেমন, এর একটি ভালো উদাহরন হচ্ছে গেমস ডেভেলপমেন্ট।

অধিকাংশ গেম ডেভেলপমেন্ট ইঞ্জিন যেমন Unity, Unreal Engine এই ধরনের সব ইঞ্জিনে C++ ব্যবহার করা হয় গেম ডেভেলপ করতে। আর, C এর ওপরে বেজ করে তৈরি করা হলেও C++ একটি হাই লেভেল এবং অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। এছাড়া সবথেকে বড় মাল্টি ন্যাশনাল সফটওয়্যার ইন্ডাসট্রিগুলোতেও C++ ব্যাবহার করা হয় অধিকাংশ প্রোজেক্টে। তবে এই সব অ্যাডভান্টেজের পাশাপাশি C++ এর একটি বড় ডাউনসাইড হচ্ছে, এটি বিগিনার এবং প্রোফেশনাল, সবার জন্যই অন্যান্য ল্যাঙ্গুয়েজের তুলনায় অনেকটা হার্ড-টু- লার্ণ। C++ এর প্যাটার্ন, সিনট্যাক্স, ফাংশন সবকিছুই অন্যান্য অধিকাংশ ল্যাঙ্গুয়েজের তুলনায় কিছুটা জটিল।

3. JavaScript (JS)

প্রোগ্রামিং ল্যাঙ্গুয়েজ নিয়ে আইডিয়া আছে কিন্তু জাভাস্ক্রিপ্ট চিনি না এমন ইন্টারনেট ইউজার নেই বললেই চলে। জাভাস্ক্রিপ্ট একটি হাই লেভেল ইন্টারপ্রেটেড এবং অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ যেটি মুলত ওয়েব ডেভেলপমেন্টের ক্ষেত্রে ব্যবহার করা হয়। বর্তমানে জাভাস্ক্রিপ্ট ছাড়া একটি ফাংশনার ওয়েবসাইট কল্পনাই করা যায়না। হ্যা, শুধুমাত্র HTML এবং CSS ব্যবহার করে ওয়েবসাইট তৈরি করা সম্ভব, তবে সেটা শুধুমাত্র স্ট্যাটিক ওয়েবসাইট। তবে ডায়নামিক ওয়েবসাইট তৈরি করতে হলে অবশ্যই জাভাস্ক্রিপ্ট জানা এবং ইমপ্লিমেন্ট করা প্রয়োজন। কোন ওয়েবসাইটে রিয়াল টাইম ফাংশনালিটি এবং ইউজার ইন্টার‍্যাকশন ফিচার অ্যাড করার জন্য জাভাস্ক্রিপ্ট দরকার হয়। বর্তমানে সিঙ্গেল পেজ অ্যাপ (SPA) এবং প্রোগ্রেসিভ ওয়েব অ্যাপ (PWA) তৈরি করতে ব্যবহার করা হয় জাভাস্ক্রিপ্ট।

বর্তমানে মডার্ন ডিজাইন এবং ফানশনালিটির যেকোনো ওয়েব অ্যাপ বা ওয়েবসাইট ডেভেলপ করার জন্য দরকার হয় বিভিন্ন ধরনের জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক যেমন- অ্যাঙ্গুলার, রিয়্যাক্ট, ভিউ ইত্যাদি। এমনকি বর্তমানে জাভাস্ক্রিপ্ট ফ্রেমওয়ার্কস ব্যবহার করে ন্যাটিভ আইওএস, অ্যান্ড্রয়েড এবং ডেক্সটপ অ্যাপসও তৈরি করা হচ্ছে। বিভিন্ন ধরনের ফ্রেমওয়ার্ক ব্যবহার করে ওয়েবসাইটের ফ্রন্ট এন্ড এবং ব্যাক এন্ড দুই ক্ষেত্রেই ব্যবহার করা হচ্ছে জাভাস্ক্রিপ্ট। বর্তমানে পৃথিবীর ৮০% ওয়েব ডেভেলপার অ্যাক্টিভলি জাভাস্ক্রিপ্ট ব্যাবহার করেন। আর পৃথিবীর প্রায় ৯৫% ওয়েবসাইটের ডায়নালিক লজিক এবং ফাংশনালিটি ডেভেলপ করা হয়েছে জাভাস্ক্রিপ্ট ব্যবহার করে। এছাড়া জাভাস্ক্রিপ্টও একটি অত্যন্ত বিগিনার-ফ্রেন্ডলি প্রোগ্রামিং ল্যাঙ্গুয়েজ। তাই, প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখা শুরু করতে চাইলে, জাভাস্ক্রিপ্ট অবশ্যই বেস্ট চয়েজ যদি আপনি ওয়েব ডেভেলপমেন্ট এবং ওয়েব অ্যাপস নিয়ে কাজ করতে চান।

2. Kotlin

 

Kotlin মুলত JetBrains এর তৈরি করা একটি সহজ, পাওয়ারফুল এবং ফাংশনাল প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা বর্তমানে JVM অ্যাপলিকেশন এবং অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টের ক্ষেত্রে অ্যাক্টিভলি ব্যবহার করা হচ্ছে। অ্যান্ড্রয়েড স্টুডিওতে অ্যাপ ডেভেলপ করার জন্য জাভার পাশাপাশি Kotlin আরও একটি অফিসিয়াল প্রোগ্রামিং ল্যাঙ্গুয়েজ। Kotlin ল্যাঙ্গুয়েজটিকে মুলত জাভার একটি মডার্ন রিপ্লেসমেন্ট হিসেবে দেখা হয়, যদিও কিছু ক্ষেত্রে এখনো জাভার কিছু অ্যাডভান্টেজ থেকেই যায়। তবে, আপনি যদি অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টকে ক্যারিয়ার হিসেবে নিতে চান, তবে আপনার অবশ্যই Kotlin শেখা উচিত। যদি আপনার অন্যান্য যেকোনো অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ নিয়ে এক্সপেরিয়েন্স অথবা দক্ষতা থেকে থাকে, তাহলে Kotlin শেখা আপনার জন্য অনেকটাই সহজ হবে।

Kotlin ল্যাঙ্গুয়েজটিকেই তৈরি করা হয়েছে পাওয়ার এবং সিমপ্লিসিটিকে মাথায় রেখে। জাভার সিনট্যাক্স এর সাথে Kotlin এর সিনট্যাক্স এর যথেষ্ট মিল থাকলেও, জাভার তুলনায় Kotlin তুলনামুলকভাবে কিছুটা ইজি-টু-লার্ণ।  বর্তমানে অ্যান্ড্রয়েডের অনেক বড় ডেভেলপমেন্ট প্রোজেক্ট এবং অনেক জনপ্রিয় অ্যাপ ডেভেলপ করতে ব্যাবহার করা হচ্ছে Kotlin ল্যাঙ্গুয়েজ। এছাড়া Kotlin জাভার তুলনায় অনেক বেশি Well-Documented হওয়ায়, প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে বিগিনারদের জন্য Kotlin খুবই ফ্রেন্ডলি একটি ল্যাঙ্গুয়েজ।

1. Python

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

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

এছাড়া পাইথন সবথেকে বেশি ব্যাবহার করা প্রোগ্রামিং ল্যাঙ্গুয়েজ হওয়ায়, পাইথনের কমিউনিটি এবং লাইব্রেরি সবথেকে বড়। বিভিন্ন ধরনের কাজের জন্য অসংখ্য লাইব্রেরি আছে পাইথনে। যেমন- ওয়েব ডেভেলপমেন্টের জন্য Django, Flask ম্যাশিন লার্নিং এর জন্য Tensorflow, Numpy, Pandas ডেক্সটপ প্রোগ্রাম এর জন্য Tkinter ইত্যাদি অসংখ্য লাইব্রেরি আছে যা বিভিন্ন প্রকার ডেভেলপমেন্টের জন্য ব্যাবহার করা হয়। আর পাইথন এতটাই বিগিনার-ফ্রেন্ডলি প্রোগ্রামিং ল্যাঙ্গুয়েজ যে, বর্তমানে ভার্সিটিগুলোতে CSE স্টুডেন্টদেরকে প্রোগ্রামিং শেখানো শুরু করা হয় পাইথন দিয়ে। আর আপনি হয়ত শুনে থাকবেন যে, ডেটা সাইন্স এবং ম্যাশিন লার্নিং শিখতে চাইলে অবশ্যই আপনাকে আগে পাইথন শিখতে হবে এবং পাইথনে দক্ষ হতে হবে। তাই আপনার যদি, ডেটা সাইন্স, AI, নিউরাল নেটওয়ার্ক ইত্যাদি শেখার আগ্রহ থাকে, তাহলে অবশ্যই আপনারে পাইথন শেখা শুরু করা উচিত।

Feature Image: Shutterstock.com

About the author

সিয়াম

Add comment

Categories