Good ideas, through the looking glass [computing history]

  title={Good ideas, through the looking glass [computing history]},
  author={N. Wirth},
Computing's history has been driven by many good and original ideas, but a few turned out to be less brilliant than they first appeared. In many cases, changes in the technological environment reduced their importance. Often, commercial factors also influenced a good idea's importance. Some ideas simply turned out to be less effective and glorious when reviewed in retrospect or after proper analysis. Others were reincarnations of ideas invented earlier and then forgotten, perhaps because they… 

Figures and Tables from this paper

Research perspectives on the objects-early debate

In March 2004, SIGCSE members contributed to a mailing list discussion on the question of whether programming should be taught objects first or imperative first. We analyse that discussion, exploring

Computer Science and Philosophy: Did Plato Foresee Object-Oriented Programming?

Works of the Pythagoreans, Plato, Abelard, Ash’arites, Malebranche and Berkeley are presented and contrasted with such computer science ideas as digital computers, object-oriented programming, the modelling of an object’s actions and causality in virtual environments, and 3D graphics rendering.

Micro/macro prototyping

  • C. Nold
  • Sociology
    Int. J. Hum. Comput. Stud.
  • 2015

On the definition of non-player character behaviour for real-time simulated virtual environments

To further improve the behaviour of virtual entities, game AI development will have to mirror the advances achieved in game graphics, and the term behaviour definition language (BDL) is introduced, describing a programming language for the definition of game entity behaviour.

Design and Implementation of an Optionally-Typed Functional Programming Language

This thesis describes the motivation, design, and implementation of L.B.C. Stanza, an optionally-typed functional programming language aimed at helping programmers tackle the complexity of architecting large programs and increasing their productivity across the entire software development life cycle.

Function-based design tools for analyzing the behavior and sensitivity of complex systems during conceptual design

A functionality-based behavioral modeling framework is proposed along with a sensitivity analysis method to support the design process of complex systems and produces a multi-fidelity model of a hybrid internal combustion-electric racecar powertrain that enabled a comprehensive quantitative study of longitudinal vehicle performance during various stages in the system.

A study of loop style and abstraction in pedagogic practice

It is concluded that the persistent use of abstraction at all levels of implementation is necessary to perfect expertise in its application and secure the benefits of the object-oriented paradigm.

Static code analysis

This tutorial uses FindBugs, a popular open source static code checker for Java that works with a program that has an initial indication of correctness and tries to avoid well-known traps and pitfalls before measuring it against its specifications when it's tested.

Machine Learning and Value-Based Software Engineering

  • Du Zhang
  • Computer Science
    Int. J. Softw. Sci. Comput. Intell.
  • 2009
The general message to be conveyed is to apply machine learning methods and algorithms to value-based software engineering and the training data or the background knowledge or domain theory or heuristics or bias used in generating target models or functions should be aligned with stakeholders’ value propositions.

Look Before You Leap into ERP Implementation: An Object-Oriented Approach to Business Process Modeling

Object Oriented concepts are drawn upon to propose and validate an approach that simultaneously models the content of the process flows and the human behavioral context and gave two companies—that were on the verge of full-scale Enterprise Resources Planning implementation—reason to pause and reevaluate their current state of affairs.



Recursive functions of symbolic expressions and their computation by machine, Part I

A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. The system was designed to facilitate experiments with

Report on the algorithmic language ALGOL 60

It was decided to hold an international meeting in January 1960 for improving the ALGOL language and preparing a final report, and seven representatives were selected to attend the January 1960 international conference.

Smalltalk-80: The Language and Its Implementation

This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.

Programming in Modula-2

This paper aims to demonstrate the efforts towards in-situ applicability of EBNF's dynamic allocation policy, which aims to provide real-time information about the allocation of resources in the context of discrete-time computations.

The remaining trouble spots in ALGOL 60

This paper lists the ambiguities remaining in the language ALGOL 60, which have been noticed since the publication of the Revised ALGOL 60 Report in 1963.

The programming language oberon

  • N. Wirth
  • Computer Science
    Softw. Pract. Exp.
  • 1988
This is the defining report of the programming language Oberon, which describes the syntax of the Oberon programming language and some of the properties of the language.

Report on the Algorithmic language ALGO 60

Author's address: Niklaus Wirth

  • Author's address: Niklaus Wirth