<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Google &#8220;Go&#8221; become &#8220;issue 9&#8243;</title>
	<atom:link href="http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/</link>
	<description>Everything reQuired</description>
	<lastBuildDate>Mon, 19 Apr 2010 22:14:14 +0300</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: EvereQ</title>
		<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/comment-page-1/#comment-20</link>
		<dc:creator>EvereQ</dc:creator>
		<pubDate>Thu, 03 Dec 2009 15:28:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=529#comment-20</guid>
		<description>Yes, sure I understand your point - thanks a lot - it make sense to exists!&lt;br&gt;Unfortunately for me it NOT looks like something new (at least in languages I know same concepts already exists and used widely), more so personally I prefer approach with extra type annotations like in C# 4.0 to support Duck typing only in places where developers explicitly want to do this (just take a look how Go &quot;support&quot; Unit testing (&lt;a href=&quot;http://golang.org/doc/go_faq.html#How_do_I_write_a_unit_test&quot; rel=&quot;nofollow&quot;&gt;http://golang.org/doc/go_faq.html#How_do_I_writ...&lt;/a&gt;) and absence of assert keyword! Not sure developers will write &quot;safe&quot; code, at least before Go will get own JUnit analog or Google think up some new testing methodology for testing as well??? ;-)  ).&lt;br&gt; And again - for me it looks like better approach to support full featured class / interfaces hierarchies with dynamic features / Duck typing when developers want or to choose strategy like Groovy - extend already existed language with ability to run all existed frameworks / tools from old language (Java in case of Groovy).&lt;br&gt;Also If developers really want to make less coupled hierarchies (in places where it make sense, like different aspects, services etc), they can use DIP (IoC) to inject at run-time what they want and where they want! Look for example into Grails framework and the way how Groovy + Spring give you ability to inject services (&lt;a href=&quot;http://grails.org/doc/latest/guide/8.%2520The%2520Service%2520Layer.html#8.3%2520Dependency%2520Injection%2520and%2520Services&quot; rel=&quot;nofollow&quot;&gt;http://grails.org/doc/latest/guide/8.%20The%20S...&lt;/a&gt;) - I think this is EXACTLY what developers want in programming languages in addition to classical / interface hierarchies, inheritance etc - ability to do injection quickly and declaratively. Why? Because developers can CONTROL this process (using DSL or even XML if needed), instead of &quot;fixed, but not safe injection&quot; like in Go structs :)&lt;br&gt;Again, as always it&#039;s just my personal opinion - same like exists thousand developers that does not like static typed languages or dynamic typed languages and seems there is no sense to &quot;argument&quot; around this :)  &lt;br&gt;Sure also I agree with you that in most cases &quot;we only see something being &#039;new&#039; when we don&#039;t see a large portion in between&quot;, but sometimes people invent something SO unique that developers / regular people start real BUZZ around this... It was like this with Ruby on Rails for example (now Grails does not made same buzz for some reason, even so for me it looks little more promised because of ability to reuse of all Java stuff that we already have) or with iPhone or with Gmail long ago etc.  &lt;br&gt;And sure I also agree with you that Google invent some &quot;unique&quot; combination of &quot;fusion&quot; - If they do not do this they will be really in big trouble (i.e. if in addition to usage of already existed language name &quot;Go&quot; they also reuse same syntax, libraries from another language... but it will be not Google I think...).&lt;br&gt;The question and problem only is that this &quot;fusion&quot; for me can be much better and can have much better name ;-)&lt;br&gt;That was idea around my post actually! :)</description>
		<content:encoded><![CDATA[<p>Yes, sure I understand your point &#8211; thanks a lot &#8211; it make sense to exists!<br />Unfortunately for me it NOT looks like something new (at least in languages I know same concepts already exists and used widely), more so personally I prefer approach with extra type annotations like in C# 4.0 to support Duck typing only in places where developers explicitly want to do this (just take a look how Go &#8220;support&#8221; Unit testing (<a href="http://golang.org/doc/go_faq.html#How_do_I_write_a_unit_test" rel="nofollow"></a><a href="http://golang.org/doc/go_faq.html#How_do_I_writ.." rel="nofollow">http://golang.org/doc/go_faq.html#How_do_I_writ..</a>.) and absence of assert keyword! Not sure developers will write &#8220;safe&#8221; code, at least before Go will get own JUnit analog or Google think up some new testing methodology for testing as well??? <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   ).<br /> And again &#8211; for me it looks like better approach to support full featured class / interfaces hierarchies with dynamic features / Duck typing when developers want or to choose strategy like Groovy &#8211; extend already existed language with ability to run all existed frameworks / tools from old language (Java in case of Groovy).<br />Also If developers really want to make less coupled hierarchies (in places where it make sense, like different aspects, services etc), they can use DIP (IoC) to inject at run-time what they want and where they want! Look for example into Grails framework and the way how Groovy + Spring give you ability to inject services (<a href="http://grails.org/doc/latest/guide/8.%2520The%2520Service%2520Layer.html#8.3%2520Dependency%2520Injection%2520and%2520Services" rel="nofollow"></a><a href="http://grails.org/doc/latest/guide/8.%20The%20S.." rel="nofollow">http://grails.org/doc/latest/guide/8.%20The%20S..</a>.) &#8211; I think this is EXACTLY what developers want in programming languages in addition to classical / interface hierarchies, inheritance etc &#8211; ability to do injection quickly and declaratively. Why? Because developers can CONTROL this process (using DSL or even XML if needed), instead of &#8220;fixed, but not safe injection&#8221; like in Go structs <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />Again, as always it&#39;s just my personal opinion &#8211; same like exists thousand developers that does not like static typed languages or dynamic typed languages and seems there is no sense to &#8220;argument&#8221; around this <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   <br />Sure also I agree with you that in most cases &#8220;we only see something being &#39;new&#39; when we don&#39;t see a large portion in between&#8221;, but sometimes people invent something SO unique that developers / regular people start real BUZZ around this&#8230; It was like this with Ruby on Rails for example (now Grails does not made same buzz for some reason, even so for me it looks little more promised because of ability to reuse of all Java stuff that we already have) or with iPhone or with Gmail long ago etc.  <br />And sure I also agree with you that Google invent some &#8220;unique&#8221; combination of &#8220;fusion&#8221; &#8211; If they do not do this they will be really in big trouble (i.e. if in addition to usage of already existed language name &#8220;Go&#8221; they also reuse same syntax, libraries from another language&#8230; but it will be not Google I think&#8230;).<br />The question and problem only is that this &#8220;fusion&#8221; for me can be much better and can have much better name <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <br />That was idea around my post actually! <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SteveMcQwark</title>
		<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/comment-page-1/#comment-19</link>
		<dc:creator>SteveMcQwark</dc:creator>
		<pubDate>Thu, 03 Dec 2009 13:20:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=529#comment-19</guid>
		<description>My point about the inheritance was that they implemented it in spite of themselves :) A struct type containing an anonymous object behaves like it inherited from the type of that object. :) They just also put effort into reducing the need for massive class hierarchies by loosening up interfaces a bit to better resemble duck-typing while remaining type safe.&lt;br&gt;&lt;br&gt;I think they believe they&#039;ve come up with something new with their particular fusion of high level and low level elements, and in their implementation of goroutines, their typing system, etc. Of course, an original idea doesn&#039;t usually exist, but rather, a progression, and we only see something being &quot;new&quot; when we don&#039;t seen a large portion in between&lt;br&gt;&lt;br&gt;And I do agree the name &#039;Go&#039; is a bit dumb, being a common two letter word :P</description>
		<content:encoded><![CDATA[<p>My point about the inheritance was that they implemented it in spite of themselves <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  A struct type containing an anonymous object behaves like it inherited from the type of that object. <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  They just also put effort into reducing the need for massive class hierarchies by loosening up interfaces a bit to better resemble duck-typing while remaining type safe.</p>
<p>I think they believe they&#39;ve come up with something new with their particular fusion of high level and low level elements, and in their implementation of goroutines, their typing system, etc. Of course, an original idea doesn&#39;t usually exist, but rather, a progression, and we only see something being &#8220;new&#8221; when we don&#39;t seen a large portion in between</p>
<p>And I do agree the name &#39;Go&#39; is a bit dumb, being a common two letter word <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EvereQ</title>
		<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/comment-page-1/#comment-18</link>
		<dc:creator>EvereQ</dc:creator>
		<pubDate>Thu, 03 Dec 2009 06:28:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=529#comment-18</guid>
		<description>Yes, sure I understand your point - thanks a lot - it make sense to exists!&lt;br&gt;Unfortunately for me it NOT looks like something new (at least in languages&lt;br&gt;I know same concepts already exists and used widely), more so personally I&lt;br&gt;prefer approach with extra type annotations like in C# 4.0 to support Duck&lt;br&gt;typing only in places where developers explicitly want to do this (just take&lt;br&gt;a look how Go &quot;support&quot; Unit&lt;br&gt;testing&lt;http://golang.org/doc/go_faq.html#How_do_I_write_a_unit_test&gt;&lt;br&gt;and absence&lt;br&gt;of assert keyword! Not sure developers will write &quot;safe&quot; code, at least&lt;br&gt;before Go will get own JUnit analog or Google think up some new testing&lt;br&gt;methodology for testing as well??? ;-)  ).&lt;br&gt;And again - for me it looks like better approach to support full featured&lt;br&gt;class / interfaces hierarchies with dynamic features / Duck typing when&lt;br&gt;developers want or to choose strategy like Groovy - extend already existed&lt;br&gt;language with ability to run all existed frameworks / tools from old&lt;br&gt;language (Java in case of Groovy). Also If developers really want to make&lt;br&gt;less coupled hierarchies (in places where it make sense, like different&lt;br&gt;aspects, services etc), they can use DIP (IoC) to inject at run-time what&lt;br&gt;they want and where they want! Look for example into Grails framework and&lt;br&gt;the way how Groovy + Spring give you ability to inject&lt;br&gt;services&lt;http://grails.org/doc/latest/guide/8.%20The%20Service%20Layer.html#8.3&lt;br&gt;Dependency Injection and Services&gt; - I think this is EXACTLY what developers&lt;br&gt;want in programming languages in addition to classical / interface&lt;br&gt;hierarchies, inheritance etc - ability to do injection quickly and&lt;br&gt;declaratively. Why? Because developers can CONTROL this process (using DSL&lt;br&gt;or even XML if needed), instead of &quot;fixed, but not safe injection&quot; like in&lt;br&gt;Go structs :) Again, as always it&#039;s just my personal opinion - same like&lt;br&gt;exists thousand developers that does not like static typed languages or&lt;br&gt;dynamic typed languages and seems there is no sense to &quot;argument&quot; around&lt;br&gt;this :)&lt;br&gt;&lt;br&gt;Sure also I agree with you that in most cases &quot;we only see something being&lt;br&gt;&#039;new&#039; when we don&#039;t see a large portion in between&quot;, but sometimes people&lt;br&gt;invent something SO unique that developers / regular people start real BUZZ&lt;br&gt;around this... It was like this with Ruby on Rails for example (now Grails&lt;br&gt;does not made same buzz for some reason, even so for me it looks little more&lt;br&gt;promised because of ability to reuse of all Java stuff that we already have)&lt;br&gt;or with iPhone or with Gmail long ago etc.&lt;br&gt;&lt;br&gt;Sure I also agree with you that Google invent some &quot;unique&quot; combination of&lt;br&gt;&quot;fusion&quot; - If they do not do this they will be really in big trouble (i.e.&lt;br&gt;if in addition to usage of already existed language name &quot;Go&quot; they also&lt;br&gt;reuse same syntax, libraries from another language... but it will be not&lt;br&gt;Google I think...). The question and problem only is that this &quot;fusion&quot; for&lt;br&gt;me can be much better and can have much better name ;-) That was idea around&lt;br&gt;my post actually! :)</description>
		<content:encoded><![CDATA[<p>Yes, sure I understand your point &#8211; thanks a lot &#8211; it make sense to exists!<br />Unfortunately for me it NOT looks like something new (at least in languages<br />I know same concepts already exists and used widely), more so personally I<br />prefer approach with extra type annotations like in C# 4.0 to support Duck<br />typing only in places where developers explicitly want to do this (just take<br />a look how Go &#8220;support&#8221; Unit<br />testing&lt;http://golang.org/doc/go_faq.html#How_do_I_write_a_unit_test&gt;<br />and absence<br />of assert keyword! Not sure developers will write &#8220;safe&#8221; code, at least<br />before Go will get own JUnit analog or Google think up some new testing<br />methodology for testing as well??? <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   ).<br />And again &#8211; for me it looks like better approach to support full featured<br />class / interfaces hierarchies with dynamic features / Duck typing when<br />developers want or to choose strategy like Groovy &#8211; extend already existed<br />language with ability to run all existed frameworks / tools from old<br />language (Java in case of Groovy). Also If developers really want to make<br />less coupled hierarchies (in places where it make sense, like different<br />aspects, services etc), they can use DIP (IoC) to inject at run-time what<br />they want and where they want! Look for example into Grails framework and<br />the way how Groovy + Spring give you ability to inject<br />services&lt;http://grails.org/doc/latest/guide/8.%20The%20Service%20Layer.html#8.3<br />Dependency Injection and Services&gt; &#8211; I think this is EXACTLY what developers<br />want in programming languages in addition to classical / interface<br />hierarchies, inheritance etc &#8211; ability to do injection quickly and<br />declaratively. Why? Because developers can CONTROL this process (using DSL<br />or even XML if needed), instead of &#8220;fixed, but not safe injection&#8221; like in<br />Go structs <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Again, as always it&#39;s just my personal opinion &#8211; same like<br />exists thousand developers that does not like static typed languages or<br />dynamic typed languages and seems there is no sense to &#8220;argument&#8221; around<br />this <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sure also I agree with you that in most cases &#8220;we only see something being<br />&#39;new&#39; when we don&#39;t see a large portion in between&#8221;, but sometimes people<br />invent something SO unique that developers / regular people start real BUZZ<br />around this&#8230; It was like this with Ruby on Rails for example (now Grails<br />does not made same buzz for some reason, even so for me it looks little more<br />promised because of ability to reuse of all Java stuff that we already have)<br />or with iPhone or with Gmail long ago etc.</p>
<p>Sure I also agree with you that Google invent some &#8220;unique&#8221; combination of<br />&#8220;fusion&#8221; &#8211; If they do not do this they will be really in big trouble (i.e.<br />if in addition to usage of already existed language name &#8220;Go&#8221; they also<br />reuse same syntax, libraries from another language&#8230; but it will be not<br />Google I think&#8230;). The question and problem only is that this &#8220;fusion&#8221; for<br />me can be much better and can have much better name <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  That was idea around<br />my post actually! <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SteveMcQwark</title>
		<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/comment-page-1/#comment-17</link>
		<dc:creator>SteveMcQwark</dc:creator>
		<pubDate>Thu, 03 Dec 2009 04:20:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=529#comment-17</guid>
		<description>My point about the inheritance was that they implemented it in spite of themselves :) A struct type containing an anonymous object behaves like it inherited from the type of that object. :) They just also put effort into reducing the need for massive class hierarchies by loosening up interfaces a bit to better resemble duck-typing while remaining type safe.&lt;br&gt;&lt;br&gt;I think they believe they&#039;ve come up with something new with their particular fusion of high level and low level elements, and in their implementation of goroutines, their typing system, etc. Of course, an original idea doesn&#039;t usually exist, but rather, a progression, and we only see something being &quot;new&quot; when we don&#039;t seen a large portion in between&lt;br&gt;&lt;br&gt;And I do agree the name &#039;Go&#039; is a bit dumb, being a common two letter word :P</description>
		<content:encoded><![CDATA[<p>My point about the inheritance was that they implemented it in spite of themselves <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  A struct type containing an anonymous object behaves like it inherited from the type of that object. <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  They just also put effort into reducing the need for massive class hierarchies by loosening up interfaces a bit to better resemble duck-typing while remaining type safe.</p>
<p>I think they believe they&#39;ve come up with something new with their particular fusion of high level and low level elements, and in their implementation of goroutines, their typing system, etc. Of course, an original idea doesn&#39;t usually exist, but rather, a progression, and we only see something being &#8220;new&#8221; when we don&#39;t seen a large portion in between</p>
<p>And I do agree the name &#39;Go&#39; is a bit dumb, being a common two letter word <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: evereq</title>
		<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/comment-page-1/#comment-16</link>
		<dc:creator>evereq</dc:creator>
		<pubDate>Wed, 02 Dec 2009 04:24:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=529#comment-16</guid>
		<description>Hi Steve! Thanks a lot  for your comment!&lt;br&gt;Here are some my arguments:&lt;br&gt;1) System language in my point of view does not need to be &quot;low level&quot; like you describe... It MUST include low level constructs (pointers, memory allocations etc) - this I agree, but it can be high level in other functionality, simply because current software is really complex and using high level language simplify development of COMPLEX  system applications.&lt;br&gt;2) About inheritance and other stuff - take a look into Groovy way for example! It include ALL high level (and low level sure thing) functionality from Java (like abstract classes, class inheritance etc) PLUS flexibility of dynamic language! For me seems it much better way, than restrictions that currently exists in Go language design... Think about huge class hierarchies like used in Spring or in .NET framework for example! How you will construct them in Go? ;-) Sure maybe Google currently does not want to implement &quot;rich&quot; language library (framework), but in future it for sure will be big limitation that prevent usage of language in many projects! Even in case if you will use Go to develop RIA applications (and this is what Google want as initial step - embed Go into Chrome), rivals like JavaFX or Silverlight support HUGE class / interface hierarchies powered by high level languages like Java or C#. I don&#039;t see any sense again to invent language with LESS functionality then Java or C# with only one exception if you invent some new paradigm after procedure, OO or functional paradigms! Unfortunately for me seems Google does not invent new paradigm in Go language :(&lt;br&gt;3)  Regarding language name. long time ago, most used language construct was &quot;goto&quot; (I not sure maybe it was invented in Basic first maybe not), but languages was not called &quot;goto&quot; anyway :) And it was right, as now seems nobody actually use this keyword :) It&#039;s joke sure thing, and &quot;go&quot; keyword will be used in in Go language with better idea than &quot;goto&quot; in Basic, but for me it looks not so right to call language &quot;Go&quot; just because of  keyword name! A lot of people complain that name &quot;Go&quot; will made search too complicated and it looks correct. Regarding &quot;Go!&quot;... Let&#039;s take a look into another example. Some big company decide to invent new language and without any goggling they call it &quot;Jav&quot;. What will be reaction from Sun? :) In this case, it is not Sun owner of &quot;Go!&quot;, it&#039;s simple &quot;small&quot; man who try to made something and even publish BOOK! (think about it!!! He publish Book!!! Not everybody who invent some language for educational purposes publish book about it) ... I don&#039;t tell that Google can&#039;t call language &quot;Go&quot;, I just think first they need to ask this small man &quot;can we call our language same way like you call yours&quot; - and for sure this &quot;small&quot; man will tell &quot;yes&quot; (probably after get some &quot;not&quot; small money, probably for free if he is really enthusiast - does not meter). The problem that Google DO made mistake and now DO need to do something with it! And looks like Google need to fix this issue 9 the way that now not only this &quot;small&quot; man will be happy but also about 1000 people that made own comments on issue 9! &lt;br&gt; &lt;br&gt;Anyway, I was glad to hear another opinion and probably a lot of people will agree with you! &lt;br&gt;In any case Google do Good job, they try to invent something and this is very important - as more alternatives we developers will get, the better will be our everyday job :)</description>
		<content:encoded><![CDATA[<p>Hi Steve! Thanks a lot  for your comment!<br />Here are some my arguments:<br />1) System language in my point of view does not need to be &#8220;low level&#8221; like you describe&#8230; It MUST include low level constructs (pointers, memory allocations etc) &#8211; this I agree, but it can be high level in other functionality, simply because current software is really complex and using high level language simplify development of COMPLEX  system applications.<br />2) About inheritance and other stuff &#8211; take a look into Groovy way for example! It include ALL high level (and low level sure thing) functionality from Java (like abstract classes, class inheritance etc) PLUS flexibility of dynamic language! For me seems it much better way, than restrictions that currently exists in Go language design&#8230; Think about huge class hierarchies like used in Spring or in .NET framework for example! How you will construct them in Go? <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Sure maybe Google currently does not want to implement &#8220;rich&#8221; language library (framework), but in future it for sure will be big limitation that prevent usage of language in many projects! Even in case if you will use Go to develop RIA applications (and this is what Google want as initial step &#8211; embed Go into Chrome), rivals like JavaFX or Silverlight support HUGE class / interface hierarchies powered by high level languages like Java or C#. I don&#39;t see any sense again to invent language with LESS functionality then Java or C# with only one exception if you invent some new paradigm after procedure, OO or functional paradigms! Unfortunately for me seems Google does not invent new paradigm in Go language <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> <br />3)  Regarding language name. long time ago, most used language construct was &#8220;goto&#8221; (I not sure maybe it was invented in Basic first maybe not), but languages was not called &#8220;goto&#8221; anyway <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  And it was right, as now seems nobody actually use this keyword <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#39;s joke sure thing, and &#8220;go&#8221; keyword will be used in in Go language with better idea than &#8220;goto&#8221; in Basic, but for me it looks not so right to call language &#8220;Go&#8221; just because of  keyword name! A lot of people complain that name &#8220;Go&#8221; will made search too complicated and it looks correct. Regarding &#8220;Go!&#8221;&#8230; Let&#39;s take a look into another example. Some big company decide to invent new language and without any goggling they call it &#8220;Jav&#8221;. What will be reaction from Sun? <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  In this case, it is not Sun owner of &#8220;Go!&#8221;, it&#39;s simple &#8220;small&#8221; man who try to made something and even publish BOOK! (think about it!!! He publish Book!!! Not everybody who invent some language for educational purposes publish book about it) &#8230; I don&#39;t tell that Google can&#39;t call language &#8220;Go&#8221;, I just think first they need to ask this small man &#8220;can we call our language same way like you call yours&#8221; &#8211; and for sure this &#8220;small&#8221; man will tell &#8220;yes&#8221; (probably after get some &#8220;not&#8221; small money, probably for free if he is really enthusiast &#8211; does not meter). The problem that Google DO made mistake and now DO need to do something with it! And looks like Google need to fix this issue 9 the way that now not only this &#8220;small&#8221; man will be happy but also about 1000 people that made own comments on issue 9! </p>
<p>Anyway, I was glad to hear another opinion and probably a lot of people will agree with you! <br />In any case Google do Good job, they try to invent something and this is very important &#8211; as more alternatives we developers will get, the better will be our everyday job <img src='http://blog.evereq.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SteveMcQwark</title>
		<link>http://blog.evereq.com/blog/index.php/2009/11/google-go-become-issue-9/comment-page-1/#comment-15</link>
		<dc:creator>SteveMcQwark</dc:creator>
		<pubDate>Tue, 01 Dec 2009 23:32:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.evereq.com/blog/?p=529#comment-15</guid>
		<description>Making it a high level language would defeat the purpose. The whole point is that its a systems language. Which means its lower level. That said, it contains many high-level-inspired constructs, and has shortcuts for common applications that have developed since C and C++ were formulated. &lt;br&gt;&lt;br&gt;You comments about inheritance show that you didn&#039;t look into how the language works. Basically, you don&#039;t have to worry about inheritance. You just program your object (which is declared as a struct type) with the functions it needs. Then, when you want to use a variety of different types of objects, you just create an interface defining what members the type needs to have, making it a lot easier to create of objects that behave similarly in certain ways, since you don&#039;t have to set up an inheritance structure.&lt;br&gt;&lt;br&gt;Interfaces exist in other languages, but they tend to be explicit, which means that each time you need to use a different subset of functions, you need to add an interface to all the different types you want to use, which can get clunky. Instead, in Go, you just define the interface when you need it. It makes it somewhat of a compile time explicit duck-typing, which allows the development process to flow more smoothly as in high level languages while still being type safe.&lt;br&gt;&lt;br&gt;When you want your new type to be some other type plus some, you can just declare an anonymous (no name) object of that type in your new type. Then, if there&#039;s no ambiguity (I don&#039;t know how the language deals with ambiguity), you can treat all the members of the anonymous object as members of your new type.&lt;br&gt;&lt;br&gt;As for the name, its appropriate, because one of the main features of the language is the &#039;go&#039; keyword, which executes the following command concurrently with the code in which it was called. The concurrent computation is called a goroutine, and the compiler decides whether/when it needs to be a thread, or whether it can just be multiplexed (pretty much meaning it coexists with other routines in the same thread, which takes less resources).&lt;br&gt;&lt;br&gt;Pretty much every suitable name has been taken by some pet project somewhere that never went everywhere. And McCabe&#039;s language didn&#039;t show up in search results until recently, since its become a hot topic. Besides &quot;Go&quot; and &quot;Go!&quot; are no more identical than &quot;C&quot; and &quot;C#&quot;. Further, the guy named his book &quot;Lets Go!&quot; (note the bad grammar), which is almost identical to a multitude of other books titled &quot;Let&#039;s Go&quot; so he clearly didn&#039;t give a bother to name collision. Finally, he clearly never intended his language for widespread usage, since you have to buy his book for 15$ in order to decide whether its worth learning. There is no other way of assessing the practicality of his language, which means it will always be overlooked beside the heap of alternatives that you can evaluate for free, or are already established.</description>
		<content:encoded><![CDATA[<p>Making it a high level language would defeat the purpose. The whole point is that its a systems language. Which means its lower level. That said, it contains many high-level-inspired constructs, and has shortcuts for common applications that have developed since C and C++ were formulated. </p>
<p>You comments about inheritance show that you didn&#39;t look into how the language works. Basically, you don&#39;t have to worry about inheritance. You just program your object (which is declared as a struct type) with the functions it needs. Then, when you want to use a variety of different types of objects, you just create an interface defining what members the type needs to have, making it a lot easier to create of objects that behave similarly in certain ways, since you don&#39;t have to set up an inheritance structure.</p>
<p>Interfaces exist in other languages, but they tend to be explicit, which means that each time you need to use a different subset of functions, you need to add an interface to all the different types you want to use, which can get clunky. Instead, in Go, you just define the interface when you need it. It makes it somewhat of a compile time explicit duck-typing, which allows the development process to flow more smoothly as in high level languages while still being type safe.</p>
<p>When you want your new type to be some other type plus some, you can just declare an anonymous (no name) object of that type in your new type. Then, if there&#39;s no ambiguity (I don&#39;t know how the language deals with ambiguity), you can treat all the members of the anonymous object as members of your new type.</p>
<p>As for the name, its appropriate, because one of the main features of the language is the &#39;go&#39; keyword, which executes the following command concurrently with the code in which it was called. The concurrent computation is called a goroutine, and the compiler decides whether/when it needs to be a thread, or whether it can just be multiplexed (pretty much meaning it coexists with other routines in the same thread, which takes less resources).</p>
<p>Pretty much every suitable name has been taken by some pet project somewhere that never went everywhere. And McCabe&#39;s language didn&#39;t show up in search results until recently, since its become a hot topic. Besides &#8220;Go&#8221; and &#8220;Go!&#8221; are no more identical than &#8220;C&#8221; and &#8220;C#&#8221;. Further, the guy named his book &#8220;Lets Go!&#8221; (note the bad grammar), which is almost identical to a multitude of other books titled &#8220;Let&#39;s Go&#8221; so he clearly didn&#39;t give a bother to name collision. Finally, he clearly never intended his language for widespread usage, since you have to buy his book for 15$ in order to decide whether its worth learning. There is no other way of assessing the practicality of his language, which means it will always be overlooked beside the heap of alternatives that you can evaluate for free, or are already established.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
