Demo Data from EDBT 2026 / reviewers in the wild / expert
Niklaus Wirth
dblp:w/NiklausWirth · also Niklaus Emil Wirth
· DBLP profile ↗
20ranked-venue papers
19as first author
0since 2021 · last 2003
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 13 · 13 first-authorTheory of computation · 3 · 2 first-authorSystems, architecture and hardware · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
4 papers |
Programming languages and type systems · 98% Compilers and program optimization · 2% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Processor architecture and microarchitecture · 83% Electronic design automation · 17% |
Topics — the 8 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
type systems |
0.0 | 2 | 1988 | Type Extensions · ACM Trans. Program. Lang. Syst. 1988 An Assessment of the Programming Language Pascal · IEEE Trans. Software Eng. 1975 |
Programming languages and type systems › type systems
extensible data types |
0.0 | 1 | 1988 | Type Extensions · ACM Trans. Program. Lang. Syst. 1988 |
Processor architecture and microarchitecture
instruction set architecture |
0.0 | 2 | 1987 | Hardware Architectures for Programming Languages and Programming Languages for Hardware Architectures · ASPLOS 1987 PL360, a Programming Language for the 360 Computers · J. ACM 1968 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 1988 | Type Extensions · ACM Trans. Program. Lang. Syst. 1988 |
Electronic design automation › hardware verification and test
hardware verification |
0.0 | 1 | 1987 | Hardware Architectures for Programming Languages and Programming Languages for Hardware Architectures · ASPLOS 1987 |
Programming languages and type systems
language design |
0.0 | 2 | 1975 | An Assessment of the Programming Language Pascal · IEEE Trans. Software Eng. 1975 PL360, a Programming Language for the 360 Computers · J. ACM 1968 |
Programming languages and type systems
data types |
0.0 | 1 | 1975 | An Assessment of the Programming Language Pascal · IEEE Trans. Software Eng. 1975 |
Compilers and program optimization
code generation |
0.0 | 1 | 1968 | PL360, a Programming Language for the 360 Computers · J. ACM 1968 |
Methods — techniques the papers use, named apart from their topics
formal proof techniques · 0.0language assessment · 0.0symbolic machine language · 0.0recursive syntax · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2003 | Hardware/software co-design then and now
Niklaus Wirth |
Inf. Process. Lett. | 1 |
| 2002 | Computing science education: the road not takenabstractI happen to agree. Having devoted a substantial part of my professional life to put the art of designing programs into a state where it can be taught in an orderly and systematic fashion, I have become disappointed of the dominant, erosive trends. Although I am tired of the unpopular role of a perennial critic, the paper caused a flare to erupt once again, and I am here, since the afore mentioned presentation then continues: Niklaus Wirth |
ITiCSE | 1 |
| 1991 | Reply to "Type-Extension Tests Can Be Performed In Constant Time"abstractNo abstract available. Niklaus Wirth |
ACM Trans. Program. Lang. Syst. | 1 |
| 1990 | Ceres-Net: A Low-cost Computer NetworkabstractAbstract This paper describes a local‐area network, its hardware and software structure, and its protocol. The principal objective was to minimize the complexity of hardware and software, yet to offer an adequate functionality and performance for a system of up to 30 workstations with local file stores. The primary benefit of the achieved simple structure and low‐overhead protocol is the system's reliability. Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1989 | The Oberon System
Niklaus Wirth, Jürg Gutknecht |
Softw. Pract. Exp. | 1 |
| 1988 | Oberon: A system for workstations
Niklaus Wirth |
Microprocess. Microprogramming | 1 |
| 1988 | From Modula to OberonabstractAbstract The programming language Oberon is the result of a concentrated effort to increase the power of Modula‐2 and simultaneously to reduce its complexity. Several features were eliminated, and a few were added in order to increase the expressive power and flexibility of the language. This paper describes and motivates the changes. The language is defined in a concise report 1 . Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1988 | The Programming Language OberonabstractAbstract This is the defining report of the programming language Oberon. Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1988 | Type ExtensionsabstractSoftware systems represent a hierarchy of modules. Client modules contain sets of procedures that extend the capabilities of imported modules. This concept of extension is here applied to data types. Extended types are related to their ancestor in terms of a hierarchy. Variables of an extended type are compatible with variables of the ancestor type. This scheme is expressed by three language constructs only: the declaration of extended record types, the type test, and the type guard. The facility of extended types, which closely resembles the class concept, is defined in rigorous and concise terms, and an efficient implementation is presented. Niklaus Wirth |
ACM Trans. Program. Lang. Syst. | 1 |
| 1987 | Hardware Architectures for Programming Languages and Programming Languages for Hardware ArchitecturesabstractProgramming Languages and Operating Systems introduce abstractions which allow the programmer to ignore details of an implementation. Support of an abstraction must not only concentrate on promoting the efficiency of an implementation, but also on providing the necessary guards against violations of the abstractions. In the frantic drive for efficiency the second goal has been neglected. There are indications that recent designs which are claimed to be both simple and powerful, achieve efficiency by shifting the complex issues of code generation and of appropriate guards onto compilers.Complexity has become the common hallmark of software as well as hardware designs. It cannot be mastered by the common practices of testing and simulation. Hardware design may profit from developments in programming methodology by adopting proof techniques similar to those used in programming. Niklaus Wirth |
ASPLOS | 1 |
| 1981 | Lilith: A Personal Computer for the Software Engineer
Niklaus Wirth |
ICSE | 1 |
| 1977 | Modula: a Language for Modular MultiprogrammingabstractAbstract This paper defines a language called Modula, which is intended primarily for programming dedicated computer systems, including process control systems on smaller machines. The language is largely based on Pascal, but in addition to conventional block structure it introduces a so‐called module structure. A module is a set of procedures, data types and variables, where the programmer has precise control over the names that are imported from and exported to the environment. Modula includes general multiprocessing facilities, namely processes, interface modules and signals. It also allows the specification of facilities that represent a computer's specific peripheral devices. Those given in this paper pertain to the PDP‐11. Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1977 | The Use of ModulaabstractAbstract Three sample programs are developed and explained with the purpose of demonstrating the use of the programming language Modula. The examples concentrate on the uses of modules, concurrent processes and synchronizing signals. In particular, they all focus on the problems of operating peripheral devices. The concurrency of their driver processes has to occur in real time. The devices include a typewriter, a card reader, a line printer, a disk, a terminal with tape cassettes and a graphical display unit. The three programs are listed in full. Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1977 | Design and Implementation of ModulaabstractAbstract This paper gives an account of some design decisions made during the development of the programming language Modula. It explains the essential characteristics of its implementation on the PDP‐11 computer, in particular its run‐time administration of processes and the mechanism of signalling. The paper ends with some comments on the suitability of the PDP‐11 for this high‐level multiprogramming language. Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1975 | An Assessment of the Programming Language PascalabstractThe programming language Pascal is assessed in the light of `reliable programming' and with the background of five years of experience with the language. Some features are selected to point out remaining problems, either inherent or specific, from which some guidelines for the design of choice of languages for reliable programming are derived. Among the discussed features are the concept of data type, the sequential file structure and the type union. Niklaus Wirth |
IEEE Trans. Software Eng. | 1 |
| 1973 | An Axiomatic Definition of the Programming Language PASCAL
Tony Hoare, Niklaus Wirth |
Acta Informatica | 2 |
| 1971 | The Programming Language Pascal
Niklaus Wirth |
Acta Informatica | 1 |
| 1971 | The Design of a PASCAL CompilerabstractAbstract The development of a compiler for the programming language PASCAL1 is described in some detail. Design decisions concerning the layout of program and data, the organization of the compiler including its syntax analyser, and the over‐all approach to the project are discussed. The compiler is written in its own language and was implemented for the CDC 6000 computer family. The reader is expected to be familiar with Reference 1. Niklaus Wirth |
Softw. Pract. Exp. | 1 |
| 1968 | PL360, a Programming Language for the 360 ComputersabstractA programming language for the IBM 360 computers and aspects of its implementation are described. The language, called PL360, provides the facilities of a symbolic machine language, but displays a structure defined by a recursive syntax. PL360 was designed to improve the readability of programs which must take into account specific characteristics and limitations of a particular computer. It represents an attempt to further the state of the art of programming by encouraging and even forcing the programmer to improve his style of exposition and his principles and discipline in program organization. Because of its inherent simplicity, the language is particularly well suited for tutorial purposes. The attempt to present a computer as a systematically organized entity is also hoped to be of interest to designers of future computers. Niklaus Wirth |
J. ACM | 1 |
| 1968 | Corrigendum: "PL360, a Programming Language for the 360 Computers"abstractNo abstract available. Niklaus Wirth |
J. ACM | 1 |