Updated: 5/5/2003; 7:24:53 PM.
Java development

Monday, May 05, 2003

Guido van Rossum (Python creator) started a weblog, at Artima. He's in good company there: Ward Cunningham , Frank Sommers, Bill Venners, Jim Waldo.

I like Bill Venners and I'm glad that Artima starts hosting weblogs for programming stars.

7:24:42 PM    comment []

Wednesday, April 30, 2003

Are Dynamic Languages Going to Replace Static Languages? [Ted Leung]
11:37:51 AM    comment []

Have Objects Failed?. [::Manageability::]
11:30:00 AM    comment []

Open Source and Open Standards.[O'Reilly Network MacDevCenter.com]
11:29:19 AM    comment []

Sun evangelist yawns about new Windows server. [TheServerSide.Com: Your J2EE Community Forum]
11:25:28 AM    comment []

Opinion: Sun / JBoss Cold War Heats Up.  [TheServerSide.Com: Your J2EE Community Forum]
11:24:22 AM    comment []

Bayesian Java toolkit. [Raw Blog]
11:17:56 AM    comment []

Tuesday, April 29, 2003

My ex-Netscape colleague Anders Eriksson started a java blog (I just discovered it on javablog).

Welcome Anders !

Your RSS is valid but Radio cannot understand it. Maybe because it is RSS 1.0. I need to switch to a more tolerant RSS reader.

[Valid RSS]

I get

Can't subscribe to the channel. The most likely cure is to check the URL in a web browser and see if you can get it to read the feed. The following message probably won't help you figure out what went wrong, but we include it here because it might. "Can't evaluate the expression because the name "title" hasn't been defined."

11:12:04 AM    comment []

Monday, April 28, 2003

JBoss 4 : JBoss Remoting framework documentation available. [Welcome to the real world]
3:41:01 PM    comment []

Jsh is no more. So I have found another project, JDistro
This project goes further than Jsh: It's purpose is to offer a Java-only desktop where you can run many java applications in the same JVM at the same time. The project is quite good now, and guillaume (the project leader) is a nice guy.

[Java in France]

My friend Laurent Daynes needs to look at that.

3:16:05 PM    comment []

Netbeans 3.5 rocks. and Using Netbeans.... [Java in France]

Good to see some people still love Netbeans. I have not used it in a few years and I need to catch up... as soon as my new machine arrives.

Gérard programs in java, loves Netbeans and lives in France: I need to meet that guy !

3:13:10 PM    comment []

In AOP - another small step Anthony Eden calls for "a revolutionary change in the world of software development". He especialy puts the blame on the fact that we stiff write text.

"Programming right now is still remarkably similar to programming of 10 or 20 years ago, perhaps even further back. Specifically we are still writing text and I personally find this to be a big problem. "

I could not agree more, and as I explain in my previous post, The future of AOP ? Intentional Programming ! , I think Intentional Programming is a good candidate for this revolution. The only thing I worry about is that it's still vaporware today, but I look forward to see what IntentSoft willl release !

Anthony you should read about that: I'm sure it is right on track with the ideas you expressed in your post, and in general in your weblog (editing an Abstract Syntax Ttree instead of text, Visual Programming).


2:10:01 PM    comment []

Friday, April 25, 2003

I've been following with a lot of interest the The AOP caching challenge thread that Cedric Beust started 3 weeks ago with his post Aspectwerkz: aspects done right.

This led me to discover Renaud Pawlak's excellent JAC, and  AspectWerkz, but I've been too busy with my real world job and well deserved vacations in the past few weeks to experiment with these or participate to the challenge.

Renaud Pawlak wrote a JAC Tutorial on Javaworld that I heartily recommend.

Hugo José Pinto wrote yesterday that: "Jonas Bonér points out the AOP stantardization project Renaud Pawlak started over at Sourceforge."

I look forward to participate in this AOPI - Aspect-Oriented Programming Interfaces project, which could become the J2EE of AOP, or at least the base for a future AOP JSR that  Jame Strachan's suggested in Time for an AOP JSR?. Ted Leung argues that it is too soon for a JSR. Maybe, but the AOPI project can be a good start towards a standardization. I agree with as Jonas Bonér comment to Jame's proposal.

Seeing the heated discussions going around about implementing AOP in XML, in the language, or in a mix of the 2, I think discussing in the context of a federating open source project is a good idea to sort out the different point of views. I hope the JBoss folks will participate.

To come back to Cedric's The AOP caching challenge thread: I wanted to comment about 3 of his posts: More on caller pointcuts , AOP epiphany and Gregor Kiczales on the AOP caching challenge.

In  More on caller pointcuts Cedric ranks Pointcut specification by complexity,  "complexity being the amount of work the weaving engine has to do in order to produce the advised classes".

Caller pointcuts are the most complex since the weaving engine needs to classload all the advised classes and locate the call. He then suggests that IDEs that implement incremental compilation could do that, but it would be more difficult for automated build using ant.

So he suggests the following:

Of course, it would be quite overkill for both ant and the IDE to maintain their own "code repository", but imagine that just like they publish their plug-in API's, IDE's could also document their internal code repository so that ant could use it.  How cool would that be?

Okay, my head is spinning now.  I will get back to aspects very soon.

I think Cedric identified a real problem, and I agree with him that the next evolution will probably come through this sort of solution.

 In AOP epiphany he quotes Booch "In the next two years or so I think aspect-oriented programming will bear fruit in testing, deployment, and business rules." and finds these estimates conservative.

Let's be realistic.  Is AOP going to deliver all its promises?  Or is it at least going to address these problems?  I don't know.  What I know is that some methodology will, because just like with the book of the Gang of Four, "once you go Design Patterns, you don't go back".  But as of today, AOP is in a pretty good position to fulfill some of these goals, so I hope these early experimentations blooming left and right are just the beginning of a new paradigm shift in the programming world.

I wholeheartedly agree with him: AOP is just the beginning of a new paradigm shift.

Which leads me to the topic of this post: I had this "paradigm shift" feeling when reading a great book that I found when browsing books randomly in the CS section at the Stanford Bookstore in University last time I went to the US:

Generative Programming by Krzysztof Czarnecki & Ulrich Eisenecker.

I picked it because there was a section on AOP that seemed to cover more than just AspectJ.

Generative programming is described as: "A set of techniques that enables programs to be automatically constructed from smaller domain-specific programs. Generative programming brings the benefits of automation to software development" from Intentional Software's glossary.

I did not finish it yet but I was blown away by the ideas developped there: the same kind of feeling I had 5 years ago when I discovered the GoF's Design Patterns.

Here's a book review at the ACCU.

AOP is one of the techniques of Generative Programming, and seeing the flurry of tools and experiments that florish in the java community these days i think it's the first one we'll enjoy in our work lives.
But the most promising technology described in the book is something called Intentional Programming.
It is a project created by Charles Simonyi at Microsoft research.

Intentional Programming (IP) was a research project at Microsoft until spring 2001. In IP source code is stored in a hierarchical database were each node is an instance of a programming language construct. Programs can be edited using a structured editor with full graphics layout capabilities. An extensible compiler architecture enables the introduction of new user-defined keywords. There was also a work focus on representing traditional languages like C++ and Java inside IP.

The Intentional Software Corporation (intentsoft) is trying to evolve this technology developed by the Microsoft Intentional Programming Team into a shipping product.

This is not an open source project, there is no source code, not even some downloadable demo, not even any docs online. But the IP system and its design is very well described in the book and looks very promising.

The idea is that there is no textual source code, but an editor that lets you edit what they call "active source". Active source carries with it runtime methods to do the following: rendering of the code (to present it, type-in (to type or enter it), reduction (to compile it to bytecode, that they call R-code), debugging, editing and refactoring, version control.

What you edit then is not a text file but an abstract syntax tree (AST), ie the representation that your compiler would have of your text based code. This means that the costly parsing step of regular languages is removed, so is the need for IDEs to determine the structure of your code based on text files (the code repositories of current IDEs that that Cedric advocates should be shared by other tools).

But you edit it in a form that is domain specific: if I do math, I'll get a math formulas editor to edit my formulas, by importing the Math intention, but I can mix this code with some C or java code using the C or java intention. The good thing is that at debugging time I can inspect my Math objects at runtime, and not some obscure generated code, because debugging support will be provided by the Math intention.

This is a perfect environment for AOP, since AST nodes are perfect pointcuts, and in order to use them I just have to link to them at edition time.

I was very impressed by the decription of IP in this book. Then I did a little Googling to determine what had become of it, and found that:
The Home page of Intentional Software, the company he created to develop IP.
and more importantly, this press release on their web site: New Venture Set for Dramatic Improvement of Software Code
Bellevue, WA—September 17, 2002---Dr. Charles Simonyi, Distinguished Engineer at Microsoft and Professor Gregor Kiczales of the University of British Columbia today announced the formation of Intentional Software Corporation (ISC), a new company that will develop technology to greatly improve software development productivity by capturing the design intent clearly in the code. In addition, a licensing agreement with Microsoft has been signed that – in essence – gives Microsoft a “first right of negotiation” for developments in the critical early years.
Kiczales notes, “There is tremendous synergy between intentional programming and aspect-oriented technology. Working together, Intentional Software Corporation will be able to give developers some exciting, and very useful tools. Our AspectJ users are already asking for tools like these.”
I think it says it all: after creating AspectJ, Gregor Kiczales is going to implement the next paradigm shift with Simonyi at IntentSoft: what a dream team !
Which brings me back to Cedric's Gregor Kiczales on the AOP caching challenge: Kiczales thought experiment is very convincing to me, and I think outlines very well the drawbacks of the XML approach. Static Typing is a great advantage ... and by the way, it is at the heart of IP, where "anything you use has to be declared and defined somewhere" :-)
Thanks Cedric for asking the right questions: I always learn from your inquiries.

4:52:49 PM    comment []

Tuesday, April 22, 2003

Marc Fleury's white paper. An important document. Could be as influential as Eric Raymond's The Cathedral and the Bazaar. Looking forward to reading the Red paper.
3:18:48 PM    comment []

Introducing jAdvise SEQUENCE.. [crazybob.org - web log]

Haven't played with Crazy Bob's new toy yet (I work exlusively in the context of app servers these days), but as soon as I can find some time to experiment I'll give it a try.

3:14:34 PM    comment []

Thursday, April 10, 2003

Aspectwerkz: aspects done right. [Otaku, Cedric's weblog]
3:59:10 PM    comment []

© Copyright 2003 Patrick Chanezon.
May 2003
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Apr   Jun

Click here to visit the Radio UserLand website.

Subscribe to "Java" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.