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.