Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
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 |
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
[13:04] |
[computers/programming] |
# |
TB |
F |
G |
1 Comments |
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
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 |
Java on CLR?
Jeroen Frijters, Mr. IKVM,
reports on an interesting development:
[01:14] |
[computers/programming/java] |
# |
TB |
F |
G |
0 Comments |
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...