[TYPES] the possibly uselessness of semantics, was -- The type/object distinction and possible synthesis of OOP and imperative programming languages

Avik Chaudhuri avik at cs.umd.edu
Sat Apr 20 16:16:54 EDT 2013

On Apr 20, 2013, at 11:58 AM, Uday S Reddy wrote:

> [ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
> Matthias Felleisen writes:
>> I think if more of us did this kind of work, we would see two
>> developments"
>> 1. Working programming language developers may figure out that our tools
>> are useful and use them.
>> 2. We would figure out what kind of tools working language developers
>> really need, and we might develop/change tools so that they are useful in
>> the real world.
> I would happily endorse these ideas.  In fact, this is what I think would
> constitute "applied PL research": understanding, evaluating, critiquing, and
> shepherding new programming languages, which I believe will necessarily come
> from outside our community because it is the application develepors who
> understand best where the needs are for new languages.

I humbly contest this position. It is not the responsibility of others to pick up ideas from "our community" and apply it to the "real languages." At least some of us should (and do) devote enough time to popularize these ideas. We desperately need more people like this: http://www.scottaaronson.com/blog/.

> However, I still see considerable problems because it is not clear to me
> what "our tools" are.  Our field has suffered from early fragmentation.
> Right in the 60's, people divided themselves in operational, denotational,
> and axiomatic camps and these camps have never come together, perhaps only
> diverged more in the succeeding decades.  Further fragmentation in the
> language styles, e.g., functional programming vs imperative programming,
> later, ADTs vs objects, statically typed vs dynamically typed, correctness
> by verification vs correctness by construction and so on, ensued.  There is
> no core body of knowledge that we all accept as being fundamental and
> essential to our field.  No two programming language text books have the
> same content, no two programming language courses teach the same material,
> and we even have difficulty picking just one of the published text books as
> being good enough for our own courses.  As a result, even when we force our
> students to take our courses, there is no common base of knowledge that our
> graduates share when they go out into the real world and perhaps become PL
> designers one day.  Dermot McGahon mentioned just earlier today that he was
> not taught "these concepts" during either his Bachelor's or Master's
> degrees, which is telling.

I don't see variety as a bad thing: it is an indication of how rich our field is, and reflects how much of an art programming is, as much as it is a science. That said, sure, some consolidation would be great. In particular, I hate seeing similar ideas reinvented over and over again, I'd love to see connections being made across sub-disciplines, so that techniques and results in one can be applied to the other.


> I really find it hard to see how we will be able to have any more influence
> on the outside world until we are able to put our own house in order.  And,
> that means figuring out what our core body of knowledge is, integrating all
> the various approaches we have developed over the years, and ironing out our
> differences to the point that we see the merits in each other's approaches.
> Perhaps there is a useful role that SIGPLAN can play in generating such a
> consensus?
> Cheers,
> Uday

More information about the Types-list mailing list