java سیکھنے کے متعلق کچھ معلومات درکار ہیں؟

رانا

محفلین
میرا اراداہ جاوا پروگرامنگ سیکھنے کا ہے اور اسکے لئے میں نے جاوا کو ڈاون لوڈ کرنا چاہا تو وہاں ڈاون لوڈ سیکشن میں JDK کے نام سے ایک ڈاون لوڈ ہے اور ایک NetBeans کے نام سے۔ مجھے ان دونوں میں فرق بتادیں۔ اور یہ بھی بتادیں کہ مجھے ان میں سے کسے ڈاونلوڈ کرنا چاہئے۔ اور ذرا J2EE اور JSE کے بارے میں بھی بتادیں کہ مجھ جیسے نئے سیکھنے والے کے لئے کیا بہتر رہے گا۔
 
ہمارا مشورہ یہ ہوگا کہ اگر کسی سبب جاوا "ہی" سیکھنا ضروری نہ ہو تو اس سے بہتر زبانیں ہیں جن پر توجہ کی جا سکتی ہے۔ بہر کیف یہ پوری طرح اس بات پر منحصر ہے کہ پروگرامنگ سیکھنے کا مقصد کیا ہے۔ بعض معاملات میں جاوا ہی جاننا مجبوری ہے۔ ورنہ بیشتر حالات میں دیگر کئی زبانیں سیکھنے میں زیادہ سہل ہیں۔ اپنی تمام تر خوبیوں کے باوجود جاوا کے ساتھ دو بڑے مسائل ہیں۔ اول تو یہ کہ یہ زبان ایسی ہے جس میں چھوٹے کام کے لئے بھی بہت زیادہ کوڈ لکھنا پڑتا ہے، بے شمار لائبریریاں موجود ہین پھر بھی کچھ کوڈ سنٹیکس ایسا ہے اور کلاس اور میتھڈ نیم ایسے ہیں کہ ان کو بغیر کسی اچھی آئی ڈی ای کے لکھنا محال ہے۔ دوسرا مسئلہ یہ ہے کہ یہ زبان پچھلے چند برسوں سے ابنے نقطہ عروج سے زوال کیجانب بڑھ رہا ہے۔ یعنی ہر آنے والے دن کے ساتھ ساتھ اس کی شہرت کم ہی ہوگی۔ :)
 

asakpke

محفلین
میرا اراداہ جاوا پروگرامنگ سیکھنے کا ہے اور اسکے لئے میں نے جاوا کو ڈاون لوڈ کرنا چاہا تو وہاں ڈاون لوڈ سیکشن میں JDK کے نام سے ایک ڈاون لوڈ ہے اور ایک NetBeans کے نام سے۔ مجھے ان دونوں میں فرق بتادیں۔ اور یہ بھی بتادیں کہ مجھے ان میں سے کسے ڈاونلوڈ کرنا چاہئے۔

آپ کو JDK ہی اتارنا ہے، NetBeans پروگرامز بنانے کے لیے Integrated Development Environment ہے۔
 

دوست

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

رانا

محفلین
بہت شکریہ آپ سب کا۔ اصل بات یہ ہے کہ میں نے سی شارپ پر کچھ ہاتھ صاف کیا ہے اور اب سی شارپ میں چھوٹے موٹے ٹوٹے بنانے کے قابل ہوگیا ہوں۔ اب ارادہ تھا مستقبل میں فری لانسر کی حیثیت سے کچھ مرغے پھانسنے کا۔ مرغوں کی تلاش جاری ہے۔ لیکن اس دوران میں ویب ڈیویلپمنٹ کی طرف بھی طبعیت مچلی تو کل wamp سرور ڈاون لوڈ کرکے پی ایچ پی سیکھنی شروع کردی۔ اور ابھی کچھ دیر پہلے ہی hello world کا پیج بناکر خوش ہوا ہوں۔ اب خیال آیا کہ ویب ڈیویلپمنٹ میں جب میں اوپن سورس کی طرف نکلا ہوں تو ڈیسک ٹاپ ایپلی کیشنز میں بھی اگر اوپن سورس کی طرف توجہ کروں تو اس لحاظ سے بہتر رہے گا کہ مستقبل میں کبھی یہاں کاپی رائٹ کا نفاذ ہوگیا تو مائکروسافٹ کے پھندے سے بچنا مشکل ہوجائے گا۔ صرف یہی وجہ تھی جو میں جاوا کی طرف سوئچ کرنا چاہ رہا ہوں۔ اور میرا خیال تھا کہ جاوا کی یورپ اور امریکا وغیرہ میں زیادہ ڈیمانڈ ہے لیکن سعود بھائی کی بات نے ذرا پریشان کردیا ہے کہ اگر اسکی مارکیٹ دن بدن روبہ زوال ہے تو زوال پذیر چیزوں سے بہت ڈر لگتا ہے۔ خیر اب پہلے پی ایچ پی پر ہاتھ صاف کرلوں اس وقت تک ڈیسک ٹاپ ایپلی کیشنز کے لئے سی شارپ ہی کی پریکٹس جاری رکھتا ہوں۔ پھر پی ایچ پی کے بعد کوئی فیصلہ کرتے ہیں۔

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

نبیل

تکنیکی معاون
جاوا اتنی بھی رو بہ زوال نہیں جیسا کہ آپ سمجھ رہے ہیں، لیکن ہیلو ورلڈ کا پروگرام لکھ کر فری لانسنگ کا سوچنا قدرے دور کی کوڑی ہے۔
 
جاوا در اصل کارپوریٹ دنیا میں کافی عرصہ تک زندہ رہے گی۔ جاوا گوگل کی تین آفیشیل زبانوں میں سے ایک ہے۔ اور اینڈرائڈ اسمارٹ فون کی پروگرامنگ بھی جاوا میں ہی کی جاتی ہے۔ (گو کہ اب کراس پلیٹ فارم ایچ ٹی ایم ایل فائیو بیسڈ براؤزر ایپلیکیشنز بنانے کا رجحان تیزی سے بڑھ رہا ہے)۔ جاوا ڈیولپر سینٹرک نہ ہونے کے باعث عام کوڈرز کی توجہ اس جانب دن بہ دن کم ہو رہی ہے۔ یہ اکثر پروگرامنگ زبانوں کی لائف سائکل گردانی جاتی ہے کہ وہ یا تو کامیاب ہوں گی یا پھر سرے سے غیر معروف۔ اگر شہرت مل گئی تو ایک مخصوص انداز میں ان کی شہرت اور استعمال کا گراف اوپر اٹھنے لگتا ہے۔ اس دوران بے شمار لائبریریز وغیرہ لکھ دی جاتی ہیں اور پھر اس زبان میں کوئی بڑی تبدیلی ممکن نہیں رہ جاتی۔ اس پورے عرصے میں چند ایک دوسری زبانیں وجود میں آتی ہیں اور شہرت یافتہ زبانوں کے مسائل کو نظر میں رکھ کر نئے سرے سے اسٹرکچر کی جاتی ہیں۔ نتیجتاً نئی زبانوں کی مقبولیت بڑھنے لگتی ہے اور شہرت یافتہ زبانیں اپنے نقطہ عروج سے زوال کی جانب رواں ہو جاتی ہیں۔ لیکن کسی زبان کا مکمل خاتمہ ہو اس میں بہت طویل عرصہ لگتا ہے۔ وہ یوں کہتے ہیں کہ گھی ختم ہو جانے کے بعد بھی اس کا ڈبہ مہکتا رہتا ہے۔

ویب پروگرامنگ کے لئے اپنی بعض خصوصیات کے باعث اکثر پروگرامنگ سیکھنے والے اس سے پنجہ آزمائی کرتے ہیں۔ اس کے علاوہ بے شمار اوپن سورس ویب سوفٹوئیر پی ایچ پی میں ہی لکھے گئے ہیں۔ لہٰذا اس کا جاننا بہت بڑا پلس ہے۔ گو کہ اب پی ایچ پی بھی زوال کی طرف آہستہ آہستہ بڑھ رہا ہے۔

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

نبیل

تکنیکی معاون
ابن سعید، میرے خیال میں آپ پروگرامنگ لینگویجز کے زوال کا curve کچھ زیادہ نیچے لا رہے ہیں۔ :)
بہرحال یہ محض میرا مشاہدہ ہے۔ میں اس بات سے ضرور اتفاق کرتا ہوں کہ ہر پروگرامنگ لینگویج کی ایک عمر ہوتی ہے۔ لیکن کسی ایک پروگرامنگ لینگویج کو سیکھنے کے بعد کسی دوسری لینگویج پر کام کرنا زیادہ مشکل نہیں رہتا۔
اگر جاب مارکیٹ کے نکتہ نظر سے دیکھا جائے تو جاوا اور ڈاٹ نیٹ کا گراف باقی لینگویجز اور فریم ورکس کے مقابلے میں کافی اوپر نظر آئے گا۔ پی ایچ پی اپنے نقائص کے باوجود ویب ڈیویلپمنٹ کے لیے مقبول ترین ٹول ہے۔
 
نبیل بھائی نہ تو ہم نے کسی زبان کو غیر مقبول کہا اور نہ ہی یہ کہا کہ ان کی مقبولیت کا گراف نیچے آ چکا ہے۔ ہم نے یہ کہا کہ نیچے کی طرف آ رہا ہے۔ اگر اس سے کوئی غلط تاثر پڑا ہو ہمیں اپنے الفاظ کو پھر سے ترتیب دینے کی ضرورت ہے۔ سوچنے کی بات یہ ہے کہ گراف کا حالیہ اسٹیٹس ان کے لئے اپلائی ہوتا ہے جو ابھی کوڈنگ کے لئے تیار بیٹھے ہیں۔ جو لوگ سیکھ رہے ہیں ان کے لئے وہ بہتر ہوگا جس کا گراف اب سے دو سال بعد اوپر ہوگا۔ کچھ گراف ابھی نیچے ہیں لیکن اوپر کی جانب رواں ہیں اور کچھ اوپر ہیں لیکن نیچے کی جانب رواں ہیں۔ مستقبل کا اندازہ لگانا پروجیکشن کی مدد سے ممکن ہے۔ فی الحال پی ایچ پی یقیناً ویب ڈیویلپمینٹ کے لئے مقبول ترین زبان ہے اور ہم نے اس بات کا برملا اظہار بھی کیا ہے۔ آپ نے پایا ہوگا کہ پروگرامرس اب ٹریڈیشنل پی ایچ پروگرامنگ سے ایم وی سی فریم ورکس کی جانب شفٹ ہو رہے ہیں، خواہ وہ ایم وی سی فریم ورک پی ایچ پی بیسڈ ہی کیوں نہ ہو۔ لہٰذا یہ کہنا بعید از قیاس نہیں ہوگا کہ اگلے تین چار سالوں میں ورڈ پریس، مائی بی بی، ڈروپل یا اس کے متبادلات کا کوڈ اسٹرکچر حالیہ کوڈ اسٹرکچر سے کافی مختلف ہو سکتا ہے۔ :)
 

رانا

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

نبیل بھائی ہیلو ورلڈ کا پروگرام تو آج میں نے پی ایچ پی میں لکھا ہے۔ کیوں کہ آج ہی پی ایچ پی کو سیکھنا شروع کیا ہے۔ اس کی فری لانسنگ کا ابھی کوئی ارادہ نہیں نا ہوسکتا ہے۔ جبکہ سی شارپ میں ایک چھوٹے سے کلائینٹ کے لئے ایک بہت چھوٹا سا پروگرام لکھ چکا ہوں۔ اور کیوں کہ وہ پہلا پروگرام تھا اس کی غلطیوں سے بہت کچھ سیکھا اور بہت کانفیڈنس بلڈ ہوا ہے۔ اسی لئے اب فری لانس کا سوچ رہا ہوں۔ سی شارپ میں ایم ایس ورڈ کے لئے ایک پلگ ان بھی بنا چکا ہوں جو ورڈ میں اردو میں لکھے گئے ٹیکسٹ کی سمری بنادیتا ہے۔ بالکل ورڈ کے آٹو سمرائزر کی کمانڈ کی طرح۔ یہ ہمارا یونیورسٹی کا فائنل پروجیکٹ تھا۔ بہرحال یہ درست ہے کہ یہ پروفیشنل پروگرامنگ شروع کرنے کے لئے کچھ بھی نہیں لیکن اللہ کے فضل سے اتنا اعتماد پیدا ہوگیا ہے کہ جسطرح کے پروگرام کی بھی ضرورت پڑی کسی نہ کسی طرح محض اللہ کے فضل سے بنا ہی لوں گا۔
 

رانا

محفلین
جو لوگ سیکھ رہے ہیں ان کے لئے وہ بہتر ہوگا جس کا گراف اب سے دو سال بعد اوپر ہوگا۔ کچھ گراف ابھی نیچے ہیں لیکن اوپر کی جانب رواں ہیں اور کچھ اوپر ہیں لیکن نیچے کی جانب رواں ہیں۔
۔۔۔۔۔آپ نے پایا ہوگا کہ پروگرامرس اب ٹریڈیشنل پی ایچ پروگرامنگ سے ایم وی سی فریم ورکس کی جانب شفٹ ہو رہے ہیں، خواہ وہ ایم وی سی فریم ورک پی ایچ پی بیسڈ ہی کیوں نہ ہو۔ لہٰذا یہ کہنا بعید از قیاس نہیں ہوگا کہ اگلے تین چار سالوں میں ورڈ پریس، مائی بی بی، ڈروپل یا اس کے متبادلات کا کوڈ اسٹرکچر حالیہ کوڈ اسٹرکچر سے کافی مختلف ہو سکتا ہے۔ :)

سعود بھائی ان لینگویجز کے نام بھی بتادیں جن کا گراف آپ کے اندازے کے مطابق آنے والے سالوں میں اوپر اٹھے گا۔ واقعی آپ کی بات بالکل ٹھیک ہے کہ نئے سیکھنے والوں کو ایسی ہی لینگویجز کی طرف توجہ کرنی چاہئے۔

اور لگے ہاتھوں ذرا ایم وی سی کا بھی کچھ تعارف کرادیں۔ آپ بھی کہہ رہے ہوں گے کہ یہ تو بات سے بات نکال کر پیچھے ہی پڑ گیا ہے۔ :)
 
ان دنوں جنرل پرپز پروگرامنگ زبانوں میں پائتھون، روبی، اسکالا وغیرہ کافی توجہ پا رہے ہیں۔ اس کے علاوہ سرور سائڈ اسکرپٹنگ کے لئے نوڈ جے ایس بھی خوب ہے۔ ویسے براوزر کی پروگرامنگ کے لئے جاوا اسکرپٹ کے سوا کوئی اور چارہ کار نہیں۔ :)

ایم وی سی، ماڈل ویو اور کنٹورولر کا مخفف ہے۔ اس پیراڈائم میں کوڈ کو ان کی فنکشنالٹی کے حساب سے تین حصوں میں تقسیم کر دیا جاتا ہے۔ ماڈل، ڈیٹا اور ڈاٹابیس سے متعلق حصہ ہوتا ہے، ویو وہ کوڈ ہوتا ہے جو آؤٹ پٹ کے لئے ذمہ دار ہوتا ہے اور کنٹرولر مین بزنس لاجک اور دیگر فنکشنالیٹیز ہوتی ہیں۔ اس طرح کی تقسیم سے کوڈ کو مینٹین کرنا سہل ہو جاتا ہے اور یہ پتا کرنا کہ کس قسم کی تبدیلی کے لئے کون سی فائل میں تبدیلی درکار ہوگی، کافی سہل ہوتا ہے۔ اگر آپ ایم وی سی کو گوگل کر لیں تو خاصہ مواد مل جائے گا اس حوالے سے۔ مزید بر آں کہ کم و بیش ہر پروگرامنگ زبان جس کو ویب کے لئے سرور سائڈ زبان کے طور پر استعمال کیا جاتا ہے اس میں ایک سے زائد ایم وی سی آرکیٹیکچر فریم ورک دستیاب ہیں۔ مثلاً روبی کے لئے روبی آن ریلز، پی ایچ پی کے لئے کوڈ اگنائٹر، کیک پی ایچ پی اور زینڈ وغیرہ، پائتھون کے لئے جینگو، جاوا کے لئے اسٹرٹس و علیٰ ہٰذا القیاس۔ :)
 

نبیل

تکنیکی معاون
ابن سعید نے ایک مرتبہ روبی آن ریلز کورس کے سلسلے میں ماڈل ویو کنٹرولر کی کچھ تفصیل بیان کی تھی۔ اگر مجھے موقع ملا تو میں اے ایس پی ڈاٹ نیٹ میں ایم وی سی کے استعمال کے بارے میں لکھوں گا۔
 

رانا

محفلین
جزاک اللہ۔

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

دوست

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

imsabir

محفلین
کچھ دنوں پہلے میں html اور css کی مشق کر رہا تو java script کے بارے میں معلوم ہوا تو یہ سائٹ ہاتھ آگیا کافی بہتریں سائٹ ہے جاوا اسکریپٹ کے بارے میں رانا آپ بھی اسے ٹرائی کریں۔
 
Top