ڈیٹا پروگرامنگ لینگویج

August 18, 2019

کمپیوٹر پروگرامنگ کی زبان کا اپنا منفرد اسٹرکچر (Structure)، فارمیٹ(Format) اور فلو (Flow)ہوتاہے، جبکہ عام بولی جانے والی زبان اپنے جغرافیائی لحاظ سے پنپتی اور پھلتی پھولتی ہے۔ پروگرامنگ لینگویج ، کوڈنگ کرنے والوںکی ترجیحات ، آئی ٹی کلچر اور کاروباری مقاصد کیلئے وجود میںآتی ہے۔

جب بات ہوتی ہے ڈیٹا سائنس کی تو اس کیلئے چار پروگرامنگ لینگویجز ہیں، جنہیں سب سےزیا دہ اہمیت دی جاتی ہے۔ آئیں جانتے ہیںکہ ڈیٹا انالیسس ایکسپرٹس چاروں لینگویجز کو ان کے کردار کے حوالے سے کیسے بیان کرتے ہیں۔

پائتھون (Python)

ایک تخمینہ کے مطابق آج تقریباً50لاکھ یوزر اس لینگویج کو استعمال کر رہے ہیں۔ پائتھون کی مقبولیت اس وقت بڑھی جب پتہ چلا کہ اینٹری لیول پر سیکھنے والوں نے اسے پہلی ترجیحی زبا ن کےلحاظ سے سیکھنا شروع کردیا۔ یہ اتنی طاقتورمشین لینگویج ہے کہ ناسا بھی اپنے خلائی ایکوپمنٹ کیلئے اسے استعمال کرتی ہے۔ لیکن اس وقت پائتھون کا کیا ہوگا جب اس کی ضرورت بگ ڈیٹا (Big Data) میںپڑے گی ؟ اس بارے میںماہرین کہتے ہیں، ’’ پائتھون ایک بہت سادہ اور سیکھنے میںآسان لینگیویج ہے ، لیکن وقت سے تھوڑی پیچھے ہے، یعنی جو فیچرز جاوا میں آرہے ہیں، وہ پائتھون کے اپ ڈیٹ شدہ ورژن میں دکھائی نہیں دیتے۔ حالیہ برسوںمیں، پائتھون نے مصنوعی ذہانت ، مشین لرننگ اور ڈیٹا سائنس کی دنیا میںبھی قدم رکھ دیا ہے۔ پائتھون مشین لرننگ اور ڈیٹا انالیسس یا کسی بھی ایسی سرگرمی جس میںساکن (Static) گرافکس، ریاضی کے حساب کتاب، آٹومیشن، ملٹی میڈیا، ڈیٹا بیس اور ٹیکسٹ امیج پروسیسنگ شامل ہو ،کیلئے زبردست مطابقت رکھتی ہے۔

آر (R)

آربھی پائتھون کی طرح ایک اوپن سورس لینگویج ہے، تاہم ا س کا اطلاق زیادہ ترشماریاتی لحاظ سے ہوتاہے بالخصوس اس وقت جب بات تجزیے سے زیاد ہ ڈیٹا ویژولائزیشن اور ماڈلنگ کی ہو۔ اس لینگویج کے بار ے میںماہرین کی رائے یہ ہے ، ’’ آر ایک طاقتور لینگویج ہے لیکن اسے عام مقاصد کیلئے استعمال نہیںکیا جاسکتاہے۔ اگر چہ آپ اس لینگویج سے بڑے بڑے کام کرسکتے ہیں لیکن اسے استعمال کرنے سے پہلے شاید آپ کو اسے پائتھون یا جاوا میںٹرانسلیٹ کرنا پڑے‘‘۔ ایک اور ماہر کا کہناہے، ’’ ڈیٹا سائنٹسٹس کی جانب سے ڈیٹا کا تجزیہ کرنے کیلئے یہ ایک بہترین اور ورسٹائل لینگویج ہے۔ یہ مضبوط object-oriented پروگرامنگ، کمپیوٹر کی زبان میں آسان لینگویج آفر کرتی ہے۔ شماریات میں کی جانے والی پلاٹنگ ، گرافس اور دیگر ریاضی کی علامات اس میںآسانی سے بن جاتی ہیں۔

جاوا (Java)

جاوا، کمپیوٹر کی اہم لینگویج میںسے ایک ہے۔ یہ ورسٹائل ہونے کے علاوہ ڈیٹا سائنس کو بہت ساری تکنیکس سے جوڑے رکھنے کی خصوصیت کی وجہ سے اپنا ثانی نہیںرکھتی۔ اس کےعلاوہ بِگ ڈیٹا ایپلی کیشنز کی اسٹورنگ اور پروسیسنگ کیلئے مشہور Hadoop HDFSنامی اوپن سورس فریم ورک بھی پورا جاوا میں لکھا گیاہے۔ مزید برآں، جاوا وسیع پیمانے پر مختلف اقسا م کی ETL ایپلی کیشنز جیسے کہ اپاچی کیمل، ایپٹراور اپاچی کافکا کی تیاری میںاستعمال ہوتی ہے، جوبِگ ڈیٹا انوائرنمنٹ میں ڈیٹا کی ایکسٹریکشن، ٹرانسفارمیشن اور لوڈنگ کو چلانے کے کام آتی ہیں۔ اس لینگویج کے بارےمیںماہرین کا کہناہے، ’’ جاوا شاید بگ ڈیٹا کیلئے سیکھنے کی یا بہت ساری وجوہات کیلئے بہترین لینگویج ہے، یہ ثابت شدہ اور سب سے زیادہ تشخیص شدہ زبا ن ہے اورتقریباًہر سسٹم کو سپورٹ کرتی ہے۔ پورٹیبل ہونے کی وجہ اس میںسرمایہ کاری کرنا ڈیویلپرز کیلئے فائدے کو سودا ہے۔ جاوا ایک بِگ ڈیٹا پروگرامنگ لینگویج ہے، جو بِگ ڈیٹا ٹیکنالوجیز جیسے کہ اپاچی ہیڈوپ، اپاچی ہائیو، اپاچی ایچ بیس ، اپاچی کیسنڈرا اور دیگر ٹیکنالوجیز کیلئے بہترین ہے۔ جاوا 20سال پرانی زبان ہے اور یہ اگلے 20 سال تک بھی بڑی اور مقبول زبان رہے گی ، اسی لئے ہمیں20سال آگے کا سوچنا ہوگا‘‘۔

اسکالا (Scala)

یہ ہائی لیول اوپن سورس پروگرامنگ لینگویج ہے، جو جاوا ورچوئل مشین ایکوسسٹم کا ایک حصہ ہے۔ اسکالا ، اسکیلیبلیٹی (Scalabilty)کی مختصر شکل ہے ، جس کا مطلب ہے سائز یا اسکیل کو کم یا زیادہ کرنے کی گنجائش رکھنا اور جب بِگ ڈیٹا کی بات ہوتو یہ خاصیت بہت کام آتی ہے۔ اس بارے میں ماہرین کی رائے کچھ یوںہے۔

’’ اسکالا مالیاتی صنعت میں بہت زیادہ مقبول و مشہورہےاو ر جاوا کے مقابلے میں اسکالامیں کم کوڈنگ کے ذریعے بڑے کام کیے جاسکتے ہیں، تاہم اسکالا کو آسانی سے پھیلایا جاسکتاہے اسی لیے یہ جاوا کے مقابلے میں سست ہے۔ اس کے علاوہ یہ ٹیسٹ شدہ یا ورسٹائل نہیںہے‘‘۔

اگر ہم SQL، پائتھون اور آرلینگویج کو ایک طرف رکھ دیں تو جاوا اور اسکالا جیسی زبایں بِگ ڈیٹا کے تجزیہ کیلئے آئیڈیل نہیںہیں کیونکہ یہ ’خالص‘ پروگرامنگ لینگویجز ہیں ،جس میں اپنی مرضی مسلط نہیںکی جاسکتی ۔ پائتھون سے موازنہ کیا جائے تو یہاں کچھ ڈیٹا انالیسس لائبریریز بھی موجود ہیں۔