Podsumujmy rozważania dotyczące dostosowywania funkcjonalności kart do konkretnych potrzeb. Techniki umieszczania własnego kodu na karcie ewaluowały z czasem. Począwszy od wypalania kodu systemu operacyjnego w pamięci ROM, przez umieszczanie nowych fragmentów systemu w pamięci nieulotnej, tworzenie i umieszczanie w pamięci karty aplikacji działających w oparciu o istniejący system operacyjny, aż po programowanie kart w języku wysokiego poziomu. Każda z prezentowanych technik jest wolna od pewnej części wad tych prezentowanych wcześniej. Można więc wnioskować, że technika opisana na końcu jest najlepsza i należy z niej korzystać, tworząc systemy oparte na kartach procesorowych. Okazuje się jednak, że nie jest ona pozbawiona wad. Wykonywanie na karcie programów napisanych w językach wysokiego poziomu i skompilowanych do postaci kodu pośredniego, wiąże się z dużymi wymaganiami sprzętowymi. Niewiele modeli kart dostępnych dziś na rynku takie wymagania spełnia. Przed konstruktorami jeszcze długa droga, aby tworzone przez nich karty były w stanie sprawnie wykonywać nieco bardziej złożone aplikacje.
Tabela 2.1 przedstawia porównanie czasu oraz kosztów tworzenia systemu w oparciu o karty nieprogramowalne, karty programowane w języku wysokiego poziomu oraz karty ze specjalizowanym systemem operacyjnym wypalonym w pamięci ROM. Karty nieprogramowalne mają bardzo ograniczony zakres zastosowań. Słusznym kierunkiem rozwoju wydają się być zatem karty programowane w języku wysokiego poziomu. Jedynym czynnikiem ograniczającym zastosowanie tej techniki są wysokie wymagania sprzętowe. Prawdopodobnie w najbliższym czasie będziemy świadkami bardzo szybkiego rozwoju kart i już za dwa, trzy lata kartę procesorową nazwać będzie można odpornym na włamania komputerem osobistym (ang. tamper-resistant personal computer).