<p>I am planning on learning Android development through the Udacity Nanodegree. I am currently learning Java, I know Google says they want to keep Java as Android's language...but things change. I was wondering if it is worth it to learn Go and what its benefits are over Java? Thanks!</p>
<hr/>**评论:**<br/><br/>skmlcd94: <pre><p>If you want to program Android apps then you should stick to Java. Java is not going to be replaced with Go or any other language for Android in the next 5+ years. It takes extreme amount of development time and money to create as rich eco-system and development tools as the current Java ones for Android.</p>
<p>There are already some projects that enable you to program in Go for Android, but they are far from ready.</p>
<p>Learning Java won't be wasted effort. If you already know Java and have been programming in it for at least a year then learning Go won't be a problem at all. The more important thing right now for you is to master Android (widgets, fragments, libraries...).</p></pre>tcharnes1: <pre><blockquote>
<p>There are already some projects that enable you to program in Go for Android, but they are far from ready.</p>
</blockquote>
<p>Ok thanks, I am just beginning to learn Java in Udacity. My goal is to finish the four month course in under a month and then continue to learn Android programming. I was just not sure if Android would replace Java right after I finish learning which would be less than ideal so thanks for the answer :D</p></pre>skmlcd94: <pre><p>Finish that course and if you're still really passionate about Android then buy this book: <a href="https://commonsware.com/Android/" rel="nofollow">The Busy Coder's Guide to Android Development</a>. It is the bible of Android development. The book contains over 3000 pages and includes everything you will ever need to learn. You don't need to read it all, the first 800 pages are the basics and after that you read chapters on topics you find interesting. Android is huge platform, but it's also really fun.</p></pre>tcharnes1: <pre><p>I did the beginners Android course over the summer, but it wasn't complete at the time so I didn't complete it and couldn't move on to learn in the nanodegree program even though I really liked Android programming. Now Udacity has a job guarantee for whoever finishes the program and I believe the course is complete so once I finish the Java course I will move on to Android as I would really like the job guarantee (proves that they will do what it takes to help get me employed in the field and aren't just taking my money). I know that I can learn this on my own and probably get a job on my own for free, but if I can learn this through Udacity and then get a job I'd happily pay them even twice what they are asking :D And then once I get a job I'll continue to learn. Probably read the book you have mentioned as it seems good! Do you know if it teaches Android game development as well?</p></pre>banjochicken: <pre><p>If you want to do Android development and you are only just learning Java, I would stick with Java and just build loads of Apps and learn the ecosystem and APIs. Java is the first class citizen of the Android world, and as a beginner it is where you should focus your effort.</p>
<p>If you come to $LANGUAGE sub-reddit and ask whether you should learn $LANGUAGE, you will likely always be told "yes!". So I am glad to see I am not the only one going with "no, not yet".</p>
<p>Disclaimer: I am currently learning Go because i think it is worth it, but not for Android development.</p></pre>tcharnes1: <pre><p>Thanks for your response! I am taking this Java course as it is a pre-req for Android course I will be taking(Udacity Nanodegree), I was just curious if Go would be a good thing to learn as I heard it might be replacing Java but also might not. </p>
<p>Makes sense that people would say that, I've been "shopping" around for languages to see which my first one would be as I've learned a little bit of many languages but it does look like I will learn Java completely(as in I'll finish the course, I realize people work with Java for 20 years + and still learn new things). I do feel like I like ruby more in terms of readability/writability at the moment but to each his own I guess. </p>
<p>Why are you learning Go/why do you think it is worth it? Just curious.</p></pre>banjochicken: <pre><p>I just wanted to point out the confirmation bias! </p>
<p>I am learning Go because as a full time Python developer stuck in the web world, it complements Python web dev (and Ruby for that matter) where it is lacking, it has great performance and concurrency built in. I also like the less is more approach to features and strict style guide. I plan to use it more as a second language to Python so being productive in the language in a couple of weeks rather than months is a good thing.</p></pre>tcharnes1: <pre><p>Ahhh awesome, I learned a little bit of ruby! I do feel like it is much easier to learn than java. How is Go compared to all of the above in terms of difficulty?</p></pre>banjochicken: <pre><p>Well Go is lower level code than Python and Ruby. I have found Go to be verbose in some regards and my approach to coding Python obviously doesn't translate to idiomatic Go code, but then that is to be expected and as soon as I do some the Go, I am not overly offended by the Go I create.</p>
<p>It is certainly more straight forward and less verbose than Java, a language not famed for its brevity. </p>
<p>It sounds like you have the right attitude and I wish the best of luck with your endeavour into programming! </p></pre>9l9phan1: <pre><p>If you want to learn something else than Java for Android learn C++ . There is next to 0 support for Go on Android ,and good luck for GUI apps.</p>
<p>Don't learn Go just for Android if you do
.</p></pre>blogetry: <pre><p>While I can't speak to Android development specifically (and I don't really know what you plan to make), I can say that Go is a solid language that's obviously been designed to do these things. If you're an existing programmer, it'll only take you a weekend or two to learn it. The structure is solid, the concepts are universally applicable, and the development pipeline is silky smooth. You'll be up and running in a modest amount of time.</p>
<p>So, if you need a Google language for a Google device in a Google class, then yes, Go is worth it.</p></pre>tcharnes1: <pre><p>Ahhh ok thanks! I am just beginning to learn Java, then going on to learn Android development on Udacity (they have a job Guarantee for their nanodegree graduates). I guess once I'm done I'll most likely learn Go so that I will be up to date!</p></pre>blogetry: <pre><p>No problem. It's a smooth language, so don't fret.</p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传