Boldog új évet kívánok!

Sok embernek az új év egyben az újévi fogadalmak korszaka: most majd lefogynak, leszoknak a dohányzásról, több időt töltenek a családdal – vagy éppen megtanulnak programozni. Ha ilyenkor mész be egy edzőterembe, akkor nagy zsúfoltságot találsz, ha februárban-márciusban, akkor már jóval kevesebb az ember.

Ebben a bejegyzésben összeszedtem néhány szempontot, amivel az újévi fogadalmad – ha tettél ilyet – sikeresebb lehet. És ha esetleg nem januárban olvasod ezt a cikket, tudd, hogy bármikor dönthetsz úgy, hogy megváltoztatod az életed és új dologba kezdesz, nem kell vele megvárni a következő év elejét.

Nézzük előbb, hogy mit lehet az újévi fogadalomszerű vállalások kapcsán elrontani.
Tovább

A kedvenc viszontkérdésem erre az, hogy “Meg lehet-e tanulni könyvből karatézni?” vagy “Hány könyvet kell elolvasnod ahhoz, hogy fekete öves karate mester legyél?”

Hadd fejtsem ki egy kicsit jobban.

Az elméletet el lehet olvasni.
Tovább

A minap egyik ismerősömmel beszélgettünk, főként a vállalkozás volt a téma, és – mivel mi ezzel foglalkozunk – szóba került a programozás is. Az eszmecsere egy pontján az a megállapítás hagyta el a száját, hogy a programozás számára mindig is egy “száraz” téma volt, semmi érdekeset nem lát benne, ő biztos nem tudná jól csinálni, “hülye lenne hozzá”.

A reakcióiból ítélve valószínűleg nagyon bután nézhettem rá.

Az egyik az, hogy szerintem egy értelmes ember meg tud tanulni programozni (ezért is állítottunk össze egy olyan tesztet, amiben erről meg lehet bizonyosodni), de erről már többször írtam.

A másik pedig,
Tovább

Többször feltették már nekem a kérdést, hogy ezzel a tanfolyammal mit lehet elérni?
Mire leszel képes?

Talán az lesz a legjobb, ha megmutatom.
Ezt a programot a StudiCore Online Java tanfolyam anyagával hozta létre Lesznyák Mátyás.
Ez azt jelenti, hogy ha velünk tartasz, és végighaladsz a tanfolyamon, te is képes leszel ilyen és ehhez hasonló programok írására.

Neked milyen ötleted lenne, amit szívesen leprogramoznál?
Nem lenne csodálatos, ha olyan programot használhatsz, amit tökéletesen a saját szád íze szerint tudnál megírni?
És ha változtatni akarsz rajta, bármikor nyugodtan megteheted?

Ha még nem hallottál róla, az előfizetéssel nem rendelkezők számára a Basic csomag ára december 1-től megemelkedik.
Ha még előtte szeretnél csatlakozni, most lehetőséged van annyi hónapnyi Basic előfizetést vásárolni, amennyit szeretnél:

Megrendelő űrlap

Mi a különség a csomagjaink között?

Nagy örömmel jelentem be, hogy a StudiCore Online Java Basic csomagja teljessé vált, azaz Pro csomagra váltás nélkül végig tudsz rajta haladni.

A StudiCore Online Java Basic csomag egy olyan képzési forma, melyben el tudod érni

  • az oktatási anyagainkat
  • ki tudod tölteni a teszteket
  • használhatod az automata feladatkiértékelő rendszert
  • mindezt online, utazgatás és rögzített időbeosztás nélkül
  • … és mostantól sebességlimit nélkül tudsz előrehaladni, végig a teljes képzésen

A Pro csomagunk tartalmazza azt a szolgáltatást, hogy az oktatóink átnézik a programjaidat, válaszolnak a kérdéseidre, támogatnak, ha elakadtál. Azaz mentorálnak.
Már erről több helyen írtam, hogy fontosnak tartom a jó programozóvá váláshoz, hogy egy oktató átnézze a programjaidat, és felhívja a figyelmedet azokra a hibákra, amiket addig nem vettél észre. (Ha junior programozóként a code reviewer senior programozó teszi ezt, az már elég zavarbaejtő). Illetve tud segíteni abban, hogy ne csak programozni tudj, hanem jó programozóvá válj.

A Basic csomag azoknak való, akik:

  • tudnak egyedül, önállóan haladni, mondjuk azért, mert már programoztak korábban
  • senkihez és semmihez nem akarnak alkalmazkodni a tanulásuk időbeosztásában

Úgyhogy csak gyertek, csak gyertek, szépen sorjában, semmi tülekedés, jut mindenkinek! (Szemben a Pro csomaggal, aminek véges a kapacitása)
További info: itt

Mivel most már teljes értékű a Basic csomag, azt tervezzük, felemeljük az árát. Szóval ha gondolkodsz azon, hogy elkezdd, akkor itt az ideje lépni!

Akár választottál már programozási nyelvet magadnak, akár nem, biztosan felmerült a kérdés benned, hogy milyen módokon lehet a programozást megtanulni.

Összegyűjtöttem neked a lehetséges módokat. Ha analógiát szeretnék keresni rá, tegyük fel, elhatározod, hogy le akarsz fogyni és ezért sportolni kezdesz. Mindkét esetben milyen lehetőségeid vannak?
Tovább

Ha még nem értesz a programozáshoz, felmerülhet benned a kérdés, hogy ahhoz, hogy valamit tudj programozni, melyik nyelvet tanuld meg.

Összeállítottam egy grafikont, ami megmutatja, hogy az egyes lehetőségekhez melyek azok a népszerű* nyelvek, amelyeket azon a területen ajánlott tanulni. (* – TIOBE Index 2017. október első 7 nyelv, kivéve az iOS, mert ott egyik nyelv sincs a TIOBE TOP 7-ben)

Melyik programozási nyelv (Java, C++, Javascript, Python, PHP, C#, C) mire való - ábra

Továbbra is hangsúlyozom, nem ajánlom, hogy párhuzamosan kezdj el több nyelvet is. Válassz egyet, ismerkedj meg vele, ásd bele magad egy kicsit jobban. Utána még mindig válthatsz és/vagy tanulhatsz újat. Könnyű beleesni abba a hibába, hogy már 10-féle nyelven tudod kiszámítani a 2+2-t, de igazán egyik nyelvvel sem tudsz még semmi említésre méltót leprogramozni, viszont már egy éve foglalkozol a programozással. Ahhoz, hogy megismerd egy nyelv erősségeit, gyengeségeit, sajátosságait.

Gondolj úgy a nyelvválasztási kérdésre, mint egy párkapcsolatra.
Tovább

Ha kívülállóként közelítünk a programozás világához, akkor felmerülhet bennünk a kérdés: “Végülis mit csinál egy programozó egész nap? Szeretném-e én ezt csinálni?”

A kérdés tök jogos, főleg, hogy az IT szakemberek között százával terjednek az ehhez hasonló összeállítások:

Ezek persze a humor kategóriájába tartoznak, de azt jól jelzik, hogy megérteni kívülállóként, hogy mit csinál egy programozó, nem könnyű.
Tovább

Az előző blogbejegyzésemben az informatika világát egy folyóhoz hasonlítottam, mely részben gyorsan, részben viszont állati lassan változik.

Adódhat a kérdés, hogy mégis hogyan viszonyuljunk ehhez az egész informatikához, ami – ahogy a csapból is folyik – “rohamtempóban változik”.

Ahogy az előző írásomban is említettem, a rohamtempó olyan rohamos, hogy 40 éve találták ki azt az elvet, amit ma a programozásban használunk, és a mai számítógépek elveit 70 éve írták le.

Változások az ember élete alatt

Tovább

“Végülis milyen programozási környezetet tanuljak, ha biztosra akarok menni?”

Az informatika világát egy folyónak tudnám leírni: vannak olyan ismeretek benne, amik nagyon gyorsan változnak (a víz felszíne, ahogy hullámzik), azaz pl. a Windows 8.1 és 10 között is számos beállítás másképp néz ki, pedig csak néhány év telt el a kettő között. Aztán ahogy haladunk egyre mélyebbre és mélyebbre, egyre stabilabb, állandóbb dolgokhoz jutunk: Bár a Windows 10 és 8.1 között számos beállítás máshova került, de mondjuk ugyanúgy monitoron nézzük a képet és billentyűzeten és egérrel visszük be, amit akarunk.

A programozásnak is megvannak a maga állandóságai:

  • A ma széles körben használt programozási módszertan, az objektumorientált programozás a ’70-es évekből származik, azaz közel 40 éves!
  • A számítógépnek, amit ma használunk, a működési elvét még Neumann János dolgozta ki, 1945-ben, azaz több, mint 70 évvel ezelőtt!

Mi az, ami nélkül nehezen lehet boldogulni ma a szoftverfejlesztés világában?

  • programozás, objektumorientált paradigmával (a Java ilyen, az egyik legjobban, legtisztábban valósítja meg ezt az elvet)
  • verziókezelés: a programkódunkat el kell tudni tárolni valahogy (git, SVN)
  • adatbáziskezelés: az SQL szinte kikerülhetetlen, de a NoSQL is egyre népszerűbb
  • valamilyen választott környezetünkhöz illeszkedő build tool (Java esetén Maven vagy Gradle)
  • HTML, CSS viszonylag közismert mostanában minden területen
  • Javán belül célszerű a Hibernate és a Spring megismerése, nagyon elterjedt a használatuk (ezek amolyan “kiegészítő” eszközök, mint egy autóban a légkondi. A legtöbb autóban van, nélküle is lehet utazni, de nagyon leizzad az ember, míg odaér. Szóval jobb, ha használjuk).
  • Ha webprogramozás felé megyünk, akkor nem tudjuk a Javascriptet és annak valamilyen keretrendszerét (pl. Angular) megkerülni

Az, hogy milyen programnyelven kezdünk el programozni, számít is, meg nem is.
A programozási képességeinket meg tudjuk szerezni bármely programozási nyelven, bár célszerűen objektumorientált nyelvet jó választani.
Ezeken belül vannak olyanok, amelyek nehezebbek (C++), mások könnyebbek (Java, C#, Python).
Vannak, amelyek tisztábban követik az elveket (Java, C#), így jobban bevésődik a használatukkal, vannak, amelyek nagyobb szabadságot engednek (C++, Python).
Vannak modernek, amiket még kevesen használnak (és ki tudja, mekkora lesz a jövőben a népszerűségük), vannak aktuálisan sokak által használtak (pl. Java, C#, PHP, Javascript), és van, amiknek már leáldozott a csillagjuk (pl. Pascal vagy Fortran).

A Java sok szempontból észszerű választás:

  • sokan használják, sok a betöltetlen állás
  • sok területen használható (Android, web, desktop, nagyvállalati rendszerek)
  • tisztán követi a programozási elveket
  • viszonylag egyszerű megtanulni
  • készségesen a programozó keze alá dolgozik, így nem a technikai részletekre, hanem a feladatok megoldására kell koncentrálnunk. (Azaz autós példával élve: van üzemanyagszintjelző, nem kell állandóan kiszámolnunk a sebesség és megtett út függvényében, hogy van-e még elég benzin a következő benzinkútig).
  • a Java programozók jól fizetettek