De tényleg, miért?
Ahhoz, hogy erről érdemben beszélgetni tudjunk, először meg kell határoznunk, hogy mi a program és mi a szoftver! (A legtöbb esetben szinonimaként használjuk őket, de van némi különbség, program alatt magát a kódot értjük, a szoftver ennél valamivel több.)
A magyar wikipédia szerint:
A szoftver (angol: software) alatt a legszűkebb értelemben elektronikus adatfeldolgozó berendezések (például számítógépek) memóriájában elhelyezkedő, azokat működtető programokat értünk.
(Érdekességként itt a teljes wiki oldal. Kicsit elavult, de az alapok megérthetők belőle, és némileg más szempontból is körüljárja a témát.) Nagyjából tehát azt mondhatjuk, hogy a szoftver az, aminek a segítségével a számítógépek és a hozzájuk csatlakoztatott eszközök működőképessé válnak. A számítógép lelke.
Egyes meghatározások szerint ennél is kicsivel többről van szó: Szerintük bele tartoznak még a számítógépen tárolt adatok és a kapcsolódó dokumentációk is.
(Itt szándékosan a számítógép megnevezést alkalmaztam minden processzort tartalmazó rendszerre. Engedjétek meg nekem ezt az egyszerűsítést!)
Rendben.
Most már tudjuk, hogy mi a szoftver definíció szerint. De mégis hol találkozhatunk vele a hétköznapokban? Mármint az asztali számítógépünkön/laptopunkon/tabletünkön/okostelefonunkon kívül? (Hiszen azt már ismerjük, egyértelmű!) Mert úgy ismerhetünk meg valamit igazán, ha nem csak a meghatározását ismerjük, hanem a mindennapokban találkozunk vele, meg is tapasztaljuk azt.
Az emberek többsége meglepődik azon, hogy mennyire sok területen munkálkodnak körülöttünk különféle programok!
1. Modern orvosi eszközökben
A modern orvosi eszközökben egy apró, de annál erősebb számítógép tevékenykedik, hogy segítségével a lehető leggyorsabban a lehető legpontosabb képet kapjuk a beteg állapotáról. Nekik köszönhetően a probléma sokkal jobban beazonosítható, és a pontosabb diagnózist hatékonyabb terápia követheti.
2. Okos eszközeinkben
Az okos TV, okosóra vagy smart mérleg, mindegyik tartalmaz mikroszámítógép(ek)et. Segítségükkel valósítják meg az internetes vagy a bluetooth-on keresztül történő kommunikációt, a különböző szenzorok/érzékelők adatainak feldolgozását, a filmek dekódolását és még egy csomó más dolgot. A programok ezekben az esetekben olyan feladatokat látnak el, amelyek
- olyan időzítést igényelnek, amelyet emberi kézzel kivitelezni lehetetlen
- érzékelők jeleit gyorsan és pontosan számolják át az emberi agy által is értelmezhető formára és értékre
- kommunikálnak más számítógépek programjaival
3. Autókban és egyéb közlekedési eszközökben
Ha a buszokon látható utastájékoztató-rendszert említem, talán senki sem lepődik meg azon, hogy ehhez is szoftver szükséges. Az viszont már meglepőbb lehet, ha azt mondom, hogy a modern autók kb 100-150 mikroszámítógépet tartalmaznak. Gondoljunk csak az esőérzékelővel ellátott ablaktörlők elektronikájára, az ABS-re, az ESP-re, vagy egyszerűen csak a szervokormány rendszerre, melyek a modern autókban már szinte teljesen leváltották a hidraulikus társaikat. (Ezek rendelkezhetnek pl. parkolási asszisztenssel, automatikus sávtartással, stb...)
4. Ipari/gyártási folyamatokban
Ahol mindig ugyanazok a lépések ismétlődnek, és esetleg mindezt nagy pontossággal is kell végezni, az emberi erőforrás kevésbé bizonyul hatékonynak, ezért a nagyobb gyárakban már a kritikus lépéseket teljesen vagy részlegesen robotokkal végeztetik. És mit gondoltok, mivel irányítják a programokat? Hát persze, hogy programokkal.
5. Automatáknál
Legyen az bankjegy kiadó automata, BKV vagy MÁV jegyértékesítő automata vagy csak egy egyszerű italautomata, mindegyiket programok működtetik. Előnyük, hogy az adott termékből mindig a pontos mennyiséget adják a minimálisan szükséges idő alatt. Nem lehet tehát olyan probléma, hogy a kiszolgáló fáradt vagy félrenéz valamit, a pénzünkért mindig ugyanannyi narancslevet kapunk :)
6. Szinte bármely elektronikus eszközünkben
Ahogy már bizonyára sejted, ha szétnézel magad körül, és egy elektromos/elektronikus eszközön akad meg a szemed, azt nagy valószínűséggel egy program segíti a funkciói ellátásában. (Igen, a digitális szobatermosztát, a klíma vezérlője, a nyomtató, a wifi router és a házimozi mind ide tartoznak, számtalan társukkal együtt.)
Ezeket áttekintve látható, hogy szinten mindenhol ott vannak, hogy a segítségünkre legyenek. Hol a munkánkat teszik könnyebbé, hol az életünket kényelmesebbé.
Na jó. Beazonosítottuk a szoftvereket és a fellelési helyüket.
Van azonban egy kis probléma! Érdekesnek hangzik ez a programozás-dolog, de az egész túl bonyolult, és csak a kiváltságosok juthatnak ahhoz az információhoz, ami ahhoz szükséges, hogy valaki megtanuljon programozni. De még ha meg is tudnám tanulni, nem szeretnék az a tipikus kocka lenni, akit a sztereotípiák alapján már mindenki ismer!
Ha esetleg ilyen és ehhez hasonló kételyek merülnek fel benned, az teljesen természetes. Mindig félelmetesnek és hatalmasnak tűnik az az új dolog, amit még nem ismerünk.
Ez a blog azért született, hogy ezen kételyeidet eloszlassa és segítséget nyújtson ezen a csodálatos úton, ami a szoftverfejlesztés irányába vezet.
Végezetül engedd meg nekem, hogy néhány érvet még felsoroljak, hogy miért is érdemes ezzel foglalkozni ma Magyarországon (vagy a világon bárhol):
- korunk egyik legkeresettebb szakmája, ezért kimagasló fizetésre tehet szert az, aki igazán jól csinálja.
- hatalmas élmény valami olyat létrehozni, ami "életre kel"!
- bonyolult feladatokat vehet át tőlünk egy program, amit saját speciális problémáink megoldására készítettünk
- unalmas, ismétlődő, monoton feladatainkat nyugodtan elfelejthetjük, ha írunk rá egy jó programot.
- magunk és mások életét is megkönnyíthetjük velük
- gyorsan lehet benne fejlődni, és ami hasonlóan fontos, ez a fejlődés látványos: egyre bonyolultabb problémákat leszünk képesek megoldani a programjainkkal.
Remélem, felkeltettem az érdeklődésedet! Ha kérdésed merült fel a témával kapcsolatban, vagy ötleted van, hogy milyen témákkal foglalkozzunk a közeljövőben, akkor írj nyugodtan kommentet, és amint tudok, válaszolok rá!