<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx</link><description>JavaOne 2004 FinalThoughts Before you read my summary, I encourage you to read the daily posts I wrote. The comments on those posts can be very illuminating as well. Day 1 Day 2 Day 3 Day 4 Summary: Community The biggest different between conferences</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#177672</link><pubDate>Thu, 08 Jul 2004 20:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:177672</guid><dc:creator>Mike Kozlowski</dc:creator><description>Groovy:  I think your take on that is right.  I've looked into it a bit, and it seems very hodge-podge, like someone just said, &amp;quot;Hey, that'd be cool, and I bet we could do it&amp;quot; without thinking about a larger picture.  Of course, that's also a good description of Perl (which also has closures), and Perl's been reasonably successful -- but Perl has Larry Wall, who's a legitimate tech-genius.&lt;br&gt;&lt;br&gt;There's a real need for a light-syntax, low-overhead language for the JVM.  And since Jython is a bit too burdened by back-compatibility to Python and Scala is more than a bit academically-oriented, Groovy may be successful anyway; but on its own merits, enh.&lt;br&gt;&lt;br&gt;IDEs:  It's definitely true in my experience that IDEs are way, way less prevalent/standardized in Java than they are in .NET.  I happen to think this is a good thing as it forces people to understand what's really going on, instead of just doing the clicky-thing bit (and I like to believe that I'm a better .NET developer for having done my first ASP.Net project with Emacs, Nant, and the SDK), but it's definitely less novice-friendly.  Still, I think the latest version of NetBeans looks reasonably welcoming.  And the plus side of that diversity is that if someone comes up with a good idea (like, oh, refactoring support), you don't need to wait for the single monolithic IDE vendor to eventually get around to adding it...</description></item><item><title>Java is Good For Something</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#177741</link><pubDate>Fri, 09 Jul 2004 00:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:177741</guid><dc:creator>Frankie Fresh's Blog</dc:creator><description /></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#177743</link><pubDate>Thu, 08 Jul 2004 21:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:177743</guid><dc:creator>FL</dc:creator><description>IDE's are standardized in .NET becuase for all intents and purposes, there's only one. ;)&lt;br&gt;&lt;br&gt;My biggest issue with Java IDE's is that, for some reason, they are written entirely in Java.  I could see the reasoning behind that, but since most developers in the corporate world develop on Wintel boxes, why not just leave the egos behind and write in c/c++ mfc?&lt;br&gt;&lt;br&gt;Just a rant. ;)&lt;br&gt;&lt;br&gt;</description></item><item><title>Groovy is good stuff.</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#177867</link><pubDate>Fri, 09 Jul 2004 00:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:177867</guid><dc:creator>Kannan Goundan</dc:creator><description>I've only read about Groovy on their website, but I'm impressed.  It seems like a good adaptation of a Ruby-style language to the Java runtime.  Also, operator overloading and closures are perfect for scripting languages.&lt;br&gt;&lt;br&gt;I'm pretty sure Perl has some form of closures.  The Groovy syntax seems to derive partly from Ruby's syntax.  Closures also let you do functional-programming-like stuff, which is often much more concise and readable than can be done without closures (notice how it's a pain to use the STL's for_each and find_if without lambdas?).  You should take a look at Ruby's great block syntax for another example of just how much more can be done with closures.  (I wish C# had a lighter-weight way of creating an anonymous function.  Something like &amp;quot;#(params) {code}&amp;quot; or &amp;quot;#{code}&amp;quot; would have made it convenient to use them more often.&lt;br&gt;&lt;br&gt;Overloading is used pervasively in the Python and Ruby libraries.  The [] operator is especially useful.&lt;br&gt;&lt;br&gt;You say that closures and op overloading do not belong in a &amp;quot;simple&amp;quot; language and you could be right, though I'm not sure &amp;quot;simple&amp;quot;, by itself, should be a design goal.  For example, the lambda calculus and BF (&lt;a target="_new" href="http://www.muppetlabs.com/~breadbox/bf/"&gt;http://www.muppetlabs.com/~breadbox/bf/&lt;/a&gt;) are very simple languages but are definitely not convenient for everyday programming.  The creator of Ruby has some slides about using &amp;quot;the principle of least surprise&amp;quot; as a design goal when developing a programming language.  That term, I believe, more accurately captures what you had in mind (&lt;a target="_new" href="http://www.rubyist.net/~matz/slides/oscon2003/"&gt;http://www.rubyist.net/~matz/slides/oscon2003/&lt;/a&gt;)&lt;br&gt;&lt;br&gt;The other thing Groovy has is some syntatic support for XML.  While I think XML is pretty much total crap, Groovy has some synactic support for it, resulting in very clean code.  It lets you create structures in a declarative manner (&lt;a target="_new" href="http://groovy.codehaus.org/GroovyMarkup"&gt;http://groovy.codehaus.org/GroovyMarkup&lt;/a&gt;).&lt;br&gt;&lt;br&gt;As a side note, I think that &amp;quot;dynamically typed language&amp;quot; is a more appropriate term.  The term &amp;quot;scripting language&amp;quot;, to me, implies a language that is used to glue together external objects (like in a videogame scripting language or shell scripting language).&lt;br&gt;&lt;br&gt;While Perl/Python/Ruby/Groovy may have features that make them convenient for scripting, they are also powerful enough to write full-fledged programs in.&lt;br&gt;</description></item><item><title>test</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#177936</link><pubDate>Fri, 09 Jul 2004 06:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:177936</guid><dc:creator>protected virtual void jayBlog {</dc:creator><description /></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#178155</link><pubDate>Fri, 09 Jul 2004 10:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:178155</guid><dc:creator>101</dc:creator><description>AOP: I'm using AspectJ and it _greatly_ reduced the code size... ant it results in better maintainability.&lt;br&gt;&lt;br&gt;Of course it requires more brain, but I always have problems with the expressibility of mainstream languages. And AOP helps a litte in that.</description></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#179060</link><pubDate>Sat, 10 Jul 2004 06:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:179060</guid><dc:creator>Joe Cheng</dc:creator><description>Great post, thanks for the insights.  I've found comparing the generics and annotation facilities in C# and Java fascinating; it's nice to hear a C# authority voice his opinion on these subjects.&lt;br&gt;&lt;br&gt;Almost all the programming I do these days is C#, but whenever I get the chance to knock out a Ruby script or two, it's an absolute pleasure.  Groovy feels a lot like Ruby, with a superficially more familiar syntax.  And Ruby would simply not be Ruby without closures.  Personally I think closures will really help people build more natural abstractions for the kinds of tasks Groovy is likely to be used for (e.g. build scripts, unit tests).&lt;br&gt;&lt;br&gt;I'm not sure what other Java IDEs you are talking about, but IntelliJ IDEA is way WAY ahead of VS.NET as far as code editing is concerned, and has been for years.  Although they are coming out with the VS.NET add-in Resharper, which narrows the gap significantly.</description></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#179406</link><pubDate>Sat, 10 Jul 2004 14:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:179406</guid><dc:creator>Cameron</dc:creator><description>I can't believe you came to JavaOne and didn't stop by to say hi .. glad you enjoyed it .. see if you can send me a pass for the next .NET show and I'll return the favor ;-)</description></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#179989</link><pubDate>Sun, 11 Jul 2004 13:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:179989</guid><dc:creator>gab</dc:creator><description>about groovy, I think you're not looking at it in the right sense: if you look at it as a &amp;quot;scripting language&amp;quot; as &amp;quot;dsome kind of shell script or batch file&amp;quot; it is not good.&lt;br&gt;&lt;br&gt;If you think of &amp;quot;scripting as an attitude&amp;quot; (quoting matz and ward cunningham) it is ok: it empowers the user allowing him to get quick results with small code, not necessarily perfect or super efficient. &lt;br&gt;&lt;br&gt;The so called &amp;quot;scripting languages&amp;quot; in this days (Groovy,Io, Ruby, pnuts, Python) include lots of powerful features like closures,coroutines or continuation handling, this is the reason they're getting hype over 'classical' scripting languages (beanshell is a good example in javaland): developers want power, not just lack of static typing.</description></item><item><title>JavaOne</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#180600</link><pubDate>Mon, 12 Jul 2004 16:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:180600</guid><dc:creator>stevex.Text</dc:creator><description /></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#180926</link><pubDate>Mon, 12 Jul 2004 19:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:180926</guid><dc:creator>Geoff</dc:creator><description>I think most people who do not get AOP make the same assumption that it is going to be more difficult to debug. But one of the major plus factors of AOP is to remove lots of redundant code in order to simply the classes and methods and then add totally standardised code to that. This will simplify debugging not complicate it.</description></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#181270</link><pubDate>Tue, 13 Jul 2004 01:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:181270</guid><dc:creator>John Rusk</dc:creator><description>&amp;gt;our approach is “Get feedback, design, get feedback”, while the JSR approach is “design as a group”. &lt;br&gt;&lt;br&gt;I hope you don't swing the pendulum too far towards the &amp;quot;design as a group&amp;quot; thing.  I don't know about large scale projects like language design, but on typical IT projects there are some benefits to having a small number of people do most of the thinking.  (Fred Brooks said it better than I can in &amp;quot;The Mythical Man Month&amp;quot;.)  The important thing is that the small &amp;quot;core&amp;quot; group gets plenty of feedback from the wider community.&lt;br&gt;&lt;br&gt;There's definitely a balance that should be struck between the two extremes.  Personally, I think you guys on the C# team are already doing fairly well.  While there are one or two &amp;quot;extras&amp;quot; I'd like to see added to the language, I appreciate your efforts to retain consistency and simplicity as the language evolves, and I hope those principles are never diluted by &amp;quot;design as a group&amp;quot;.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: JavaOne 2004: Final Thoughts</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#181392</link><pubDate>Tue, 13 Jul 2004 04:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:181392</guid><dc:creator>Christopher Bartling</dc:creator><description>I will second Joe Cheng's resounding note about JetBrains IntelliJ.  I program in both Java and C#, and I'm always happiest in IntelliJ.  It is truly an &amp;quot;intelligent&amp;quot; IDE, and it does have a decent forms painter, if that's what does it for you.  The refactoring support and editing tools (intentions, live templates) are simply awesome.  If you program in VS.NET 2003, you can try Jetbrains Resharper VS.NET addin, but it's very shallow in its support of the complete IntelliJ feature set (though it's not even a 1.0 product yet).  Hopefully MS is watching the &amp;quot;entire&amp;quot; Java landscape and taking note of the products that are really good and are successful in that area.  Such observation would only improve on the .NET experience.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;-- chris --</description></item><item><title>MBA</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#324605</link><pubDate>Sat, 18 Dec 2004 18:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:324605</guid><dc:creator>MBA</dc:creator><description>Helpful For MBA Fans.</description></item><item><title> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | Outdoor Ceiling Fans</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#9668799</link><pubDate>Sun, 31 May 2009 14:50:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9668799</guid><dc:creator> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | Outdoor Ceiling Fans</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://outdoorceilingfansite.info/story.php?id=2631"&gt;http://outdoorceilingfansite.info/story.php?id=2631&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | Outdoor Ceiling Fans</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#9669974</link><pubDate>Sun, 31 May 2009 18:18:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9669974</guid><dc:creator> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | Outdoor Ceiling Fans</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://outdoorceilingfansite.info/story.php?id=20267"&gt;http://outdoorceilingfansite.info/story.php?id=20267&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | Wood TV Stand</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#9673653</link><pubDate>Mon, 01 Jun 2009 03:40:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9673653</guid><dc:creator> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | Wood TV Stand</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://woodtvstand.info/story.php?id=15583"&gt;http://woodtvstand.info/story.php?id=15583&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | garden decor</title><link>http://blogs.msdn.com/ericgu/archive/2004/07/08/177351.aspx#9748604</link><pubDate>Sun, 14 Jun 2009 09:58:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9748604</guid><dc:creator> Eric Gunnerson s C Compendium JavaOne 2004 Final Thoughts | garden decor</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://gardendecordesign.info/story.php?id=4193"&gt;http://gardendecordesign.info/story.php?id=4193&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>