o different meth- ods creates significant and direct development cost differentials between the two methods. A major problem associated with the software development process is the estimation of how much it costs to develop a solution with given resources within a certain amount of time and maintain it dur- ing its useful lifetime. Budgets, manpower, and other resource planning are essential by-products of such knowledge. This topic is extremely deep and we barely touch the surface here. Quite a few spe- cialized references can be consulted for more information. 4 Some very insightful ideas have been produced by proponents of functional (descriptive) lan- guages (such as Agere's FPL) as opposed to those basing their approach on procedural languages (such as C and microengine assembly) and the quantified results are staggering. In fact, this turns out to be the case to such an extent that even if some of the publicly disclosed numbers (which can be eas- ily replicated if the publicly available models and assumptions are similarly used by anyone else) are off by a wide percentage, the approach still deserves a meticulous consideration as it enables signif- icant savings. 5 Coding in FPL Coding based on traditional C and micro-coding Shown numbers (Thousands of lines of code) 37,065 estimate are C code lines and do not include the thousands of extra instructions needed for the microcode part KLoC 20 4,236 1,550 DiffServ QoS FIGURE 16.1 Based on an actual implementation of DiffServ-based quality of serv- ice (QoS) by programming in a functional language such as Agere's FPL as opposed to traditional procedural programming based on C, a scaling factor is calculated between the two approaches. It allows one to extrapolate to a first order of approximation the expected difference in program size when confronted with a new application, such as the development of software for a network interface card (NIC) of a third-generation radio network controller (RNC). The numbers still speak for themselves even if it is assumed the