ডেটা সাইন্সের জন্য সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্লগের প্রথম পার্টে আমরা ৭টি ল্যাঙ্গুয়েজ নিয়ে আলোচনা করেছিলাম। সেগুলো ছিল যেসব ল্যাঙ্গুয়েজ বিগ ডেটা নিয়ে কাজ করার লোকজন সবচেয়ে বেশি ব্যবহার করেন।
এই ব্লগে আমি লিস্টের বাকি आधা অংশ দিচ্ছি যেটিprise থাকে প্রথম পার্টের সাপেক্ষে নতুন কামারদের। उनमें से কিছু জাভা, হাডুপ, R এবং SQL-এর মতো জনপ্রিয়তা অর্জন করেছে, অন্যদের অনন্য ফিচারের কারণে বাজারে দাঁড় করিয়েছে।
ডেটা সাইন্সের জন্য প্রোগ্রামিং ল্যাঙ্গুয়েজের তালিকা:
১. পাইথন (Python) –
পাইথন বিগ ডেটার জন্য বড় এবং জটিল ডেটাসেট নিয়ে কাজ করার সেরা ওপেন সোর্স প্রোগ্রামিং ল্যাঙ্গুয়েজের একটা। পাইথন অবজেক্ট-অরিয়েন্টেড ল্যাঙ্গুয়েজ ব্যবহারকারী প্রোগ্রামারদের মধ্যে জনপ্রিয়তা পেয়েছে। পাইথন R-এর চেয়ে সহজ এবং ইনটিউইটিভ, এবং প্ল্যাটফর্ম последние কিছু বছরে 劇的に বৃদ্ধি পেয়েছে, যা এটিকে R-এর মতো স্ট্যাটিস্টিক্যাল অ্যানালিসিসের জন্য আরও সক্ষম করে তোলেছে। পাইথন-এর USP হলো রিডেবিলিটি এবং কোণ্টেনেস।
আধুনিক অ্যাপ্লিকেশন যেমন Pinterest এবং Instagram পাইথনে বিল্ট। এটি একটি ট্র্যাডিশনাল অবজেক্ট-অরিয়েন্টেড ল্যাঙ্গুয়েজ, যা প্রোডাক্টিভিটি এবং রিডেবিলিটির উপর জোর দেয়। পাইথন নিউরাল নেটওয়ার্ক নিয়ে বিগ ডেটা প্রজেক্টের জন্যও সেরা ফিট।
২. ম্যাটল্যাব (MATLAB) –

ম্যাট্রিক্স নিয়ে কাজ করলে MATLAB ডেটা সাইন্সের জন্য সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে একটি। এটি ওপেন সোর্স ল্যাঙ্গুয়েজ না, কিন্তু একাডেমিক্সে বেশি ব্যবহার হয় এর ম্যাথমেটিক্যাল মডেলিং এবং ডেটা একুইজিশনের উপযোগিতার কারণে। MATLAB প্রথমে ম্যাট্রিক্স নিয়ে কাজ করার জন্য ডিজাইন করা হয়েছিল যা এটিকে স্ট্যাটিস্টিক্যাল মডেলিং এবং অ্যালগরিদম ক্রিয়েশনের জন্য খুব ভালো অপশন করে তোলে। MATLAB লিনিয়ার এলজেব্রিক কম্পিউটেশন, সিমুলেশন এবং ম্যাট্রিক্স কম্পিউটেশন ইনভলভ করা ডেটা সাইন্স টাস্কের জন্যও ভালো।
MATLAB-এর খামি হলো এটি কোড পোর্টেবিলিটির ওপর সীমাবদ্ধতা লাগিয়ে।
৩. স্কালা (Scala) –

Scala প্রোগ্রামিং ল্যাঙ্গুয়েজ অবজেক্ট-অরিয়েন্টেড এবং ফাংশনাল প্রোগ্রামিং ল্যাঙ্গুয়েজের ফিউশন যা রবাস্ট এবং স্কেলেবল ডেটা সাইন্স অ্যাপ্লিকেশন বিল্ড করতে সাহায্য করে। তাই এটি জাভা এবং জাভাস্ক্রিপ্ট দুটোর সাথে কাজ করে। Scala অন্য ল্যাঙ্গুয়েজের অনেক উপকারী ফিচার একসাথে একটি টাইট, ইজি-টু-ইউজ টুলে কম্বাইন করে।
Scala জাভা-ভিত্তিক এবং কম্পাইল্ড কোড JVM ইকোসিস্টেমে রান করে, যা এটিকে আউট অফ দ্য গেট পটেন্ট এবং ফ্লেক্সিবল করে তোলে, কারণ এটি যেকোনো প্ল্যাটফর্মে রান করতে পারে। ডেটা সাইন্সের জন্য Scala দরকার একটু একস্ট্রা ন্যাক অফ অ্যাবস্ট্রাকশন এবং থিংকিং। Scala-এর স্কেলেবিলিটি এবং নাম্বার ক্রাঞ্চিং ফিচার এটিকে ডেটা সাইন্সের সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে একটি করে দিয়েছে।
৪. হাইভ কিউএল (Hive QL) –

Apache Hive হলো Hadoop-এর ওপর তৈরি একটি ডেটা ওয়্যারহাউস ইনফ্রাস্ট্রাকচার ডেটা সামারি, কুয়েরি এবং অ্যানালিসিস প্রদানের জন্য। Hive QL হলো Hive কুয়েরি ল্যাঙ্গুয়েজ যেটির SQL-লাইক ইন্টারফেস রয়েছে হাডুপের সাথে ইন্টিগ্রেট হওয়া বিভিন্ন ডাটাবেস এবং ফাইল সিস্টেমে স্টোর করা ডেটা কুয়েরি করার জন্য। Hive রো-লেভেল ইনসার্ট, আপডেট এবং ডিলিট সাপোর্ট করে না।
Hive QL ডিজাইন করা হয়েছে Apache Hadoop বা অন্যান্য ডিস্ট্রিবিউটেড স্টোরেজ প্ল্যাটফর্ম যেমন Amazon-এর S3 ফাইল সিস্টেমের ওপর কাজ করার জন্য। Hive-এর ডাটাবেস কনসেপ্ট মূলত শুধু টেবিলের একটি ক্যাটালগ বা নেমস্পেস। Hive দিয়ে আমরা SQL-এর নেসেসারি অ্যাবস্ট্রাকশন পাই Hive QL কুয়েরি জাভা API-তে ইমপ্লিমেন্ট করতে হয় না লো-লেভেল জাভা API-তে কুয়েরি ইমপ্লিমেন্ট করে।
৫. জুলিয়া (Julia) –

জুলিয়া ডেটা ল্যাঙ্গুয়েজের মধ্যে তুলনামূলকভাবে নতুন। যেসব ল্যাঙ্গুয়েজ সবচেয়ে বেশি অপ্ট করা হয় সেগুলো হলো R, পাইথন এবং জাভা। কিন্তু এখনও গ্যাপ রয়েছে যেগুলো দেখতে হবে। জুলিয়া কয়েক বছর ধরে জানা হলেও নিজেকে ভালো চয়েস হিসেবে প্রমাণ করছে। জুলিয়া একটি হাই-লেভেল, অবিশ্বাস্যভাবে দ্রুত এবং এক্সপ্রেসিভ ল্যাঙ্গুয়েজ।
জুলিয়া বigste ডেটার রিয়েল-টাইম স্ট্রিম নিয়ে কাজ করার জন্য সবচেয়ে উপযোগী কারণ এর ফিচার ল্যাঙ্গুয়েজের কোরের ওপর বিল্ট। জুলিয়ার এক্সটেনশন এবং লাইব্রেরির ইকোসিস্টেম প্রতিষ্ঠিত ল্যাঙ্গুয়েজের চেয়ে একসাথে পারিপক্ক বা ডেভেলপড নয়, কিন্তু সবচেয়ে জনপ্রিয় ফাংশনগুলো উপলব্ধ, এবং আরও ritmo দিয়ে যোগ হচ্ছে।
৬. পিগ ল্যাটিন (Pig Latin) –

Pig Latin ডেটা সাইন্সের সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে একটি যা হাডুপের সাথে অরিয়েন্টেড এবং ওপেন সোর্স সিস্টেমও। এটি Apache Pig প্ল্যাটফর্মের ল্যাঙ্গুয়েজ লেয়ার গঠন করে, যা বড়, ডিস্ট্রিবিউটেড ডেটাসেটে সর্ট এবং ম্যাথমেটিক্যাল ফাংশন অ্যাপ্লাই করে।
Pig তার হাডুপ জব MapReduce, Apache Tez, বা Apache Spark-এ এক্সিকিউট করতে পারে।
এটিকে ইউজার ডিফাইনড ফাংশন ব্যবহার করে এক্সটেন্ড করা যায় যেগুলো যেকোনো সাপোর্টেড ল্যাঙ্গুয়েজে লিখা যেতে পারে যেমন জাভা, পাইথন, জাভাস্ক্রিপ্ট, রুবি বা গ্রুভি। এই ফাংশন কল সরাসরি Pig Latin ল্যাঙ্গুয়েজের কোড থেকে করা যায়।
৭. GO –

Go, ২০০৭ সালে গুগল দ্বারা ডেভেলপড একটি ফ্রি এবং ওপেন সোর্স প্রোগ্রামিং ল্যাঙ্গুয়েজ। ডেটা সাইন্সের বিশ্বে নতুন কামার হলেও এটা তার সিম্পলিসিটির কারণে জনপ্রিয়তা পাচ্ছে। প্রথমে Go স্ট্যাটিস্টিক্যাল কম্পিউটেশনের জন্য ডেভেলপড হয়নি কিন্তু এর স্পীড এবং ফ্যামিলিয়ারিটির কারণে এটা জaldi মেইনস্ট্রিম প্রেজেন্স পেয়েছে।
Go-এর সিনট্যাক্স C-ভিত্তিক, যা এর অ্যাডপশনে বড় সাহায্য করেছে। Go অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজে লেখা রুটিন প্রোগ্রামও কল করতে পারে যেমন পাইথন যেসব ফাংশনালিটি Go-তে accommodate করা নেই সেগুলো অর্জন করতে।
উপরের লিস্ট আপনাকে বলে দিচ্ছে সেরা ১৫টি ডেটা ল্যাঙ্গুয়েজ সম্পর্কে যেগুলো আপনি আপনার বিগ ডেটা অর্গানাইজেশনের জন্য চয়েস করতে পারেন।
এটি দিয়ে আমরা ফাংশনাল লেয়ার আর্কিটেকচারের শেষে আসেছি, কিন্তু বিগ ডেটার শেষে নয়। প্রতিদিন বিগ ডেটা সম্পর্কে একটি নতুন মistry উন্মোচিত হয়। সব টুল জানার পরেও বিগ ডেটা সম্পর্কে জানা, বুঝা, অ্যানালাইজ করা, শেখা এবং অর্জন করা বাকি আছে অনেক কিছু।