Golang - Why should i learn this one as a beginner?

xuanbao · · 539 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>So i know some basic of everything. Every Language i have tested out and learned the very basics off. But i find that i require good online video courses for me to learn and so far there is non, or those who is there is outdated in many ways.</p> <p>I just poped upon the GO Language from Google, which for me was interesting as my favorite Language to learn so far was Java for the idea of Android Development and open sourse conceps (Create once, run everywhere)</p> <p>So i have yet to learn GO or really read myself up on the Language, i wanted to hear other People opinons on WHY it should be learned over other languges (Remember i am somewhat a beginner) </p> <p>And where it should be used (Web, desktop, phone, IoT ect)</p> <hr/>**评论:**<br/><br/>advicer1111: <pre><p>I&#39;m not going to give the comprehensive answer of course, but Go is multi-threaded as opposed to something like Python or Ruby, which are single threaded. Depending on your application, that may make it more useful. All of these (and several others) are useful for Web / app, and a multitude of other uses. Go in particular is supposed to be easy to learn, and since it&#39;s supported by Google, that lends that it&#39;ll always be in use (Google tech tends to be pretty good).</p></pre>Miikalsen: <pre><p>Yep, just what i liked about the idea of GO, its GOOGLE, so should be a Language used wide across multiply platforms. </p></pre>Zy14rk: <pre><p>Like you, I&#39;m fairly new to Go, having mainly worked in C and C++. I&#39;ve found it pretty easy to get into. If you&#39;re coming from the world of Object-Orientation, you may find the more procedural approach of Go a bit restrictive. It isn&#39;t, it just feels that way in the start.</p> <p>The big strength of Go (apart from the very fast compile times, cross-platform support producing native binaries as opposed to working through cumbersome Virtual-Machines) is its&#39; easy concurrency implementation. It makes it dead-easy to spin up as many &#39;threads&#39; as you want with very little overhead or memory-hogging.</p> <p>At the moment, Go is more for writing server applications. The backend for Web and mobile Apps.</p> <p>For IoT, C is still your best bet. Tiny little microcontrollers where you need to read registers directly is something C excels at. However, Go is great for tying all those little IoT devices together. Say using a little Rasperry Pi - where you can even control the GPIO directly using the embd library. Much faster and efficient than say Python or similar interpreted languages. And just as easy.</p> <p>As for frontend applications... not so much. Go is a bit weak in that department at the moment. I am sure in time we&#39;ll get powerful (cross platform compatible) libraries to handle UIs and 2D/3D graphics, but it&#39;s not here yet.</p> <p>It <em>can</em> be done, but the libraries are a bit immature and have issues.</p></pre>Miikalsen: <pre><p>Thanks for the well explained post. </p> <p>I see that Go could mostly be used for back end Security and server stuff, and thats actually pretty cool. </p> <p>I mainly considered GO as for it being a relativity New Languages, whit good up to date courses/videos. (Makes it easier to understand and get into while everything still is the same if you know what i mean) </p> <p>So i Guess i maybe will put it on the shelf until it gets more populated for the normal type of stuff, as making apps (Which should be pretty fast as Google = android). And hopefully it can be used in the same sence as Python, or even Java/C#/C++ and so forth. </p></pre>Zy14rk: <pre><p>I&#39;d rather look into learning react.js for Web-frontend and Go for the server backend than start dabbling with those other languages.</p> <p>Python: Interpreted and dead slow. I wouldn&#39;t touch it with <em>someone elses</em> 10 foot pole even.</p> <p>Java: Relies on the monster known as Java Virtual Machine to sit as a layer between the hardware and the compiled bytecode. Sadly, it is the &#39;native&#39; way of developing Android Apps. You&#39;ll have to jump through hoops to use another language doing that. Java is also widely used in enterprise for backend business applications. It is a very cumbersome and convoluted language though. So... verbose, and such a resource hog.</p> <p>C# is Java, only as dreamed up by Microsoft and is entirely dependent upon .NET which is if possible even more cumbersome and resource-hungry than JVM.</p> <p>C++ is complicated but very powerful. It is such a huge language, that it is bewildering. It is not for the faint of heart to get into. It does however produce native binaries that are very efficient. Why near all games and game-engines are written in it.</p> <p>IMO Go is a language on the rise, particularly for the backend stuff. Programmers that know Go are in demand already, and will continue to rise dramatically. It is a perfect combination of ease of use and performance. None of the competition can touch it.</p> <p>Rather than throw money at more hardware (that need be changed every other year anyway) so that slow software can handle increased traffic, companies are looking into optimizing their code-base. JIT languages in particular (Python, Ruby etc) will get the axe, and Go is perfectly poised to take over.</p></pre>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

539 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传