Font Size: a A A

Component-oriented programming languages: Why, what, and how

Posted on:2004-02-12Degree:Ph.DType:Dissertation
University:University of California, IrvineCandidate:Froehlich, Peter HansFull Text:PDF
GTID:1468390011475994Subject:Computer Science
Abstract/Summary:
In this dissertation, I investigate the notion of component-oriented programming languages. Simply put, a programming language is component-oriented if (and only if) it facilitates software development following the paradigm of component-oriented programming. Although this definition might not seem well-founded at first, it is exactly in this sense that we commonly speak of structured, modular, or object-oriented programming languages as facilitating software development following their respective paradigms.; The central question I address here is how component-oriented programming languages differ from programming languages for those earlier paradigms. This obviously requires an explanation of component-oriented programming as a software development paradigm as well. Given the “object hype” of the early 1990s, it should come as no surprise that even a paradigm that seems “revolutionary” at first actually leads to mostly “evolutionary” improvements over earlier programming languages. While these improvements derive from the ideas of component-oriented programming, their applicability is not restricted to that setting. In this respect, they are similar to “classic” advances in programming languages such as the proscription against goto. the case instruction, or the introduction of explicit module constructs.; The main result I present in this dissertation is a framework of design decisions for component-oriented programming languages. This framework can be applied either to revisions of existing languages or to the design of new ones. I focus on the development of this framework, particularly on the development of the two novel language mechanisms it is based on: stand-alone messages and generic message forwarding. Using the example of Lagoona, I illustrate how the framework can be applied to the design and implementation of an actual programming language. Finally, I evaluate the framework (and thus Lagoona) in terms of new solutions to—sometimes long-standing—design and implementation problems drawn from both object-oriented and component-oriented programming.
Keywords/Search Tags:Programming, Component-oriented
Related items