Anúncios

Presentations of the First Project

6 abril 2022, 11:32 António Paulo Teles de Menezes Correia Leitão

The presentations of the first project will be done on 12/04/2022 and on 19/04/2022, between 14h and 18h, on room V1.24.

Between 14h and 16h, we will have presentations from the groups in shift PAvaL02, and between 16h and 18h from the groups in shift PAvaL03.


A (relatively) recent opinion on CLOS

23 março 2022, 17:10 António Paulo Teles de Menezes Correia Leitão

The Finest Object System You’ve Never Heard Of


Regarding Java and Lisp :-)

22 março 2022, 15:14 António Paulo Teles de Menezes Correia Leitão

Java - Halfway Between C++ and Lisp


1 Introduction

This is a literal transcript of a public discussion about the Java programming language that happened on an MIT mailing list in August 2003. The participants were Guy L. Steele Jr. and Scott McKay, with a final amusing comment from Jeremy Hylton. The biographies of the participants might give some clues about them:

Guy Steele

is responsible for the specification of the Java programming language. He is also co-inventor of the Scheme language and the author of Common Lisp, the Language.

Scott McKay

designed and implemented several object-oriented languages and he participated in the specification of the Dylan language and the Common Lisp Interface Manager.

Jeremy Hylton

is a long-time contributor to the Python language and he serves as secretary of the Python Software Foundation and on its board of directors.

2 The Discussion

The discussion started when Guy Steele tried to explain that some of the design decisions taken in the specification of the Java programming language were heavily influenced by the users. Scott McKay starts from there:

Scott McKay: With all respect, you should have looked beyond the user feedback. It is my experience that most users don't actually know what they need; they only know what they wanted yesterday and might possibly want today and maybe tomorrow. (And I literally mean "yesterday", "today", and "tomorrow".) This is no surprise since knowing what they want in a language is not their immediate concern, since they have other work to do that is more directly relevant to their jobs. It surely could not have been the case that including the "whole shebang" would have made the current restricted case more difficult from a user's point of view, if properly presented.

Guy Steele: With all respect, I think you underestimate the difficulty of getting a radically new programming language accepted.

We did look beyond the user feedback, and at it, and made what we still regard as a reasoned pragmatic choice at the time.

Scott McKay: I probably don't underestimate it by much, having spent a good portion of my life having failed, even though what I have had the good luck to work on has been quite good. I still think, based on what evidence I am able to collect, that Java did not achieve acceptance based mainly on the features it has (or does not have). It was accepted because Sun expended a huge amount of effort (not to mention money) promoting Java and the things built from it, and wisely positioned it against the nightmare that is C++.

There is no convincing evidence I have seen that leads me to think that Java would have been more, or less, widely accepted had its glaring faults and omissions been addressed.

Guy Steele: There is another point. Java had a number of other glaring faults and omissions in 1995, and we fixed those before releasing it in 1996. (Because we fixed them, you may never have known what we fixed.) And we had finite resources, facing an apparently finite window or opportunity. We had to make hard choices about what to fix before releasing it. Method call overload resolution was a mess; we fixed it. Generic types were debated, but didn't make it in. Unicode support was added; tail calls were not. And so on.

And you're right: we were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy?

Scott McKay: I would be happier had the hype campaign not presented Java as the ultimate programming language, obviating any need for any more programming languages, ever. Yes, it dragged a lot of people halfway to Lisp, but it also tricked them into thinking that that's as far as they need ever look.

Jeremy Hylton: If the hype campaign had said:

Hey! We've got this language that's about halfway between where you are and a really good language.

it probably would not have been effective.


Videoconference to Tagus

7 março 2022, 20:46 António Paulo Teles de Menezes Correia Leitão

Despite my efforts, I could not present today's theoretical class through videoconference.


I suggest to all students that could not attend the class at Alameda to watch this video.


Attending classes remotely

7 março 2022, 20:34 António Paulo Teles de Menezes Correia Leitão

If you prefer to attend the classes remotely, you can do so using the following Zoom link.