A személyi számítógépek világa az elmúlt néhány évtizedben gyökeresen átalakult. Amik kezdetben bonyolult gépek voltak egy szűk, hozzáértő réteg számára, mára nélkülözhetetlen eszközzé vált mindenki számára. Az a korábbi elképzelés, hogy minden felhasználónak tudnia kell programozni, átadta a helyét az egyszerű felhasználói felületeknek és az intuitív alkalmazásoknak. De hogyan jutottunk el attól a korszaktól, amikor a számítógépet magadnak kellett beprogramoznod, a mai időkig, amikor a számítógépes munka nagy része csupán alapvető ismereteket igényel? A következő cikkből megtudhatod, hogyan alkalmazkodtak fokozatosan a számítógépek a hétköznapi felhasználókhoz, és milyen lesz a fejlődés várható iránya a mesterséges intelligencia növekvő befolyásával.
A személyi számítógépek térhódításának kezdetén a „számítógépes emberek" felosztása egyszerű volt: Voltak a hardveresek, akik a számítógépeket tervezték, építették és javították – aztán ott voltak a szoftveresek, akik programozókra, igazi számítógépes varázslókra oszlottak, kódjukkal életre keltették a gépeket – valamint operátorokra, a számítógépes szakemberek legalsó kasztjára, akik adatokkal etették a számítógépeket, szalagokat cseréltek, és általában ügyeltek arra, hogy a gépek rendesen működjenek.
A régi időkben, amikor egyáltalán nem volt megszokott, hogy az embereknek otthon személyi számítógépük legyen, a fiatalok gyakran szakkörökben tanulták meg az elektronikával való munkát – és az volt az elképzelés, hogy az ügyesebbek és tehetségesebbek a hardverrel fognak dolgozni, mert az ugye drága, és tönkreteheted az alkatrészeket, sőt a forrasztópákával akár tüzet is okozhatsz, így a kevésbé ügyeseket a szoftver készítéséhez irányították, mert „ott ugye nem lehet annyit elrontani". Érdekes, hogy Nyugaton más volt a felosztás – ott azokra osztották az embereket, akik fejlesztőként dolgoztak, és azokra, akik nem voltak annyira ügyesek a fejlesztésben, de értettek a kereskedelemhez, így az előbbiek termékeit marketingelték és értékesítették.
Ez a felosztás, amely annyira jellemző volt a számítóközpontokra, a személyi számítógépek megjelenésével megszűnt – és helyébe egy másik lépett: a felhasználók, akik megpróbáltak a számítógépekkel dolgozni – és az IT-szakemberek, akik a gépeket összeszerelték, telepítették és programokat fejlesztettek számukra. Az IT-szakember jellemzően már nem tervezett számítógépeket, csupán szabványos alkatrészekből rakta össze őket – és azon igyekezett, hogy rájöjjön, miért nem működik éppen az adott kombináció.
Az új munkamegosztásról alkotott eredeti elképzelés, amely a tantervi követelményekben is testet öltött, azon az alapvetésen nyugodott, hogy minden felhasználó úgy fogja megoldani a problémáit, hogy megírja rájuk a programot. Az eredeti számítógépek rendkívül egyszerűek voltak, a ROM memóriájukban általában csak valamilyen programozási nyelv volt – és egy ideig úgy tűnt, hogy a számítógép hatékony használatához tudnod kell programozni.
A gond az, hogy a programozás nem mindenkinek való. Az algoritmizálás egy speciális esete – az algoritmusok pedig tulajdonképpen csak útmutatók egy probléma megoldásához, tehát minden kicsit is képzettebb embernek képesnek kellene lennie arra, hogy a problémáját lépésekre bontsa, vagyis algoritmizálja. A gyakorlatban viszont az a baj, hogy a programírás során minden apró részletre gondolni kell, amit sokan egyszerűen nem tesznek meg – ezért aztán elég sokat szenvedtek a programozással.
Egy minőségi programnak nemcsak hibamentesnek és hatékonynak kell lennie (a lehető leggyorsabban kell megoldania a problémát), hanem robusztusnak is, vagyis el kell viselnie a hibás bemeneteket és a szándékosan rossz adatokat – és algoritmikusan stabilnak is kell lennie, tehát figyelembe kell vennie az algoritmusok és bemenetek tulajdonságait, hogy a számítások során ne halmozódjanak fel szokatlan mértékben a hibák. Ez a gyakorlatban azt jelenti, hogy egy jó programozó bizonyos függvényeket és algoritmusokat kerül, mert a kerekítés és hasonló dolgok miatt bizonyos esetekben teljesen hibás eredményeket adhatnak, még akkor is, ha maga az algoritmus önmagában helyes.
Mivel a programozás bonyolult, hamarosan megjelentek alternatív módszerek a problémák leírására – például táblázatkezelők táblázatai formájában, amelyek lehetővé teszik a probléma intuitívabb és vizuálisabb leírását, mint egy hagyományos program, ráadásul nem kell foglalkozni a bemenetekkel, a megjelenítéssel és hasonlókkal, mert mindezt maga a program biztosítja. Számos vizuális eszköz született, amelyek lehetővé tették a megoldási folyamat megrajzolását – és ami a legfontosabb, olyan alkalmazások jöttek létre, amelyek a tipikus problémákat maguktól megoldják.
A mai programok közül sok lehetővé teszi az úgynevezett kötegelt feldolgozást, amikor leírod, mit kell csinálni például egy fényképpel – aztán hagyod, hogy a program ugyanezt elvégezze a mappában lévő összes fényképpel. Az operációs rendszerek kötegfájlok (batch) vagy makrók formájában kínálnak automatizálási lehetőségeket, amelyekkel leírhatod, milyen műveleteket szeretnél végezni a fájlokkal – mégpedig nem ritkán úgynevezett parancssori paraméterek segítségével, amikor egy adott programot úgy hívsz meg, hogy a kötegfájl átadja neki az információt arról, mit szeretnél csinálni és milyen fájlokon szeretnéd végrehajtani.
A legtöbb probléma, amelyet korábban nehézkesen oldottak meg, ma már interaktív megoldási lehetőségekkel rendelkezik, ahol a felhasználó csupán rámutat arra, amit szeretne csinálni – és ha nem elégedett az eredménnyel, bármikor visszaléphet. A motorháztető alatt azonban hatékony eszközök rejtőznek, amelyek továbbra is lehetővé teszik a munka automatizálását és szinte programozását. Az az eredeti elképzelés, hogy minden számítógép-felhasználó programozni fog, gyakorlatilag eltűnt – és a mesterséges intelligencia térnyerésével egyre nyilvánvalóbbá válik, hogy maga a programozás is nagymértékben automatizálható lesz.
Ma ott tartunk, hogy a számítógépek kezelése olyan egyszerű, amilyen korábban soha nem volt – gyakorlatilag mindent, ami valamilyen szempontból bonyolult, varázslók kísérnek, amelyek elmagyarázzák, miről van szó, és milyen lehetőségei vannak a felhasználónak. A mesterséges intelligencia fejlődésével a felhasználók kísérése szinte párbeszéddé alakul, ahol a mesterséges intelligencia képes lesz megérteni a felhasználók összetettebb igényeit is, amelyekkel ma még a technikai támogatáshoz kell fordulniuk.
i
Ezek a cikkek is érdekelhetnek:
Az az eredeti várakozás, hogy minden felhasználó képes lesz programozni a számítógépét, nem vált valóra. Ehelyett a technológia alkalmazkodott a felhasználókhoz – a szoftverek ma intuitívabbak, és gyakran varázslók segítik a felhasználókat lépésről lépésre. Az automatizálásnak, a vizuális eszközöknek és a mesterséges intelligencia fejlődésének köszönhetően a felhasználók egyre távolabb kerültek a bonyolult algoritmusok megértésének szükségességétől. A jövőben a mesterséges intelligencia fejlődésével a technológiai interakció várhatóan még egyszerűbbé és természetesebbé válik.