It has been said that all problems in computer science can be solved by adding another level of indirection, except for performance problems, which are solved by removing levels of indirection. Compilers are our tools for removing levels of indirection automatically. However, we do not trust them when it comes to systems building. Most performance-critical systems are built in low-level programming languages such as C. Some of the downsides of this compared to using modern high-level programming languages are very well known: bugs, poor programmer productivity, a talent bottleneck, and cruelty to programming language researchers. In the future we might even add suboptimal performance to this list. In this article, I argue that compilers can...
Performance critical software is almost always developed in C, as programmers do not trust high-leve...
AbstractWe use multi-stage programming, monads and Ocaml’s advanced module system to demonstrate how...
textThe programming language and underlying hardware determine application performance, and both ar...
In this paper we advocate that it is time for a radical rethinking of database systems design. Devel...
Most performance critical software is developed using very low-level techniques. We argue that this ...
The trade-offs between the use of modern high-level and low-level programming languages in construct...
We are currently witnessing a shift towards the use of high-level programming languages for systems ...
The power of high-level languages lies in their abstraction over hardware and software complexity, l...
Abstraction without regret refers to the vision of using high-level programming languages for system...
The software crisis within scientific computing has been that application codes become larger and mo...
Modern programming languages raise the level of abstraction, hide the details of computer systems fr...
textResearchers and practitioners alike have long sought to integrate programming languages and dat...
The major issues of modern software are its size and complexity, and its major problems involve find...
ion-Induced Complexity David Keppel UWCSE TR 93-06-02 June 11, 1993 Abstract Abstraction reduces t...
When developing new data-intensive applications, one faces a build-or-buy decision: use an existing ...
Performance critical software is almost always developed in C, as programmers do not trust high-leve...
AbstractWe use multi-stage programming, monads and Ocaml’s advanced module system to demonstrate how...
textThe programming language and underlying hardware determine application performance, and both ar...
In this paper we advocate that it is time for a radical rethinking of database systems design. Devel...
Most performance critical software is developed using very low-level techniques. We argue that this ...
The trade-offs between the use of modern high-level and low-level programming languages in construct...
We are currently witnessing a shift towards the use of high-level programming languages for systems ...
The power of high-level languages lies in their abstraction over hardware and software complexity, l...
Abstraction without regret refers to the vision of using high-level programming languages for system...
The software crisis within scientific computing has been that application codes become larger and mo...
Modern programming languages raise the level of abstraction, hide the details of computer systems fr...
textResearchers and practitioners alike have long sought to integrate programming languages and dat...
The major issues of modern software are its size and complexity, and its major problems involve find...
ion-Induced Complexity David Keppel UWCSE TR 93-06-02 June 11, 1993 Abstract Abstraction reduces t...
When developing new data-intensive applications, one faces a build-or-buy decision: use an existing ...
Performance critical software is almost always developed in C, as programmers do not trust high-leve...
AbstractWe use multi-stage programming, monads and Ocaml’s advanced module system to demonstrate how...
textThe programming language and underlying hardware determine application performance, and both ar...