<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Reflections - half a year of Java</title>
	<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/</link>
	<description>Everything and the kitchen sink</description>
	<pubDate>Wed, 09 Jul 2008 01:57:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.3</generator>

	<item>
		<title>by: maniero</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6651</link>
		<pubDate>Thu, 19 Apr 2007 21:24:43 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6651</guid>
					<description>Good work. Thnak you so much.</description>
		<content:encoded><![CDATA[<p>Good work. Thnak you so much.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Strafverteidiger München</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6637</link>
		<pubDate>Thu, 19 Apr 2007 13:39:26 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6637</guid>
					<description>Nice work. Thanks a lot for it.</description>
		<content:encoded><![CDATA[<p>Nice work. Thanks a lot for it.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: guanhua</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6158</link>
		<pubDate>Wed, 28 Mar 2007 12:08:51 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6158</guid>
					<description>On personal opinion, I find this very helpful. 
Guys, I have also posted some more relevant info further on this, not sure if you find it useful: http://www.bidmaxhost.com/forum/</description>
		<content:encoded><![CDATA[<p>On personal opinion, I find this very helpful.<br />
Guys, I have also posted some more relevant info further on this, not sure if you find it useful: <a href='http://www.bidmaxhost.com/forum/' rel='nofollow'>http://www.bidmaxhost.com/forum/</a>
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: John</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6133</link>
		<pubDate>Tue, 27 Mar 2007 20:29:59 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-6133</guid>
					<description>Nice work. Thanks. John</description>
		<content:encoded><![CDATA[<p>Nice work. Thanks. John
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: jRave</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2997</link>
		<pubDate>Fri, 12 Jan 2007 20:12:16 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2997</guid>
					<description>I would like to pair with &quot;Ignorant bystander&quot; and humbly request your recommended list (maybe it wouldn't be bad to post it here too, so all future visitors could benefit). I'm slowly becoming fluent in smalltalk, but I've got still a lot to grasp to truly get on &quot;the smalltalk way&quot; ;-))).

To all &quot;infidels&quot; :
Since sliced bread is an atrocity to me, I wouldn't compare Squeak/Smalltalk to it, but it's the first environment/language under which I am comfortably and without unnecessary fuss able to &quot;use the source&quot;, ie. get from a point that a bug in code I didn't write pops out to the point that the bug is (and mostly in no time, really) fixed. The most wonderful aspect is that I can patch bad/obsolete code _while_ I'm importing it into the system. It just feels natural.

I agree, it may look like shit (this can also be fixed in no time ;-)), and it really is &quot;And now for something completely different&quot;, so the first time I tried it i ditched it after a few hours. But as I constantly (as a ruby programmer) kept hearing about how great (and superior) smalltalk is, I reviewed it from a different point of view (ie. &quot;I keep hearing about it as superior, so there must be something to it. I doesn't make any sense when I look at it, but what &quot;others, who already got it&quot; see in it ?), and i was hooked.

I won't try to list all the advantages (already listed elsewhere, and you probably wouldn't  get it (or it wouldn't seem as appealing), as I wouldn't, until I found out on my own), but here's a simple (catch-)story .

Case 1:
I installed keybinder (what it is is not important), and it kept popping up an menu whenever i moved mouse over it's icon. The moment i turned this feature off, I realized that I don't know what shortcut will bring it up, and that there is no way to get it using other conventional means (ie. clicking, context-sensitive menus, etc.)

Normally, you would be screwed, not so in smalltalk. I popped a browser on the morphs (thats how you say a control/widget in squeak ;-), skimmed through the (source) code and found that there is a method with mouseover in name. It modified an instance variable (menuOnMouseOver or something like that), so I popped up an inspector on the morph instance and modified it (the iVar) from false to  true. And voila, the menu was back. Try this in windoze/whatever ;-))

I don't &quot;get&quot; smalltalk good enough to be able to explain all the really good stuff (the story is child's play compared to what it enables you to do), but I can already see some of it.

Now I am dreaming of (no, not white christmas ;-) smalltalk-based OS (talk about power to the user), so that the &quot;everything is smalltalk&quot; concept (the best thing of em all, to be able to redefine/reprogram/debug everything INCLUDING the language itself - plus the VM - from/in the language/environment itself - uniformity I had not seen anywhere else) encompasses your/my whole computer.

So at least give it a try and - for gods _and_ yours sake - try to overlook such childish aspects as what the Squeak gui looks like, there's more to it (Squeak/Smalltalk) then looks.

Cheers, jRave.</description>
		<content:encoded><![CDATA[<p>I would like to pair with &#8220;Ignorant bystander&#8221; and humbly request your recommended list (maybe it wouldn&#8217;t be bad to post it here too, so all future visitors could benefit). I&#8217;m slowly becoming fluent in smalltalk, but I&#8217;ve got still a lot to grasp to truly get on &#8220;the smalltalk way&#8221; <img src='http://www.cdegroot.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )).</p>
<p>To all &#8220;infidels&#8221; :<br />
Since sliced bread is an atrocity to me, I wouldn&#8217;t compare Squeak/Smalltalk to it, but it&#8217;s the first environment/language under which I am comfortably and without unnecessary fuss able to &#8220;use the source&#8221;, ie. get from a point that a bug in code I didn&#8217;t write pops out to the point that the bug is (and mostly in no time, really) fixed. The most wonderful aspect is that I can patch bad/obsolete code _while_ I&#8217;m importing it into the system. It just feels natural.</p>
<p>I agree, it may look like shit (this can also be fixed in no time <img src='http://www.cdegroot.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), and it really is &#8220;And now for something completely different&#8221;, so the first time I tried it i ditched it after a few hours. But as I constantly (as a ruby programmer) kept hearing about how great (and superior) smalltalk is, I reviewed it from a different point of view (ie. &#8220;I keep hearing about it as superior, so there must be something to it. I doesn&#8217;t make any sense when I look at it, but what &#8220;others, who already got it&#8221; see in it ?), and i was hooked.</p>
<p>I won&#8217;t try to list all the advantages (already listed elsewhere, and you probably wouldn&#8217;t  get it (or it wouldn&#8217;t seem as appealing), as I wouldn&#8217;t, until I found out on my own), but here&#8217;s a simple (catch-)story .</p>
<p>Case 1:<br />
I installed keybinder (what it is is not important), and it kept popping up an menu whenever i moved mouse over it&#8217;s icon. The moment i turned this feature off, I realized that I don&#8217;t know what shortcut will bring it up, and that there is no way to get it using other conventional means (ie. clicking, context-sensitive menus, etc.)</p>
<p>Normally, you would be screwed, not so in smalltalk. I popped a browser on the morphs (thats how you say a control/widget in squeak <img src='http://www.cdegroot.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , skimmed through the (source) code and found that there is a method with mouseover in name. It modified an instance variable (menuOnMouseOver or something like that), so I popped up an inspector on the morph instance and modified it (the iVar) from false to  true. And voila, the menu was back. Try this in windoze/whatever <img src='http://www.cdegroot.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )</p>
<p>I don&#8217;t &#8220;get&#8221; smalltalk good enough to be able to explain all the really good stuff (the story is child&#8217;s play compared to what it enables you to do), but I can already see some of it.</p>
<p>Now I am dreaming of (no, not white christmas <img src='http://www.cdegroot.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  smalltalk-based OS (talk about power to the user), so that the &#8220;everything is smalltalk&#8221; concept (the best thing of em all, to be able to redefine/reprogram/debug everything INCLUDING the language itself - plus the VM - from/in the language/environment itself - uniformity I had not seen anywhere else) encompasses your/my whole computer.</p>
<p>So at least give it a try and - for gods _and_ yours sake - try to overlook such childish aspects as what the Squeak gui looks like, there&#8217;s more to it (Squeak/Smalltalk) then looks.</p>
<p>Cheers, jRave.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Ignorant Bystander</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2642</link>
		<pubDate>Sun, 24 Dec 2006 19:16:41 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2642</guid>
					<description>&quot;prepare to spend a lot of time and read a lot of books (I can recommend some if you want to)&quot;

Please do!</description>
		<content:encoded><![CDATA[<p>&#8220;prepare to spend a lot of time and read a lot of books (I can recommend some if you want to)&#8221;</p>
<p>Please do!
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: cdegroot</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2475</link>
		<pubDate>Mon, 18 Dec 2006 15:00:16 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2475</guid>
					<description>@Lenny &quot;cdegroot which Smalltalk flavor/IDE/environment are you used to using?&quot; - I've used Squeak, VisualWorks and VisualAge for paid projects. The VisualAge version was old so I won't comment on it, Squeak and VisualWorks each have their strengths and weaknesses. 

@Steve - I have nothing but bad experiences with O/R mapping. Nice to get started, but sooner or later performance requirements will make you regret it - the O/R schasm will come and haunt you with suboptimally generated SQL, SQL spit out at the wrong moment, etcetera. After the umptieth failed attempt at trying to do a high performance system with O/R mapping, I have decided to give up and trade development speed for control, working with manually coded SQL. On the other hand, I do think that object databases are a very good solution, but somehow they don't seem to get traction. 

Regarding Smalltalk performance - the end of the 90's also saw some great improvement in machine speed. I dare you to run Java on an '80s machine :-). But particularly to the topic of hiding primitive types, I think the various Smalltalk VM's had fairly good solutions that weren't performance showstoppers as much as the JVM designers once made it look like when defending this particular design decision. 

@Ramon, Jan - Smalltalk programming is a different thing from programming in most other languages. It really, really helps to have a tutor handy. If you try to &quot;get it&quot; by yourself, prepare to spend a lot of time and read a lot of books (I can recommend some if you want to).</description>
		<content:encoded><![CDATA[<p>@Lenny &#8220;cdegroot which Smalltalk flavor/IDE/environment are you used to using?&#8221; - I&#8217;ve used Squeak, VisualWorks and VisualAge for paid projects. The VisualAge version was old so I won&#8217;t comment on it, Squeak and VisualWorks each have their strengths and weaknesses. </p>
<p>@Steve - I have nothing but bad experiences with O/R mapping. Nice to get started, but sooner or later performance requirements will make you regret it - the O/R schasm will come and haunt you with suboptimally generated SQL, SQL spit out at the wrong moment, etcetera. After the umptieth failed attempt at trying to do a high performance system with O/R mapping, I have decided to give up and trade development speed for control, working with manually coded SQL. On the other hand, I do think that object databases are a very good solution, but somehow they don&#8217;t seem to get traction. </p>
<p>Regarding Smalltalk performance - the end of the 90&#8217;s also saw some great improvement in machine speed. I dare you to run Java on an &#8217;80s machine <img src='http://www.cdegroot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . But particularly to the topic of hiding primitive types, I think the various Smalltalk VM&#8217;s had fairly good solutions that weren&#8217;t performance showstoppers as much as the JVM designers once made it look like when defending this particular design decision. </p>
<p>@Ramon, Jan - Smalltalk programming is a different thing from programming in most other languages. It really, really helps to have a tutor handy. If you try to &#8220;get it&#8221; by yourself, prepare to spend a lot of time and read a lot of books (I can recommend some if you want to).
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Ramon Leon</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2466</link>
		<pubDate>Mon, 18 Dec 2006 03:51:04 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2466</guid>
					<description>Jan M, if you think Squeak is horrible to program in, then might I suggest you never really got to know Squeak.  Squeak is IMHO the best programming environment I've ever seen, you really should give it another go.</description>
		<content:encoded><![CDATA[<p>Jan M, if you think Squeak is horrible to program in, then might I suggest you never really got to know Squeak.  Squeak is IMHO the best programming environment I&#8217;ve ever seen, you really should give it another go.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: The grinding of functional axes : Pensieri di un lunatico minore</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2375</link>
		<pubDate>Thu, 14 Dec 2006 16:20:17 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2375</guid>
					<description>[...] It started simply enough, with a growing discussion of alternative languages&amp;#8212;fueled, I believe, by the rise and acceptance of so-called scripting languages&amp;#8212;but the near deafening shrill chorus of functional programming people who have taken a good idea and driven it to absurdity is getting to me. The latest mindless addition to the cacaphony is this comment on Cees&amp;#8217; great post on Java productivity: [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] It started simply enough, with a growing discussion of alternative languages&#8212;fueled, I believe, by the rise and acceptance of so-called scripting languages&#8212;but the near deafening shrill chorus of functional programming people who have taken a good idea and driven it to absurdity is getting to me. The latest mindless addition to the cacaphony is this comment on Cees&#8217; great post on Java productivity: [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jan M.</title>
		<link>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2365</link>
		<pubDate>Thu, 14 Dec 2006 09:48:27 +0000</pubDate>
		<guid>http://www.cdegroot.com/blog/2006/12/12/reflections-half-a-year-of-java/#comment-2365</guid>
					<description>Your remarks abour eclipse are quite interesting. I thought (in my rather short experience) that squeak is quite horrible to program in. I have done my share of lanugages and have to admit that producitivity is the last word that comes to my mind when remembering squeak.</description>
		<content:encoded><![CDATA[<p>Your remarks abour eclipse are quite interesting. I thought (in my rather short experience) that squeak is quite horrible to program in. I have done my share of lanugages and have to admit that producitivity is the last word that comes to my mind when remembering squeak.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
