Számítástechnika

A számítástechnika az automatizált adatfeldolgozás eszközeivel és azok különböző területeken való használatával (például a számítógép építése és azok programozása) foglalkozó elméleti és alkalmazott műszaki tudomány.

Ide tartozik a hardver- és szoftverelemek tanulmányozása, a működést segítő szervezési, illetve alkalmazási, szolgáltatási összetevők rendszere.

A számítástechnika szoros kapcsolatban van az informatikával, az információ keletkezését, továbbítását, feldolgozását és hasznosítását vizsgáló tudománnyal. A számítástechnika tekinthető az informatika egy részterületének is, az automatizált információkeletkezés, -továbbítás, -feldolgozás és -hasznosítás tudományának. Az informatika ennél bővebb, például az informatika körébe tartozik a híradástechnikai eszközök (távközlés, tévé, rádió) tanulmányozása, ami a számítástechnikának csak közvetve része.

A számítástechnika alapvető alkalmazása manapság a számítógépek, különösen a személyi számítógépek (Personal Computer PC-k) építése. Egy számítógép elsősorban nagyobb fokú programozhatóságában különbözik az egyszerűbb automatáktól, mint például egy számológép, egy emelődaru vagy egy telefonkészülék. Ez azt jelenti, hogy képes sok és komplex feladatot emberi beavatkozás nélkül végrehajtani, és a végrehajtás során különféle, előre programozott döntéseket hozni.

Történelem 

A számítástechnika története során az egyszerű mechanikus gépektől az igen összetett elektronikus, digitális vezérlésű automatákig haladt. Egyrészt szembetűnő a mai gépek egyre nagyobb fokú programozhatósága (egyre önállóbban tudnak komplex feladatokat is megoldani), az ennek következményeképp kialakuló nagyobb mértékű automatizmus, önirányítottság; másrészt ettől nem függetlenül a feladatkörök kibővülése, amely az egyszerűbb, konkrétabb feladatok (szövés, összeadás, ajtónyitás) ellátására épített célgépektől a komplex és sokféle tevékenységre képes általános célú univerzális gépek megvalósításáig terjedt.

Számoláskönnyítő egyszerű eszközök 

 Az első ismert mechanikus számológép az abakusz. Kb. 5000 éves. Eszközöket egyébként kb.  éve használ az emberiség, míg a számfogalmat vélhetően körülbelül  éve ismeri.

 John Napier Murchiston (1550–1617) az ún. Napier-csontok segítségével gépesítette a szorzás műveletét.
 Edmund Gunter (1581–1626) – elődei ismereteit felhasználva – 1620-ban logaritmikus számolólécet szerkesztett (logarléc). E találmány időtállóságát mi sem bizonyítja jobban, mint az a tény, hogy 20 évvel ezelőtt, az 1980-as évek elejéig, még középiskolai tananyag volt a logarléc használata.

Mechanikus számológépek 

Rengeteg félig-meddig dokumentált történet, legenda kering ókori kínai, görög és későbbi arab tudósok és feltalálók által tervezett, esetleg épített gépekről, automatákról (Arkhimédész, Eratoszthenész, Hérón, Mo Ti, Löw rabbi Gólem stb.). Nem mindig tudjuk eldönteni, mennyi igazság van ezekben. Annyi bizonyos, az emberiség ősidők óta szeretett volna fizikai/szellemi munkára képes, lehetőleg önirányított gépeket, automatákat, de legalább egy számológépet építeni, erről tanúskodik például Ramon Llull 1275 körül írt és közzétett mechanikus gépének terve.

Az 1600-as évektől, az ipari forradalom korszakától kezdve több megvalósult próbálkozás is történt mechanikus számológép építésére. Igazán hatékony mechanikus számológép, pláne általános számítógép építésének azonban nagyon komoly technikai korlátai vannak. Úgy tűnik, hogy a fizikának ez a tartománya túl „durva” ahhoz (az épített gépek lassúak, drágák, nagyok, nehézkesek), hogy a papíron végzett kézi számolásnál jóval hatékonyabban működő információfeldolgozó gép építését lehetővé tegye.

 1623: Az első ismert mechanikus számológép megjelenése, megalkotója Wilhelm Schickard. Az átvitelt egy tízfogú és egy egyfogú fogaskerék segítségével valósítja meg. E gép mind a 4 alapműveletet tudta végezni.
 1642: Blaise Pascal (1623–1662) egy mechanikus összeadó-kivonógépet szerkeszt, amelyben a főszerep szintén a fogaskerekeké volt. E géptípusból mára körülbelül 50 maradt fenn. A tízes számrendszerre épül, 8 jegyű számokat tud maximálisan kezelni.
 1673: Gottfried Wilhelm Leibniz (1646–1716) tökéletesíti Pascal gépét, így mind a négy alapművelet elvégezhető a géppel. Az összeadás-kivonás szintén fogaskerekek hajtogatásán alapul, a szorzás egy váltótárcsa segítségével valósulhat meg. Leibniz először fogalmazza meg azt az elvet, hogy célszerűbb lenne a kettes számrendszerben dolgozni, de a számok hossza miatt ezt nem tudja megvalósítani.
 1820 Charles Xavier Thomas de Colmar (1785–1870) francia matematikus a francia hadseregben való szolgálata közben megépítette az első kereskedelmi forgalomba került, és széles körben elterjedt mechanikus számológépet. Ez képes volt mind a 4 alapművelet elvégzésére. A gép terjesztése jelentős üzleti sikert hozott a forgalmazóinak, és egészen az I. világháborús évekig használták.

Charles Xavier Thomas de Colmar egy automata, programvezérelt gép építésének gondolatát is felvetette.

Programozható célgépek

Szövőgép és beszélőgép 
 1769-ben Kempelen Farkas billentyűzetvezérlésű hangszintetizátort kezdett építeni, amit 1782-ben mutatott be először. Ez a gép ugyan nem volt programozható, billentyűkkel és nyílások (csövek) ujjal való befogásával, illetve egyéb mechanikus módokon kézileg lehetett vezérelni, és mechanikus elveken alapult (fabillentyűkből és faházból, fémből álló hangképző „szervekből” és egy bőrből, később gumiból készült légtölcsérből állt), de megmutatta, hogy olyan komplex feladatokat is lehet gépileg szimulálni, mint az emberi hang képzése. A gép szótagokat és rövid szavakat „tudott” „kimondani” (bár a kezeléséhez sok gyakorlás kellett). Több mint 100 évig senki sem tudott Kempelenénél jobb hangszintetizátort építeni.

 1786: Johann Müller német hadmérnök megfogalmazza, hogy szükség van a részeredmények tárolására. Ezen tárolót regiszternek nevezi el, és feladatának az adatok ideiglenes elhelyezését jelöli meg.

Az adatok és részeredmények tárolása egyrészt alapfeltétele a programozhatóságnak, másrészt tényleges lépés afelé.

 1820-ban Joseph Marie Jacquard mechanikus szövőgépet épített, mely automatikusan, külső programozás révén szőtt mintákat: a gépet kartonból készült lyukkártya vezérelte, amely a mintákat tárolta. A gép széles körben elterjedt, alkalmazták is a szövőiparban, és létezése olyan tudósokat befolyásolt, mint Neumann János (tudjuk, hogy barátaival élénk eszmecseréket folytatott róla és hasonló gépekről).

Babbage gépei 

Sok gépet tervezett Charles Babbage (1792–1871) is.
 1812-ben rájött a gépek és matematika közötti összhangra.

Babbage megfogalmazza, hogy egy (programozható) számológépnek milyen követelményeknek kell megfelelnie:
 ne kelljen mindig beállítani a számokat, meg lehessen adni egyszerre az összes számot és műveletet (ez lyukkártya segítségével oldható meg);
 legyen utasítás (a művelet a lyukkártyán);
 legyen külső programvezérlés (a lyukkártyákon tárolt utasítássorozat, a program);
 legyen bemeneti egység (ez a lyukkártyát olvasó berendezés);
 legyen olyan egység, amely a kiindulási és a keletkezett számokat tárolja (memória);
 legyen aritmetikai egység, amely számológépen belül a műveleteket végzi el;
 legyen kimeneti egység (a gép nyomtassa ki az eredményt).

Babbage elvben konstruál ilyen gépet, az „Analytical engine”-t, amely 20 jegyű számokkal végez műveleteket. Nem tudja megépíteni, mert a kor technikája nem teszi lehetővé (például a súrlódást nem tudja kiküszöbölni). 100 év múlva építik a Babbage által megálmodott gépet.

 Augusta Ada Byron (Lady Ada Lovelace) (1816–1851) ezen képzeletbeli géphez lefordítja a Luigi Menabrea (olasz hadimérnök és matematikus) által kidolgozott módszereket, melyekkel programot lehet rá készíteni. Megjelennek az algoritmusok egyes elemei (go to, stop).

 1822 Babbage épít egy másik, gőzzel hajtott gépet (a Difference Engine), amely differenciálni is tud, a függvények differenciálhányados-függvényét közelítő módszerekkel számolva.
Ez egy univerzális, külső program vezérelte elektromechanikus számítógép, 6-odfokú polinomhelyettesítési értékeket számol, 20 jegy kijelzése)

A számítógépek alkalmazásának kezdetei 
 1847-54 George Boole áramkörelméletben is alkalmazható logikai algebrája a későbbi digitális működésű gépek tervezésének alapjait jelentette.
 1887 Herman Hollerith (1860–1929) nagy tömegű adat statisztikai feldolgozására alkalmas gépet épít. A kifejlesztését az tette szükségszerűvé, hogy az USA-ban a népszámlálás (1890) feldolgozása hagyományos módszerekkel mintegy 3 évet (mások szerint 10 évet) vett (volna) igénybe, a végül szükségesnek bizonyult 6 hét helyett. A gép lyukkártyákat tudott rendezni és szétválogatni, amit mechanikusan tudott megoldani, tűk segítségével. A (papír) lyukkártyák egydolláros nagyságúak voltak. Hollerith 1924-ben alapított cégéből fejlődik ki a későbbi IBM. Lyukkártya (1 lyuk – 1 szám, 2 lyuk – 1 betű);

 1937–1942: Vincent Atanasoff és Clifford Berry megterveznek egy csak elektronikus egységekből álló gépet, ez volt az első elektronikus digitális számítógép, az Atanasoff–Berry Computer (ABC). Jelenleg ezt tartjuk az első mai értelemben vett (elektronikus) számítógépnek – érdekes, hogy ennek egyébként 1973-ban amerikában bírósági tárgyalás útján kellett eldőlnie, különféle elsőbbségi jogviták miatt. A bírósági tárgyalásról angolul…
 1938–1941: Konrad Zuse megépíti az első szabadon programozható gépet, a Z3-t. Felépítése hasonló a mai gépekhez: processzort (ALU), vezérlőegységet (CU), memóriát, bemeneti egységet (szalag) és kimeneti egységet tartalmaz. Az egytonnás gép néhány ezer elektromágneses reléből állt, repülők és rakéták tervezéséhez használták. Egy összeadást átlag 0.7 mp, szorzást 3 mp alatt végzett el, a tízes számrendszerbeli számokat már lebegőpontos bináris ábrázolás útján kezelte. A gép 1944-ben egy bombázás során elpusztult, de Zuse a 60-as években újra megépítette. Rekonstruált változata a Müncheni Múzeumban látható. Bár a gépet arimtetikai műveletek végzésére tervezték, Raul Rojas később bebizonyította, hogy alkalmas általános célú számítógépnek is (képes tetszőleges Turing-gép emulálására).

 1943-ban az angol titkosszolgálat Alan Turing matematikus vezetésével megépítteti a Colossust, ez szintén relés alapon épül fel, és a II. világháborús német katonai rejtjelezőkód megfejtését segíti. A kódfejtés egyébként különböző matematikai, katonai, titkosszolgálati módszerek ötvözésével sikerült is.
 1944 Howard H. Aiken ballisztikai számítógépe, a Harvard Mark I lövedékpálya-táblázatokat számol. E gép fél focipálya méretű volt, 800 km kábelt, vezetéket és relét tartalmazott, egy műveletet 3-5 másodperc alatt végzett el, képes volt az összes alapművelet és komplex (változós?) egyenletek megoldására.

Általános célú számítógépek és elterjedésük 

 1946 megépül John Presper Eckert, John W. Masuchly tervei alapján az első digitális elektronikus gép, az ENIAC,  vákuumcsőből,  ellenállásból, 5 millió forrasztással. 30 tonnás, 160 kW-ot fogyaszt, 5000 összeadást vagy 400 szorzást tud végezni percenként, 10 jegyig számol, 20 regiszteres, 1000× gyorsabb mint a Harvard Mark I MTBF 40 sec. Külső programvezérléssel (huzalozással) működik.
 1949-ben építették a hasonló EDVAC gépet Neumann János (1903–1957) vezetésével. Ez már központi vezérlő egységet tartalmaz, van benne lehetőség feltételes vezérlésátadásra, memória tárolja a programokat és az adatokat is.
 1951 Megjelenik az első kereskedelemben kapható számítógép, az UNIVAC I.
 1953 A Szovjetunióban megépítik az első tudományos és műszaki számítások végzésére alkalmas számítógépet BESZM-1-et. (Átlagos műveleti gyorsasága 10 kFLOPS)
 1964 megjelenik az első általános célú kereskedelmi gép, az IBM 360.

Kapcsolódó tudományágak

Matematikai alapok 
 Szimbolikus logika, Boole-algebra: kommunikáció a gépekkel, áramkörtervezés;
 Számítógép-tudomány: az automaták, a velük való kommunikáció (=az automaták irányítása, programozása) általános matematikai elmélete;
 Számításelmélet: kiszámíthatóságelmélet, bonyolultságelmélet: az algoritmusok megvalósításának, hatékonyságának matematikai elmélete;
 Diszkrét matematika: kombinatorika, véges testek, a véges rendszerek (a számítógépek is ilyenek) mennyiségi viszonyainak tanulmányozása;
 Gráfelmélet: áramkör- és számítógép-hálózatok elmélete, keresési problémák modellezése;
 Információelmélet: az információ mérésének matematikai elmélete; kódok,
 Komputeralgebra: hogyan számolnak a számítógépek;

Részterületek

Számítástechnikai elmélet 
 Számítógépes algoritmusok elmélete
 Fordítóprogram
 Nyelvi elemzés (lexikai analízis)
 Kiszámíthatóság elmélete
 Kriptográfia (titkosítás elmélete)
 Formális szemantika
 Bonyolultságelmélet
 Logikai programozás
 Típusok elmélete

Hardver, fizikai megvalósítás 
 Mikroprogramozás
 Integrált áramkörök
 Memória
 Rendszerteljesítmény

Számítástechnikai rendszerek osztályozása

Szoftver, programozás 
 Operációs rendszerek
 Programozási nyelvek

A programokhoz szorosan kapcsolódó jogi témák:
 Licencek
 Szabad licenc, szabad szoftver

Adatkezelési rendszerek 
 Fájlok
 Fájlformátumok
 Adatbázis-kezelők

Számítástechnikai eljárások 
 Adatkódolás (kódolás céljai, okai, módszerei; adattárolás fizikai médiákon stb.)
 Adattömörítés
 Hangtömörítés és -kódolás (kodek)
 Képtömörítés és -kódolás (kodek)
 Hibaészlelés
 Hibajavítás
 Kriptográfia
 Titkosítás
 Digitális aláírás

Számítógép alkalmazása

Számítástechnikai kultúra 
 Cracker
 Hacker
 Demoscene
 Neumann János Számítógép-tudományi Társaság (NJSZT)
 Neumann János
 Kalmár László

Vezető szakemberek 
 Donald Knuth
 Linus Torvalds
 Steve Jobs
 Bill Gates

Kapcsolódó szócikkek 
informatika – számítógép – számológép – számítógép-tudomány – számábrázolás

További információk 

 Számítástechnika-történet
 Automaták története I.
 Automaták története II.
 Automaták története III.
 Automaták története IV. – Számítógépek
 Automaták, Digitális képernyők, történet
 Nagyon részletes számítógéptörténet, képekkel
 Fizikai alapok
 Jó cikk a PC-ről
 Babbage és Nagy Károly magyar tudós
 Kempelen beszélőgépe
 Az ABC-gép, linkek
 A Z3

 
Alkalmazott tudományok