CO6025 Advanced Programming Program types CO6025 Advanced Programming
Traditional view Desktop application types Console application usually performs a restricted function or set of functions at a low level (e.g. OS utilities like MKDIR or TYPE) Windows/GUI application Generic applications (e.g. word processor, graphic design) usually have creative output Specialised applications (e.g. Sat Nav, accounts) usually perform a set of functions or process data
Web applications Web interface used to interact with program on web server. Program produces web page output. Program accepts input from web page based forms. Program may be interpreted or compiled. Perl, PHP, ASP are interpreted. Java, ASP.NET are compiled to intermediate code. ASP.NET may be compiled to native code under some circumstances We’ll look at this in more detail in weeks 2 & 3
Exploding software An application program, or web application is not a free standing piece of code. It isn’t the only software in the computer system. It may need other computers to perform some of the functions It requires support from the other software components within the computer system. It may have been created from a collection of cooperating modules. What are these other pieces?
Operating system BIOS Kernel Device drivers GUI components Libraries and APIs Utilities
Database systems SQL Drivers
Web systems Web server FTP Server etc. Script interpreter Web services
Development systems Development tools Compilers, assemblers and interpreters Editor Debugger Deployment tools Emulation
Embedded systems Firmware OS Kernel Bootstrap loader Development tools
Mobile devices Firmware OS Applications Data transfer and synchronisation Messaging Connectivity (e.g. Internet, Bluetooth, USB)
OS configuration Command line utilities (compiled .exe) E.g. find and replace utility Scripted task oriented functions (batch script or VBScript/JavaScript) E.g. add new users to network from a text file using PowerShell MMC applications
Targets Script Compiled (Intermediate Code or .EXE) Library (dll) Applet ActiveX control Embedded code Configuration