Mit jelent a programozás?

Tegyük fel, hogy egy multinak dolgozol, és épp egy kínai üzletemberrel való találkozóra készülsz. Az anyanyelved magyar, és egy szót sem beszélsz kínaiul. De eszedbe jut, hogy angolul viszont tudsz, és a kínai üzletember is tud angolul. Így aztán az angol lesz a közös nyelv, amin tárgyalni és beszélgetni tudtok egymással.

 

A HTML, CSS, JavaScript, Java stb. pont ugyanígy segít a számítógépekkel való kommunikációban: olyan nyelvek, amit mi is, és a számítógépek is értünk.

A számítógép anyanyelve bináris: az 1-esek és 0-ák hihetetlenül hosszú sorából áll. Az emberek számára szinte lehetetlen ezen a bináris nyelven akár írni, akár olvasni, ezért inkább kitaláltak különböző programozási nyelveket, amiken beszélni tudnak a számítógépekkel. Mivel a számítógépek nem ismerik az emberi nyelveket, valahol félúton kell találkoznunk.

De az emberekkel ellentétben a számítógépek nem képesek megérteni az indirekt kommunikációs formákat, és mindig mindent szó szerint vesznek. Bármit mondasz nekik, pontosan úgy fognak cselekedni, ahogyan utasítottad őket. A számítógépek nem elég okosak ahhoz, hogy önálló döntéseket hozzanak, és csak nagyon szájbarágósan lehet velük beszélgetni, különben nem értik meg mit akarunk. Emiatt nagyon fontos, hogy pontos utasításokat adjunk nekik.

Például ha megkérnélek, hogy készíts nekem egy szendvicset, legfeljebb annyit kérdeznél, hogy mit kérek bele, és hogy melegszendvicsként kérem, vagy hidegen. Neked mindössze ennyi információra lenne szükséged egy finom szendvics sikeres elkészítéséhez. De igazából egy szendvics elkészítése során rengeteg apró döntést kell meghozni, és rengeteg háttértudást kell felhasználni.

Ha egyszerűen csak azt mondod egy számítógépnek, hogy kérsz egy sonkás-sajtos melegszendvicset rozskenyérrel és majonézzel, előfordulhat, hogy nem egészen azt fogod kapni, mint amire gondoltál. Egy ember tudná, hogy előbb meg kell kenni a kenyeret a majonézzel, aztán kerül a szendvicsbe a sonka és a sajt, végül a szendvicset be kell tenni a sütőbe.

 

De honnan tudná mindezt egy számítógép?

Emlékszel? Azt mondtuk a számítógépnek, hogy “egy sonkás-sajtos melegszendvicset kérünk rozskenyérrel és majonézzel”. Egy számítógép számára az tűnhet logikusnak, ha mindezt a megadott sorrendben hajtja végre. Előbb megsütné a sonkát és a tojást, majd tenne rá két szelet rozskenyeret, amit aztán megkenne majonézzel.

 

Nem kéne ennél azért okosabbnak lennie egy számítógépnek?

Hát, mivel a számítógépek szó szerint veszik a dolgokat, meg kell számukra határoznunk a lépések pontos sorrendjét, és hogy melyik összetevő hova kerül. Mindenki tudja, hogy a töltelék a két szelet kenyér közé való, de a számítógépnek nincs korábbi ismerete arról, hogy mi az a szendvics – csak követi a konkrét utasításokat.

Többek között ez az egyik oka annak, hogy egyelőre még nem tudunk a számítógépekkel emberi nyelven beszélgetni. Az általunk beszélt nyelvek egyszerűen túl zavarosak és homályosak ahhoz, hogy egy számítógép igazán megértse. Ráadásul ha egy szónak vagy mondatnak több értelmezése is lehetséges, a számítógép nem tudná eldönteni, hogy melyik igaz éppen. Neki mindig mindent nagyon pontosan kell megfogalmazni.

Az igazság az, hogy a számítógépek egyáltalán nem okosak; csak sokkal gyorsabban tudják feldolgozni az információkat, mint mi.

Kik azok a programozók, és mit csinálnak?

Emlékezzünk, hogy egy számítógépnek nem tudod egyszerűen magyarul megmondani, hogy mit szeretnél. Szükséged lesz egy programozóra, aki tolmácsol neked. A számítógép programozó egy olyan személy, aki közvetíti a számítógép felé a gondolataidat és utasításaidat, weboldalakat, játékokat és egyéb programokat, alkalmazásokat létrehozva, amelyek aztán megjelennek a kijelzőn.

A programozóra azt is mondhatnánk, hogy olyan egy poliglot (olyan ember, aki több nyelven beszél), aki arra szakosodott, hogy számítógépekkel kommunikáljon. Ő pontosan tudja, hogy pontosan mit és hogyan kell mondani egy számítógépnek ahhoz, hogy az megértse. Ha már tanultál valaha nyelvet, tudhatod, hogy minden nyelvnek saját szókincse, nyelvtana és szabályrendszere van. A programozási nyelveknek is mind megvannak a maguk szabályai, amit szintaxisnak hívunk.

Míg egy ember valószínűleg még akkor is megért, ha rosszul ejtesz egy szót, nem a megfelelő kötőszót használod, vagy nyelvtani hibát ejtesz, a számítógépek sokkal kevésbé siklanak el az efféle hibák fölött. Ahogy bármi hiba van a szintaxisban, a számítógép hátat fordít neked és nem futtatja tovább a programot.

Micsoda neveletlenség.

 

Mit érhetek el azzal, ha megtanulok programozni?

Ha használtál már valaha számítógépet, néztél videókat az interneten, vagy játszottál valamilyen videójátékot, nehéz elképzelni, hogy mindez igazából csak egy sor betűből és szimbólumból áll. A számítógépnek az az erőssége, hogy egy másodperc alatt több ezer sornyi programot tud feldolgozni, és ez teszi lehetővé, hogy meglehetősen összetett utasításokat is képes legyen végrehajtani, és ezáltal hihetetlen feladatokat tudjon elvégezni.

Íme néhány menő dolog, amit a programozással kezdeni lehet:

  • Weboldalak készítése és tervezése
  • Mobilalkalmazások építése
  • Asztali alkalmazások fejlesztése
  • Videójátékok fejlesztése
  • Adatbázisok létrehozása és karbantartása
  • Feladatok automatizálása
  • Összetett problémák megoldása
  • Mesterséges intelligencia létrehozása
  • Statisztikai elemzések elvégzése
  • És még sorolhatnánk…

Ha ezek közül bármelyik érdekel téged, és akár megélhetés szinten is foglalkoznál velük, akkor a programozás egy határozottan fontos készség lesz számodra, amit megéri elsajátítani.

 

Miért hasznos programozni, és mire jó?

Mivel a mindennapi életben egyre többet támaszkodunk számítógépekre, a számítógépes programozás és kódolás jelentősége is egyre nő.

A következő néhány évben már szinte minden területen jelen lesz a számítógépes programozás, és ha tudsz kódolni, az mindenképpen jó hatással lesz a karrieredre. A programozási tudásodat felhasználhatod például szövegírási, elemzési, menedzsment, műszaki és szoftver fejlesztési területen, hogy csak néhányat említsek.

A programozás szószólói például már teljesen úgy tekintenek a kódolásra, mint alapkészségre az írás, olvasás és egyszerű matematikai műveletek elvégzése mellett. Ezzel több ország kormányzata is egyetért, és több javaslat is született már olyan kezdeményezésekre, amelyekben a programozás alaptananyagnak számítana az iskolákban.

Ahogyan mi, ők is úgy gondolják, hogy a programozás kulcsfontosságú ahhoz, hogy a globális piacon versenyképes maradjon valaki.

 

Azt már értem, hogy hasznos, de milyen pontosan a programozás?

A programozók egy átlagos napja egyáltalán nem olyan lenyűgöző, mint ahogyan azt néha a filmekben vagy a tévében látjuk.

A programozáshoz sok odafigyelés, türelem és belső hajtóerő szükséges. Ha nem tudsz órákon keresztül egy helyben ülni és koncentrálni, akkor kétszer is gondold meg, hogy tényleg a programozói karrier a legmegfelelőbb-e neked.

Némelyik programozói állásban rendszertelen időbeosztásban kell dolgozni: azonnal reagálni kell a felmerülő problémákra és ki kell javítani a programhibákat, bármikor is jöjjön a kérés. Máshol lehet, hogy reggel 9-től délután 5-ig kell dolgozni, mint egy hagyományos irodai munka esetében.

Ennek ellenére programozóként valószínűleg nagyobb szabadságot élvezhetsz majd, mint a jelenlegi szakmádban. Sok programozói munkakört távmunkában is lehet végezni, szóval programozhatsz otthon, egy kávézóban, vagy akár a tengerparton napozgatva – feltéve, hogy elér odáig a wifi.

 

Biztos nekem való a programozás?

Itt jön az a rész, amikor komolyan végig kell venni a a programozói szakma előnyeit és hátrányait. Esetleg elrugaszkodott elképzeléseid voltak a programozásról, és nem gondoltál bele, hogy végső soron a programozás is olyan, mint bármilyen más szakma – ezt is csinálni kell, időt és energiát nem kímélve. De ha a következő szempontok igazak rád, akkor elég jó esély van rá, hogy minden percét imádni fogod.

Jelek, amik arra utalnak, hogy a programozás NEM neked való:

  • Csak az anyagi lehetőségek érdekelnek, a számítógépek egyáltalán nem
  • Nem szeretsz sokáig egy helyben ülni
  • Ha eléd kerül egy oldalnyi kód, tekinteted üvegessé válik
  • Viszonylag lassan gépelsz, és gyakran vannak elütéseid

 

Jelek, amik arra utalnak, hogy a programozás NEKED VALÓ:

  • A gondolkodásod egyszerre kreatív és elemző
  • Odafigyelsz a részletekre
  • Egyedül és csapatban is szívesen dolgozol
  • Jól megérted az írott angolt
  • Imádsz problémákat megoldani
  • Imádsz folyton új dolgokat tanulni
  • Jól alkalmazkodsz a változásokhoz
  • Szereted rendszerezni az információkat és automatizálni a folyamatokat

 

MIlyen programozási nyelvet válasszak, hol kezdjem?

Térjünk vissza kicsit az eredeti példánkhoz a kínai üzletemberrel.

Bár az angol hasznos lehet üzleti környezetben, előfordulhat, hogy más területeken esetleg más nyelveket érdemesebb megtanulni. Például lehet, hogy a diplomáciában értékesebb a francia nyelvtudás, a filozófiában a görög lesz segítségedre, műszaki területeken pedig a németnek láthatod nagyobb hasznát. Attól függően, hogy milyen területen dolgozol, ahhoz illeszkedően fogod kiválasztani a neked legmegfelelőbb idegen nyelvet.

Minden egyes programozási nyelvet nem fogsz tudni megtanulni, időd se lenne rá, ezért érdemes jól megtervezni, hogy milyen nyelveket fogsz megtanulni. Először azzal kell tisztában lenned, hogy mit szeretnél csinálni, és ehhez milyen nyelvek ismerete szükséges.

Bár technikailag nem számítanak programozási nyelvnek, a HTML és CSS nyelvek elsajátítása remek alapokat ad ahhoz, hogy megértsd hogyan működik a programozás. A HTML-t és a CSS-t “text markup language”-nek, azaz szövegeket leíró nyelvnek hívják, mivel arra használjuk őket, hogy szövegeket formázzunk és rendszerezzünk velük. A HTML és a CSS nélkül a böngésző nem tudná, hogy az adott szöveget címsorként, bekezdésként vagy például élőlábként kell-e megjeleníteni. Azt sem tudná, hogy a szavakat félkövér, dőlt vagy egyéb formában mutassa nekünk.

Ennek a cikknek az írásához is HTML-t és CSS-t használok éppen, hogy segítsek neked is, és a számítógépednek is megérteni, amit mondani szeretnék.

 

T.h.; n.o. (Túl hosszú; nem olvastam)

Röviden: a programozás egy nagyon jól fizető szakma, amihez sok türelem és elhivatottság szükséges, nem beszélve a részletekre való érzékenységről.

Ha utálsz a számítógép előtt ülni, és nem vagy hajlandó belefektetni a szükséges időt a gyakorlásba, valószínűleg utálni fogod a programozást is, és elég hamar abba fogod hagyni. Akkor sem fog jól menni ez a szakma, ha csak a fizetés érdekel, nem pedig maga a programozás.

Mindenesetre, ha szeretsz új dolgokat tanulni, van belső motivációd és úgy állsz hozzá, hogy “meg tudom csinálni”, sikeres leszel benne – tanulmányi háttértől függetlenül.