Lambda the Ultimate The Programming Languages Weblog - join today!

XML icon






(new topic)

Language Evaluation

PL Courses

Research Papers

Design Docs


Genealogical Diagrams

Join Now



Anders Hejlsberg - Tour through computing industry history at the Microsoft Museum
Nice tour. Anders talks about Delphi and Turbo Pascal (did you know there was a Unix version?)

Posted to history by Ehud Lamm on 6/15/04; 5:29:09 AM


Refal programming language
Refal (for REcursive Functions Algorithmic Language) is a functional programming language oriented toward symbol manipulation: string processing, translation, artificial intelligence. Functional programming languages enjoy well-deserved popularity nowadays. One of the oldest members of this family (first implemented in 1968 in Russia, where it has been widely used ever since), Refal combines mathematical simplicity with practicality for writing big and sophisticated programs.

I don't recall seeing this language before.

It looks rather amusing.

Posted to history by Ehud Lamm on 4/25/04; 3:18:59 PM

Discuss (3 responses)

History of Programming Languages Seminar (Felleisen)
In this seminar course, we will study themes in the history of programming languages. The primary goal is to understand the discipline as it exits today and how its major themes evolved. Initially, the seminar will focus on the theme of formal description of programming languages, including syntax and various flavors of semantics. The choice of other themes will depend on students' preferences.

A seminar course given by Matthias Felleisen at Northeastern. Many interesting topics are covered, and the bibliography is worth exploring.

Posted to history by Ehud Lamm on 3/11/04; 3:29:10 AM


History of Lua
A short paper that discusses how the language evolved (tensions between backwards compatability and improvements, as ever).

Although we've mentioned Lua before, I can't find mention of this paper.
Posted to history by andrew cooke on 2/11/04; 12:44:24 PM

Discuss (2 responses)

Lisp Machines
This page is intended as a catalog of web-accessible information about Lisp Machines. Please notify me of any broken links: I keep local copies of many of the documents I link to, which I can post if they disappear from the net. Also, I always appreciate comments, as well as pointers to more Lisp Machine information, which I will gladly add to this page.

This is more Lisp Machine history than I have seen before on a single page. A lot of good stuff going back to the first early 1970s MIT papers on the CAR, CADR, etc. hardware and software, Chaosnet...

Chaosnet is a local network, that is, a system for communication among a group of computers located within about 1000 meters of each other. Originally developed by the Artificial Intelligence Laboratory as the internal communications medium of the Lisp Machine system, it has since come to be used to link a variey of machines around MIT and elsewhere.
Posted to history by Patrick Logan on 1/14/04; 9:21:05 AM

Discuss (2 responses)

EMACS: The Extensible, Customizable Display Editor
Appeal to editors, and editors you shall have!

EMACS is a real-time display editor which can be extended by the user while it is running.

Extensibility means that the user can add new editing commands or change old ones to fit his editing needs, while he is editing. EMACS is written in a modular fashion, composed of many separate and independent functions. The user extends EMACS by adding or replacing functions, writing their definitions in the same language that was used to write the original EMACS system. We will explain below why this is the only method of extension which is practical in use: others are theoretically equally good but discourage use, or discourage nontrivial use.

This classic paper by Richard Stallman describes the Emacs paradigm.

I greatly enjoy seeing how programming languages and their environments support this paradigm of writing programs while you run them, with the whole environment at your fingertips. Do you know some more good examples? Please share your favourites.

(Of course, writing programming environments is much easier today than back in the good old days, when men were men and you couldn't go scheduling in userspace code everytime somebody presses a key.)
Posted to history by Luke Gorrie on 11/6/03; 3:39:22 AM

Discuss (7 responses)

Algebraic Specification: some old history, and new thoughts
Eric G. Wagner. 2001.

Another member of the ADJ group talks about the early days.

If you are interested in ADTs, uses of category theory, or formal methods in general, you should find this quite interesting.

Posted to history by Ehud Lamm on 11/4/03; 12:04:44 AM

Discuss (1 response)

Type Safety in a Dynamically Extensible Class Library
via Don Box's Spoutlet

A document from 1988 that is a part of the early work leading to OLE and COM.

In this paper I consider the requirements for run-time representation of classes and protocols. These requirements derive from the objectives of integration of applications, and an open-ended library of object types. Following the example in BillG's memo of Sept 22, the specific intent is to permit a user to install code that implements a new type of object (such as an image) into his library, and immediately use objects of that type with his existing applications such as word processors.
Posted to history by Dan Shappir on 10/20/03; 12:57:02 AM

Discuss (2 responses)

PL/I and Multics
How Multics was built in a high-level language. Compiler construction and compiler features.

Yeah, yeah, I know. PL/I, fear and loathing time, right?

But the history is interesting, and when I don't have to use it, I can even fondly remember my short experience with PL/I.

And, believe it or not, the language is still alive. Shocking.

Posted to history by Ehud Lamm on 10/14/03; 4:25:51 AM

Discuss (1 response)

Historic Documents
(via Isaac, in the discussion group)

A collection of original documents - mostly related to programming languages.

The title of the page, "Historic Documents in Computer Science", is a bit misleading. One of the things on my desk is a bag containing seminal papers from the history of CS, which I am collecting in order to create an electronic anthology for my department. This page is of little help for that project, since none of the foundational papers are here (e.g., Turing, Kleene etc.), but it is quite rich in programming language related resources.

Posted to history by Ehud Lamm on 10/7/03; 11:22:05 AM

Discuss (1 response)

Definitional Interpreters for Higher-Order Programming Languages
John C. Reynolds: Definitional Interpreters for Higher-Order Programming Languages. Higher-Order and Symbolic Computation, 11(4), 1998, pages 363-397.

This paper was mentioned here a few times but we never did discuss its impact. Why not now?

If you haven't read the paper, but studied programming languages, perhaps that easiest way to describe the paper is to say that it is the origin of the EOPL approach: Language understanding by building (applicative) interpreters. Closures, continutations (and CPS), defunctionalization - it's all there.

From a historical perspective it is worth spending a few seconds to ponder the conclusion of Reynold's Definitional Interpreters Revisited (Higher-Order and Symbolic Computation, 11(4), 1998, pages 355-361):

Perhaps the real mystery about these concepts is that they appear, with easily recognizable similarity in such a variety of settings: with and without types, in denotational and operational semantics, in interpreters, and even in the transformation of arbitrary programs.

Posted to history by Ehud Lamm on 9/30/03; 1:36:36 AM

Discuss (1 response)

The Design of Parallel Programming Languages
Richard Gabriel on the design of Qlisp.

The essay is worth your time for the first anecdote alone (it's about the John McCarthy...)

Gabriel's conclusion, [i]t would seem to make sense that as our sophistication increases with programming and software developments, so should the sophistication of our programming languages is worth considering. It contradicts the doctrine that good languages exhibit a small set of orthogonal features, of the kind found in Scheme or Haskell.

But then, what would you expect from someone who arguest that Worse Is Better?

Posted to history by Ehud Lamm on 8/10/03; 3:20:34 AM

Discuss (8 responses)

Types and Programming Languages: TNG
Yet another slide presentation of what's happening in the world of Types. This one from Benjamin Pierce. The presentation covers some of the major areas of type theory and application with accompanying TimeLines (which is why I put this in history).

Birds-eye view of what’s happening in the world of types for programming languages (not logic or theorem proving) Using 1993 and 2003 as reference points

It doesn’t always feel like it when you are working in the trenches, but the world of PL research has changed in some major ways in ten years...

While I'm here, wondering if anyone has an opinion on the TAPL book by Pierce - Pro or Con?
Posted to history by Chris Rathman on 7/21/03; 8:03:39 AM

Discuss (3 responses)

The PILER Decompilation System
The PILER decompilation system is documented in P. Barbe, The Piler system of computer program translation, Technical report PLR-020, Probe Consultants Inc., September 1974. However, this document is probably only available in Microfiche form, and would be difficult for many to access. As the first attempt at a general decompiler, I thought it was worth summarising in a little more detail.

Posted to history by Ehud Lamm on 7/12/03; 11:30:45 AM

Discuss (1 response)

JOVIAL References
Last time JOVIAL was mentioned on LtU, we couldn't find much in the way of references or code that was available on the web.

The U. Bath site has some background info on JOVIAL as well as links to additional JOVIAL resources. For those interested in the language the J73-C Reference Manual should be more than enuf to satisfy their curiosity.
Posted to history by Chris Rathman on 7/7/03; 8:37:23 AM

Discuss (2 responses)

Mug Shots
Thought it might be interesting to put faces on some of the more noteworthy people associated with Programming Languages. Probably left off many and misidentified some (e.g. Haskell is more a committee than any particular individuals).

And I haven't been able to locate a picture of Radin or Schwartz just yet. Radin was probably locked up in the back room at IBM never seeing daylight. And the military has seemingly destroyed any and all documentation concerning Jovial and anyone who has knowledge of that language! :-)
Posted to history by Chris Rathman on 7/2/03; 1:49:15 PM

Discuss (8 responses)

Seven (give or take) Smalltalk Implementations
Video of a seminar lecture given by Dan Ingalls.

The nice thing about a language that takes hold is that you can work with it again and again. In 30 years we have built Smalltalk systems with quite different constraints. This talk will examine a few of these, and show how tricks of the trade can be applied to enhance one aspect or another and, frequently, to make real progress.

Many insights on language design, many of them not Smalltalk specific.

Posted to history by Ehud Lamm on 5/27/03; 5:12:06 AM

Discuss (2 responses)

Mother Tongues of Computer Languages

This site provides a poster that shows the evolution of the strongest branches of computer languages. Also provides a link to a more exhaustive compilation.

Posted to history by Dejan Jelovic on 5/13/03; 11:58:48 AM

Discuss (8 responses)

The Next 700 Programming Languages
Well, since we seem to be busy prognisticating 100 years into the future, I figure it might not hurt to look back 40 years into the past. :-)

This is a classic paper from Peter Landin back in 1965. The paper discusses the programming language ISWIM (if you see what i mean). The language itself didn't get far, but the efforts to emphasize Church's lambda calculus were heavily influential - many of the current slate of functional languages are the great-grand-children.
Posted to history by Chris Rathman on 4/12/03; 8:11:33 AM

Discuss (2 responses)

1995 SQL Reunion: People, Projects, and Politics
System R is a database system built as a research project at IBM San Jose Research (now IBM Almaden Research Center) in the 1970's. System R introduced the SQL language and also demonstrated that a relational system could provide good transaction processing performance.

Extremely cool bit of history. Check out transcripts of the discussion.

As Oleg notes, curiously the first query language proposed by Ted Codd was based on predicate calculus, with quantifiers and such. People though it is "hairy stuff". That's why SQL was "based" on English.

There are also some anecdotes about the "discovery" of compilation (as opposed to interpretation) of SQL, and how this relates to optimization.

Given my mainframe DBA past, I found several of the stories quite amusing. One that I think we can all share, is that there were these IBM people trying to do code reviews for programming style on the machine code produced by the compiler. The obvisouly found many many defects...

Posted to history by Ehud Lamm on 3/18/03; 3:50:39 AM

Discuss (2 responses)

Erlang: A Case Study of Technology Introduction
Bjarne Dacker. Concurrent Functional Programming for Telecommunications: A Case Study of Technology Introduction

It seems several of the LtU editors discussed this paper over on the LL mailing list, but not one of them thought of mentioning it here.

Still, I think this thesis provides valuable information about the evolution of erlang, and its use inside and outside Ericsson.

Getting technology from research labs into industry is a well known problem, and programming languages are no exception. However, it may be useful to recall that quite a few succesful programming languages followed this route (think C, C++, and even Smalltalk).

So that's the historical angle.

The other reason for posting this here on LtU is to encourage anyone who has a cool (functional) inhouse language to go ahead and release it to the public domain (be sure to post a message on the LtU discussion board )

Posted to history by Ehud Lamm on 2/18/03; 2:44:10 PM

Discuss (15 responses)

The "Plankalkul" of Konrad Zuse

Plankalkul was an attempt by Konrad Zuse in the 1940's to devise a notational and conceptual system for writing what today is termed a program. Although this early approach to a programming language did not lead to practical use, the plan is described here because it contains features that are standard in today's programming languages.

Posted to history by Dejan Jelovic on 11/27/02; 7:36:48 AM

Discuss (1 response)

Survey of OOPL
From the LtU DG.

This looks like a nice survey of major OOPLs: Simula, Smalltalk, Modula-3, Self, Eiffel, Sather, C++ and Java.

Not very detailed but gives a nice high level overview.

Posted to history by Ehud Lamm on 11/11/02; 12:37:18 AM


Reynolds: The Essence of Algol
John C. Reynolds. The Essence of Algol. In Jaco W. de Bakker and J. C. van Vliet, editors, Algorithmic Languages, pages 345-372, Amsterdam, 1981. North-Holland.

This classic is packed with insights about language design. It is impossible to do it justice in a few short lines.

I'll try to comment on some of the specifics later on, but I suggest you take a lookg at the paper for yourselves.

Posted to history by Ehud Lamm on 10/24/02; 12:45:57 PM

Discuss (2 responses)

The Tcl War

An archive of interesting points made during the "Tcl War" of 1994 initiated by Richard Stallman's "Why you should not use Tcl" newsgroup posting. Several interesting ideas arise during the debate like that of users "voting with their feet" for languages and the virtues of the Unix string-based textual approach to programming versus the virtues of the more symbolic approach of the Lisp world.

Posted to history by jon fernquest on 9/23/02; 12:36:37 AM

Discuss (9 responses)

20 Years of PLDI (1979 - 1999): A Selection
We began by soliciting nominations from the committee and community at large. At least three committee members carefully reviewed all the papers in each year. We received 351 nominations from the community and the committee, resulting in the nomination of 174 distinct papers. Each committee member then voted for 60 of these 174. Excluding the top 29 papers, we voted again with 15 votes among the additional 45 papers that had garnered at least one vote in the previous round.

An interesting multifarious collection of papers.

Too bad only a few of the papers I nominated were selected.

Posted to history by Ehud Lamm on 9/13/02; 7:40:24 AM

Discuss (6 responses)

Can Programming Be Liberated from the von Neumann Style?
John Backus's classic manifesto arguing for functional (aka applicative) programming languages.

I'vee been looking for an online copy for a long time. Thanks!

Read all about the von Neumann bottleneck and why side effects are bad for you.

Alas, the paper shows its age. The applicative language Backus had in mind seems to be APL, not Haskell

It would be great if someone would produce an updated version, translating the examples into one of the more modern formalisms.

Posted to history by Ehud Lamm on 8/27/02; 9:01:02 AM

Discuss (10 responses)

VDM-SL: a Tutorial
The ill-defined semantics of PL/I provided the initial impetus behind VDM which was used in the design of ADA. Z was a product of a VDM splinter group. Online tutorial includes some interesting examples like a virtual keyboard for Indian script and regular expression specifications. Chapters on "sets, sequences, maps, function composition, refinement, and modules." Note VDM was defined before object oriented programming came along.

The definition of PL/I was done using a notation specially developed for the task. It occupied several hundred pages of fine print and was only really intended to be of use to implementers of PL/I compilers.... A number of the people involved in that specification project had realised part way through that 'there had to be a better way!' ...people... were beginning to formalise the theory behind the concepts of denotational semantics.... Work on designing and specifying Ada was going on at the same time and a team ...started to develop a specification for Ada in a notation which differs in visible syntax but was essentially the same as that now known as vdm-sl. At that time the notation had not received any formal definition itself although theorists in several places realised that there was something important in being able to specify activities in a formal way.... To cut a long story short, it was in the early 1990s that work ...began on formal definition of vdm-sl itself. Some years and a lot of meetings later a group at Oxford broke off to develop another formal specification language based around another form of mathematical logic - and Z was born.

Posted to history by jon fernquest on 8/22/02; 3:59:23 AM


Teaching the Fatal Disease
PL/1 is the most famous early example of programming language feature bloat:

"It is the rare human who is aware of all the features of PL/I. Thus, a programmer can make himself indispensable by using a significant portion of the plethora of PL/I features in his programs. ...indispensable programmers should immediately be fired!"

Dijkstra took a swipe at it too:

"Using PL/1 must be like flying a plane with 7000 buttons, switches and handles to manipulate the cockpit. I absolutely fail to see how we can keep our growing programs firmly within our intellectual grip when by its sheer baroqueness the programming language...already escapes our intellectual control. ( Humble Programmer Turing Award Lecture)

He goes on to talk about how one feature addicted lecturer asked for 50 more new features in a one hour talk. PL/I As a Tool for System Programming: five years with a temporary compiler is a post-mortem by a member of the Multics Operating System design team (developed about the same time as Unix, more ambitious, less successful). Software Archeology: Understanding Large Systems tells a PL/1 story of ill-defined semantics beyond a programmer's intellectual control while working for Ross Perot's EDS at General Motors in the early 1980's. The mere act of inserting a debug message solved the bug, so they left it alone. Finally, there is a well-reasoned 1994 defense of PL/1 Power vs. Adventure - PL/I and C in which "the 'old and honest' programming language PL/I seems to grow new blossoms."

Posted to history by jon fernquest on 8/14/02; 12:59:58 AM

Discuss (3 responses)

Dijkstra and the Ada language
To honor the life of a great scholar, I decided to go back and read Dijkstra's analysis of the various documents leading to the Ada language.

Ada had a long and mostly public design process, and thus provides an interesting case study. Notable scholars commented on the langugae design (before and after the language design was completed). I'll concentrate on several documents available from the Dijkstra manuscript archive.

The design of a language for the DoD mimicked the design of a software system: a list of requirements was agreed on (more on that later), and then several candidates were evaluated.

Dijsktra reviewed the Strawman and Woodman requirement documents - and he wasn't thrilled. Aside from giving some interesting comments about the process of language design and various language features, Dijsktra commented on the use of English in the requirement documents: For anything non-trivial careful use of language is not a luxury, but a must. The same is, of course, true as regards the use of a programming language when building a software system.

It is beyond my scope to review the detailed comments Dijsktra gave about the green, red, blue and yellow language proposals (the green one was eventually chosen), so I will only give a few comments.

Dijkstra agrees with Niklaus Wirth that a language definition should be complete without a reference to a compiler or computer (i.e., implementation details). He goes beyond that and argues for a language definition independent of any underlying computational model. I hope I understand this correctly when I conclude that a programming language should provide its own computational model, and thus serve as an abstraction mechanism.

This goes hand in hand with Dijsktra's emphasis on the need to recognize the inherent difficulty in programming.

The notion of strong typing is carefully analyzed. When disucssing the theory of type systems it is common to forget just how closely tied typing is to the language definition. What exactly determines the type of an expression? What is a subtype, and how is it different than a new type? Should the language allow anonymous types, and if so how are they to be handled?

Dijkstra writes with ruthless wit and intensity. He keeps on reminding us the "convenient" and "conventional" are not synonyms - something present day language designers should keep in mind.

I found the amount of thought given to each language to be quite remarkable. Dijsktra carefully examined minute language features, and tried to write meaningful programs in each language.

Even though these are not research papers, they show scholarship of the highest caliber, giving attention to detail while not losing sight of the big picture.

Posted to history by Ehud Lamm on 8/8/02; 7:19:25 AM

Discuss (2 responses)

Cracking the 500-Language Problem
This paper is an interesting excursion into programming language archeology, a retrospective of a problem that the Y2K people faced, the 500 language problem, namely the reality that you have to write parsers for the 500 to 700 different languages that exist in the world before you can do semantic transformations on them. Cobol which accounts for 30% of the software in the world is almost a 500 language problem in itself:

If everyone were using Cobol and only a few systems were written in uncommon languages, the 500-Language Problem would not be important. So, knowing the actual language distribution of installed software is useful. First, there are about 300 Cobol dialects, and each compiler product has a few versions—with many patch levels. Also, Cobol often contains embedded languages such as DMS, DML, CICS, and SQL. So there is no such thing as "the Cobol language." It is a polyglot, a confusing mixture of dialects and embedded languages—a 500-Language Problem of its own.

[Online HTML]

Posted to history by jon fernquest on 7/27/02; 2:56:05 AM


Five Little Languages and How They Grew: Talk at HOPL
How to succeed in language without really trying.

Be lucky.
Posted to history by Dejan Jelovic on 5/15/02; 11:21:52 AM


Lisp Machine Video
Ever wondered what it's really like to use a lisp machine?

Sure did...

Posted to history by Ehud Lamm on 5/10/02; 7:21:53 AM


PLDI and its predecessor (Symposium on Compiler Construction) are a forum where researchers have presented original work on practical issues in the design, development, implementation, and use of programming languages. SIGPLAN is embarking on a project to compile the most influential papers published in PLDI from 1979 through 1999 into a special SIGPLAN proceedings which will include 35 to 45 papers, and invited retrospectives from the authors.

Great idea!

Notice that the nomination deadline is Friday, April 5, 2002, 5:00 pm EST. Get busy.

And oh, when you nominate a paper - please mention it here too.

Posted to history by Ehud Lamm on 3/30/02; 1:19:39 AM

Discuss (2 responses)

Multics Software Features
Contains a lot of interesting information (and quite a lot of trivia as well). The languages section talks about the likes of PL/I, COBOL, Fortran, APL and MACLISP. Algol68 is there too, in case you wondered.

(via LtU's discussion group).

Posted to history by Ehud Lamm on 1/30/02; 12:33:19 AM

Discuss (2 responses)

The Roots of Lisp
In this article I'm going to try to explain in the simplest possible terms what McCarthy discovered. The point is not just to learn about an interesting theoretical result someone figured out forty years ago, but to show where languages are heading. The unusual thing about Lisp-- in fact, the defining quality of Lisp-- is that it can be written in itself. To understand what McCarthy meant by this, we're going to retrace his steps, with his mathematical notation translated into running Common Lisp code.

Constructive demonstrations of this sort are always fun.

Paul Graham admits to writing this article to help myself understand exactly what McCarthy discovered.

It may thus be helpful for those considering the still open question.

Posted to history by Ehud Lamm on 1/4/02; 5:47:23 AM

Discuss (3 responses)

Memories of ADJ
Joseph Goguen. Bulletin of the European Association for Theoretical Computer Science, Number 36, October 1989, guest column in the Algebraic Specification Column, pages 96-102; also, in Current Trends in Theoretical Computer Science: Essays and Tutorials, World Scientific, 1993, pages 76-81.

The early history of algebraic specification, and abstract data type theory.

Includes a very funny story about censorship of academic research during the Vietnam war.

Posted to history by Ehud Lamm on 12/26/01; 8:17:18 AM


The History of T
A fascinating recollection of the development of T (an early Scheme implementation) from someone (Olin Shivers, author of scsh) who was there.
Posted to history by Bryn Keller on 12/12/01; 9:26:43 AM

Discuss (60 responses)

Wirth: On the Design of Programming Languages
This is more a manifesto than an academic paper, but I think it is worth reading Wirth when thinking about PL design.

Wirth recalls some of his personal experiences from early designs (the Euler language), and the evolution of his views on simplicity as a goal for PL design.

It may be interesting to compare Wirth's design criteria with other lists of PL design criteria.

Which languages would you put in the category of languages that are too simple?

Posted to history by Ehud Lamm on 11/19/01; 11:40:11 AM

Discuss (9 responses)

SPITBOL 360 is an implementation of the SNOBOL4 programming language for use on IBM 360 compatible computers. SPITBOL 360 was the first true compiler for SNOBOL4 and is an incredibly clever work of assembly language.

I am not sure how many LtU readers would even recognize a /360, /370 or /390 if it hit them in the nose, but since I worked on an MVS system for some six years, I have a soft spot for these beasts...

I also have a soft spot for string processing languages. I even tried to install Icon on an MVS system once, It didn't work... But this is even cooler

Robert Dewar's code is always worth reading, so if you are into ASM/360 (BAL), you may enjoy taking a look.

If you are more interested in SPITBOL itself than in the assembly source code, you may want to check out the Ada implementation of the pattern matching algorithms, created by Dewar and supplied with the GNAT Ada compiler.

Posted to history by Ehud Lamm on 11/17/01; 4:04:04 AM


Hoare's "Hints for Programming Language Design".
...the primary purpose of a programming language is to help the programmer in the practice of his art.

This is a classic. That's why I put it in the history department, even though I think most of the points in the paper are as relevant today as they were in 1973.

Posted to history by Ehud Lamm on 11/15/01; 1:52:40 AM

Discuss (1 response)

Worse Is Better
(via PHP everywhere)

Richard Gabriel reminicses on the origins of Lisp: Good News, Bad News, How to Win Big (includes links to paper itself and some responses).

Another link.

This is a classic paper, but it seems we never mentioned it here (or maybe I've just forgotten).

Posted to history by Ehud Lamm on 8/24/01; 11:49:42 PM

Discuss (1 response)

Gosling: The Story of Java
Nothing particularly new here, but this presentation is a nice overview.

Gosling says that different people like Java for different reasons. One wonders, if those who hate it all hate it for the same reasons...

Some points caught my attention.

Gosling emphasizes the security as reliability angle of Java: most security holes are, in fact, program reliability problems (i.e., bugs). Since this is true, it is sad that Java's security model is based mostly on the JVM and not on things like assertions and DbC.

One point that appears on the slides, is the importnace of versioning to solve the fragile base class problem. However, as far as I know, Java doesn't address this - C# does.

The slide covering the various factors making SE hard is great. I think I am going to use it in my classes.

(Note: Since the presentation is long, you may wnat to start at the end, rather than at the beginning.)

Posted to history by Ehud Lamm on 7/21/01; 1:13:25 PM


Simon Peyton Jones
His past and (Microsoft) present.

This is a social, not a technical history. Are people interested in this kind of thing? Would you consider it appropriate here?
Posted to history by Biep on 7/13/01; 3:07:30 AM

Discuss (2 responses)

A History of CLU
This is a retrospective by Barbara Liskov, the primary designer of the CLU programming language. CLU was primarily developed as a tool to build Abstract Data Types using modules (aka clusters) and was highly influential in the development of programming languages. Recommended reading for anyone interested in language design issues.

CLU has been influential on programming languages both directly and indirectly. Many of the features of CLU were novel; in addition to the support for data abstraction through clusters, there are iterators, the exception mechanism, and the mechanism for polymetric polymorphism. These ideas have had an important impact on programming language design and CLU’s novel features have made their way into many modern languages. Among the languages influenced by CLU are Ada, C++, ML, Modula 3, and Trellis/Owl.
Posted to history by Chris Rathman on 7/4/01; 11:42:17 AM

Discuss (1 response)

Logs: Hack The Planet ; JavaLobby ; Daily Python-URL ; xmlhack ; PHP everywhere ; (more)
Wikis: WikiWiki ; Erlang ; Common Lisp ; Haskell ; Squeak ; Tcl ; Program Transformation
Print-Friendly Version
Create your own Manila site in minutes. Everyone's doing it!