I&#x27;ve been working professionally with Java for 19 years.  I&#x27;ve only worked &quot;semi-professionally&quot; with Go for 3 or 4 years, as a secondary language for a few niche applications at work and some personal projects at home.  So I may or may not be the most qualified person in the world to represent Go here.<p>All that being said, the longer I work with Go, the less I really see its lack of generics as a significant shortcoming.  Go simply doesn&#x27;t emphasize object-orientation to the same degree as idiomatic Java.  Given the choice, I&#x27;d prefer to have that tool available than not have it.  However, I haven&#x27;t yet personally run across a real-world scenario in which lack of generics was an actual big deal.<p>I am QUITE comfortable in asserting that Go&#x27;s error handling exceeds that of Java&#x27;s, not lags it.  The &quot;try-catch&quot; concept is still there (as &quot;panic-recover&quot;), albeit discouraged in many of the cases that an experienced Java developer would want to use it.  The convention of having every function return a possible error struct, and the compiler&#x27;s insistence that you do something with that that returned struct, pushes Go developers into a much more disciplined mindset of approaching exception handling.<p>The two points above are subjective, of course.  Reasonable people could argue them either way.  The third response is a bit more objective.  Regarding the notion that Go is &quot;<i>absolutely not designed for Android</i>&quot; and its memory constraints, I must point out that neither is Java!  As a matter of the Java language&#x27;s syntactical suitability, the obvious observation is that Java PRE-DATES Android by more than 12 years.  Considering the laws of physics and space-time, it was clearly not designed by James Gosling with Google&#x27;s OS in mind.  Secondly, the memory constraints of carrying a built-in garbage collection runtime also apply to Java.  The only difference is a matter of maturity, and the level of resources that have gone into developing a custom Java solution for Android.  There&#x27;s no reason why Google couldn&#x27;t do the some with Go (or almost any other language), and given Go&#x27;s comparative simplicity it would probably take far less time to get there.