Skip to main content

Pumpkin Soup

Posted by daniel on November 25, 2004 at 9:26 AM PST

Using more than one pot

Start with the bones left over after carving the turkey. Roast them
dark and then boil them to extract a nice turkey stock. While the
stock is simmering, slice two sugar pumpkins in half, remove the seeds
and sprinkle them with salt, pepper, thyme, and a little oil. Bake
them until soft. Strain the broth. In another pot, sautee some
pancetta and add carrots, onions, and celery. Back to the soup pot,
add this aromatic mixture along with the broth and the pumpkin
flesh. Puree.

A simple soup that involved half a dozen pots. The preparation
included two different meats and four different vegetables. There were
four or five different methods of preparation involved in preparing
this simple soup. The people eating the soup today won't know or care
how many pots were cleaned or techniques were used.

In continuing the cooking analogies - I've been thinking about
that pumpkin soup as I read discussions of using and adapting
different languages. Reach for the tool that you need. Sure, there are
some people who all their life cook with one or two pans in the same
way they did when they first learned to cook. For many for whom Java
was their first language, you hear the single pan approach in their
posts.

Before directing you to an essay on Language Oriented Programming,
I want to make one other comment about this particular pumpkin
soup. We're eating it today and yet I made it Tuesday night. I learned
this at a restaurant I worked in. The chef served "yesterday's soup"
instead of "the soup of the day". He said that most people know that
soup always tastes better the next day so that's when he serves
it. This gets to John Mitchell's Slack post. It would be nice to have
the time to work ahead on some project and let it sit. You could then
come back to it in a couple of days and have the fresh perspective to
improve it before serving.

Enough tortured metaphors - I'm heading over the river and down
I-71 to grandmother's house. It's Thanksgiving here in the US. I'm
most thankful for Kimmy-the-wonderwife, our two wonderful children,
and this world full of people who have been so kind to me this past
year. Whether or not you celebrate this holiday, best wishes.


In
Also in Java Today
, Sergey Dmitriev wants "the freedom to
create, reuse, and modify languages and environments." In his essay href="http://www.onboard.jetbrains.com/articles/04/10/lop/"> Language
Oriented Programming: The Next Programming Paradigm he is
concerned with "the limitations of programming which force the
programmer to think like the computer rather than having the computer
think more like the programmer. These are serious, deeply-ingrained
limitations which will take a lot of effort to overcome. I'm not being
pretentious when I say that this will be the next big paradigm shift
in programming. We will need to completely redefine the way we write
programs."

The ACM feature Kode Vicious answers a question from a reader that
begins href="http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=217">Do
you code in only... KV answers "choosing a language to use is not
an easy task. The majority of coders just use what they're given
at work and don't question that. Not questioning is bad. We
should always try to find the right tool for the job. Then, once
we've found the right tool, we can spend endless hours yelling at
our co-workers for not using the same tool we do."


In Projects and
Communities
, check out the href="http://community.java.net/jugs/">Java User Group community
home page for a list of upcoming JUG meetings and add yours to the
list. Also, the Java Tools
community homepage features an announcement about project href="https://leafcutter.dev.java.net/">Leafcutter "an API which
allows you to execute Ant tasks from Java code. "


In today's Weblogs, John
Mitchell blogs on Thanksgiving, Reuse, and Slack. He asks a key question for software, "Is there enough slack in
the system to allow it to function reliably and robustly in the face
of change? Most developers are exposed to this notion in practice in
dealing with performance but slack is crucial in all aspects of
software."


I hate repeating myself in code. In today's href="http://forums.java.net/jive/index.jspa"> Forums,
Dondi_Imperial asks "How many times have you had to write code where
you had to href="http://forums.java.net/jive/thread.jspa?messageID=6633&tstart=0#6633">
compare variables against a single value?

if(someString ==
"correctval" || anotherString == "correctval" || anotherOne ==
"correctval")
What about something like this instead.
if
(someString || anotherString || anotherOne == "correctval")
"

DenisMo responds to a comment on href="http://forums.java.net/jive/thread.jspa?messageID=6715&tstart=0#6715">Enhanced
@since in Javadocs. He points out "Java doesn't allow
backward-incompatible changes in method signatures, which roughly
means that other parameters, checked exceptions, return values won't
be changed. Therefore, @since can only be practically be applied to
method or class. [..] BTW, your idea fits well into the JSR 260, don't
hesitate to post it and other Javadoc ideas to this JSR."


In today's java.net
News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page
using our news
submission form
. All submissions go through an editorial
review before being posted to the site. You can also subscribe to
the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net
News RSS feed.


Current and upcoming
Java Events
:

  • November 27 href="https://hkjug.dev.java.net/servlets/NewsItemView?newsItemID=1428">Hong
    Kong JUG - J2SE 5.0 Update
  • December 6-9, 2004 href="http://www.theserverside.com/architecture_workshop/index.html">
    TheServerSide Enterprise Java Architecture Workshop
  • December 7-8, 2004 href="http://jini.org/meetings/eighth">Eighth Jini Community
    Meeting
  • December 13-17, 2004 href="http://wiki.javapolis.com/">JavaPolis, 2004

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.


Archives and Subscriptions: This blog is delivered
weekdays as the
Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

Using more than one pot