JavaRush /Блоги Java /Random-TG /Кей Хорстман ва 1500 калимаи ӯ дар бораи чӣ гуна шудан ба...

Кей Хорстман ва 1500 калимаи ӯ дар бораи чӣ гуна шудан ба барномасози беҳтари Java

Дар гурӯҳ нашр шудааст
Эҳтимол аст, ки шумо аллакай номи Cay S. Horstmannро шунидаед. Вай дар чахони Ёва шахси басо намоён ва муаллифи китобхои зиёде оид ба забони махбуби мо мебошад. Дар байни онҳо курси классикии "Ява асосии Java" (дар китоби дуҷилдаи "Java. Library Professional's Library" ба забони русӣ нашр шудааст ) ва силсила бо мухтасари моҳияти "Java for Besabent" (нашр бо забони русӣ "Java SE" мебошанд. 8. Курси муқаддимавӣ” ва “Java SE 8. Курси асосӣ” ). Вай унвони фахрии «Чемпиони яав»-ро дорад. Ва дар ин пайванд шумо метавонед вебсайти мактаби кӯҳнаи ӯро бо маълумоти ҷолиб пайдо кунед.
Кей Хорстман ва 1500 калимаи ӯ дар бораи чӣ гуна шудан ба барномасози беҳтари Java - 1
Мо ба таваҷҷуҳи шумо тарҷумаи мақоларо барои манбаи InformIT пешкаш менамоем , ки дар он Кей барои барномасозони оғоз ва давомдор дар бораи чӣ гуна беҳтар шудан дар касби худ чанд маслиҳат медиҳад. Рӯзе Ҷеннифер Бортел, директори муҳаррири InformIT, аз ман хоҳиш кард, ки дар бораи чӣ гуна барномасози беҳтари Java шудан як сатр гузорам. Вай пешниҳод кард, ки ман, муаллифи Java барои бесаброна, шояд дар бораи он чизе донам. "Ҳеҷ чизи осонтар нест, танҳо китоб харед", дар аввал фикр кардам. Аммо ин ҷавоб кор накард, зеро ман бояд онро ба 1500 калима мувофиқат кунам ва то ин вақт танҳо 62-тои онҳо вуҷуд доранд * ( албатта, ҳангоми тарҷумаи мақола мо кӯшиш накардем, ки шумораи калимаҳоро нигоҳ дорем - тақрибан тарҷума. ). Ба наздикӣ ман аз як дӯсти таҳиягар паёми электронӣ гирифтам, ки дар мусоҳиба пурсиданд, ки чаро рамзи зерин ришта бехатар нест:
class ThreadSafeClass extends Thread
{
     private static int count = 0;

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

     public synchronized void decrement()
     {
         count--;
     }
}
Дӯсти ман қарор кард, ки рамзи ин мисол ришта бехатар аст ва ман бо ӯ розӣ шудам ва қайд кардам, ки дар усули дуюм як калимаи калидӣ мавҷуд нест staticва вақте ки он ворид карда шуд, дастрасӣ тавассути қулфи дарунсохташудаи an objectи синф идора карда мешавад. Ман инчунин гуфтам, ки ин саволи мусоҳибаи хуб нест, зеро агар ба шумо ҳисобкунаки ришта лозим бошад, беҳтар аст, ки AtomicInteger. Аммо нисфи шаб аз хоб бедор шудам ва фикр мекардам: агар ин калима staticбо сабабе дар канор монда бошад-чй? Шояд ягон мусоҳибаи маккор дидаву дониста ин мисолро тавре сохтааст, ки номзадҳоро гумроҳ кунад? Ҳамин тавр, ман ба таҳиягаре, ки ин саволро дод, навиштам ва гуфтам, ки эҳтимол пештар хато кардаам: дар коиноти мувозӣ бо номи Саволҳои мусоҳиба, ҷавоб ба ин савол ин аст: "Усули дуюм қулфи an objectро дар бар мегирад." Пас аз ин ҷавоб бача пурсид, ки оё ман як канали YouTube-ро роҳандозӣ мекунам, ки дар он ман чӣ гуна ҳалли ин гуна мушкилоти мусоҳибаро таълим медиҳам. Вой, ман ин корро намекунам. Ман аз фанни информатика дарс медиҳам ва китоб менависам, аммо ҳадафи асосии ман беҳтар кардани "мусоибаҳои мушкилот" нест, балки ин аст, ки шогирдонам барномасози беҳтаре шаванд. Замоне Питер Норвиг ( олими амрикоӣ дар соҳаи зеҳни сунъӣ, директори тадқиқоти Google - тақрибан транс. ) дар блоги худ мақолаи олиҷаноб навишт. Вай изҳор дошт, ки китобҳое, ки ваъда медиҳанд, ки Java-ро дар 24 соат ё 21 рӯз ба шумо таълим медиҳанд, танҳо хандаоваранд. Ба фикри у розй нашудан душвор аст: барои дар ягон соха мутахассис шудан 10 сол, ё шояд 10 000 соат лозим аст. Ва маълум аст, ки коршиносон иттилоотро аз навкорон ба таври дигар коркард мекунанд. Дар тачрибан классикй ба шохмотбозони пуртачриба ва навкор тахтаи шохмотро бо чойгиркунии му-айяни донахо дар давоми якчанд сония нишон дода, баъд онро пинхон карда, хохиш карданд, ки порахоро хамон тавр чойгир кунанд. Шурӯъкунандагон аз ӯҳдаи ин вазифа чандон хуб набуданд, аммо мутахассисон ҳеҷ гуна мушкилот надоштанд. Аммо танҳо дар як шарти муҳим: ҷойгиркунии пораҳо бояд ба бозии воқеӣ мувофиқат кунад . Агар порчаҳо ба таври тасодуфӣ ҷойгир карда шаванд, мутахассисон дар барқарор кардани тахта аз навкорон беҳтар набуданд.
Кей Хорстман ва 1500 калимаи ӯ дар бораи чӣ гуна шудан ба барномасози беҳтари Java - 2
Барои хамин хам ба саволи мактуб айнан хамон тавр чавоб додам. Заминаи ман дар барномасозии воқеӣ аст, на мусоҳиба, бинобар ин ман беихтиёр калимаи калидии гумшударо илова кардам ва хулосаи "нодуруст" баровардам. Ман мехоҳам фикр кунам, ки пас аз он ки ман фаҳмондам, ки чӣ ҳодиса рӯй дод ва чаро ман ҳеҷ гоҳ codeро мисли мисол бидуни иловаи худ наменависам, маро ба кор мегиранд. Шояд, агар чунин чавоб онхоро конеъ намегардонад, ман худам бо онхо кор кардан намехохам.
Ҳоло, ман фикр намекунам, ки таҳсил барои имтиҳонҳои сертификатсия ё мусоҳиба шуморо ба як барномасози беҳтар табдил медиҳад. Ман инчунин мутмаинам, ки хариди теъдоди зиёди китобҳо оид ба барномасозӣ ва баъд аз сар то ба охир мутолиаи онҳо низ натиҷае нахоҳад дод (гарчанде ки ман ҳамчун муаллифи маҳз ҳамин китобҳо эътироф кардан намехоҳам!). Дарвоқеъ, роҳи воқеии хуби барномасоз шудан ин эҷоди ҳарчи бештари нармафзор аст . Баъзан дар донишгоҳи худ курси муқаддимавии информатикаро таълим медиҳам. Ин то ҳол душвортарин курсест, ки ман то ҳол таълим додаам. Ин ҳатто аз курси аспирантура душвортар аст. Вақте ки ман бори аввал ба ҳайси профессори ҷавон ба кор шурӯъ кардам, ман бо ҷидду ҷаҳд ба донишҷӯён лексияҳо хондам, ки дар онҳо масъалаҳои барномасозӣ, аз қабor фарқияти байни ҳалқаҳо forва whileҳалқаҳо , бодиққат баррасӣ кардам do. Пас аз он ман ба донишҷӯён чор лоиҳаи сеҳафтаина таъин кардам. Ва ин фан аз ибтидо дар тамоми донишгоҳҳо ҳамин тавр таълим дода мешавад. Пас аз кӯшиши аввалини ман, омӯзгори курси семестри дуюм шикоят кард, ки аксари донишҷӯёни собиқи ман пас аз семестри аввали барномасозӣ ҳатто ҳалқаҳои оддиро дарк намекунанд. Ва чунин натичахо низ аз ибтидои замон ба амал омадаанд. Мақолаи "FizzBuzz ё чаро барномасозон барномарезӣ карда наметавонанд"-ро дар хотир доред ? Вақте ки шумо забони хориҷиро меомӯзед, аксари вазифаҳо машқҳо ва амалия мебошанд, на назария. Ин хеле муҳим аст, ки донишро ба зери шуур "тела додан". Нуқтаи гардиш вақте фаро мерасад, ки шумо дигар набояд дар бораи ҳар як давра ё (дар мавриди фаронсавӣ), ҳар як феъли номунтазам фикр кунед. Агар ин лаҳза фаро расад, шумо омодаед ба сатҳи оянда гузаред. Ва дар ин идея ягон чизи революционй нест.
Кей Хорстман ва 1500 калимаи ӯ дар бораи чӣ гуна шудан ба барномасози беҳтари Java - 3
Калиди ҳама чиз аксуламали фаврӣ аст. Баъзе психологҳо боварӣ доранд, ки мо метавонем бо омӯзиши компютерӣ бо фикру мулоҳизаҳои фаврӣ корҳои зиёдеро анҷом диҳем. Масалан, дар тачрибаи дигари классикй, лётчикхои тачрибаомуз аз машгулият гузаштанд, ки дар он аз онхо талаб карда мешуд, ки ба панели асбобхо гаштаю баргашта нигох карда, харакати самолётро тасвир кунанд. Ҳамзамон, онҳо фикру мулоҳизаҳои фаврӣ гирифтанд, ки оё онҳо ин корро дуруст кардаанд ё не. Пас аз ду соати машк онхо аз лётчикхои пур-тачриба пеш гузаштанд. Албатта, ин маънои онро надошт, ки онхоро фавран ба рейси хакикй фиристодан мумкин бошад, вале онхо аз цием-рангхои гуногун ва сершумори панели асбобхо дигар асабонй набуданд. Ҳамин тавр, агар шумо нав ба омӯхтани Java шурӯъ карда бошед, барои амалӣ кардани машқҳои зиёди амалӣ беҳтарин идея аст. Шумораи зиёди вебсайтҳо ва курсҳои онлайн мавҷуданд, ки дурустии рамзи шуморо ба таври худкор тафтиш мекунанд. Якееро интихоб кунед, ки ба ҷои gobbledygook мушкилоти воқеӣ пешниҳод кунад. Дар ниҳоят, шумо мехоҳед, ки зери шуури шумо дар codeе, ки шумо воқеан дар амал менависед, хуб бошад. Аз ин рӯ, ман ба мисолҳои барномасозӣ, ки вазъиятҳои сохтаро истифода мебаранд, ба мисли синфҳои ҳайвонот бо усулҳои мияу аккос чандон майл надорам. Пас аз чанд вақт, шумо асосҳои барномасозиро азхуд хоҳед кард. Барои гузаштан ба сатҳи оянда, шумо метавонед якчанд лоиҳа нависед. Чанд сол пеш портали InformIT ба барномасозони ботаҷриба савол дода буд: «Барои барномасоз беҳтарин роҳи омӯхтани забони нав кадом аст?» Агар мо ҷавобҳои онҳоро ҷамъбаст кунем, мо метавонем чунин хулоса барорем: "Ин забонро дар лоиҳаи кунунии худ истифода баред." Пас, дар бораи он чизе, ки шумо ҳамеша мехостед амалӣ кунед, фикр кунед - ва пеш равед. Бист сол пеш, вақте ки Java хеле ҷавон буд,дӯсти ман ва замоне ҳаммуаллифи ман Гари Корнелл ба ман занг зада гуфт: "Кэй, мо дар бораи Java китоб менависем." Ҷавоби ман ин буд, ки на ӯ ва на ман воқеан дар бораи ин Ява чизе намедонем, ки ӯ ҷавоб дод: «Пас чӣ? Мо аллакай шартномаи китоб дорем." Ҳеҷ коре нест. Мо маҷбур шудем шитоб кунем, зеро ягон каси дигар дар бораи нашри қарибулвуқӯъи китоби "Дар тӯли 24 соат худатро омӯзед, ки думи Java шуданро" эълон кард ... Ман фикр мекунам, ки он чунин ном дошт ( Кэй силсилаи китобҳои "Барои думҳо"-ро масхара мекунад - "барои dummies" калимаи "Dummy" метавонад ҳамчун "dummy" тарҷума шавад - ёддошти тарҷумон ). Барои омӯхтани забони нав, ман бо лоиҳаҳо оғоз кардам - ​​навиштани барномае, ки интерфейси корбарро барои банақшагирии нафақа эҷод мекард ва сипас барномае, ки ба сайти обу ҳаво пайваст шуда, гузориши обу ҳаворо намоиш медиҳад. Пас аз он - барномае, ки ҳаракати мошинҳоро дар шоҳроҳ тақлид мекунад. Он вақт, ин барномаҳо танҳо аҷиб буданд!java.awtjava.netва риштаҳо ( threads). Ва ман бояд омӯзам, ки чӣ гуна ин корро воқеан иҷро кунам, на танҳо он чизе ки дар ҳуҷҷатҳо гуфта шудааст. Дар он вақт ин чизҳо тамоман дигар буданд. Ин аст, ки чаро Core Java [1] як хит буд: он барои dummies набуд.
Кей Хорстман ва 1500 калимаи ӯ дар бораи чӣ гуна шудан ба барномасози беҳтари Java - 4
Дар он вақт омӯзиши Java хеле душвортар буд. Мо сайтҳое мисли Stack Overflow надоштем ( ва мо JavaRush ҳам надоштем - ёддошти муҳаррир ). Дар ин лаҳза, ман ба таҳияи маслиҳати зерин барои такмил додани "маҳорат"-и барномасозии шумо меравам. Ҳамин тавр, вақте ки шумо дар лоиҳаи худ кор мекунед, шумо ҳатман дар ҷое мемонед. Дар ин ҳолат, ба форуми махсус равед ва кӯшиш кунед, ки ҷавобҳоро пайдо кунед. Ба ман бовар кунед, ин як идеяи бузург аст . Аввалан, шумо саволҳое хоҳед дод, ки қаблан борҳо дода шуда буданд. Аммо ба зудӣ шумо дониш пайдо мекунед ва саволҳои шумо беназиртар мешаванд. Ин роҳи аҷибест барои омӯхтан! Албатта, ин танҳо дар бораи нусхабардорӣ кардани як пораи рамз ва пурсидан нест: "Ман ҳоло бо ин чӣ кор кунам?" Шумо бояд ба қаъри он бирасед, фаҳмонед, ки пеш аз дармондатон шумо барои ҳалли мушкилот чӣ гуна кӯшиш кардаед. Воқеан, дар аксари мавридҳо, вақте ки ман саволро дар шакли хаттӣ тартиб медиҳам, худам ҷавобро меёбам ва танҳо бояд ба худ бигӯям: "Инҷо чӣ мушкиле ҳаст, ин беақл аст" ҳатто пеш аз фиристодани савол . Аммо агар ин тавр нашавад ҳам... Бовар кунед, саволҳои боандеша майл доранд, ки ҷавобҳои андешамандро ҷалб кунанд. Танҳо фаромӯш накунед, ки неъматҳои иҷтимоиро тавассути ҷавоб додан ба саволҳои одамони дигар. Ҳам савол додан ва ҳам ҷавоб додан ба саволҳои мулоҳиза шуморо барномасози беҳтар мегардонад. "Пас, дар бораи китобҳо чӣ гуфтан мумкин аст? — мепурсед. "Оё онҳо воқеан ба шарофати Google ва Stack Overflow комилан ва бебозгашт кӯҳна шудаанд ?" Ҳар гоҳе, ки ман бо технологияи нав паймоиш мекунам, ман боварӣ дорам, ки ман як шахси далер ҳастам ва ҳама мушкилотро танҳо паси сар карда метавонам. Аммо як соати азоби бемаънӣ ҷои як соати солимро медиҳад - ва ман китоб мехарам. Китобҳои техникӣ дар ин рӯзҳо як хариди ҳайратангезанд. Агар ман барои як китоби электронӣ 40 доллар пардохт кунам ва танҳо ба як савол зуд ҷавоб диҳам, ман аллакай пуламро баргардондам. Ман ноумед кардани ҳамсабақони худро бад мебинам, аммо ман ҳеҷ гоҳ китоби техникиро аз аввал то охир нахондаам. Ман аз он ҷое, ки фикр мекунам, мушкor ман ва ҳалли он навишта шудааст, оғоз мекунам ва то он даме, ки чӣ тавр ҳалли онро фаҳмам, мехонам. Ба ин далел, дар ҳоли ҳозир кӯшиш мекунам, ки китобҳое нависам, ки ин тавр хонда шаванд. Ин равиш силсилаи «Барои бесабр»-ро ба вуҷуд овард. Ва дар ин лаҳза ман бояд истам - ман аз ҳадди таҳририи 1500 калима гузаштам. Иҷозат диҳед танҳо илова кунам, ки барои барномасози беҳтар шудан, аз эътироф кардани сатҳҳои донишҳо оғоз кунед.
  1. Аввалан, сохторҳои асосии забонро ба зери шуури худ "кашед", яъне тавассути ҳалли шумораи зиёди машқҳо дониши онҳоро ба автоматизатсия расонед.

  2. Ба кор дар лоиҳаҳои воқеӣ, ки ба шумо таваҷҷӯҳ доранд, ҳарчи зудтар оғоз кунед.

  3. Пас ба ҷомеа ҳамроҳ шавед, ки дар он шумо метавонед ба саволҳо ҷавоб диҳед.

  4. Вақте ки шумо ин корро мекунед, шумо метавонед дар мусоҳибаҳо бо дониш ва таҷриба сӯҳбат кунед. Ва аслан муҳим нест, ки шумо муаммои сохташударо ҳал мекунед.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION