Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Szmeby

    tag

    válasz cigam #8650 üzenetére

    Ha mindenáron le akarod szűkíteni a kört az alapvető dolgokra, Java esetén vedd például az OCA (Oracle Certified Associate) vizsga anyagát. Az Oracle oldalán is egészen jó tutorial van, és önszorgalomból még mélyebbre áshatsz a java elcseszett bugyraiban.
    Apró kiegészítés, hogy ehhez azért programozni is tudni kell, tehát az OCA tananyag nem tartalmazza azokat az általános technikákat, hogy mi fán terem az iteráció, a szelekció, ahogy az alapvető algoritmusokat, adatszerkezeteket sem tárgyalja (rendezések, fák, stb).

    Nagyon alap dolgokat magyaráz, viszont a Java rengeteg irritálóan logikátlan működésére is rávilágít. Már ha igazán beleásod magad. Az OCP egy szinttel tovább lép, de igazából csak még több alap osztály működéséről regél. Véleményem szerint talán túl is tolja ezt, az IDÉk világában nagyon nem érdemes fejből vágni a StringBuilder összes metódusát. Mert minek. Ott a forrás, megnézem, fél másodperc, és ennyi.
    De ha nagyon bele akarod ásni magad, hát kezdd a java.lang.* package osztályaival, aztán jöhet a java.util.*, java.util.concurrent.*, stbstb. De totál felesleges.

    A programozás reál tárgy, nem kell semmit beseggelni, mint a történészeknek. Az összefüggéseket kell ismerned. Nem az a lényeg, hogy fejből vágod, mennyi 4*5, hanem az, hogy ki tudod számolni. Vagy pl. nem kell ismerned, hogy az int -2147483648-tól 2147483647-ig tud számokat ábrázolni, hanem tudod, hogy a byte 8, a short 16, az int 32 biten tárolja az adatokat, amiben egyenlő arányban van negatív és pozitív, a nullát pozitívnak számítva. Kis matek és kijönnek a számok.

    Nincs rajz. A szakmánk annyira gyorsan változik, hogy a rajz is folyamatosan változna, emberenként totál eltérő. Arról nem is beszélve, hogy az emberiség nagyon kis százaléka rendelkezik olyan memóriával, ami hiánytalanul visszaadna neked egy korrekt rajzot.
    Akik ebből élnek, az általuk használt dolgokat már annyiszor guglizták ki, hogy megjegyezték. Ha idővel kevesebbet használják az adott dolgot, lassan elfelejtik, kikopik, megfeljebb újra rákeresnek, ha újra előjön. Ettől függetlenül nem hátrány, ha mesterien használod a keresőt, mert szükséged lesz rá. Ez így on-demand működik. Képtelenség mindent megtanulni. Az adott projekt dönti el, hogy mit kell használnod. Nekem például totál leépült a java.io tudásom, pedig rendkívül hasznos cuccok vannak benne... viszont évek óta a közelébe sem néztem. Elfelejtem, ennyi. Majd újra előjön, ha használnom kell. Ott a forrás, a javadoc, tutorialok, stackoverflow, google ...

    És igen, jó ha előre felkészülsz, hogy specializálódni fogsz, nem feltétlenül egy dologra, de fogsz. Mint mondtam, a világ összes ideje sem elég arra, hogy minden területen naprakész legyél.
    Ha csak azt nézzük, hogy a youtubera másodpercenként több órányi anyag kerül fel, ugyanilyen rémisztő a helyzet az új programnyelvek, frameworkök, technológiák területén is. Teljesen felesleges megtanulni valamit, amit nem használsz, időt energiát és pénzt pazarolsz vele. Főleg, hogy az összes szinte ugyanaz más köntösben. Kitalálnak egy új nyelvet, ami egy másik hibáit hivatott javítani, cserébe viszont más hibákat hoz be. A hiba alatt inkább a kényelmetlen, körülményes használatot értem. Egyik nap trendi, megismered, megtanulod, másnap már egy másik nyelv a favorit. Unaloműzésnek tökéletes, arra, hogy szélesítsd a látókörödet, kiváló, találkozhatsz érdekes, hovatovább hasznos megoldásokkal, de pusztán azért, hogy majd egyszer talán lesz haszna és használni is fogod, elárulom: nem lesz. :)

    Majd a projekt eldönti, hogy mit lesz a jó választás. Adott problémához kell keresned megoldást, és nem a megoldásokat bemagolni. Egyik nap kiderül, hogy Scalaban mennyivel hatékonyabb megoldani xy-t, és lényegében dobhatod a kukába mindazt a java tudást, amit csak azért szedtél fel, mert hátha jó lesz valamire. Ez persze erős sarkítás, de a magolással töltött időt hasznosabban is eltölthetted volna.

    Szóval ha megvannak a programozás alapok, akkor már csak egy megoldandó problémát kell keresned / csinálnod, majd arra prezentálni egy jó megoldást, alaposan körüljárva a témát, kisakkozva, hogy mi miért úgy van, ahogy. Meg hogy hogyan lehetne rajta még többet javítani, teszemazt lecserélve az ArrayListet LinkedListre, vajon mennyivel javul vagy romlik a performancia, stb. Bátran használd a keresőt, idővel majd úgyis megtanulod a gyakran használt dolgokat. :)

    Aztán talán felébred benned az igény az igényes kód előállítására is, megismerkedsz a tervezési mintákkal, Bob bácsi clean code irányelveivel, úgy gondolom ezek sokkal időtállóbbak, mint egy 86-ik framework ismerete.

Új hozzászólás Aktív témák