HOPL HOPL.info is concerned with the idea-historical treatment of the development of programming language Above all they incorporate earlier design decisions.

This site is concerned with the idea-historical treatment of the development of programming languages as a means of human expression and creation. In 1976, at the History of Computing Conference in Los Alamos, Richard Hamming described why we might be interested in the history of computing: "we would know what they thought when they did it". We need to know why the people who designed programming

languages thought the way they did. When they designed languages, they made conscious choices, which we have to live with. And they made those choices for a wide variety of reasons, as many as the reasons for which they felt the need to create a language in the first place. Sometimes this happened as a result of individuals with specific problems looking for a solution to them and finding in a programming language an answer: Forth, APL, Rexx, Perl, E, dBase are instances of this type. Sometimes it is the opposite case - committees meet to decide on a solution - Algols 60 and 68, COBOL, PACT, Ada, CHILL, SQL are examples of these. Minutes and anecdotes show how the outcomes of these committees are compromise efforts that are the result of often bitter acrimony - witness the outbursts by the members of the IFIP 2.1 committee on Algol. Somewhere in the middle you have teams of designers working on a project - MATHMATIC, IT, FORTRAN, PL/I, Simula, R, CPL, SNOBOL, Logo, JOSS, MUMPS, BASIC. Some are different again - C, POP, LISP, Smalltalk, Pascal, Javascript, GPSS, Simscript all began with the inspiration of individuals but were nurtured by teams. Once languages are implemented and in use, they take on a life of their own: languages can't be changed when in use because programs are already written in them. Design flaws come to light through use, and are rectified through what Niklaus Wirth calls language loopholes. As a result of these occurrences language communities fork and fragment until they become mutually unrecognizable. Sometimes they are reunited again in a standard (as were LISP, COBOL, FORTRAN, C) - which has the effect of making older programs incompatible. Sometimes languages are abandoned by their designers who start again from basics (Wirth, Backus, Iverson all did this). Each new language design is done in the context of the prior existence of others. Sometimes there is a strong family resemblance carried on - for example all Algol languages are more or less mutually comprehensible and intertranslatable; sometimes (as in the case of the functional and logical languages) there has been an intentional break with all precedents. To draw on languages cited above, both Algol and PACT were born of an expressed dissatisfaction with existing systems. Even processes of rationalisation incorporate them either by acceptance or refutation. This is because they are cultural artefacts with a tradition and context like all cultural artefacts, subject to the vicissitudes of fashion trends, political embranglements and economic tides. We find that far from being created as pure scientific theoretical constructs, they are built for a variety of reasons and often in the most pressing of circumstances. As the world becomes increasingly and overwhelmingly dependent on software, we find that the core of that software - programming languages and systems - remain a mystery to even their users, the programmers. By paying attention to the origin, rise and fall of each of the languages we may learn why they made their decisions.

12/12/2024

We are finally fully back on line. Some inconsistency in the web.config.

Address

Perth, WA

Alerts

Be the first to know and let us send you an email when HOPL posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Museum

Send a message to HOPL:

Share

Category