গত ব্লগে বিগ ডেটার ওপর আলোচনা करते সময় আমরা ডেটা ইন্টিগ্রেশন টুলস এবং ফাংশনাল আর্কিটেকচারের আট ভেরের ওপর কথা বলেছিলাম। এই ব্লগে আমি ডেটা ল্যাঙ্গুয়েজের তালিকা দিচ্ছি যা ফাংশনাল লেয়ার আর্কিটেকচারের নবম লেয়ার তৈরি করে।
ডেটা ল্যাঙ্গুয়েজের তালিকা
১. জাভা (Java)

জাভার অটুট জনপ্রিয়তা cukup বলে দেয় যে এটি ডেটা সায়েন্সের জন্য সেরা প্রোগ্রামিং ভাষা। JVM ইকোসিস্টেমের সব প্ল্যাটফর্ম যেমন MapReduce, HDFS, Storm, Kafka, Spark এবং Apache Beam জাভার সাথে কম্প্যাটিবল। জাভা আপনাকে মনগো কালেকশন, ডিবাগিং টুলস, মনিটরিং টুলস, লাইব্রেরি এবং প্রোফাইলার্স দিয়ে কাজ করার সুযোগ দেয়, তাই এটি ডেটা সায়েন্সের জন্য সবচেয়ে বেশি টেস্টেড, রিভাইজড এবং প্রমাণিত ভাষা।
জাভার সবচেয়ে বড় সুবিধা হলো এটি প্ল্যাটফর্ম-স্বতন্ত্র এবং একবার কম্পাইল হলে যেকোনো প্ল্যাটফর্মে রান করা যায়। তাই ভাষা-নির্দিষ্ট কম্পাইলারের প্রয়োজন নেই।
সবচেয়ে বড় সমস্যা হলো এটি অত্যন্ত বর্বর (verbose) এবং ইটারেটিভ ডেভেলপমেন্টের জন্য কোনো REPL নেই।
২. আর (R)

R প্রোগ্রামিং ভাষা ডেটা সায়েন্টিস্ট এবং অ্যানালিস্টদের জন্য শীর্ষ ২ প্রোগ্রামিং ভাষার মধ্যে একটি। অন্যান্য ভাষা থেকে R ভিন্ন কারণ এটি মূলত পরিসংখ্যানগত কম্পিউটিং এবং গ্রাফিক্সের জন্য সমর্পিত একটি ভাষা। তাই এটি অন্য কোনো ভাষার বিকল্প নয়। R-এর সহজ এবং স্পষ্ট আকর্ষণ রয়েছে। সারি ও কলামের ডেটা নিরবচ্ছিন্ন পরিবর্তন বা বৃদ্ধি পেলেও R ব্যবহার করে অসংখ্য ক্যালকুলেশন অটোমেট করা যায়।
গুগল, ফেসবুক, টুইটার এবং অন্যান্য সার্ভিসের পেছনের অ্যালগরিদম তৈরি করতে R ব্যবহার করা হয়েছিল। এটি লিনাক্স, উইন্ডোজ এবং macOS-এ রান করতে পারে।
৩. এসকিউএল (SQL)

SQL মানে স্ট্রাকচারড কোয়েরি ল্যাঙ্গুয়েজ, যা দশক ধরে ডেটা স্টোর এবং রিট্রিভের কেন্দ্রে রয়েছে। ডেটা অ্যানালিস্টদের মধ্যে এটি অতি জনপ্রিয় টুল। SQL-এ করা যাওয়া কিছু কাজ:
- ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে
- বিরাট ডেটার সমুদ্র থেকে প্রাসঙ্গিক তথ্য ফিল্টার করতে ব্যবহৃত হয়
- সম্পূর্ণ ডেটাবেস টেবিল প্রসেস না করে শুধু প্রাসঙ্গিক অংশ বের করে প্রসেস করলে অনলাইন রিকোয়েস্ট এবং কোয়েরির টার্নআরাউন্ড টাইম কমে
- রিলেশনাল ডেটাবেস পরিচালনা এবং ডেটার ওপর বিভিন্ন অপারেশন করার জন্য মানकीকৃত প্রোগ্রামিং ভাষা
আরও পড়ুন: সেরা ১৯টি ফ্রি ডেটা মাইনিং টুলস
৪. হ্যাডুপ (Hadoop)

হ্যাডুপ ডেটা সায়েন্সের জন্য সেরা ওপেন সোর্স প্রোগ্রামিং ভাষাগুলোর একটি। এতে জাভা-ভিত্তিক প্রোগ্রামিং ফ্রেমওয়ার্ক রয়েছে যা ডিস্ট্রিবিউটেড কম্পিউটিং এনভায়রনমেন্টে অত্যন্ত বড় ডেটাসেট প্রসেস এবং স্টোরেজ সাপোর্ট করে। হ্যাডুপ সম্পর্কে পড়লে নিশ্চিতভাবেই একটু হাতির ছবি দেখা যাবে। আর যদি সেই ছবি দেখা যায়, তবে নিশ্চিত হইবেন যে আপনি হ্যাডুপ সম্পর্কে পড়ছেন।
হ্যাডুপ আপনার বিগ ডেটা অ্যাপ্লিকেশন এনভায়রনমেন্টে রোবাস্ট হওয়া 있도록 ডিজাইন করা হয়েছে এবং এটি ইনডিভিজুয়াল সার্ভার বা ক্লাস্টার ফেইল করলেও কাজ চালিয়ে যায়। এটি সিঙ্গেল সার্ভার থেকে হাজার হাজার মেশিনে স্কেল আপ করার জন্য ডিজাইন করা হয়েছে, প্রতিটিই লোকাল কম্পিউটেশন এবং স্টোরেজ অফার করে।
যদিও হ্যাডুপ কিছু অন্যান্য প্রসেসিং টুল চেয়ে ধীর, কিন্তু এর ফলাফল খুব সঠিক বলে প্রমাণিত, তাই ব্যাকএন্ড অ্যানালিসিসের জন্য এটি সেরা অপশন।
৫. জাভাস্ক্রিপ্ট (JavaScript)

জাভাস্ক্রিপ্ট একটি জনপ্রিয়, শক্তিশালী, ডাইনামিক এবং সবচেয়ে ব্যাপক স্ক্রিপ্টিং ও প্রোগ্রামিং ভাষা যা কুল ওয়েবসাইট এবং ওয়েব গেম তৈরি করতে ব্যবহৃত হয়। ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশন নিয়ে আমরা এখনও বিভ্রান্ত। এর সিন্ট্যাক্সের অধিকাংশ C ভাষা থেকে এসেছে। জাভাস্ক্রিপ্টের সবচেয়ে বড় সুবিধা হলো এটি সকল ব্রাউজারের সাথে কম্প্যাটিবল এবং ৯০% से বেশি ওয়েব পেজে ব্যবহৃত হয়।
জাভা ভাষার সাথে সম্পূর্ণ অসম্পর্ক থাকলেও, এটি ডেভেলপারদের ক্লায়েন্ট-সাইড স্ক্রিপ্ট এক্সিকিউট করতে, ইউজারের সাথে রিয়েল-টাইমে ইন্টারঅ্যাক্ট করতে, ব্রাউজার কন্ট্রোল করতে এবং সার্ভারের সাথে অ্যাসিনক্রোনাসভাবে কমিউনিকেট করতে দেয়।
৬. এসএএস (SAS)

SAS মানে Statistical Analysis System, যা ডেটা সায়েন্সের জন্য সেরা প্রোগ্রামিং ভাষাগুলোর নেতা। এটি কমার্শিয়াল অ্যানালিটিক্স স্পেসে সবচেয়ে বেশি শেয়ার ধারণ করে প্রাইভেট সংস্থাগুলোর মধ্যে সেরা। SAS ১৯৬০ দশক থেকে স্ট্যাটিস্টিক্যাল মডেলিংয়ে ব্যবহৃত হচ্ছে এবং আজও অপডেট ও রিফাইনমেন্টের পর দাঁড়িয়ে আছে। এর জনপ্রিয়তার মুখ্য কারণ হলো এর ব্যাপক পরিসংখ্যান ফাংশন এবং ইউজার-ফ্রেন্ডলি GUI যা খুব কম সময়ে শেখা যায়। SAS-এ ডেটাবেস এবং ফ্ল্যাট, আনফরম্যাটেড ফাইল অ্যাক্সেস, ডেটা ম্যানিপুলেশন এবং ওয়েব পেজে পাবলিকেশনের জন্য গ্রাফিক্যাল আউটপুট প্রোডিউস করার বিভিন্ন কম্পোনেন্ট রয়েছে।
৭. এসপিএসএস (SPSS)

SPSS Statistics হলো একটি সফ্টওয়্যার প্যাকেজ যা লজিক্যাল ব্যাচড এবং নন-ব্যাচড স্ট্যাটিস্টিক্যাল অ্যানালিসিসের জন্য ব্যবহৃত হয়। SPSS একটি উইন্ডোজ-ভিত্তিক প্রোগ্রাম যা ডেটা এন্ট্রি ও অ্যানালিসিস করতে এবং টেবিল ও গ্রাফ তৈরি করতে ব্যবহার করা হয়। এটি বড় পরিমাণ ডেটা হ্যান্ডেল করতে পারে এবং টেক্সটে বর্ণিত সমস্ত অ্যানালিসিস ও তার বাইরে আরও অনেক কিছু করতে পারে।
IBM SPSS দশক ধরে ব্যবহার হচ্ছে এবং তখন থেকেই স্ট্যাটিস্টিশিয়ান এবং ডেটা সায়েন্টিস্টদের জন্য শক্তিশালী টুল সরবরাহ করছে। বছরের পর বছর SPSS প্ল্যাটফর্ম ডেটা মাইনিং প্রসেসের সকল ফেজ সাপোর্ট করতে এভোল্যুশন করেছে, যার মধ্যে নিচের موارد রয়েছে:
- মডেল ডেভেলপমেন্ট
- মডেল ডিপ্লอยমেন্ট
- মডেল রিফ্রেশ
ডেটা সায়েন্সের জন্য সেরা প্রোগ্রামিং ভাষার আমার তালিকা এখনও পুরো হয়নি। বাকি অংশ পরবর্তী ব্লগে চালু থাকবে। তখন পর্যন্ত কমেন্টে আপনার প্রিয় ডেটা সায়েন্স প্রোগ্রামিং ভাষা জানাতে পারেন।