JavaRush /جاوا بلاگ /Random-SD /Kay Horstmann ۽ هن جا 1500 لفظ هڪ بهتر جاوا پروگرامر ڪيئن...

Kay Horstmann ۽ هن جا 1500 لفظ هڪ بهتر جاوا پروگرامر ڪيئن بڻجن

گروپ ۾ شايع ٿيل
امڪان آهن ته توهان اڳ ۾ ئي نالو ٻڌو آهي Cay S. Horstmann. هو جاوا جي دنيا ۾ هڪ انتهائي ممتاز شخص آهي ۽ اسان جي پياري ٻولي تي ڪيترن ئي ڪتابن جو مصنف آهي. انهن ۾ ڪلاسڪ ڪورس ”ڪور جاوا“ (روسي ۾ ٻن جلدن واري ڪتاب ”جاوا. پروفيشنل لائبريري“ ۾ شايع ٿيل آهي) ۽ ”جاوا فار بي صبري“ (روسي ۾ شايع ٿيل ”جاوا ايس اي) جي مختصر تت سان هڪ سلسلو آهي. 8. تعارفي ڪورس” ۽ “جاوا SE 8. بنيادي ڪورس” ). هن کي "جاوا چيمپيئن" جو فخر لقب آهي. ۽ هن لنڪ تي توهان ڳولي سگهو ٿا هن جي پراڻي اسڪول ويب سائيٽ دلچسپ معلومات سان.
Kay Horstmann ۽ سندس 1500 لفظن تي ته ڪيئن بهتر جاوا پروگرامر بنجي - 1
اسان توهان جي توجهه ۾ آڻيون ٿا هڪ مضمون جو ترجمو InformIT وسيلن لاءِ ، جنهن ۾ ڪيئي پروگرامر جي شروعات ۽ جاري رکڻ لاءِ ڪيترن ئي تجويزن کي ٻڌائي ٿو ته ڪيئن انهن جي پيشي ۾ بهتر ٿيڻو آهي. هڪ ڏينهن، جينيفر بورٽيل، انفارم آئي ٽي جي ايڊيٽوريل ڊائريڪٽر، مون کي هڪ لڪير ڇڏڻ لاء چيو ته ڪيئن هڪ بهتر جاوا پروگرامر بڻجي وڃي. هن تجويز ڏني ته مان، ليکڪ جاوا لاءِ بي صبري، شايد ان بابت ڪجهه ڄاڻان. ”ڪجهه به آسان ناهي، بس هڪ ڪتاب خريد ڪريو،“ مون پهرين سوچيو. پر اهو جواب ڪم نه ڪيو، ڇاڪاڻ ته مون کي ان کي 1500 لفظن ۾ فٽ ڪرڻو آهي، ۽ هن وقت تائين انهن مان صرف 62 آهن * ( يقيناً، مضمون جو ترجمو ڪرڻ وقت، اسان لفظن جي تعداد کي برقرار رکڻ جي ڪوشش نه ڪئي هئي - تقريبا ترجمو ). مون تازو ئي هڪ ڊولپر دوست کان هڪ اي ميل ملي آهي جنهن کي هڪ انٽرويو ۾ پڇيو ويو هو ته هيٺ ڏنل ڪوڊ ٿريڊ محفوظ ڇو نه هو.
class ThreadSafeClass extends Thread
{
     private static int count = 0;

     public synchronized static void increment()
     {
         count++;
     }

     public synchronized void decrement()
     {
         count--;
     }
}
منهنجي دوست فيصلو ڪيو ته هن مثال ۾ ڪوڊ ٿريڊ محفوظ هو، ۽ مان هن سان اتفاق ڪيو، نوٽ ڪيو ته ٻئي طريقي ۾ هڪ لفظ غائب هو static، ۽ هڪ ڀيرو ان کي داخل ڪيو ويو، رسائي کي ڪنٽرول ڪيو ويو ڪلاس اعتراض جي بلٽ ان لاڪ ذريعي. مون اهو پڻ چيو ته اهو سٺو انٽرويو سوال ناهي ڇو ته جيڪڏهن توهان کي ٿريڊ ڪائونٽر جي ضرورت آهي، ته توهان استعمال ڪرڻ کان بهتر آهيو AtomicInteger. پر پوءِ اڌ رات جو مان جاڳيس ۽ حيران ٿي ويس ته: جيڪڏهن اهو لفظ staticڪنهن سبب کان رهجي ويو ته ڇا ٿيندو؟ شايد ڪجهه خفيه انٽرويو وٺندڙ ڄاڻي واڻي هن مثال کي اهڙي طرح ترتيب ڏنو آهي جيئن اميدوارن کي گمراهه ڪيو وڃي؟ تنهن ڪري مون ڊولپر ڏانهن واپس لکيو جنهن سوال پڇيو ۽ چيو ته مان شايد اڳ ۾ غلط هو: هڪ متوازي ڪائنات ۾ انٽرويو سوالن کي سڏيو ويندو آهي، هن سوال جو جواب آهي: "ٻيو طريقو هڪ اعتراض تالا تي مشتمل آهي." هن جواب کان پوء، ماڻهو پڇيو ته ڇا مان هڪ يوٽيوب چينل هلائيندو آهيان جتي آئون ان قسم جي انٽرويو جي مسئلن کي ڪيئن سنڀاليندو آهيان. افسوس، مان اهو نٿو ڪريان. مان ڪمپيوٽر سائنس سيکاران ٿو ۽ ڪتاب لکان ٿو، پر منهنجو بنيادي مقصد بهتر ”انٽرويو مسئلا حل ڪندڙ“ نه پر منهنجي شاگردن کي بهتر پروگرامر بڻائڻ آهي. هڪ دفعي، پيٽر نارويگ ( آرٽيفيشل انٽيليجنس جي شعبي ۾ آمريڪي سائنسدان، گوگل ريسرچ ڊائريڪٽر - تقريباً ٽرانس. ) پنهنجي بلاگ تي هڪ شاندار مضمون لکيو. هن دليل ڏنو ته اهي ڪتاب جيڪي توهان کي 24 ڪلاڪن يا 21 ڏينهن ۾ جاوا سيکارڻ جو واعدو ڪن ٿا صرف مضحکہ خیز آهن. هن سان اختلاف ڪرڻ مشڪل آهي: ڪنهن به شعبي ۾ ماهر ٿيڻ لاءِ 10 سال، يا شايد 10,000 ڪلاڪ لڳن ٿا. ۽ اهو معلوم ٿئي ٿو ته ماهر معلومات کي پروسيس ڪري رهيا آهن نوان کان مختلف. هڪ شاندار تجربي ۾، تجربيڪار ۽ نوان شطرنج رانديگرن کي هڪ شطرنج جو تختو ڏيکاريو ويو، جنهن ۾ ڪجهه سيڪنڊن لاءِ ٽڪرن جي هڪ خاص ترتيب سان، پوءِ ان کي لڪايو ويو ۽ انهن ٽڪرن کي جيئن هو ترتيب ڏيڻ لاءِ چيو ويو. شروعاتي ڪم کي چڱي طرح سان مقابلو نه ڪيو، پر ماهرن کي ڪا به پريشاني نه هئي. پر صرف هڪ اهم شرط هيٺ: ٽڪر جي ترتيب کي حقيقي راند سان ملندڙ هجڻ گهرجي . جيڪڏهن ٽڪرا بي ترتيب رکيا ويا، ماهرن کي بورڊ جي ٻيهر تعمير ڪرڻ ۾ نوان کان بهتر نه هئا.
Kay Horstmann ۽ سندس 1500 لفظن تي ته ڪيئن بهتر جاوا پروگرامر بنجي - 2
ان ڪري مون خط مان سوال جو جواب بلڪل ائين ڏنو جيئن مون ڏنو. منهنجو پس منظر اصل پروگرامنگ ۾ آهي، انٽرويو نه ڏيڻ، تنهنڪري مون فوري طور تي غائب لفظ شامل ڪيو ۽ "غلط" نتيجو ڪيو. مان اهو سوچڻ چاهيان ٿو ته مون کي اڃا به نوڪري تي رکيو ويندو جڏهن مون وضاحت ڪئي ته ڇا ٿيو ۽ ڇو مان پنهنجي اضافي کان سواءِ مثال جهڙو ڪوڊ ڪڏهن به نه لکندس. شايد، جيڪڏهن اهڙي جواب کين مطمئن نه ڪيو، ته مان پاڻ به ساڻن گڏ ڪم ڪرڻ نه چاهيندس.
هاڻي، مان نه ٿو سمجهان ته سرٽيفڪيشن امتحانن يا انٽرويوز لاءِ پڙهائڻ توهان کي بهتر پروگرامر بڻائي ڇڏيندو. مون کي اها به پڪ آهي ته پروگرامنگ تي وڏي تعداد ۾ ڪتاب خريد ڪرڻ ۽ پوءِ انهن کي اوج کان اوور تائين پڙهڻ به ڪم نه ڪندو (جيتوڻيڪ مان، انهن ڪتابن جي ليکڪ جي حيثيت ۾، ان کي تسليم ڪرڻ نه چاهيندس!). حقيقت ۾، هڪ بهترين پروگرامر ٿيڻ جو هڪ بهترين طريقو آهي جيترو ممڪن طور تي سافٽ ويئر ٺاهيو . وقت بوقت مان پنهنجي يونيورسٽي ۾ ڪمپيوٽر سائنس جو تعارفي ڪورس سيکاريندو آهيان. اهو سڀ کان ڏکيو ڪورس آهي جيڪو مون ڪڏهن سيکاريو آهي. اهو گريجوئيٽ ڪورس کان به وڌيڪ ڏکيو آهي. جڏهن مون پهريون ڀيرو هڪ نوجوان پروفيسر جي حيثيت سان ڪم ڪرڻ شروع ڪيو، ته مون پوري محنت سان شاگردن کي ليڪچر ڏنا، جن ۾ مون فرض شناسيءَ سان پروگرامنگ جي مسئلن، جهڙوڪ لوپس for۽ whileلوپس جي وچ ۾ فرق do. مون پوءِ شاگردن کي چار ٽن هفتن جا منصوبا ڏنا. ۽ اهو مضمون شروع کان وٺي سڀني يونيورسٽين ۾ هن طرح سيکاريو پيو وڃي. منهنجي پهرين ڪوشش کان پوءِ، ٻئي سيمسٽر جي ڪورس جي استاد شڪايت ڪئي ته منهنجا اڪثر اڳوڻا شاگرد پنهنجي پروگرامنگ جي پهرين سيمسٽر کان پوءِ به سادو لوپ نه سمجهي سگهندا هئا. ۽ اهڙا نتيجا به شروع کان وٺي آيا آهن. مضمون ياد رکو “FizzBuzz يا ڇو پروگرامر پروگرام نٿا ڪري سگهن” ؟ جڏهن توهان هڪ غير ملڪي ٻولي سکندا آهيو، اڪثر ڪم مشق ۽ مشق آهن، نظرياتي نه. اهو انتهائي ضروري آهي ته علم کي "پش" ڪرڻ لا شعور ۾. موڙ وارو نقطو اچي ٿو جڏهن توهان کي هاڻي فعال طور تي هر چڪر بابت سوچڻ جي ضرورت ناهي، يا (فرانسيسي جي صورت ۾)، هر غير منظم فعل. جيڪڏهن اهو لمحو اچي چڪو آهي، ته پوء توهان ايندڙ سطح ڏانهن وڃڻ لاء تيار آهيو. ۽ هن خيال ۾ ڪا به انقلابي نه آهي.
Kay Horstmann ۽ سندس 1500 لفظن تي ته ڪيئن بهتر جاوا پروگرامر بنجي - 3
هر شي جي ڪنجي فوري موٽ آهي. ڪجهه نفسيات جو خيال آهي ته اسان ڪمپيوٽر تي ٻڌل سکيا سان تمام گهڻو ڪجهه ڪري سگهون ٿا فوري موٽ سان. مثال طور، هڪ ٻئي شاندار تجربي ۾، خواهشمند ٽريني پائلٽس هڪ ٽريننگ سيشن ۾ گذريا، جنهن ۾ انهن کي اوزار جي پينل کي بار بار ڏسڻ ۽ هوائي جهاز جي حرڪت کي بيان ڪرڻ جي ضرورت هئي. ساڳئي وقت، انهن کي فوري موٽ ملي ٿي ته ظاهر ڪيو ته ڇا انهن اهو صحيح ڪيو يا نه. ٻن ڪلاڪن جي ٽريننگ کان پوءِ، هنن تجربيڪار پائلٽس کي اڳتي وڌايو. يقينا، هن جو مطلب اهو نه هو ته اهي فوري طور تي حقيقي پرواز تي موڪليا ويندا هئا، پر اهي هاڻي اوزار پينل تي مختلف ۽ ڪيترن ئي ڊائل بابت پريشان نه هئا. تنهن ڪري، جيڪڏهن توهان صرف جاوا سکڻ شروع ڪري رهيا آهيو، مشق ڪرڻ لاء تمام گهڻيون مشقون مشق ڪرڻ بهترين خيال آهي. اتي وڏي تعداد ۾ ويب سائيٽون ۽ آن لائين ڪورسز آھن جيڪي پاڻمرادو چيڪ ڪندا آھن توھان جي ڪوڊ جي درستگي. ھڪڙو چونڊيو جيڪو حقيقي چئلينج پيش ڪري ٿو بجاءِ گوبلڊيگوڪ. آخرڪار، توهان چاهيو ٿا ته توهان جو لاشعور ان ڪوڊ تي سٺو هجي جيڪو توهان اصل ۾ عملي طور تي لکندا. اهو ئي سبب آهي ته مان پروگرامنگ جي مثالن تي تمام گهڻو ڌيان نه ٿو ڏيان جيڪي متضاد حالتن کي استعمال ڪن ٿا، جهڙوڪ جانورن جا طبقن سان طريقن سان جيڪي ميو ۽ بارڪ. ڪجهه وقت کان پوء، توهان پروگرامنگ جي بنياديات کي ماهر ڪنداسين. ايندڙ سطح تي وڃڻ لاءِ، توھان لکي سگھوٿا ڪجھ منصوبا. ڪيترائي سال اڳ، InformIT پورٽل تجربيڪار پروگرامرز کان هڪ سوال پڇيو: ”هڪ پروگرامر لاءِ نئين ٻولي سکڻ جو بهترين طريقو ڪهڙو آهي؟ جيڪڏهن اسان انهن جي جوابن کي اختصار ڪريون ٿا، اسان هيٺ ڏنل نتيجو ڪڍي سگهون ٿا: "هن ٻولي کي توهان جي موجوده منصوبي ۾ استعمال ڪريو." تنهن ڪري، سوچيو جيڪو توهان هميشه لاڳو ڪرڻ چاهيندا آهيو - ۽ اڳتي وڌو. ويهه سال اڳ، جڏهن جاوا اڃا تمام ننڍو هو، تڏهنمنهنجي دوست ۽ ڪجهه وقت جي ليکڪ گري ڪارنيل مون کي فون ڪيو ۽ چيو، ”ڪي، اسان جاوا تي ڪتاب لکڻ وارا آهيون. منهنجو جواب هو ته نه ته هو ۽ نه ئي مان واقعي هن جاوا بابت ڪجهه ڄاڻان ٿو، جنهن تي هن جواب ڏنو: ”پوءِ ڇا؟ اسان وٽ اڳ ۾ ئي ڪتاب جو معاملو آهي. ڪجهه ڪرڻ لاءِ ڪونهي. اسان کي تڪڙ ڪرڻي پئي ڇو ته ڪنهن ٻئي ڪتاب ”24 ڪلاڪن ۾ جاوا ڊمي کي سيکاريو“ جي جلد رليز ٿيڻ جو اعلان ڪيو آهي ... مان سمجهان ٿو ته ان کي ڪجهه هن طرح سڏيو ويو آهي ( Kay ڪتاب جي "For Dummies" سيريز جو مذاق بڻائي ٿو. ، لفظ "ڊمي" جو ترجمو ڪري سگھجي ٿو "ڊمي" - مترجم جو نوٽ ). نئين ٻولي سکڻ لاءِ، مون پروجيڪٽس سان شروع ڪيو - هڪ پروگرام لکڻ جيڪو ريٽائرمينٽ پلاننگ لاءِ يوزر انٽرفيس ٺاهي، ۽ پوءِ هڪ پروگرام جيڪو موسم جي سائيٽ سان ڳنڍيو ۽ موسم جي رپورٽ ڏيکاري. ان کان پوء - هڪ پروگرام جنهن هاء وي تي ڪارن جي تحريڪ simulates. ان وقت، اهي پروگرام صرف حيرت انگيز هئا!java.awtjava.net۽ موضوع ( threads). ۽ مون کي اهو سکڻو هو ته اصل ۾ اهو ڪم ڪيئن ڪجي، نه رڳو اهو دستاويز ڇا چيو. ان وقت اهي شيون بلڪل مختلف هيون. اهو ئي سبب آهي ته ڪور جاوا [1] هڪ هٽ هو: اهو ڊميز لاءِ نه هو.
Kay Horstmann ۽ سندس 1500 لفظن تي ته ڪيئن بهتر جاوا پروگرامر بنجي - 4
ان وقت، جاوا سکڻ تمام گهڻو ڏکيو هو. اسان وٽ اسٽيڪ اوور فلو جهڙيون سائيٽون نه هيون ( ۽ اسان وٽ جاوا رش به نه هو - ايڊيٽر جو نوٽ ). هن موقعي تي، مان توهان جي پروگرامنگ "مهارت" کي بهتر بڻائڻ لاءِ هيٺ ڏنل صلاحون تيار ڪرڻ لاءِ اڳتي وڌان ٿو. تنهن ڪري، جڏهن توهان پنهنجي پنهنجي منصوبي تي ڪم ڪندا آهيو، توهان کي ڪنهن جاء تي پڪڙي وڃڻ جي پابند آهي. انهي حالت ۾، هڪ خاص فورم ڏانهن وڃو ۽ جواب ڳولڻ جي ڪوشش ڪريو. مون کي يقين ڪر، هي هڪ عظيم خيال آهي . پهرين، توهان سوال پڇندا جيڪي اڳ ۾ ئي ڪيترائي ڀيرا پڇيا ويا آهن. پر جلد ئي توهان علم حاصل ڪندا ۽ توهان جا سوال وڌيڪ منفرد ٿي ويندا. هي سکڻ جو هڪ شاندار طريقو آهي! يقينا، اهو صرف ڪوڊ جي هڪ ٽڪرا ڪاپي پيسٽ ڪرڻ ۽ پڇڻ بابت ناهي: "مون کي هن سان ڇا ڪرڻ گهرجي؟" توهان کي ان جي تري ۾ وڃڻ جي ضرورت آهي، وضاحت ڪريو ته توهان اڳ ۾ ئي مسئلو حل ڪرڻ لاءِ ڪهڙيون ڪوششون ڪيون آهن ان کان اڳ توهان ڦاسي پيا. رستي ۾، اڪثر ڪيسن ۾، جڏهن آئون لکڻ ۾ هڪ سوال ٺاهيندو آهيان، مون کي پنهنجو پاڻ کي جواب ڳولڻو آهي ۽ مون کي صرف اهو چوڻ آهي ته: "هتي مسئلو ڇا آهي، اهو ڪو به دماغ نه آهي" جيتوڻيڪ مون سوال موڪلڻ کان اڳ. . پر پوءِ به ائين نه ٿئي... مون تي يقين ڪر، سوچيندڙ سوال سوچيندڙ جوابن کي متوجه ڪندا آهن. صرف ٻين ماڻهن جي سوچيندڙ سوالن جا جواب ڏيندي سماجي احسان واپس ڪرڻ لاءِ ياد رکو. ٻئي سوال پڇڻ ۽ سوچيندڙ سوالن جا جواب ڏيڻ توهان کي بهتر پروگرامر بڻائين ٿا. ”پوءِ، ڪتابن جو ڇا؟ - توهان پڇو. "ڇا اهي حقيقت ۾ گوگل ۽ اسٽيڪ اوور فلو جي مهرباني سان مڪمل طور تي ۽ ناقابل واپسي طور تي ختم ٿي ويا آهن ؟" مان جڏهن به ڪنهن نئين ٽيڪنالاجي کي نيويگيٽ ڪريان ٿو، تڏهن مان سمجهان ٿو ته مان هڪ باهمت ماڻهو آهيان ۽ اڪيلو ئي سڀني مشڪلاتن کي پار ڪري سگهان ٿو. پر بيوقوف عذاب جو هڪ ڪلاڪ عقل جي هڪ ڪلاڪ جو رستو ڏئي ٿو - ۽ مان هڪ ڪتاب خريد ڪريان ٿو. ٽيڪنيڪل ڪتاب انهن ڏينهن ۾ هڪ شاندار سودا آهن. جيڪڏهن مان هڪ اي بک لاءِ $40 ادا ڪريان ٿو ۽ صرف هڪ سوال جو جلدي جواب حاصل ڪريان ٿو، مون پهريان ئي پنهنجو پئسا واپس ڪري ڇڏيو آهي. مون کي پنهنجي ساٿي اديبن کي مايوس ڪرڻ کان نفرت آهي، پر مون شروع کان آخر تائين ڪڏهن به ٽيڪنيڪل ڪتاب نه پڙهيو آهي. مان شروع ڪريان ٿو جتي مان سمجهان ٿو ته منهنجو مسئلو ۽ ان جو حل لکيل آهي، ۽ مان پڙهندو آهيان جيستائين مان سمجهان ٿو ته ان کي ڪيئن حل ڪجي. ان لاءِ هن وقت ڪوشش ڪري رهيو آهيان ته اهڙا ڪتاب لکان جيڪي هن طرح پڙهي سگهجن. هن طريقي سان سيريز کي جنم ڏنو "بي صبري لاء." ۽ هن نقطي تي مون کي روڪڻ گهرجي - مون 1500 لفظن جي ادارتي حد کان وڌي. مون کي صرف اهو شامل ڪرڻ ڏيو ته هڪ بهتر پروگرامر بڻجڻ لاءِ، اهو سمجهڻ شروع ڪريو ته علم جا ڪيترائي سطح آهن.
  1. پهريون، بنيادي ٻوليءَ جي جوڙجڪ کي توهان جي لاشعور ۾ ”ڇڏيو“، يعني انهن جي ڄاڻ کي خودڪار طريقي سان آڻيو، مشقن جي وڏي تعداد کي حل ڪندي.

  2. حقيقي منصوبن تي ڪم ڪرڻ شروع ڪريو جيڪي توھان جي دلچسپي رکن ٿا جيترو جلدي ٿي سگھي.

  3. پوء هڪ ڪميونٽي ۾ شامل ٿيو جتي توهان سوال پڇي ۽ جواب ڏئي سگهو ٿا.

  4. هڪ دفعو توهان اهو ڪريو ٿا، توهان انٽرويو ۾ علم ۽ تجربي سان ڳالهائڻ جي قابل هوندا. ۽ اهو واقعي مسئلو ناهي ته ڇا توهان تڪراري پہیلی کي حل ڪيو.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION