4 ms·
I am glad they used Go to develop this command line tool. Knowing how big GitHub is on Ruby and Node.js I was afraid they had used one of these two languages t
by guessmyname 7y ago
I am glad they used Go to develop this command line tool.
Knowing how big GitHub is on Ruby and Node.js I was afraid they had used one of these two languages to bootstrap the program.
Being able to drop the binary in any computer and have it work without hundreds of files as dependencies is a bless when you write programs in Go.
- coolreader18 7y agoHub[1], the previous Github CLI, was written in Go too, so I don't think this is much of a surprise. [1]: https://github.com/github/hub https://github.com/github/hub
- guessmyname 7y ago> Hub, the previous Github CLI, was written in Go too, so I don't think this is much of a surprise. Hub was originally a collection of Ruby scripts for ±3 years [1]. They later refactored the code to use Go: • Initial commit on Dec 5, 2009 was 100% Ruby code [2] • @jingweno started a refactoring using Go on Apr 8, 2013 [3][4] • The Go rewrite was merged to master on May 23, 2013 [5] [1] https://mislav.net/2020/01/github-cli/ https://mislav.net/2020/01/github-cli/ [2] https://github.com/github/hub/tree/de9bfa2103ee81a547d4fc598a91a3ec06536b0e https://github.com/github/hub/tree/de9bfa2103ee81a547d4fc598... [3] https://github.com/github/hub/commit/d5615fcb6f9c983fbf5d1297700a26531ddf1173 https://github.com/github/hub/commit/d5615fcb6f9c983fbf5d129... [4] https://owenou.com/fast-github-command-line-client-written-in-go/ https://owenou.com/fast-github-command-line-client-written-i... [5] https://github.com/github/hub/tree/0df403f14805d4962ee3adb228f5e52f06ccdfb9 https://github.com/github/hub/tree/0df403f14805d4962ee3adb22...
- fwip 7y ago"Was written," not "was initially written." Edit: I see you've edited your comment; I'm leaving this here as-is.
- ksec 7y ago>Node.js They use Node.js?
- erulabs 7y agoFor whatever it's worth, GitHub is on GitHub: https://github.com/github https://github.com/github and says top languages are: Ruby, JavaScript, Go, C, Shell in that order.
- vmchale 7y ago> have it work without hundreds of files as dependencies is a bless when you write programs in Go. lots of languages have that lol
- eeZah7Ux 7y agoShushh...
- rfrey 7y agoThere aren't many things you could say you like about any language that couldn't be sneered at with "lots of languages have that lol". It's what your parent likes about Go. Inventing a claim of uniqueness and then condescendingly dismissing it isn't a good look.
- vmchale 7y ago>There aren't many things you could say you like about any language that couldn't be sneered at with "lots of languages have that lol". GHC has first-class support for laziness. Rust has affine types.
- peterwwillis 7y agoThough it's kind of annoying when you want to actually modify and iterate on the thing. I prefer interpreted languages when the point of it is to rapidly iterate new features on an API-driven service. I've been waiting for both a command-line and programmatic way to interface with issues and PRs since forever and had to make do with modifying some ancient Ruby cli (and I don't know Ruby), so at least now they're headed in the right direction. I am fairly certain that Issues-as-Code will transform the way projects are developed & managed so I'm excited to see this get more features.
- pjmlp 7y agoIt was nice that they used Go, although being able to drop a binary is a property of any programming languages with support for AOT compiling into native code. Before the adoption of shared libraries in mainstream computing during the 80's, it was just how we used to work.