{"repo":"go-monk/from-bash-to-go-part-i","free":true,"listed":false,"github":"https://github.com/go-monk/from-bash-to-go-part-i","clone":"git clone https://github.com/go-monk/from-bash-to-go-part-i.git","description":"Go for Bash Programmers I - The Language","language":"Go","stars":95,"topics":["from-bash-to-go-series","bash"],"license":null,"category":"cli-tools","readme_excerpt":"This is the first part of a series introducing Bash programmers to Go. This part goes through the language building blocks that will be used in later parts. Ok but why? A language that doesn't affect the way you think about programming is not worth knowing. - Alan J. Perlis You might be wondering along these lines - I already kind of know Bash (or a similar language) and can do all I need in it. It's easy and fast. Why should I learn Go? That's a good question. Always ask why because the answer to a why question provides a reason and thus understanding and motivation. In our case I think the answer has to do with the difference between programming and software engineering. Programming means writing a program that works and does something useful. Software engineering is programming plus time and other people. It's the initial writing of a program and its being modified by you or other people over time. Programming alone is hard enough. First you need to understand the domain and the concrete problem to solve within the domain. Then you design a solution and implement it in a programming language whose syntax and idioms you should know well. This process can, and should , take multiple iterations. When you are done you go work on other stuff. Then you might be asked to modify something in the program (to fix a bug or add new functionality) or to hand over the program to someone else (people come and go). The most important thing to do when doing the software engineering is to r","default_branch":null,"files":null,"tree":[],"storefront":"/r/go-monk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/go-monk/from-bash-to-go-part-i/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}