Egy Ada program a csomag koncepcióján alapul.
Az Ada nyelv a csomagok által támogatja programunk modulokra történő felbontását. Amint már korábban láttuk csomagjaink különböző entitásokat, típusokat, hozzájuk tartozó műveleteket, vagy akár más programegységeket is tartalmazhatnak, amelyeket elérhetővé tehetnek (specifikáció) a csomagot használó, a csomagot implementáló (törzs) valamit, a csomagot „bővítő” kódok (gyerekcsomagok) felé. Ezáltal a csomag az enkapszuláció egy erős és sokoldalú nyelvi eszköze.