Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 29 Apr 2003
RSS Bandit News
Torsten has RSS Bandit 1.1 Beta 4 ready. More important that that, he says that some of what Don Park has been talking about is on his TODO list for RSS Bandit. Torsten, it'd be great to see what else was on that list...
[13:09] | [computers/internet/weblogs] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Linearity, Code generation and object failure
A raft of language postings today: Carlos weighs in with pointers to the "Objects have Failed" debate held at OOPSLA 2002, where the opposing positions were represented by Guy Steele and Dick Gabriel. The two essays are "the glass is half empty" and "the glass is half full". Instead of looking a whether objects have succeeded or failed I think we need to look at what is still unfinished.  Regarding this, Steele said
Now, objects don't solve all the problems of programming. For example, they don't provide polymorphic type abstraction (that is, generic types). They don't provide syntactic abstraction (that is, macros). Procedural programming still has its place in the coding of methods. But to say that objects have failed because they don't solve all possible problems is like saying carbohydrates have failed because you can't live on pure sugar.
As I read Gabriel's essay, it seems that you could boil a lot of his argument down to more simplicity and more dynamism, particularly in the types domain.  There were one or two other interesting points that were made:
Powerful concepts like encapsulation were supposed to save people from themselves while developing software, but encapsulation fails for global properties or when software evolution and wholesale changes are needed. Open Source handles this better. It’s likely that modularity—keeping things local so people can understand them—is what’s really important about encapsulation.
I think that this an interesting observation as to where language constructs facilitate objectives vs when process facilitates those objectives.
Objects require programming by creating communicating entities, which means that programming is accomplished by building structures rather than by linguistic expression and description through form, and this often leads to a mismatch of language to problem domain.
This sounds to me like a call for additional support for metalinguistic abstraction, which is what macros are all about.

In the vein of what's left to do, as I was looking through Gabriel's notes I saw many quotes from William Cook, who preceded me both at Brown and at Newton, so I did a little googling and found his home page.  And lo and behold, there's a presentation with his ideas on what's left to do.  The things from his list that resonate with me:

  • Postmodernism - a collage of paradigms (particularly things like persistence and XML).  There was a paper from Erik Meijer and Wolfram Schute on this blog today.
  • Descriptive Language - I see better support for metalinguistic abstraction as a key here.
  • Linearity - "A change in requirements is proportional to the change in implementation". Will claims this is more important than encapsulation, modularity, and reuse. I'd say that linearity is what those things are trying to enable.  It doesn't hurt that he got this idea from Sussman.
  • Domain-Specific modeling - macros is normally what I think of here. It was interesting to see his adidtions of generative programming, meta-programming, and staged-computation

Winding up todays PL entry is a posting from John Lam which referred to the Code Generation Network and a really good interview with Dave Thomas.  I'm really going to need to go read the Pragmatic Programmer, because the more I read of Thomas, the more I like what I read.  I like the way that he separates code generation as a smell versus code generation as a way of implementing "Don't Repeat Yourself" (DRY).  Seems to me that DRY is also a way of getting Linearity.  The other thing that was interesting was his example code generator in Ruby, in which he uses active code and Ruby's ability to run code a class definition time (sounds like macros/MOP to me).  I need to go find out how to do this in Python -- the metaclass documentation leaves a bit to be desired.  I'm probably going to need to go take a serious look at Ruby, just so that I can be informed.
[13:04] | [computers/programming] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Hydra envy
Robert Kaye had some interesting observations about Hydra at work. Things like Hydra do create iBook envy, but cool as Hydra is, being locked on the Mac isn't going to help me (or any other Intel hardware based person) any. Seems to me that the jEdit hackers could sit down with a copy of Strangeberry's JRendezvous, and produce a Hydralike system that would work across OS's. The keystroke notification code is already there if jEdit can do split pane editing on the same file. There will be some concurrency issues to manage but it seems doable to me...
[01:22] | [] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Java on CLR?
Jeroen Frijters, Mr. IKVM, reports on an interesting development:
Saturday I joined the DotGNU IRC meeting to discuss their Java support. We decided to make sure that our efforts will be interoperable. They are working on a Java source to IL compiler and this complements IKVM's byte code to IL compiler nicely. We'll be working together to create a standard format for remapping Java classes to .NET classes and define custom attributes to express Java semantics that don't map directly onto the .NET standard attributes.
My understanding is that IKVM can already run Eclipse -- a Java to IL compiler, well, let's just say that's very interesting...
[01:14] | [computers/programming/java] | # | TB | F | G | 0 Comments | Other blogs commenting on this post


twl JPG

About

Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos


Syndicate
RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< April 2003 >
SuMoTuWeThFrSa
   1 2 3 4 5
6 7 8 9101112
13141516171819
20212223242526
27282930   

Archives
2006
2005
2004
2003

Articles
Macintosh Tips and Tricks

Search
Lucene
Blogs nearby
geourl PNG

Categories
/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)



[Valid RSS]

del.icio.us linkblog

www.flickr.com

Blogroll

java.blogs
Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?


pyblosxom GIF