Smart cards resemble computers that were built in the last century - they have very limited resources. The difference is that cards are powerful mini computers. This is why one of the most popular smart card programming languages is the BASIC programming language. BASIC is a perfect fit - it was invented when computers had no resources and it is appropriate for elementary, low cost card development.
Smart card development has resulted in bigger, smarter cards with complicated end uses. Java or MultOS are preferred languages. These are resource hungry languages (requiring, e.g., 1 kByte RAM, 64 kByte ROM and 32 kByte EProm) so the cost factor is elevated, and they are not recommended for simple applications.
A smart card doesn't contain an interface-like display or keyboard, so smart card readers are used to read or update the data tofrom smart cards. Since smart cards do not have an interface like a display, or a keypad, smart card readers are used to read and update, to and from the card.
There are two kinds of operating systems in smart cards which provide a platform to run applications. These OS are in the following categories:
Disk Drive - This OS has an active memory manager loads files or applications in the card on demand. The disk drive OS requires a larger memory to accommodate future updates, and tighter security due to multiple entry points. While the start up costs are higher on this OS, the substitution costs are very low.
Secure - where files, and permissions to these files are only accessible to the user, or administrator, and there is no other access to the file structure. Commands can be passed to the card via the card reader and then the desired application can be accessed through the smart card.
JavaCard is among the most commonly used OS. It's standard API loads and runs java applets directly on ISO 7816 cards.
Today, smart card specialities consist of:
integrated contact and contactless smartcards
Java card applets
2D Barcodes
Point-of-sales and hand-held terminals
WinCE based terminal (and their multi-lingual programming)
biometric technology
PKI security data capture devices such as signature tableau and digital cameras CCTV Cameras
automated form processing and data capturing using ADF scanners and OCRs to process hand-filled forms card personalization