<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: RatJava</title>
	<atom:link href="http://cafe.elharo.com/blogroll/ratjava/feed/" rel="self" type="application/rss+xml" />
	<link>http://cafe.elharo.com/blogroll/ratjava/</link>
	<description>Longer than a blog; shorter than a book</description>
	<pubDate>Sun, 07 Sep 2008 18:03:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Michael Agroskin</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-62214</link>
		<dc:creator>Michael Agroskin</dc:creator>
		<pubDate>Mon, 05 Mar 2007 20:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-62214</guid>
		<description>C# implements everything you just described plus much more. If you could just use C# compiler...

Btw, Java bytecodes and Java VM are both misnomers. There are no Java VM but just VM produced by Sun, IBM, MSFT, Mono or whatever vendor, plus multiple compilers targeting particular VMs. Naming everything (language and VM) "Java" was just a marketing ploy by Sun. 

In .NET universe, there are virtual machines (produced by MSFT or Mono), there are core libraries, and there are multiple (20+ last time I checked) compilers produced by various vendors. Everything from Assembly to Perl.</description>
		<content:encoded><![CDATA[<p>C# implements everything you just described plus much more. If you could just use C# compiler&#8230;</p>
<p>Btw, Java bytecodes and Java VM are both misnomers. There are no Java VM but just VM produced by Sun, IBM, MSFT, Mono or whatever vendor, plus multiple compilers targeting particular VMs. Naming everything (language and VM) &#8220;Java&#8221; was just a marketing ploy by Sun. </p>
<p>In .NET universe, there are virtual machines (produced by MSFT or Mono), there are core libraries, and there are multiple (20+ last time I checked) compilers produced by various vendors. Everything from Assembly to Perl.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pinner Blinn</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-46107</link>
		<dc:creator>Pinner Blinn</dc:creator>
		<pubDate>Fri, 05 Jan 2007 18:23:12 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-46107</guid>
		<description>Hey again!  Killed by whitespace suppression!  Oh well, as described; not as rendered.</description>
		<content:encoded><![CDATA[<p>Hey again!  Killed by whitespace suppression!  Oh well, as described; not as rendered.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pinner Blinn</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-46106</link>
		<dc:creator>Pinner Blinn</dc:creator>
		<pubDate>Fri, 05 Jan 2007 18:20:50 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-46106</guid>
		<description>Hey!  My multi-line method call got mucked by wraparound.  Should be like:

Myclass output = obj. methcall(arg1,
                                             arg2,
                                             arg3);

That is, args alligned vertically.</description>
		<content:encoded><![CDATA[<p>Hey!  My multi-line method call got mucked by wraparound.  Should be like:</p>
<p>Myclass output = obj. methcall(arg1,<br />
                                             arg2,<br />
                                             arg3);</p>
<p>That is, args alligned vertically.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pinner Blinn</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-46105</link>
		<dc:creator>Pinner Blinn</dc:creator>
		<pubDate>Fri, 05 Jan 2007 18:16:00 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-46105</guid>
		<description>No semicolons -- thumbs down on this one.  Long statements are a fact of life with long descriptive names, casts, and nestings.  I see many statements that become more readable broken across multiple lines.  I particularly like multi-line method calls, e.g.,

SomeLongClassName output = someLongObjectName.methodCall(argument1,  
                                                                                              argument2,
                                                                                              argument3);

Backslashing multi-line statements?  Insanely less readable. 


Require braces for multiline statements -- Braces create compound statements by grouping the contained staements.  You want to require them in cases where there is only one contained statement?  Trivially helpful as a coding style but the existing definition of a "statement" is consistent.  Emacs auto-indent catches any such coding errors easily.

switch-case statements -- I disagree.  A trivial change, but it would undermine a lot of existing, well-thought-out code.

switch types -- I'm neutral on this one.  (But how about allowing non-booleans as if-arguments? What's wrong with C-style rules?)

Ban tabs --  I agree.  Emacs auto-tabs for the java-mode, but allows untabification for saved code.

Multiline string literals -- Does this dovetail with your multiline issue? I think the current way (literal "\n") is clearer.  Perhaps it would help to introduce some new kind of bracketing for your multi-line Strings.  BTW you seem to be missing some backslashes and a closing parenthesis in your examples.</description>
		<content:encoded><![CDATA[<p>No semicolons &#8212; thumbs down on this one.  Long statements are a fact of life with long descriptive names, casts, and nestings.  I see many statements that become more readable broken across multiple lines.  I particularly like multi-line method calls, e.g.,</p>
<p>SomeLongClassName output = someLongObjectName.methodCall(argument1,<br />
                                                                                              argument2,<br />
                                                                                              argument3);</p>
<p>Backslashing multi-line statements?  Insanely less readable. </p>
<p>Require braces for multiline statements &#8212; Braces create compound statements by grouping the contained staements.  You want to require them in cases where there is only one contained statement?  Trivially helpful as a coding style but the existing definition of a &#8220;statement&#8221; is consistent.  Emacs auto-indent catches any such coding errors easily.</p>
<p>switch-case statements &#8212; I disagree.  A trivial change, but it would undermine a lot of existing, well-thought-out code.</p>
<p>switch types &#8212; I&#8217;m neutral on this one.  (But how about allowing non-booleans as if-arguments? What&#8217;s wrong with C-style rules?)</p>
<p>Ban tabs &#8212;  I agree.  Emacs auto-tabs for the java-mode, but allows untabification for saved code.</p>
<p>Multiline string literals &#8212; Does this dovetail with your multiline issue? I think the current way (literal &#8220;\n&#8221;) is clearer.  Perhaps it would help to introduce some new kind of bracketing for your multi-line Strings.  BTW you seem to be missing some backslashes and a closing parenthesis in your examples.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-45230</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Wed, 03 Jan 2007 12:16:23 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-45230</guid>
		<description>I agree with:

1. Multi-line string literals. What is the problem with implementing "if you find an unescaped-double-quote-character then everything up to the next unescaped-double-quote-character is one String literal"? Graphical IDEs will color the text appropriately so that you can see what is in your string literal.

2. Allowing any Object to work as a switch case. There could be two variants:
   a) the current int-based version for ints and enums, and
   b) a generified Object-based version using equals for Objects.

3. Making "final" the default extensibility option. I pair this with making "private" the default visibilty. In other words, you cannot see it or alter it unless I explicitly allow it. This is at odds with Gili ("turn-around time between my request and his next release usually ranges into months") but the other developer has to maintain the integrity of their code for all users and "just say no" is the most conservative default.</description>
		<content:encoded><![CDATA[<p>I agree with:</p>
<p>1. Multi-line string literals. What is the problem with implementing &#8220;if you find an unescaped-double-quote-character then everything up to the next unescaped-double-quote-character is one String literal&#8221;? Graphical IDEs will color the text appropriately so that you can see what is in your string literal.</p>
<p>2. Allowing any Object to work as a switch case. There could be two variants:<br />
   a) the current int-based version for ints and enums, and<br />
   b) a generified Object-based version using equals for Objects.</p>
<p>3. Making &#8220;final&#8221; the default extensibility option. I pair this with making &#8220;private&#8221; the default visibilty. In other words, you cannot see it or alter it unless I explicitly allow it. This is at odds with Gili (&#8221;turn-around time between my request and his next release usually ranges into months&#8221;) but the other developer has to maintain the integrity of their code for all users and &#8220;just say no&#8221; is the most conservative default.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: boroko</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-37326</link>
		<dc:creator>boroko</dc:creator>
		<pubDate>Thu, 14 Dec 2006 15:00:28 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-37326</guid>
		<description>Sometimes I want to handle a few exceptions the same way, so I would like this syntax added:


try {
   blah
}
catch(ThisException, ThatException, MyException, YourException as Exception){
    blah;
}
catch(Exception e) {
}</description>
		<content:encoded><![CDATA[<p>Sometimes I want to handle a few exceptions the same way, so I would like this syntax added:</p>
<p>try {<br />
   blah<br />
}<br />
catch(ThisException, ThatException, MyException, YourException as Exception){<br />
    blah;<br />
}<br />
catch(Exception e) {<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Casper</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-34764</link>
		<dc:creator>Casper</dc:creator>
		<pubDate>Mon, 04 Dec 2006 18:25:28 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-34764</guid>
		<description>[RANT ON]
I say fork Java and it can't happen soon enough, listed in order of least horriblility:

The VM:
Since the JVM is now a multi-language thing, lets call it VM. In general it has gotten up to a good speed by now, but it is still a memmory hawk beyond anything else in the industry. SUN must have half a dusin marketing departments, consistancy please, now you adopted JSE 6.0 do not refer to it as java.version 1.6.0 - and no, you can not call it Java 2.

The Syntax:
As proposed by this blog entry, there are so many nifty things that could be done by thinking a little rather than copying the construct from C++. A lot less verbosity thanks, and more dynamic/flexible such that we can program into the language (idioms), not just on the language (patterns).

The API:
By far the worst. Date is broken, Calandar which was suppose to fix this is also broken and so are 100+ more general purpose classes. There's really too much wrong here that I get a headache from thinking about it.
[/RANT ON]</description>
		<content:encoded><![CDATA[<p>[RANT ON]<br />
I say fork Java and it can&#8217;t happen soon enough, listed in order of least horriblility:</p>
<p>The VM:<br />
Since the JVM is now a multi-language thing, lets call it VM. In general it has gotten up to a good speed by now, but it is still a memmory hawk beyond anything else in the industry. SUN must have half a dusin marketing departments, consistancy please, now you adopted JSE 6.0 do not refer to it as java.version 1.6.0 - and no, you can not call it Java 2.</p>
<p>The Syntax:<br />
As proposed by this blog entry, there are so many nifty things that could be done by thinking a little rather than copying the construct from C++. A lot less verbosity thanks, and more dynamic/flexible such that we can program into the language (idioms), not just on the language (patterns).</p>
<p>The API:<br />
By far the worst. Date is broken, Calandar which was suppose to fix this is also broken and so are 100+ more general purpose classes. There&#8217;s really too much wrong here that I get a headache from thinking about it.<br />
[/RANT ON]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eugene Kaganovich</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-34090</link>
		<dc:creator>Eugene Kaganovich</dc:creator>
		<pubDate>Fri, 01 Dec 2006 22:20:55 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-34090</guid>
		<description>I want OUT params.</description>
		<content:encoded><![CDATA[<p>I want OUT params.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Just grin and bear it&#8230; - RatJava 2.0</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-33613</link>
		<dc:creator>Just grin and bear it&#8230; - RatJava 2.0</dc:creator>
		<pubDate>Wed, 29 Nov 2006 00:55:38 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-33613</guid>
		<description>[...] I have a number of pet peeves that I wish sun would just put straight into java, and a couple of others that can&#8217;t easily be done because they&#8217;d break backwards compatibility. Certainly not enough to warrant a fork, but while we&#8217;re procrastinating, let&#8217;s certainly NOT implement the ideas set forth here. [...]</description>
		<content:encoded><![CDATA[<p>[...] I have a number of pet peeves that I wish sun would just put straight into java, and a couple of others that can&#8217;t easily be done because they&#8217;d break backwards compatibility. Certainly not enough to warrant a fork, but while we&#8217;re procrastinating, let&#8217;s certainly NOT implement the ideas set forth here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jim d</title>
		<link>http://cafe.elharo.com/blogroll/ratjava/#comment-33590</link>
		<dc:creator>jim d</dc:creator>
		<pubDate>Tue, 28 Nov 2006 21:54:05 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/ratjava/#comment-33590</guid>
		<description>Elliotte - some quick comments

1)I love it!!! - especially the multi-line strings.   This is by far my biggest pet peeve w/ the Java syntax.  Creating long string literals in java  feels like I'm trudging through mud.  

2)I'm all for UTF-8, But   let's actually *use* unicode. Take multi-line strings for example.   Why not delimit them w/ the â€ŠÂ¶Pilcrow Sign (aka "paragraph" symbol).   That would be more succinct  and also save programmers from escaping double quotes all the time.  

That's just the tip of the iceberg.  How about using the actual math  glyphs instead of the operator literals we use now?  Or using the box-printing characters for formatting comments?  There's tons of opportunities to improve readability by using symbols that are more descriptive and tie to real-world concepts.</description>
		<content:encoded><![CDATA[<p>Elliotte - some quick comments</p>
<p>1)I love it!!! - especially the multi-line strings.   This is by far my biggest pet peeve w/ the Java syntax.  Creating long string literals in java  feels like I&#8217;m trudging through mud.  </p>
<p>2)I&#8217;m all for UTF-8, But   let&#8217;s actually *use* unicode. Take multi-line strings for example.   Why not delimit them w/ the â€ŠÂ¶Pilcrow Sign (aka &#8220;paragraph&#8221; symbol).   That would be more succinct  and also save programmers from escaping double quotes all the time.  </p>
<p>That&#8217;s just the tip of the iceberg.  How about using the actual math  glyphs instead of the operator literals we use now?  Or using the box-printing characters for formatting comments?  There&#8217;s tons of opportunities to improve readability by using symbols that are more descriptive and tie to real-world concepts.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
