Newbie developer looking for advice

xuanbao · · 491 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>Hi there, so quick background: I know a little bit of a lot of languages, and I&#39;m currently waiting for course results before choosing a career path. I do primarily web technologies. </p> <p>I&#39;ve been looking at golang as an upcoming language I think will be huge, but I&#39;m not really seeing a purpose for it. By this I mean, what does it do. I know it complies straight to machine code, so it&#39;s very fast....</p> <p>Does it sit on a Linux server as a daemon? </p> <p>Do I write my web server script on my windows computer, and then upload the go script to a Linux server with go installed and export as an executable up there? </p> <p>Do I need to learn docker and/or aws first before it makes sense? </p> <p>Besides the go tour does anyone have any free courses or tutorials they found very useful? </p> <p>Should I just forget about Go until I&#39;m a good enough programmer to know these answers on my own..? </p> <p>Edit: A lot of food for thought hear, I suppose knowing javascript quite well puts me in a position not to have to worry about node and I can focus on Golang. </p> <p>I guess the only thing to do is to define a project where I make a web app and host it! Thanks all for your info and advice, much appreciated! </p> <hr/>**评论:**<br/><br/>autodidaddict: <pre><p>I&#39;ve used Go for just about everything. I use it for nearly all of my microservices and server-side applications. It&#39;s also extremely well suited to building command line tools.</p> <p>You can compile you Go code on a Mac, Linux, or Windows box and target it to running on a Mac, Windows, or Linux box. Its binaries aren&#39;t cross-platform, but you can target any platform from any platform. </p> <p>What most of us who are using Go for deployed apps are doing these days is running our Go binaries inside Docker containers and shipping the containers into cloud infrastructure to be run/scheduled.</p> <p>You should not forget about Go. I love this language, and I&#39;m a polyglot with experience in C, C++, Scala, Java, Pascal, Clojure, Haskell, Ruby, C#, and Rust.</p></pre>RenegadeUser: <pre><p>I think you should take a read over <a href="https://tour.golang.org/list" rel="nofollow">A tour of go</a> &amp; <a href="https://golang.org/doc/" rel="nofollow">Offical Go Documentation</a>. Spend some time researching golang and then writing some general applications, and see if you feel comfortable with it. </p> <p>One piece of advise is, go (see what I did there) and do some hands on learning, and have fun when doing so.</p> <p>Other useful links: <a href="https://www.miek.nl/go/#idxref:75-0" rel="nofollow">LearnGo</a>, <a href="https://gobyexample.com/" rel="nofollow">GoByExample</a>,<a href="https://github.com/golang/go/wiki/Learn" rel="nofollow">Wiki of material for go</a> and the subreddits <a href="https://dave.cheney.net/resources-for-new-go-programmers" rel="nofollow">resources for new go Programmer</a> &amp; for a more general computer science link see <a href="https://www.google.com/about/careers/students/guide-to-technical-development.html" rel="nofollow">Googles Technical Development Guide</a></p></pre>zdebra1: <pre><p>Hello Pud11es, Go is General Purpose Language which means it can solve broad variety of problems. Make sure you go through Golang standard library documentation to get to know what Golang is capable of. But basically it can handle everything languages like Java, php, nodejs, C, python,... do.</p> <p>Go application (doesn&#39;t matter if it&#39;s webapp, cli app or gui app) is compiled to binary. If you want to build webapp, then webserver is included in the app source (unlike php or java, where application server is separated from source code). This approach is similar to nodejs. In practice, you create binary code which listens on some port, then you execute binary which spawns process listening on some port.</p> <p>You don&#39;t need to know docker for creating web apps in Go (but it&#39;s handy nowdays).</p> <p>Don&#39;t forget the Go. It&#39;s very promising platform. It&#39;s actually pleasure and joy to write in Go. </p> <p>link to udemy course: <a href="https://www.udemy.com/go-programming-language" rel="nofollow">https://www.udemy.com/go-programming-language</a></p></pre>Pud11es: <pre><p>Okay so I&#39;m going to attempt to play devil&#39;s advocate and ask what are the advantages of Go over Node, bearing in mind that node is also very fast and very popular</p></pre>zdebra1: <pre><p>Go is strongly typed compiled language, node (javascript) is interpreted language requiring nodejs runtime. While node being faster than other languages used for webapps, the go is even faster (a lot actually). But keep in mind that you don&#39;t need performance of go for every project. For most cases node performance is just fine. This considered, writing in go is much more reliable than writing in javascript. In node you basically create your apps utilizing libraries from npm, where in go you are actually programming utilizing great standard library. Just try to create some small apps in both languages and you&#39;ll see what suits you better.</p> <p>Major advantage (also it can very easily be disadvantage) for Node is that it&#39;s written in javascript, the language all frontend guys knows. You also got better templating support (search npm for Jade/Pug).</p></pre>Pud11es: <pre><p>Thanks very much, your time is much appreciated! </p></pre>goboy123: <pre><p><a href="https://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html?m=1" rel="nofollow">https://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html?m=1</a></p> <p>&#34;Go isn&#39;t all-encompassing. You don&#39;t get everything built in. You don&#39;t have precise control of every nuance of execution. For instance, you don&#39;t have RAII. Instead you get a garbage collector. You don&#39;t even get a memory-freeing function.</p> <p>What you&#39;re given is a set of powerful but easy to understand, easy to use building blocks from which you can assemble—compose—a solution to your problem. It might not end up quite as fast or as sophisticated or as ideologically motivated as the solution you&#39;d write in some of those other languages, but it&#39;ll almost certainly be easier to write, easier to read, easier to understand, easier to maintain, and maybe safer.&#34;</p></pre>goboy123: <pre><p>Go tooling for your question about changing OS&#39;s <a href="https://youtu.be/uBjoTxosSys" rel="nofollow">https://youtu.be/uBjoTxosSys</a></p> <p>Slides on the most used code in go. <a href="https://dave.cheney.net/paste/gocon-spring-2016.pdf" rel="nofollow">https://dave.cheney.net/paste/gocon-spring-2016.pdf</a></p></pre>_youtubot_: <pre><p>Video linked by <a href="/u/goboy123" rel="nofollow">/u/goboy123</a>:</p> <table><thead> <tr> <th align="center">Title</th> <th align="center">Channel</th> <th align="center">Published</th> <th align="center">Duration</th> <th align="center">Likes</th> <th align="center">Total Views</th> </tr> </thead><tbody> <tr> <td align="center"><a href="https://youtu.be/uBjoTxosSys" rel="nofollow">Go Tooling in Action</a></td> <td align="center">JustForFunc</td> <td align="center">2016-06-02</td> <td align="center">0:41:51</td> <td align="center">843+ (99%)</td> <td align="center">31,223</td> </tr> </tbody></table> <blockquote> <p>In this video I cover some of the dev tools that I use in...</p> </blockquote> <hr/> <p><a href="http://www.reddit.com/r/youtubot/wiki/index" rel="nofollow"><sup>Info</sup></a> <sup>|</sup> <a href="http://www.reddit.com/message/compose/?to=_youtubot_&amp;subject=delete%20comment&amp;message=dijdvtm%0A%0AReason%3A%20%2A%2Aplease+help+us+improve%2A%2A" rel="nofollow"><sup>/u/goboy123</sup> <sup>can</sup> <sup>delete</sup></a> <sup>|</sup> <sup>v1.1.0b</sup></p></pre>

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

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