جاوا اور "ہیکر" پروگرامنگ زبانوں پر پال گراہم (2001)

جاوا اور "ہیکر" پروگرامنگ زبانوں پر پال گراہم (2001)

یہ مضمون جاوا تعصب کے بارے میں متعدد ڈویلپرز کے ساتھ ہونے والی گفتگو سے پروان چڑھا ہے۔ یہ جاوا پر تنقید نہیں ہے، بلکہ "ہیکر ریڈار" کی واضح مثال ہے۔

وقت گزرنے کے ساتھ، ہیکرز اچھی یا بری ٹیکنالوجی کے لیے ناک تیار کرتے ہیں۔ میں نے سوچا کہ جاوا کو قابل اعتراض ہونے کی وجوہات کو بیان کرنے کی کوشش کرنا دلچسپ ہوگا۔

اسے پڑھنے والے کچھ لوگوں نے اسے ایک ایسی چیز کے بارے میں لکھنے کی قابل ذکر کوشش قرار دیا جس کے بارے میں پہلے کبھی نہیں لکھا گیا تھا۔ دوسروں نے خبردار کیا کہ میں ان چیزوں کے بارے میں لکھ رہا ہوں جن کے بارے میں میں کچھ نہیں جانتا ہوں۔ تو صرف اس صورت میں، میں واضح کرنا چاہوں گا کہ میں جاوا کے بارے میں نہیں لکھ رہا ہوں (جس کے ساتھ میں نے کبھی کام نہیں کیا)، بلکہ "ہیکر ریڈار" کے بارے میں (جس کے بارے میں میں نے بہت سوچا ہے)۔

"کتاب کو اس کے سرورق کے حساب سے فیصلہ نہ کریں" کا اظہار اس وقت سے شروع ہوا جب کتابیں خالی گتے کے احاطہ میں فروخت کی جاتی تھیں کہ خریدار اپنی پسند کا پابند ہوتا تھا۔ ان دنوں آپ کسی کتاب کو اس کے سرورق سے نہیں بتا سکتے تھے۔ تاہم، تب سے، اشاعتی صنعت نے بہت ترقی کی ہے، اور جدید پبلشرز اس بات کو یقینی بنانے کے لیے کافی حد تک جاتے ہیں کہ سرورق بہت کچھ کہتا ہے۔

میں نے بک اسٹورز میں کافی وقت گزارا ہے، اور مجھے لگتا ہے کہ میں نے ہر وہ چیز سمجھنا سیکھ لیا ہے جو ناشرین مجھے بتانا چاہتے ہیں، اور شاید کچھ اور بھی۔ میں نے کتابوں کی دکانوں سے باہر گزارا زیادہ تر وقت کمپیوٹر اسکرینوں کے سامنے گزارا، اور مجھے لگتا ہے کہ میں نے کسی حد تک ٹیکنالوجی کو اس کے سرورق سے پرکھنا سیکھا ہے۔ یہ اندھی قسمت ہو سکتی ہے، لیکن میں نے کچھ ایسی ٹیکنالوجیز سے بچنے کا انتظام کیا ہے جو واقعی خراب نکلیں۔

ان میں سے ایک ٹیکنالوجی میرے لیے جاوا ثابت ہوئی۔ میں نے جاوا میں ایک بھی پروگرام نہیں لکھا ہے، اور میں نے صرف دستاویزات کو سکیم کیا ہے، لیکن مجھے یہ احساس ہے کہ یہ ایک بہت کامیاب زبان بننا مقدر نہیں ہے۔ میں غلط ہو سکتا ہوں — ٹیکنالوجی کے بارے میں پیشین گوئیاں کرنا ایک خطرناک کاروبار ہے۔ اور پھر بھی، اس دور کا ایک عہد نامہ، یہ ہے کہ مجھے جاوا کیوں پسند نہیں:

  1. ضرورت سے زیادہ جوش۔ ان معیارات کو نافذ کرنے کی ضرورت نہیں ہے۔ کسی نے سی، یونکس یا ایچ ٹی ایم ایل کو فروغ دینے کی کوشش نہیں کی۔ زیادہ تر لوگ ان کے بارے میں سننے سے پہلے ہی حقیقی معیارات طے کر لیے جاتے ہیں۔ ہیکر کے ریڈار پر، پرل صرف اپنی خوبیوں کی وجہ سے جاوا سے کم نظر نہیں آتا۔
  2. جاوا کا مقصد اونچا نہیں ہے۔ جاوا کی اصل تفصیل میں، گوسلنگ نے واضح طور پر کہا ہے کہ جاوا کو سی کے عادی پروگرامرز کے لیے آسان بنانے کے لیے ڈیزائن کیا گیا تھا۔ اسے ایک اور C++:C بننے کے لیے ڈیزائن کیا گیا تھا جس میں کچھ آئیڈیاز زیادہ جدید زبانوں سے لیے گئے تھے۔ سیٹ کام، فاسٹ فوڈ، یا ٹریول ٹورز کے تخلیق کاروں کی طرح، جاوا کے تخلیق کاروں نے شعوری طور پر ان لوگوں کے لیے ایک پروڈکٹ ڈیزائن کیا جو خود اتنے ہوشیار نہیں تھے۔ تاریخی طور پر، دوسرے لوگوں کے استعمال کے لیے بنائی گئی زبانیں ناکام ہو چکی ہیں: کوبول، پی ایل/1، پاسکل، اڈا، سی++۔ تاہم، کامیاب وہ تھے جنہیں تخلیق کاروں نے اپنے لیے تیار کیا تھا: C، Perl، Smalltalk، Lisp۔
  3. پوشیدہ مقاصد۔ کسی نے ایک بار کہا تھا کہ دنیا ایک بہتر جگہ ہو گی اگر لوگ صرف اس وقت کتابیں لکھیں جب ان کے پاس کچھ کہنا ہو، بجائے اس کے کہ جب وہ کتاب لکھنا چاہیں۔ اسی طرح، ہم جاوا کے بارے میں سنتے رہنے کی وجہ یہ نہیں ہے کہ وہ ہمیں پروگرامنگ زبانوں کے بارے میں کچھ بتانے کی کوشش کر رہے ہیں۔ ہم جاوا کے بارے میں سنتے ہیں کہ سن کے مائیکرو سافٹ سے مقابلہ کرنے کے منصوبے کے حصے کے طور پر۔
  4. کوئی بھی اس سے پیار نہیں کرتا۔ C، Perl، Python، Smalltalk یا Lisp پروگرامرز اپنی زبانوں سے پیار کرتے ہیں۔ میں نے کبھی کسی کو جاوا سے اپنی محبت کا اعلان کرتے نہیں سنا۔
  5. لوگ اسے استعمال کرنے پر مجبور ہیں۔ میں جانتا ہوں کہ بہت سے لوگ جو جاوا استعمال کرتے ہیں وہ ضرورت سے ایسا کرتے ہیں۔ وہ سوچتے ہیں کہ اس سے انہیں فنڈنگ ​​ملے گی، یا وہ سمجھتے ہیں کہ یہ صارفین کو اپیل کرے گا، یا یہ انتظامیہ کا فیصلہ ہے۔ یہ ہوشیار لوگ ہیں؛ اگر ٹیکنالوجی اچھی ہوتی تو وہ اسے رضاکارانہ طور پر استعمال کرتے۔
  6. یہ بہت سے باورچیوں کی ڈش ہے۔ بہترین پروگرامنگ زبانیں چھوٹی ٹیموں کے ذریعہ تیار کی گئیں۔ جاوا کمیٹی کے ذریعہ چلایا جاتا ہے۔ اگر یہ کامیاب زبان نکلی تو یہ تاریخ میں پہلی بار ہو گا کہ کسی کمیٹی نے ایسی زبان بنائی ہو۔
  7. وہ بیوروکریٹک ہے۔ جاوا کے بارے میں جو کچھ میں جانتا ہوں اس سے ایسا لگتا ہے کہ کچھ بھی کرنے کے لیے بہت سے پروٹوکول موجود ہیں۔ واقعی اچھی زبانیں ایسی نہیں ہوتیں۔ وہ آپ کو جو چاہیں کرنے دیتے ہیں اور آپ کے راستے میں کھڑے نہیں ہوتے ہیں۔
  8. مصنوعی ہائپ۔ اب سن یہ دکھاوا کرنے کی کوشش کر رہا ہے کہ جاوا کمیونٹی سے چلنے والا ہے، کہ یہ پرل یا ازگر کی طرح ایک اوپن سورس پروجیکٹ ہے۔ اور پھر بھی، ترقی ایک بہت بڑی کمپنی کے زیر کنٹرول ہے۔ لہٰذا زبان کا خطرہ ویسا ہی پھیکا ہو جائے گا جیسا کہ ایک بڑی کمپنی کی آنتوں سے نکلنے والی ہر چیز۔
  9. یہ بڑی تنظیموں کے لیے بنایا گیا ہے۔ بڑی کمپنیوں کے ہیکرز کے ساتھ مختلف مقاصد ہوتے ہیں۔ کمپنیوں کو ایسی زبانوں کی ضرورت ہوتی ہے جو معمولی پروگرامرز کی بڑی ٹیموں کے لیے موزوں ہونے کی شہرت رکھتی ہوں۔ U-Haul ٹرکوں پر رفتار محدود کرنے جیسی خصوصیات والی زبانیں، بے وقوفوں کو بہت زیادہ نقصان پہنچانے سے خبردار کرتی ہیں۔ ہیکرز کو وہ زبانیں پسند نہیں ہیں جو ان سے بات کرتی ہوں۔ ہیکرز کو طاقت کی ضرورت ہے۔ تاریخی طور پر، بڑی تنظیموں (PL/1، Ada) کے لیے بنائی گئی زبانیں ہار گئی ہیں، جب کہ ہیکرز (C، Perl) کی تخلیق کردہ زبانیں جیت گئی ہیں۔ وجہ: آج کا نوجوان ہیکر کل کا CTO ہے۔
  10. غلط لوگ اسے پسند کرتے ہیں۔ پروگرامرز جن کی میں سب سے زیادہ تعریف کرتا ہوں وہ عام طور پر جاوا کے بارے میں پاگل نہیں ہوتے ہیں۔ کون اسے پسند کرتا ہے؟ سوٹ، وہ لوگ جو زبانوں کے درمیان فرق نہیں دیکھتے، لیکن پریس میں جاوا کے بارے میں مسلسل سنتے رہتے ہیں۔ بڑی کمپنیوں میں پروگرامرز، C++ سے بھی بہتر چیز تلاش کرنے کے جنون میں؛ ہر قسم کے پری گریڈ طلباء جو کسی بھی چیز کو پسند کریں گے جس سے انہیں نوکری ملے گی (یا امتحان میں ختم ہو جائے گا)۔ ان لوگوں کی رائے ہوا کے رخ کے ساتھ بدل جاتی ہے۔
  11. اس کے والدین مشکل وقت سے گزر رہے ہیں۔ سورج کا کاروباری ماڈل دو محاذوں پر حملے کی زد میں ہے۔ ڈیسک ٹاپ کمپیوٹرز میں استعمال ہونے والے سستے انٹیل پروسیسرز سرورز کے لیے کافی تیز ہو گئے ہیں۔ اور ایسا لگتا ہے کہ FreeBSD اتنا ہی اچھا سرور OS بنتا جا رہا ہے جتنا سولاریس۔ سن کی تشہیر کا مطلب ہے کہ آپ کو پروڈکشن گریڈ ایپلی کیشنز کے لیے سن سرورز کی ضرورت ہوگی۔ اگر یہ سچ ہوتا تو یاہو سن کو خریدنے کے لیے سب سے پہلے نمبر پر ہوتا۔ لیکن جب میں نے وہاں کام کیا تو انہوں نے انٹیل اور فری بی ایس ڈی سرورز کا استعمال کیا۔ یہ سورج کے مستقبل کے لیے اچھا اشارہ ہے۔ اور اگر سورج غروب ہو جائے تو جاوا بھی مشکل میں پڑ سکتا ہے۔
  12. وزارت دفاع سے محبت۔ محکمہ دفاع ڈویلپرز کو جاوا استعمال کرنے کی ترغیب دیتا ہے۔ اور یہ سب کی بدترین علامت لگتی ہے۔ محکمہ دفاع ملک کی حفاظت کے لیے ایک بہترین (اگر مہنگا) کام کرتا ہے، وہ منصوبے، طریقہ کار اور پروٹوکول کو پسند کرتے ہیں۔ ان کا کلچر ہیکر کلچر کے بالکل برعکس ہے۔ جب سافٹ ویئر کی بات آتی ہے، تو وہ غلط شرط لگاتے ہیں۔ آخری پروگرامنگ زبان جس سے محکمہ دفاع کو پیار ہو گیا وہ ایڈا تھی۔

براہ کرم نوٹ کریں، یہ جاوا پر تنقید نہیں ہے، بلکہ اس کے سرورق پر تنقید ہے۔ میں جاوا کو اچھی طرح سے نہیں جانتا ہوں کہ میں اسے پسند کروں یا ناپسند کروں۔ میں صرف یہ بتانے کی کوشش کر رہا ہوں کہ مجھے جاوا سیکھنے میں دلچسپی کیوں نہیں ہے۔

کسی زبان کو اس میں پروگرام کرنے کی کوشش کیے بغیر اسے مسترد کرنے میں جلد بازی لگ سکتی ہے۔ لیکن یہ وہی ہے جس سے تمام پروگرامرز کو نمٹنا پڑتا ہے۔ ان سب کو دریافت کرنے کے لیے بہت ساری ٹیکنالوجیز ہیں۔ آپ کو بیرونی علامات سے فیصلہ کرنا سیکھنا ہوگا کہ آیا یہ آپ کے وقت کے قابل ہوگا۔ یکساں جلد بازی کے ساتھ، میں نے کوبول، Ada، Visual Basic، IBM AS400، VRML، ISO 9000، SET Protocol، VMS، Novell Netware، اور CORBA کو چھوڑ دیا۔ انہوں نے صرف مجھ سے اپیل نہیں کی۔

شاید میں جاوا کے معاملے میں غلط ہوں۔ ہو سکتا ہے کہ ایک بڑی کمپنی کی طرف سے دوسری کمپنی کے ساتھ مقابلہ کرنے کے لیے پروموٹ کی گئی زبان، جو عوام کے لیے کمیٹی کے ذریعے تیار کی گئی ہو، بہت زیادہ تشہیر کے ساتھ، اور محکمہ دفاع کی طرف سے پسند کی گئی ہو، اس کے باوجود ایک صاف ستھری، خوبصورت اور طاقتور زبان ثابت ہو گی جسے میں خوشی سے دیکھوں گا۔ پروگرام میں شاید. لیکن یہ بہت مشکوک ہے۔

ترجمہ کے لئے شکریہ: ڈینس Mitropolsky

PS

ماخذ: www.habr.com

نیا تبصرہ شامل کریں