Are Components the Future of Programming?


Organizing an application around a set of components is a powerful way to approach the job of programming, because components enable you to handle greater complexity. Increasing program complexity has long been known to be the single greatest challenge faced by programmers. Beginners learn early in their programming careers that the longer the program, the longer the debugging time. As program size grows, so usually does its complexity, and there is a limit to the amount of complexity we, as humans, can manage. From a purely combinatorial standpoint, the more individual lines of code there are, the greater the chance for side effects and unwanted interactions. As most programmers today know, programs are growing exceedingly complex.

Software components help us manage complexity through “divide and conquer.” By compartmentalizing units of functionality into independent components, the programmer can reduce the apparent complexity of a program. Using a component-oriented approach, a program is organized as a set of well-defined building blocks (components) that can be used without concern over their implementation details. The net effect of this approach is that complexity is reduced. Taken to its logical conclusion, the bulk of an application could be constructed of nothing but components “wired together,” with one component feeding into another. Such an approach might be called component-oriented programming.

Given the power of components, and the ease with which they can be created using C#, are components the future of programming? The answer for many programmers is an unqualified “Yes!”




C# 2.0(c) The Complete Reference
C# 2.0: The Complete Reference (Complete Reference Series)
ISBN: 0072262095
EAN: 2147483647
Year: 2006
Pages: 300

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net