Paul Hilfinger
Carnegie Mellon University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Paul Hilfinger.
Archive | 1981
Paul Hilfinger; Gary Feldman; Robert Fitzgerald; Izumi Kimura; Ralph L. London; K. V. S. Prasad; V. R. Prasad; Jonathan Rosenberg; Mary Shaw; Wm. A. Wulf
The Alphard language was designed to support the joint goals of facilitating contemporary programming methodology, encouraging formal specification of programs and verification of those specifications, allowing the programmer to exercise control over details that affect performance, and being able to compile compact, efficient code. This report presents the informal definition of the complete language.
technical symposium on computer science education | 1978
Lawrence Flon; Paul Hilfinger; Mary Shaw; William A. Wulf
If computer programming is to become an engineering discipline, computer science students must acquire the tools for rigorous analysis and evaluation of programs. An early course in the undergraduate curriculum must introduce the fundamental principles of the discipline, just as freshman calculus teaches the basic analysis skills for most engineering disciplines. The course described in this paper teaches mathematical principles and practical programming applications in a unified form. It has been successfully taught to sophomores for four years.
technical symposium on computer science education | 1978
Paul Hilfinger; Mary Shaw; Wm. A. Wulf
Traditionally, the first two programming courses have emphasized basic techniques and skills—the details of a programming language, basic problem solving and program development, “structured programming”, the manipulation of simple data structures and files, basic sorting and searching algorithms, etc.n Our principle motivation is the conviction that programming should be an engineering discipline, and that engineering disciplines must be grounded in engineering science. Further, to be effectively taught, this science must be introduced as early as possible. In contrast to the measure-theoretic under pinnings of the calculus, the theory we introduce is immediately useful to working programmers. In addition, the topics we cover are fundamental to later courses. By introducing the topics early in the curriculum, we provide a common vocabulary for these later courses, eliminate redundant treatment of topics, and give students greater exposure to the material and a better chance to absorb it.n We feel we have been successful with the course, although our evidence is necessarily subjective. Because its philosophy flies in the face of current practice, we shall attempt to explain that philosophy in this paper. The course itself, “Fundamental Structures of Computer Science” (FS here after) is described in somewhat greater detail in [2] and we are preparing a supporting text [3]. We are not so much interested in pressing our own particular treatment of the topics, however, as we are the choice of material and its place in the curriculum.
Sigplan Notices | 1978
Mary Shaw; Paul Hilfinger; Wm. A. Wulf
Tartan is an experiment in language design. The goal was to determine whether a simple language could meet substantially all of the Ironman requirement for a common high-order programming language.We undertook this experiment because we believed that all the designs done in the first phase of the DOD effort were too large and too complex. We saw that complexity as a serious failure of the designs: excess complexity in a programming language can interiere with its use, even to the extent that any beneficial properties are of little consequence. We wanted to find out whether the requirements inherently lead to such complexity or whether a substantially simpler language would suffice.Three ground rules drove the experiment. First, no more than two months -- April 1 to May 31 -- would be devoted to the project. Second, the language would meet all the Ironman requirements except for a few points at which it would anticipate Steelman requirements. Further, the language would contain no extra features unless they resulted in a simpler language. Third, simplicity would be the overriding objective.The resulting language, Tartan, is based on all available information, including the designs already produced. The language definition is presented here; a companion report provides an overview of the language, a number of examples, and more expository explanations of some of the language features.We believe that Tartan is a substantial improvement over the earlier designs, particularly in its simplicity. There is, of course, no objective measure of simplicity, but the syntax, the size of the definition, and the number of concepts required are all smaller in Tartan.Moreover, Tartan substantially meets all of the Ironman requirement. (The exceptions lie in a few places where we anticipated Steelman requirements and where details are still missing from this report.) Thus, we believe that a simple language can meet the Ironman requirement. Tartan is an existence proof of that.We must emphasize again that this effort is an experiment, not an attempt to compete with DOD contractors. Tartan is, however, an open challenge to the Phase II contractors: The language can be at least this simple! Can you do better?
Sigplan Notices | 1978
Mary Shaw; Paul Hilfinger; Wm. A. Wulf
The Tartan language was designed as an experiment to see whether the Ironman requirement for a common high-order programming language could be satisfied by an extremely simple language. The result, Tartan substantially meets the Ironman requirement. We believe it is substantially simpler than the four designs that were done in the first phase of the DOD-1 effort. The language definition appears in a companion report; this report provides a more expository discussion of some of the languages features, some examples of its use, and a discussion of some facilities that could enhance the basic design at relatively little cost.
Archive | 1981
William A. Wulf; Lawrence Flon; Mary Shaw; Paul Hilfinger
Archive | 1978
William A. Wulf; Paul Hilfinger; Robert Fitzgerald; Izumi Kimura; Ralph L. London
Archive | 1978
Mary Shaw; Paul Hilfinger; William A. Wulf
conference on scientific computing | 1978
Mary Shaw; Gary Feldman; Robert W. Fitzgerald; Paul Hilfinger; Izumi Kimura; Ralph L. London; Jonathan Rosenberg; William A. Wulf
Archive | 1981
Wm. A. Wulf; Shaw Mary; Paul Hilfinger; Flon Lawrence