Women in Technology

Hear us Roar



Article:
  Daddy, Are We There Yet? A Discussion with Alan Kay
Subject:   Been there, done that
Date:   2003-04-07 00:02:03
From:   anonymous2
Response to: Patterns built in

I think you're absolutely right about needing to be able to express higher levels of abstraction with programming languages. What is needed is a language that is inherently extensible. If you can extend the syntax of a language using the language itself, you can add any of the patterns you want without having to come up with a new language.


The good news is that this is already possible. In fact, languages that can be extended in themselves already existed long before the term "design pattern." The ones I know about are in the Lisp family, like Scheme ( http://schemers.org ) and Common Lisp ( http://cons.org/cracauer/lisp.html ). However, I'm sure there are others.


I also enjoying programming in Python immensely. One of the new features of the language I haven't explored yet is metaclasses, which may also provide the extensibility I was talking about. I'm not certain, but I think that the concept originated in Smalltalk, the main focus of this article.


The more I see and read about software, the more I'm convinced that nothing new is being done in Computer Science and language design. Most of the interesting stuff has already been done and most people don't even know about it. Maybe being a Computer Scientist involves being a historian as much as anything else.


Jonathan Rogers

Full Threads Oldest First

Showing messages 1 through 2 of 2.

  • What about FORTH or TILE?
    2004-02-13 22:32:28  mhamrick23 [View]

    FORTH is a wonderful example of a language that is extensible. You're provided with a number of control structures, but if they don't work for you, you're well within your rights to invent your own. There's a somewhat standard way to break into assembly in FORTH that involves loading the assembler module for whatever processor you're interested in. It adds keyword that generate opcodes and in the process modifies the parser.

    So when you talk about extensible languages, I wonder if what you're talking about isn't simply a language where the parser is configurable..
  • Been there, done that
    2003-10-08 19:17:34  anonymous2 [View]

    Metaclasses did come out of the Smalltalk. Either the ST-78 or ST-80. Can't remember which right now.