JavaRush /Java Blog /Random-TK /Başdan başlalyň ýa-da 'Salam, Java World!'
articles
Dereje

Başdan başlalyň ýa-da 'Salam, Java World!'

Toparda çap edildi
Bu makalany adaty bolmadyk bir seredişde, siňdiriş bilen başlamak isleýärin. Soň näme üçin takykdygy belli bolar.
Başdan başlalyň ýa-da Salam, Java World!  - 1
Geliň, kimdir birini göz öňüne getireliň. Bu kimdir biri dag lykiasynda typmak isleýär. Munuň üçin bolsa aşakdaky ädimleri ädýär:
  • Mugallymlar, okuw kitaplary, gollanmalar we ş.m. - bularyň hemmesi şeýtandan. Lykiada typmagy özbaşdak öwrenip bilersiňiz. Mundan başga-da, mekdepde lykiada typmagy oňat oňat öwrendi. Şoňa görä-de has bilimli adamlaryň ähli maslahatlaryna ähmiýet berilmeýär.

  • Iň oňat enjam saýlandy. Hünärmen derejesinden pes däl. Aýagyňyzy agyrdýan gaty aýakgap. Egilmek üçin ajaýyp güýç talap edýän gaty lyisa, Kimdir biriniň beden taýdan taýýarlyk derejesinden has ýokary. Bolýar we ş.m.

  • Synag ýoly ... diýeliň, äpet slalomda Dünýä çempionatynyň tapgyryny geçirýän ýol. Bu diňe okamak üçin dogry.
  • Şol bir ruhda dowam ediň.
Ine, sorag. Bu adama näme diýersiň? Özüm, takmynan 20 ýyl dag daglarynda typmak bilen tanyş adam hökmünde men oňa jaň ederin (we bu henizem gaty ýumşak!) - umytsyz. Bu çemeleşme bilen hiç zady öwrenmek düýbünden mümkin däl. Emma ýaralanmagyň anyk usuly. IOS GOWY zat, lykiada typmak pikirini hemişelik terk etmekdir. Bu baha bermekde meniň bilen razylaşarsyňyz öýdýärin. Her niçigem bolsa, bu Kimdir biriniň özüne ýakymsyz bir zadyň berilmegine garaşmajakdygyna ynanýaryn. Indi başga birini göz öňüne getireliň. Goý, ol kompýuter ylymlarynyň talyby bolsun. C ++, C #, Paskal hakda birneme bilimi bar. Java öwrenmek isleýär. Hereketleri:
  • Bilim derejesine laýyk gelýän edebiýat (nol derejesi, açyk aýtsam) bir gyra çekilýär. Cokarda agzalan C ++, C # we OOP teoriýasy bilen azajyk tanyşlyga esaslanýar.
  • Iň güýçli programmirleme gurşawy alyndy. “Eclipse” ýa-da “NetBeans” diýeliň. Hemme zady özi edýän, diňe bir düwmä basyň.
  • Synag programmasy hökmünde, saýlaýarys ... gowy, söhbet diýeliň. Müşderi-serwer programmasy, müşderi applet görnüşindäki bölek, serwer bölegi - web hyzmaty ýa-da iň erbet ýagdaýda servlet. Okamak üçin dogry.
Sorag. Bu adama näme diýersiň? Paradoksyň nämedigini bilýärsiňizmi? Hakykat, bu ýagdaýda bitarap baha berişler ep-esli az bolar. Theagdaýlaryň hemme taraplaýyn birmeňzeşdigine garamazdan. Ikinji ýagdaýda saglyk we durmuş üçin netijeler az ölümli bolmasa. Belki bu mesele? Reallyagdaýlar hakykatdanam gaty meňzeýär. Olary şol bir stilde aýratyn suratlandyrdym. Geň bir zat: birinjisiniň manysyzlygy äşgär bolsa, ikinji ssenariýadan soň täze döredilenleriň sany köpelýär. Java-y özleşdirmek MIDletleri, maglumatlar bazalary, söhbetdeşlikler üçin müşderiler, hyzmat ediş hyzmatlaryna esaslanýan web sahypalaryny döretmek bilen başlaýar ... Uzak wagtlap dowam edip bilersiňiz. Emma muňa garamazdan, mesele aýdyňdyr. Şol bir wagtyň özünde, giriş derejesindäki edebiýat äsgermezlik bilen aýrylýar. Muny okaňmy? Maňa? Hawa, üç ýyl bäri C ++ ýazýaryn! (Görnüşler Paskalda, hatda wizual esasda-da bar.) We OOP bilýärin! Umuman, umuman. Onda näme bolar? Soň bolsa:
  • 8 baýt massiwini nädip uzynlyga öwürmeli?
  • Näme üçin beýle bolýar NoClassDefFoundError?
  • Näme üçin programmany Eclipse ( NetBeans/IDEA/JBuilder) -de işe girizýärin we hemme zat gowy, ýöne onsuz ýazýaryn java HelloWorld.classwe ýalňyşlyk bar?
  • Näme üçin ýykylýar ClassNotFoundException?
  • Näme üçin kitaphana ýok? Men muny eýýäm class.zip-de goýdum, ýöne peýdasyz!
  • Näme üçin bir topar obýekt döredýärin, ýöne massiwiň bir elementini ulanjak bolanymda NullPointerException?
  • Näme üçin ...?
  • Näme üçin ...?
  • Näme üçin ...?
Näme üçin? Javaöne Java C ++ ýa-da Paskal däl. Perl däl. Bu dilleri bilmek diňe köplenç kömek etmän, eýsem päsgelçilik döredýär. Diňe bu dilleriň düýbünden başga ideologiýalary bolanlygy sebäpli. Emma daşarky meňzeşlik ýalňyşdyr. Elbetde, bu “whys” we “hows” kitaplaryň hemmesinde jogaplar bar. Iň esasy derejeli edebiýatda. Emma ony okamak ýalta (wariantlar: utanç, wagt ýok we ş.m.). Java-a gowy C ++ hünärmenleri tarapyndan geçirilen stereotipleriň köpüsini bilýärin. Recentaňy-ýakynda bir mysal: hiç haçan konstruktorda kadadan çykma etmeli däl. Näme üçin? Hawa, sebäbi C ++ görnüşinde şeýle obýektiň ýagdaýy kesgitlenmedi. Şoňa laýyklykda ýadyň syzmagy ýüze çykýar. Java-da hapa ýygnaýjylaryň bolmagy sebäpli prinsipde beýle mesele ýok. Şeýle-de bolsa, şeýle ýagdaýlardan gaça durmaga synanyşýan adamlar bar. Diňe kök uran stereotipe görä. Iň erbet tarapy, bu tagallalaryň netijesinde kod has çylşyrymlaşýar. Sintaksis öwrenmek aňsat. Doly däl. Dil ideologiýasy has möhümdir. Ony has netijeli özleşdirmek üçin başdan başlamaly. Näme üçin takyk we nädip? Bu başga bir sorag. Şeýlelik bilen Nireden we nädip başlamaly. Nämä ýetmek isleýändigiňize bagly. Ussat kodlaýyş maýmyny bolmak isleseňiz, islendik zatdan başlap bilersiňiz. Hünärmen bolmak isleseňiz, zatlar birneme çylşyrymly. Tejribäm maňa aşakdakylary aýtmaga esas berýär. Hünärmen dörediji bilen "kodlaýjynyň" arasyndaky tapawut, nämäniň bolup geçýändigine düşünmegidir. Basmak düwmelerinden birneme köp zat edýär. Güýçli gurşaw gaty gowy kömek. Onsuz edip bilýänler üçin. Itöne köplenç muny başladanlaryň ýeke-täk guralydyr. Absenceok bolsa, kodlaýan maýmynyň bahasy nola deňdir. Sebäbi basmak üçin düwmeler ýok. Umuman, düwmä basmak hakykatdanam elhenç görnüşleri alyp biler. Kärdeşlerimiň biri Java-da ýazylan önümi gördi. Ony gurnamak boýunça görkezmeler: “JBuilder-i diskden guruň ...” sözleri bilen başlandy, indi bu eýýäm ölüm howply. Öndürijiler önümi ösüş gurşawy bolmazdan işledip bilmeýän bolsalar, onda nädip ýazylandygyny pikirlenip gorkýaryn. Iň bolmanda, höwesjeňler tarapyndan ýazyldy. "Nämäniň bolup geçýändigine düşünýär" diýmek bilen näme diýjek bolýaryn? Bu, adamyň aşakdakylara düşünmelidigini aňladýar:
  • Wirtual maşyn näme we näme üçin zerur?
  • Wirtual maşynyň nukdaýnazaryndan synp näme.
  • Bukja näme?
  • Kitaphana näme?
  • Wirtual maşyn synplary nädip gözleýär we ýükleýär; synp ýükleýji näme we ol nähili işleýär; tertip boýunça näçesi bar; synp ýoly näme.
We ş.m. we ş.m. Sanaw dowam edýär. Öndürijiniň özüne mahsus bilimleri goşmadym. Sapak näme, OOP nukdaýnazaryndan synp näme we obýektden nähili tapawutlanýar, düzüliş dolandyryjylarynyň nähili işleýändigi - HER HER dörediji bularyň hemmesini bilmeli. Sanaw eden zatlarymyň hemmesi tehniki taýdan has köp. Veryöne köplenç nädogry işleýändigine düşünmek üçin olary bilmek möhümdir. Durmuşdan mysal. Xalan atly XML bilen işlemek üçin kitaphana bar. Onda birnäçe javax.xml ... paketler - derňewçiler, transformatorlar we ş.m. bar. Bu kitaphana örän meşhurdyr. Mesele, şol paketleriň J4SDK-da 1.4 wersiýasyndan bäri barlygydyr. Sorag. Kitaphanadan javax.xml.transform.stream.StreamSource synpyna gireniňizde haýsy klasa ýüklener, eger xalan synp ýolunda - kitaphanada ýa-da J2SDK-dan bolsa? Bu soraga jogap bermek üçin synp ýükleýjiniň nähili işleýändigini bilmeli. Bir gezek forumlaryň birinde ahyrsoňy bu meselä gelen dört günlük çekişmäni gördüm. Kod takyk işlemedi, sebäbi ýükleýji ondan garaşylýan synpy almady. Men näme alýaryn? Ine, bir zat: ösüş gurşawy näçe güýçli bolsa, işläp düzüji üçin şonça-da köp pikir etmeli. Bu eýýäm erbet. Maýmyna şeýle ýakyn. Bu näçe gapma-garşylykly görünse-de, birinji netijä gelýär:

Netije 1. Güýçli gurşawsyz Java öwrenip başlamak maslahat berilýär.

Notepad derejeli redaktorlarda ýazmagy goldamok. Thisöne muny ýeke-täk sebäp bilen etmeýärin - adatça, sintaksis aýratynlygy ýok. Bu, oňaýsyz täsir etmeýän ajaýyp amatly zat. Notepad ++ ýaly bir zady ulanyp bilersiňiz , Java sintaksisine düşünýär we aýtsak mugt. Mysal üçin, ulgamda ýörite hasaba alnan .java faýl görnüşi bar. Şeýlelik bilen, sintaksis aýratynlygy we buýruk setiri bolan tekst redaktory. Iki ýa-da üç gün azap - we synp ýolunyň nämedigine, terjimeçiniň nädip işe girizilendigine we bir topar beýleki ownuk zatlara düşünmek - muňa düşünmek hemişelik galar. Mundan başga-da. Tejribäm, geljekde ulanmak üçin bilim alyp bolmaýandygyny aýtmaga esas berýär. Diňe jogap berjek soraglar bolanda edebiýaty okamagyň manysy bar. Kitap hakda soraglar bolmazdan okasaň, maglumatlar bir hepdäniň içinde ýok bolar. Muny gaty gowy bilýärin, şol sanda öz tejribämden. Bir gezek servletlerde bäş gezek kitap okap başladym. Işimde olar bilen iş salyşýançam, maglumatlar siňmedi. Bu izolirlenen ýagdaýdan uzak. Bir wagtlar, gaty uzak wagt mundan ozal, takmynan 8-10 ýyl ozal aşakdakylary okadym, gynansagam awtory ýadyma düşenok: adama täze programmirleme dilini nädip öwretmeli? Örän ýönekeý. Oňa dil, birnäçe meseleler we iň az resminama bermeli. Birnäçe aýdan soň, iň bolmanda şu dilde ýazyp başlanda, giňişleýin resminamalary beriň. Iki hepdäniň içinde detektiv romany ýaly okalar, şondan soň adam işlemäge taýyn bolar. Bu söz bilen 100% ylalaşýaryn. Iki aýyň içinde, bir tarapdan, ownuk meseleleriň hemmesi ýok bolar. Olara jogaplar özbaşdak alynar, bu bolsa olaryň bahasyny ep-esli ýokarlandyrar. Başga bir tarapdan, resminamalar tarapyndan beriljek anyk soraglar eýýäm emele geler. Bu, birinji netijeden pes däl ýaly görünýän ikinji netijä getirýär:

Netije 2. Okuw kitaplary bolmazdan Java öwrenip başlamak maslahat berilýär. Java API resminamalary + Java gollanmasy - bu ýeterlik däl.

Java API resminamalary hökmanydyr. Locallyerli, diskde saklamagy maslahat berýärin. Siz onuň bilen bir gezekden köp, iki gezek däl, hatda on gezek habarlaşmaly bolarsyňyz. Şahsy tarapdan, ol ýere gitmejek günümem geçmeýär. Şeýle hem, Java sapagyny ýerli derejede saklamagy maslahat berýärin. Bu okuw kitabyny doly çalyşýan giriş derejesindäki maglumatlar. Şeýle-de bolsa, ol ýerde ýeterlik mukdarda bar. Iş ýerim bilen iş salyşmaýan ýerlerimde henizem özüm üçin täze bir zat tapýaryn diýmeli. Köp okamak erbet. Isleg ýok bolsa, jogap ýok. Biraz okamak hem erbet. Altyn manysy nirede? Men bu düzgüni berjaý edýärin: Soragyň jogabyny alýançam, okaýança okadym. 90% ýagdaýda beýle däl. Thisöne şu pursatda özbaşdak durup, dowam etdirmek iň gowusydyr. Başlangyç itergi alyndy we meseläni özbaşdak çözmek has köp zat berer. Elbetde, belli bir wagtdan soň edebiýat bilen meşgullanmaga mynasyp. Againöne ýene-de giriş derejeli edebiýat üçin. Bularyň hemmesi manysyz ýaly bolup görünse-de, başlangyç baplary okamaga mynasyp. Iň bolmanda täze bir zat öwrenjekdigiňize kepil geçip bilerin. Soň bolsa bu bir zat gaty möhüm bolup biler. Bolýar. Näme hakda ýazjagymyza düşünen ýaly. Nädip ýazmaly. Whatöne näme ýazmaly? Bu makalanyň nireden başlandygyny ýadyňyzdan çykarmaň. Derrew habarlaşma ulgamyny ýazmak bilen başlamalymy? Elbetde, saýlamak saňa bagly. Maňa munuň gymmaty ýok ýaly. Wezipe näçe çylşyrymly bolsa, şonça-da köp sorag ýüze çykar. Tejribäniň ýoklugynda şeýle soraglaryň ençemesi olary çözmegiň mümkin däldigini, soň bolsa özüňi pes hasaplamak, samsyklyk we ş.m. Netijede, bu "dowzaha dowzaha ..." kararyna we dil öwrenmegi bes edip biler. Bular. zerur bolan täsirinden has ters täsir etmek üçin. Bu, Java-yň okuw prosesi ýaly kän däl. Emma näme üçindir programmirlemegi öwretmek meselesinde muny ýatdan çykarýarlar. Bu aralykda, ahyryna çenli tamamlanan kiçijik bir iş, syýahatyň başynda terk edilen ägirt uly ulgamdan has uly kanagatlanma we has uly bilim berip biler. Şonuň üçin üçünji netije: Netije 3. Java-ny häzirki Java derejäňize laýyk gelýän meseleler bilen öwrenip başlamak maslahat berilýär. Formula 1 awtoulagynda ulag sürmegi öwrenip başlamaly dälsiňiz, dünýä çempionatynda ýeňil dag lykia typmagy öwrenmeli dälsiňiz. Edil şonuň ýaly, ullakan bir zat ýazmak bilen Java-ny özleşdirip başlamaly dälsiňiz. Ambisiýanyň talap edýändigine düşünýärin. Emma bu ýagdaýda esassyz. Näçe manysyz ambisiýaňyz bar bolsa, hünärmen bolmak mümkinçiligiňiz şonça az. Okuw nukdaýnazaryndan ajaýyp hadysa, geň zat, dürli forumlar. Olary paýhasly ulansaň. Paýhasly - bu, adatdakysy ýaly däl-de, tersine etmelidigiňizi aňladýar. .Agny, sorag bermek däl-de, jogap bermek. Islän zadyňyz bar. Özümi hemme zady bilýärin öýdýän bolsaň, gaty ýalňyşarsyň. Hawa, men köp zady bilýärin. Neveröne hiç haçan duş gelmedik ýerlerim bar. Ora-da bar, ýöne gaty az. Amalymdan nusgawy mysal, şahadatnamalar bilen işlemek: kodlara gol çekmek, ygtybarly birikmeler we ş.m. 1998-nji ýylda tezis ýazanymda muny etdim, ýöne şondan bäri hemme zat köp üýtgedi. Yllaryň dowamynda soraglar toplandy. Hatda käbir edebiýaty okap başladym. Aboveöne ýokarda aýdyşym ýaly, geljekde ulanmak üçin bilim alyp bilmersiňiz. Garynja ýaly - bir gulaga girip, beýlekisine çykýar. Kelläniň deşiginden başga netije ýok. Bu, forumda tomcat bilen SSL baglanyşygy barada sorag berlende, ýakynda dowam etdi. Käbir meseleler bardy. Diňe şu sorag meni çuňňur gazmaga iterdi. Isleg bar bolsa, jogap hem bar. Diňe adamyň problemasynyň nämedigini bilmek bilen çäklenmän, başga-da bir topar peýdaly maglumatlary tapdym. Şahadatnamalaryň nähili işleýändigine ahyrsoňy düşündim. Degişli makala meýilnamalarda. Bu hemişe bolup geçýär. Birneme işledim, mysal üçin GUI bilen. Diňe forumdaky biriniň beren soragynyň netijesinde men “TextLayout” -yň käbir mümkinçiliklerine düşündim. Bu soragdan ozal olar hakda pikirem ýokdy. Edil şonuň ýaly, ýaňy-ýakynda JButtonyň html-i hem öz sözbaşysy hökmünde düşündirýändigini bildim. Ondan öň muny diňe JLabel edip biler diýip pikir etdim. Bu ýene-de forumyň kömegi bilen. Şeýlelik bilen ýüze çykýar: soraglara näçe köp jogap bersek, şonça-da köp öwreneris. Şol sebäpli bir adam forumda otursa, hiç zat etmeýär diýen pikir bilen ylalaşamok. Bu düşnükli däl we ilkinji nobatda adamyň näme üçin foruma girýändigine baglydyr. Esasan näme edýär - soraň ýa-da jogap beriň. Aslynda, sorap bilersiňiz. Alsoöne akylly-başly. Çözüw soramaň (esasanam, başga bir gün duş gelen “Bilýänlere jogap beriň we sorag bermäň!” Criptazgysy bilen), ýöne tersine, tersine, bellemegi haýyş ediň! hereketiň ugry. Başlan adam üçin nirede gazmalydygyna düşünmek kyn, sebäbi diňe tejribesi ýok. Bu adamyň ýalňyşlygy däl, hatda mesele hem däl. Bu gowy. Her kim muny başdan geçirdi. Menem goşdum. Meniň özüm üçin adamyň bir zat öwrenmek islemegi has möhümdir. Diňe jogap almak däl, diňe programma laboratoriýasyndan bäş minut soň ýatdan çykarmaly. Elmydama hereketiň ugruny aýdaryn. Men ony özüm tanaýan bolsam. Bilmesem, iň bolmanda çaklap bilerin. Elbetde, bu soraga jogap gözlärin. Probablyöne belki hiç haçan göni jogap bermerin, iň bolmanda, ýadymda däl. Theeri gelende aýtsak, hut şu sebäpli forumlardan birini terk etdim. Öňdebaryjy soraglary berip başlanymda, olar maňa ýönekeý jogap bermegiň adatydygyny biragyzdan düşündirdiler. Soraglarym bilen has öňe gidip bilerin. Forumyň derejesiniň islenýän köp zady galdyrandygyny göz öňünde tutsak, iň bolmanda bu çemeleşmäniň kömegi bilen! - Indi wagt ýitirmezlik kararyna geldim. Şonuň üçin öz islegiňize görä forum saýlaň we gidiň. Theeri gelende aýtsak, bu sahypa forumlaryň biriniň kömegi bilen ýüze çykdy. Birnäçe wagtlap ol ýerde gürleşenimden soň, iň köp ýygy-ýygydan gozgalýan mowzuklaryň sanawyny ýygnadym we şeýle sahypanyň isleginiň boljakdygyna düşündim. Şeýdip, şeýle boldy. Makalalaryň hemmesi diýen ýaly forumdaky käbir çekişmelerden soň ýazylýar. Ora-da yzygiderli alyp barýan hatlarymdan soň. Netije näme? Işlemek, işlemek we gaýtadan işlemek. Başlangyç etapda özüňiz üçin näçe köp rugsat berseňiz, şonça-da az bilim alarsyňyz. Hünärmentlige barýan ýol näçe uzyn bolsa. Onlyöne diňe kim bolmak isleýändigiňizi saýlap bilersiňiz - akylsyz düwmä basýan maýmyn ýa-da hünärmen. Bu ýa-da beýleki ugurlara ýetip boljak ýoly diňe özüňiz saýlaýarsyňyz. Birinji ýol düşnüklidir. Ikinjisini görkezjek boldum. Hereketiňiz, jenaplar! Asyl çeşmä baglanyşyk: Geliň, başyndan başlalyň ýa-da 'Salam, Java World!'
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION