Absztrakció
Az absztrakció a valós világ megismerésének fontos eszköze. Lényege a modellezés: a dolgok, tények, jelenségek, fogalmak közti különbségeket elhanyagoljuk, a közös jellemzőket kiemeljük és ezentúl csak ezekkel jellemezzük. Az absztrakció az informatikában és a programozási nyelvek környékén is megjelenik. A programozási nyelvekben elválik egymástól a specifikáció és az implementáció.
Kétféle technikával valósítható meg:
Adatabsztrakció: Adatokkal írjuk le a világ jellemzőit, mert az adat statikus része a világnak. 
Procedurális absztrakció: A műveleteket, a tevékenységeket, a viselkedést írjuk le, a világ reakcióit. 
Az absztrakció elősegíti az újrafelhasználhatóságot (megírtat ne kelljen újra megírni).
Specifikáció: Egyes eszközöknél megmondja mire, hogyan tudom használni.
Implementáció: Adott eszköz hogyan működik.
1.1	Adattípus
Az adattípust egyértelműen meghatározza:
•	a tartomány (a megfelelő típusú objektum innen veheti fel az értékét),
•	a reprezentáció (bármely tartománybeli elem megjelenése a tárban, azaz az ábrázolási hossz (byte-ban) és az ábrázolási mód),
•	az adott típuson végrehajtható műveletek.
1.1.1	Típusok csoportjai
Skalár (egyszerű) típus: Tartományának elemei atomiak (típuskezelő nyelvi eszközökkel tovább nem bonthatóak), megjelenhetnek literálként a program szövegében.
Strukturált (összetett) típus: Tartományának elemei egy típuskészletből valóak (általában értékcsoportot képviselnek), adatszerkezetek megvalósítására használjuk.
A program objektumait típussal ellátni a deklarációs utasításban kell.
Minden eljárásorientált nyelv ismeri a tömböt, és általában a rekordot is. Mindkettő strukturált típus. Az összes adatszerkezet reprezentálható folytonos módon (tömbbel) az eljárásorientált nyelvekben.
1.1.2	Nyelvek típusrendszere
C típusok

	aritmetikai	származtatott

	integrális	valós	tömb	struktúra	union	mutató	függvény
	float
	egész	karakteres	double
	int	char
	long
	short
	unsigned

Karakteres: Számolni lehet vele, értéke a belső kódja.
Függvény: Általában más nyelvben nincs függvény típus.
Tömb: Több dimenziós tömböt csak egy dimenziós tömbökből tud előállítani.
Struktúra: Egyszintű rekord - változó rész nélkül.
Union: Olyan változó, amely a futási idő, különböző pillanataiban különböző értékeket vehet fel. A felvehető értékek köre behatárolt, a megadott mezőkből mindig csak egyet tartalmaz.
A nyelv kifejezés- és mutatóorientált, ismeri az automatikus deklarációt.
Saját típusa nem tényleges saját típus, csak egy másként is megadható típusleírást nevez meg (szinonima). 
1.1.3	Felsorolásos típus
Saját típusként kell definiálni. Megadjuk a tartományának az elemeit, amik azonosítók lehetnek. Lényeges a sorrendjük, a rendezettség miatt sorszámozhatóak. 
1.1.4	Sorszámozott típus
Tartományának elemei lineáris listát alkotnak, egyértelmű sorrend állítható fel közöttük és minden elemhez egy sorszám van rendelve (0,1,2,...). Tartományának minden egyes elemére igaz, hogy van rákövetkezője (kivéve az utolsó elemet) és van megelőzője (kivéve az első elemet). A sorszámból egyértelműen megadható az elem, az elemből egyértelműen megadható a sorszám, ugyanígy az előző és a következő elem is. 
1.1.5	Intervallum típus
Bármely sorszámozott típusból származtatható. Nem új típus, az eredeti sorszámozott típus tartományának a leszűkítése.
Az alsó határ mindig kisebb vagy egyenlő a felső határral.
1.1.6	 Tömb típus
A tömb típus a tömb adatszerkezet tükröződése, statikus objektum. A tömb nevével a tömb összes elemére hivatkozhatok, egy elemre hivatkozás: a tömb neve + ahány dimenzió, annyi index.
1.1.7	Rekord típus
A rekord a rekord adatszerkezet tükröztetése. Szerepe, hogy különböző típusú elemeket fogjon össze egy struktúrába (heterogén). Mezőkből áll, ezeknek a mezőknek saját nevük és típusuk van. Mint típust minden nyelvben explicit módon deklarálni kell.
A rekord nevével a teljes rekordra hivatkozom. Egy rekord azonos szintű mezőinek különböző nevet kell adni.
1.1.8	Mutató típus
A modern nyelvek kedvelt típusa, a szétszórt reprezentáció eszköze. Speciális típus: tartománya tárbeli címeket tartalmaz, értékként tárbeli címet vehet fel. Például egy mutató típusú változó címén olyan érték helyezkedik el, amely egy másik tárbeli elemre mutat. Segítségével tetszőleges objektumot tudok deklarálni, úgy hivatkozhatok a tárra, hogy nem nevezem meg a tárrészt. Ha egy tárrészt nem nevezek meg, csak akkor tudok hivatkozni rá, ha van olyan mutató, amelynek az értéke az adott tárrész címe.
Akárhány objektum felveheti ugyanazt a tárcímet (többszörös tárhivatkozás). Ekkor ha az egyik által mutatott címen lévő érték megváltozik, akkor a többi mutató által mutatott érték is.
Nem létező tárcímre is hivatkozhatunk, erre a nyelvekben beépített nevesített konstansok szolgálnak. Bármely mutató típusú objektumnak értékül adható.