Slashdot Mirror


Extensible Programming for the 21st Century

Anonymous Cowardly Lion writes "An interesting article written by a professor at the University of Toronto argues that next-generation programming systems will combine compilers, linkers, debuggers, and that other tools will be plugin frameworks [mirror], rather than monolithic applications. Programmers will be able to extend the syntax of programming languages, and programs will be stored as XML documents so that programmers can represent and process data and meta-data uniformly. It's a very insightful and thought-provoking read. Is this going to be the next generation of extensible programming?"

3 of 438 comments (clear)

  1. Go Greg! by xcham · · Score: 5, Informative

    The document is mirrored here to help compensate for the bandwidth deluge.

    --
    When life gives you lemons, you CLONE those lemons, and make SUPER-LEMONS. -- Dr. Cinnamon Scudworth, Ph.D
  2. been done by studboy · · Score: 5, Informative

    programs will be stored ... so that programmers can represent and process data and meta-data uniformly.

    Yup. Back in the day, we called this "Lisp". It was about as readable as XML, but a hella lot more fun.

    1. Re:been done by Anonymous Coward · · Score: 5, Informative
      The S-expression people put the attributes in as arguments; the element data is also just another argument, which is certainly a more uniform treatment.

      Ex:
      <a b="1" c="2" d="4">blahblahblah</a>
      becomes something like:
      (a "blahblahblah" (b 1 c 2 d 4))
      or this:
      (a "blahblahblah" b 1 c 2 d 4)
      or this:
      (a (b 1) (c 2) (d 4) "blahblahblah")
      Take your pick.

      The point stands that you don't need XML's syntax to get these sort of behaviors, and that's not really surprising; any sufficiently general syntax usually can accomodate any paradigm in another sufficiently general syntax. This probably has some metaphysical voodoo link with the Church-Turing thesis, formal languages, and computability, but I'm too lazy to care.

      You could dispense with the element names if you didn't care about such things, although it makes it harder to reorder your arguments, of course. Then again, XML can't support this sort of ordered attribute list, now can it? Not directly, anyway. ;)

      I'm not a Lisp or XML zealot, and I agree with you that if it's machine-generated, it doesn't really matter, but the Lisp people have a point that anything you claim to be able to do now with XML could have been done before with Lisp. Heck, DSSSL is based on Scheme.

      * Note that I didn't quote the arguments; I'm assuming this is being fed to the read procedure, and not the evaluator.