Hugh,

Go is a general purpose programming language that is open source and 
permissively licensed, and there is no obvious reason for Google or other 
contributors to change this. I strongly recommend it for your project, 
although Clownfish is a robust existing project. Maybe I’ll have a mature 
open-source licensed Go chess engine to share in the future, but that won’t 
be for a few years. But please do consider using Go, it fixes many general 
programming problems that apply to any language and compiles to many 
platforms. 

Rob,

Here’s an explanation behind my assumptions about Go: 

Recently I encountered a crash in the latest stable version of Go that 
blocked my development and was root caused to a mistake in how pointers are 
handled as map keys by the runtime. The fix was beyond my short-term 
ability and leaves me with 1.8.5 until the next release; as a Go 
application developer I am dependent on the language implementation experts 
who, for quick support via the github issue tracker and for fix acceptance 
via the code review process, seem to mostly be Google employees. I am not 
aware of any Go forks. 

While I recommend Go as a general purpose language (an improved C) I also 
think that convincing management of a commercial company that this 
relatively young language will always have support will be a tough battle, 
and more groups of people need to commit to contribution for the language 
to grow past this barrier. I apologize if my assumptions are incorrect, but 
my understanding is that Go would not exist if Google did not pay for it 
initially, and if Google removed support (such as by privatizing Go 2) the 
public would have a compiler and specification that while great are not yet 
as mature as C++ or Python and would no longer have daily support and does 
not have a clear organization or set of organizations to inherit it. 

My assumption is that Google management will look out for the company's 
best interests even if that means going against what its employees want, 
that Google has the capability to own the language on their own, and that 
the critical path of Go is primarily developed today by and for Google. 
Open source does not mean perpetually supported and updated in reasonable 
time for commercial use, although Go seems to have support available for an 
indefinite future. 

For wider adoption perhaps a blog post series showing who is contributing 
would be helpful to break these assumptions? 

Thanks for moving computing forward. 

Matt

On Friday, December 1, 2017 at 3:35:06 PM UTC-6, Rob 'Commander' Pike wrote:
>
> Go is an open-source language. It's not "tied" to anything. Yes, Google 
> invests in its development but so do other companies and many, many open 
> source developers. It has a strong place in modern data centers but it is 
> being used in just about every place imaginable now; some have even done 
> kernel development in it.
>
> Go is not a Google product. Really, it's not.
>
> Please don't make unwarranted assumptions about the intention of Go or its 
> developers.
>
> -rob
>
>
> On Sat, Dec 2, 2017 at 3:55 AM, <hughag...@gmail.com <javascript:>> wrote:
>
>>
>>
>> On Friday, December 1, 2017 at 7:41:24 AM UTC-7, matthe...@gmail.com 
>> wrote:
>>>
>>> I don't speak for the language developers but as far as I can tell Go is 
>>> always going to be tied to Google's business of datacenter-based network 
>>> and web services, so if you want your game as something other than hosted 
>>> on a network server then you may be better off with a language specialized 
>>> for your platform of choice like Swift for iOS (an improved Objective-C), 
>>> Java for Android, Javascript for a web browser implementation, or a 
>>> language for desktop apps. Although in my opinion Go is a better C and I'd 
>>> use it for general purpose programming with the garbage collector in mind. 
>>> My understanding is that Go does have a compiler path for ARM devices.
>>>
>>
>> If Go is always going to be tied to Google's business of datacenter-based 
>> network and web services, then I should abandon Go entirely, as I have no 
>> interest in that subject --- I don't work for Google --- they aren't going 
>> to hire me.
>>
>> I have no interest in Swift --- I don't work for Apple --- they aren't 
>> going to hire.
>>
>> I have no interest in Java as I don't like it for various reasons that I 
>> won't go into here --- I am mostly interested in micro-controllers, but I 
>> want a good language for desktop-computer programming too  --- I might get 
>> interested in smart-phones if a good programming language were available.
>>
>> I just want a general-purpose programming language. There is C++ of 
>> course, but I don't like it for various reasons that I won't go into here.
>>
>> Chess requires promotion, en passant, and castling, all three of which 
>>> add unique cases to the engine or interface, so keep those in mind as you 
>>> begin. You may look at Stockfish (
>>> https://github.com/official-stockfish/Stockfish) for an open-source 
>>> regular chess engine written in C++. Modifying Stockfish may be a good path 
>>> although if you distribute it in any way then you must provide the source 
>>> code because of the GPL.
>>>
>>
>> I know C++ reasonably well --- I will look into modifying Stockfish to 
>> support Elphaba Chess.
>>
>> I don't think that promotion, en passant or castling will be a problem 
>> given my rule change (the queen can't capture or be captured) .
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to golang-nuts...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to