This post originated from an RSS feed registered with Ruby Buzz
by Jim Weirich.
Original Post: No Fluff Just Stuff (Saturday)
Feed Title: { | one, step, back | }
Feed URL: http://onestepback.org/index.cgi/synopsis.rss
Feed Description: Jim Weirich's Blog on Software Development, Ruby, and whatever else sparks his interest.
It is Day 2 at the Ohio Java Software Symposium, otherwise known as the No
Fluff, Just Stuff conference. Before we get into details of the conference,
I have a story to share …
A Flash-Back to the Week Before the Conference
A week before the conference started, someone at work noticed that the
nofluffjuststuff.com site gave directions to the Marriott
Northeast facility, but the map on the web page was Marriott
North site. I volunteered to call around to see what the story
was.
I first called the Marriott Northeast. Once I got the sales department, the
conversation went something like this …
Me:
I’m calling to confirm that the No Fluff, Just Stuff conference will
be held at your facilities.
MarriottNE:
The what conference?
Me:
No Fluff, Just Stuff
MarriottNE:
Really, it’s called that? I’m sure we would remember a
conference by that name scheduled here.
Me:
So you have no record of it?
MarriottNE:
Nope. Nothing on our books.
Ok, so its not at Marriott Northeast. I call the Marriott North and asked
the same question to their sales department. I got much the same response,
but nothing was registered under the "No Fluff, Just Stuff" name.
After they got done laughing over the name, we finally thought to look it
up under Jay Zimmerman’s name. Finally, it turns up under the
"Complete Programmers Network".
MarriottN:
They used to have some rooms reserved, but they cancelled.
Me:
What?
Ok, now I’m thoroughly confused, but I have a new name to check out.
Calling back to the Marriott Northeast …
Me:
Hi, I called a few minutes ago about the No Fluff, Just Stuff symposium.
MarriottNE:
Yeah, after you called we found it under the Complete Programmer’s
Network. Its all setup for this weekend.
Fine. Mystery solved. It turns out the both Marriotts are north of the
city, both on major highways, and both off exit 19 on those highways. Add
in the fact that their names are so similar and so they are confused a lot.
Time to get back to the conference.
Decoupling Patterns (Dave Thomas)
The first seminar starts promptly at 9:00 with Dave Thomas talking about
the problems with coupled code and how to write the code to reduce that
coupling.
Of course, you can’t get rid of all coupling. Dave quoted Noel
Coward: "Familiarity breeds contempt, but without a little
familiarity it’s impossible to breed anything."
Another quote that caught my eye: "Decoupling code is like
organizing spy cells … if one is broken, the other cells are
safe."
Dave used the example of mixing a pina colada to demonstrate temporal
coupling amoung steps of an algorithm. He suggested using the mediator
pattern with a state machines to decouple parallel tasks. I’ve not
seen that in action (note to self, check that out).
Ruby for Java Programmers (Dave Thomas)
Ok, I went to the Ruby talk just for fun. I didn’t expect to pick up
much about Ruby (I’ve been using it for 3 1/2 years), but really to
pick up on Dave’s presentation technique. How do you persuade a Java
programmer that a dynamically typed, object oriented scripting language
could might be a viable alternative for certain jobs? Dave’s approach
was real world examples where Ruby’s simplicity shines.
Panel Discussion
Jay welcomed everyone to the panel discussion and laid down the rules (i.e.
there are no rules). He then asked the panel to introduce themselves.
The quesions and responses are highly edited and paraphrased. I
can’t type fast enough to capture the entire conversation, so I tried
to capture the ideas as best I could. If I made an substantial errors, let
me know so they can be corrected.
The panel consisted of …
Venkat Subramaniam (V), Bruce Tate (B), Dave Thomas (D), John Carnell (J),
Eric Hatcher (E), Stuart Halloway (S), Maciej Zawadzki (M).
Jay asked each panel member to give a brief introduction to themselves.
V:
Training and mentoring
B:
Programmer
D:
Pragmatic Programmer. Interested in making teams effective.
J:
Programmer for 9 year.
E:
Java Programmer, now Ruby Programmer
S:
CTO of DevelopMentor and conference talking person.
M:
From Urban Code
Then the questions started.
Q:
Where does SunOne Application Framework (JDO).
J:
Don’t know anything regarding SOAF
E:
Rave looks interesting
Q:
How long will Java live?
B:
Worst possible scenario is that it is the COBOL of the 21st century. Java
will continue to change and evolve
D:
Java is the COBAL of the 21st century. There are long term
questions, e.g. What if Sun goes away? What happens to JCP if IBM takes it
over. Also, Java is getting too complicated, e.g. the neeed for XDoclet to
manage complexity with code generation.
V:
If we are open to changes, then we can move on to whatever comes next.
Learn the best practices that are can be taken with you when the new comes
J:
Ditto.
S:
The thing that people love to hate in 15 years will be XML, not Java (from
crowd: "Why wait 15 years")
Q:
What are some the paradigm shifts that will be coming? (e.g. AOP)
B:
Loose typing is coming
D:
We are moving past the point where value is not in applications but in
information. Look for languages that allow allow dynamic operations, and
unstructured data.
V:
Learn something that is not job related.
Q:
Do we need a quantum leap in Java?
S:
It won’t happen, but should it happen? 1.5 is responding to .NET.
D:
(question to audience) Are you happy with the 1.5 changes? I’m very
concerned about the incremental changes that complicate a rather simple
language.
E:
(missed)
D:
The language should integrate more with the environment. This is where
Microsoft got it right with .NET.
V:
Complexity comes at a cost and
B:
The current programming paradigm is running out of gas. And it is difficult
to add these complex features in simple ways.
J:
When you take a "Best of Breed" approach will lead to a
scalability of complexity issue. J2EE takes so much extra complexity to
handle deployment and other issues.
S:
Predicted the rise of problem specific application languages.
D:
Microsoft sponsered a BOF for scripting languages and asked what it would
take to get Perl, Python and Ruby running natively on .NET.
M:
Increasing complexity is a fundamental feature of human endevour.
Let’s here some technical questions.
B:
Disagree with M regarding complexity. We learn how it make things simple.
M:
That’s what I meant.
B:
Ok, never mind.
Q:
Why haven’t OODBs not matured and deployed in business?
B:
The theoretical background of RDBMs is very powerful.
V:
OODBs have problems communicating with legacy data.
M:
Companies aren’t going to abandon the value of there existing DBs.
D:
In the future, we won’t be joining tables, but doing things like
joining Amazon to EBay.
B:
That’s already happening to some degree.
Q:
Is there a way to precompile my 600 JSP pages.
E:
Ant has a JSP task that can do that.
Q:
Have you used Jython to get more dynamics into Java?
A:
I’ve looked at Jython and compared to Ruby. This is now a hole where
legacy VB programmers need a simple, quick and dirty language.
B:
(missed … something about a gap in the Sun/Java community)
E:
There is a JSR for a web scripting engine (PHP like?).
Q:
Can AOP and Metadata help deal with the complexity?
V:
AOP is comming, but its current form is too complicated. AOP needs to be
much simplier and elegant.
J:
AOP and really simplify a lot of the infrastructure involved in our
applications.
M:
AOP has the potential to simplify our applications … whether it does
or not is yet to be seen.
B:
There is a separation of ideas and their delivery mechanisms. We
don’t know the final form of AOP.
D:
AOP is oversold. AOP is a design technique, not an afterthought (e.g.
"Oh look, we can add logging to our functions"). I’d love
to see a language that combined dynamic typing, AOP, hygenic macros, (and
other good stuff).
Q:
What is an hygenic macro.
D:
The macros works within the parser of the language.
Q:
What does the future look like in ten years?
M:
Conceptual Level Programming. Specify an ontology and we can (…
missed remaining part of comment)
S:
Two concrete predictions: in 5 years Microsoft will be a major open source
vender. In 15 years the major OS will be something that doesn’t exist
today.
D:
In 5-10 years Web browsers will be dead. It will be replaced by cell
phones, washing machines and smart doors.
Naked Objects (Dave Thomas)
In Dave’s final talk of the day, he demonstrated a system called
"Naked Objects". The idea behind Naked Objects to present the
business objects to the end user in a way they can be directly manipulated
with little structure imposed by the user interface. As developers, all we
do is program the objects and the natural interface is automatically
generated. This techniques puts a lot of trust in the users, and is
directly opposed to the idea of dumbing down the user interface to prevent
the user from making mistakes. All in all, a fascinating idea. I’ve
already downloaded the Naked Objects package and have tried it out. (See www.nakedobjects.org/ … some
firewalls may complain :-)
Intro to XDoclet (Eric Hatcher)
I attended Eric Hatcher’s seminar on XDoclet as the last session of
the day. XDoclet simplifies J2EE development by using Javadoc tags to
control the generation of all the sundry files need for a full bore J2EE
environment. My J2EE experience is quite low, but XDoclet seems to be a
simple tool for solving a complex problem.
That wraps up Saturday. We’ll talk about Sunday next time.